Hacking Articles Tips Tricks Videos Tutorials
468 subscribers
65.8K photos
15 videos
157 files
132K links
Exploit
Pentesting
Hacking
Red Team
Blue Team
Kali Linux
Bug Bounty
Black Hat
Cyber security etc

@Hacking_Video
@Hacking_attack
Download Telegram
EDD - Enumerate Domain Data

Enumerate Domain Data is designed to be similar to PowerView but in .NET. PowerView is essentially the ultimate domain enumeration tool, and we wanted a .NET implementation that we worked on ourselves. This tool was largely put together by viewing implementations of different functionality across a wide range of existing projects and combining them into EDD.Usage To use EDD, you just need to call the application, provide the function that you want to run (listed below) and provide any optional/required parameters used by the function. Functions The following functions can be used with the -f flag to specify the data you want to enumerate/action you want to take. Forest/Domain Information getdomainsid - Returns the domain sid (by default current domain if no domain is provided)getforest - returns the name of the current forestgetforestdomains - returns the name of all domains in the current forestconvertsidtoname - Converts a SID to the corresponding group or domain name (use the -u option for providing the SID value)getadcsservers - Get a list of servers running AD CS within the current domain Computer Information getdomaincomputers - Get a list of all computers in the domaingetdomaincontrollers - Gets a list of all domain controllersgetdomainshares - Get a list of all accessible domain shares User Information remote system getnetdomaingroupmember - Returns a list of all users in a domain group getdomainuser - Retrieves info about specific user (name, description, SID, Domain Groups) getnetsession - Returns a list of accounts with sessions on the targeted system getnetloggedon - Returns a list of accounts logged into the targeted system getuserswithspns - Returns a list of all domain accounts that have a SPN associated with them ">getnetlocalgroupmember - Returns a list of all users in a local group on a remote systemgetnetdomaingroupmember - Returns a list of all users in a domain groupgetdomainuser - Retrieves info about specific user (name, description, SID, Domain Groups)getnetsession - Returns a list of accounts with sessions on the targeted systemgetnetloggedon - Returns a list of accounts logged into the targeted systemgetuserswithspns - Returns a list of all domain accounts that have a SPN associated with them Chained Information finddomainprocess - Search for a specific process across all systems in the domain (requires admin access on remote systems)finddomainuser - Searches the domain environment for a specified user or group and tries to find active sessions (default searches for Domain Admins)findinterestingdomainsharefile - Searches the domain environment for all accessible shares. Once found, it parses all filenames for "interesting" stringsfindwritableshares - Enumerates all shares in the domain and then checks to see if the current account can create a text file in the root level share, and one level deep. References PowerView - https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1CSharp-Tools - https://github.com/RcoIl/CSharp-ToolsStackOverflow - Random questions (if this isn't somehow listed as a reference, we know we're forgetting it :))SharpView - https://github.com/tevora-threat/SharpView Download EDD
Read more...

___________________________
@hacking_Attack
@Hacking_Video
Enumerate Domain Data is designed to be similar to PowerView (https://www.kitploit.com/search/label/PowerView) but in .NET. PowerView is essentially the ultimate domain enumeration (https://www.kitploit.com/search/label/Enumeration) tool, and we wanted a .NET implementation that we worked on ourselves. This tool was largely put together by viewing implementations of different functionality across a wide range of existing projects and combining them into EDD.
Usage
To use EDD, you just need to call the application, provide the function that you want to run (listed below) and provide any optional/required parameters used by the function.
Functions
The following functions can be used with the -f flag to specify the data you want to enumerate/action you want to take.
Forest/Domain Information
getdomainsid - Returns the domain sid (by default current domain if no domain is provided)
getforest - returns the name of the current forest
getforestdomains - returns the name of all domains in the current forest
convertsidtoname - Converts a SID to the corresponding group or domain name (use the -u option for providing the SID value)
getadcsservers - Get a list of servers running AD CS within the current domain

Computer Information
getdomaincomputers - Get a list of all computers in the domain
getdomaincontrollers - Gets a list of all domain controllers
getdomainshares - Get a list of all accessible domain shares

User Information
remote system getnetdomaingroupmember - Returns a list of all users in a domain group getdomainuser - Retrieves info about specific user (name, description, SID, Domain Groups) getnetsession - Returns a list of accounts with sessions on the targeted system getnetloggedon - Returns a list of accounts logged into the targeted system getuserswithspns - Returns a list of all domain accounts that have a SPN (https://www.kitploit.com/search/label/SPN) associated with them ">getnetlocalgroupmember - Returns a list of all users in a local group on a remote system
getnetdomaingroupmember - Returns a list of all users in a domain group
getdomainuser - Retrieves info about specific user (name, description, SID, Domain Groups)
getnetsession - Returns a list of accounts with sessions on the targeted system
getnetloggedon - Returns a list of accounts logged into the targeted system
getuserswithspns - Returns a list of all domain accounts that have a SPN associated with them

Chained Information
finddomainprocess - Search for a specific process across all systems in the domain (requires admin access on remote systems)
finddomainuser - Searches the domain environment for a specified user or group and tries to find active sessions (default searches for Domain Admins)
findinterestingdomainsharefile - Searches the domain environment for all accessible shares. Once found, it parses all filenames for "interesting" strings
findwritableshares - Enumerates all shares in the domain and then checks to see if the current account can create a text file in the root level share, and one level deep.

References
PowerView - https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1
CSharp-Tools - https://github.com/RcoIl/CSharp-Tools
StackOverflow - Random questions (if this isn't somehow listed as a reference, we know we're forgetting it :))
SharpView - https://github.com/tevora-threat/SharpView


Download EDD (https://github.com/FortyNorthSecurity/EDD)

___________________________
@hacking_Attack
@Hacking_Video
Immunefi Wins Guardian Medal from Binance Smart Chain

Immunefi has won the Guardian Medal as part of Binance Smart Chain’s #BSCAwards.Continue reading on Immunefi »
Read more...
Faction C2 gone?
https://www.reddit.com/r/redteamsec/comments/pllvzo/faction_c2_gone/

A while ago I watched a talk by the creators of this C2 framework. Now I'm more seriously testing out different C2's and was looking forward to test driving faction, but I the website 404's and the repo is gone... Anybody know what's up this C2 framework? I can't find the source, I know somebody has to have it forked somewhere. I'm pretty bummed, it looked like a really promising framework :( Here's a good link describing what it is (was), links to the talk there too: https://0x1.gitlab.io/exploitation-tools/FactionC2/ submitted by /u/nix_knack (https://www.reddit.com/user/nix_knack)
[link] (https://www.reddit.com/r/redteamsec/comments/pllvzo/faction_c2_gone/) [comments] (https://www.reddit.com/r/redteamsec/comments/pllvzo/faction_c2_gone/)

___________________________
@hacking_Attack
@Hacking_Video
Hacking Articles Tips Tricks Videos Tutorials
Photo
Black Hat Ethical Hacking
Offensive Security Tool: Jenkins Attack Framework

https://www.blackhatethicalhacking.com/wp-content/uploads/2021/08/Untitled-design-2-1.png Offensive Security Tool: Jenkins Attack FrameworkPost Views: 42 https://www.blackhatethicalhacking.com/wp-content/uploads/2021/08/BECOME-A-PATRON-AND-UNLOCK-EXCLUSIVE-VIDEOS-1.png Reading Time: 5 Minutes

Offensive Security Tool: Jenkins Attack Framework GitHub Link Jenkins Attack Framework Jenkins Attack Framework by Shelby Spencer & Accenture, is an internally developed, red team-oriented tool for interacting with Jenkins build servers. Jenkins is an opensource build CI/CD pipeline tool that is commonly used in industry to manage building and testing code. It is of interest to red teamers because it often stores powerful credentials, company proprietary code, may have backdoor access into production environments, and often provides attackers with lateral movement and pivoting capabilities. This blogpost does not introduce any new vulnerabilities discovered in Jenkins, but rather demonstrates ways in which it can be abused by red team operators. DescriptionThis project can currently perform the following tasks:

* AccessCheck: Test credentials and provide a rough overview of their access levels
* ConsoleOutput: Dump the console output of the last build of every job on the server (Can be Gigabytes of data, but good for finding credentials)
* CreateAPIToken: Creates an API Token for the current user (Or another user if you have administrative credentials)
* DeleteAPIToken: Deletes an API Token for the current user (Or another user if you have administrative credentials. Lists existing ones if no token supplied)
* DeleteJob: Delete a Job, or failing that, attempt a number of follow-up mitigations from most-to-least effective.
* DumpCreds: Dump credentials (Uses administrative credentials to dump credentials via Jenkins Console)
* DumpCredsViaJob: Dump credentials via job creation and explicit enumeration (User needs at least Add Job permissions)
* ListAPITokens: List existing API tokens for the current user (Or another user if you have administrative credentials)
* ListJobs: List existing Jenkins Jobs (Good For finding specific jobs)
* RunCommand: Run system command and get output/errors back (Uses administrative credentials and Jenkins Console)
* RunJob: Upload a script and run it as a job. Also run “Ghost Jobs” that don’t terminate or show up in Jenkins (after launch)
* RunScript: Run Groovy scripts (Uses administrative credentials to run a Groovy Script via Jenkins Console)
* UploadFile: Upload a file (Uses administrative credentials and chunked uploading via Jenkins Console)
* WhoAmI: Get the credentialed user’s Jenkins groups (Usually contains their domain groups)
* More things are in the works… InstallingRun the following commands:

git clone git@github.com:Accenture/jenkins-attack-framework.git
cd jaf
chmod +x jaf
sudo ./jaf –install
./jaf –install

Before you can use the RunJob “ghost job” feature against Windows Jenkins Slaves, you will need to compile the following file data/cpp/windows_ghost_job_helper.cpp using Visual Studio’s cl tool (see compile arguments in comment at the top of that file), and then drop the compiled file in data/exe/windows_ghost_job_helper.exe. Command Line HelpThe command line help should be pretty straight forward, but is provided here with additional notes:

usage: jaf.py [-h]

Jenkins Attack Framework

positional arguments:
Subcommand to run (pass sub command for more detailed help):
AccessCheck ConsoleOutput CreateAPIToken DeleteAPIToken
DeleteJob DumpCreds DumpCredsViaJob ListAPITokens ListJobs
RunCommand RunJob RunScript UploadFile WhoAmI

optional arguments:
-h, –help show this he[...]

___________________________
@hacking_Attack
@Hacking_Video
Hacking Articles Tips Tricks Videos Tutorials
Black Hat Ethical Hacking Offensive Security Tool: Jenkins Attack Framework https://www.blackhatethicalhacking.com/wp-content/uploads/2021/08/Untitled-design-2-1.png Offensive Security Tool: Jenkins Attack FrameworkPost Views: 42 https://www.blackhatethi…
lp message and exit Common Usage NotesFor every subcommand, you can get more detailed help by calling JAF with the subcommand and no additional options (or the -h option). Server URLFor every command (other than requesting help), the -s command is required. This should be the full, base URL to the Jenkins instance. User AgentJAF will use the following user agent with each request: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36. This was chosen, at least at the time of this release to fit in. If you wish to use a different user-agent, one can be specified with the -u option. Output RedirectionFor every command, you may pass the -o option with a file path. If passed, JAF will write all output (with the exception of some fatal or critical errors) to the file instead of stdout. This option is particularly useful on Windows where console redirection tends to break on random bytes unless you change the code page. CredentialsIf no credentials are provided, JAF will attempt to connect with anonymous credentials. Credentials can be provided via two methods. To provide a single set of credentials use the -a option. Credentials can take three forms: user:password, user:apitoken, or a Cookie string.

In the case of the latter option, the cookie should include the entire cookie (everything after “Cookie: ” in the browser header). Cookie authentication is particularly useful when the Jenkin server uses federation with another Jenkins server for authentication. In this scenario, normal user:password auth will not work. API tokens may still work. If not, authenticate in your browser, then pass the cookie. Cookie authentication can also include a Jenkins Crumb, which should be concatenated to the end of the cookie string to look something like: JSESSIONID.9922756a=node0rhre4wjrdcjz9m4tbqx0qwqn1567.node0|Jenkins-Crumb=f5cb5472851aad76fc45568ef1e4160928d075376fd78c436a58d39b99aae09a

Though JAF can usually determine your authentication type by parsing the string, you can also hint the correct type by prepending your credential string with one of the following (self-explanatory) tags: {USERPASS}, {APITOKEN}, {COOKIE}

For the following two commands, you may pass a single set of credentials using the -a option or you may pass multiple credentials with the -c option: AccessCheck and WhoAmI. The -c option takes either the path to a file which contains one of the aforementioned credential forms per line, or –. If – is passed, JAF will take credentials via stdin instead of from a file (formatting remains the same).
See Also: Windows MSHTML zero-day defenses bypassed as new info emerges Timeouts, Threads, and WaitingHTTP Request Timeouts default to 30 seconds. If you would like a shorter or longer timeout, one can be configured with the -n option.

For certain multi-request methods (ConsoleOutput, AccessCheck, or WhoAmI), the number of threads (and thus number of simultaneous requests) can be configured. By default 4 threads are used. To specify a different number of threads pass the -t option.

For the RunCommand, RunJob, and RunScript methods, in addition to setting a total request timeout, you may pass the -x option to explicitly not wait for the request to return. This can be valuable when starting a SOCKS Proxy or similar long running task. AccessCheckThis method provides a number of heuristic checks for access levels which are useful for an attacker. A negative result should be accurate. A positive result means that the user potentially has the access, but you will need to perform additonal validation. There are simply too many ways to restrict access in Jenkins and no API for determining granular access levels, so results are not always prefectly accurate. Currently this method checks for the following access: Basic Read Access (read), Create Job Access (build), Some level of Admin Access (admin), Script Cons[...]

___________________________
@hacking_Attack
@Hacking_Video
Hacking Articles Tips Tricks Videos Tutorials
lp message and exit Common Usage NotesFor every subcommand, you can get more detailed help by calling JAF with the subcommand and no additional options (or the -h option). Server URLFor every command (other than requesting help), the -s command is required.…
ole Access (script), Scriptler Groovy Script Plugin Access (scriptler)

usage: jaf.py AccessCheck [-h] -s ConsoleOutputThis method dumps the console output for the last build of every job that the user can see. You need at least job viewing privileges which is not always possible to determine. This can and often does result in gigabytes (or even terabytes) of output.

usage: jaf.py ConsoleOutput [-h] -s CreateAPITokenUsed to create an API Token for the user who’s credentials are supplied. If the –user option is passed, this command will instead create an API token for the supplied user (but you must have administrative /script console access to do this).

Token Name is entirely optional and can be anything even a duplicate of an existing token name. Tokens are shown under the user’s configure page (/user/___________________________
@hacking_Attack
@Hacking_Video
Hacking Articles Tips Tricks Videos Tutorials
ole Access (script), Scriptler Groovy Script Plugin Access (scriptler) usage: jaf.py AccessCheck [-h] -s ConsoleOutputThis method dumps the console output for the last build of every job that the user can see. You need at least job viewing privileges which…
that is not too
suspicious). Can be duplicated (There do not appear to
be any restrictions on token names). If not provided,
only token creation date will be shown on user’s page.

optional arguments:
-h, –help                    show this help message and exit
-s DeleteAPITokenUsed to delete an API Token for the user who’s credentials are supplied. If the –user option is passed, this command will instead delete the API token for the supplied user (but you must have administrative /script console access to do this).

Token Name or UUID is required to actually delete a token. If not supplied, this function effectively acts like ListAPITokens and returns a list of existing tokens. If a Token Name is supplied this command will try to delete that token and alert you on success or failure. If the name matches multiple tokens, no token will be deleted, and you will receive an error message. In that case, you should instead list tokens (either by calling DeleteAPIToken with no additional arguments, or via calling ListAPITokens), then try again with a Token UUID. Deleted tokens cannot be restored, so make sure you are certain before attempting.

usage: jaf.py DeleteAPIToken [-h] -s DeleteJobAttempts to delete a Jenkins job. If the user does not have the rights, this will instead, attempt to delete all build logs, overwrite the job with a blank job, and then disable the job.

usage: jaf.py DeleteJob [-h] -s ___________________________
@hacking_Attack
@Hacking_Video
Hacking Articles Tips Tricks Videos Tutorials
that is not too suspicious). Can be duplicated (There do not appear to be any restrictions on token names). If not provided, only token creation date will be shown on user’s page. optional arguments: -h, –help                    show this help message and…
timeout
HTTP Request Timeout (in seconds). Defaults to: 30
-o Output File, –output Output File
Write Output to File
-a [DumpCredsShould be self explanatory, but this does require administrative credentials with /script access.

usage: jaf.py DumpCreds [-h] -s DumpCredsViaJobDump credentials by creating a Job and explicitly enumerating echoing out all the credentials that are stored and accessible to the user. These credentials are then Base64 encoded so as to prevent Jenkins from redacting them. The credentials are retrieved and formatted. User must have at least Job creation privileges.

usage: jaf.py DumpCredsViaJob [-h] -s ListAPITokensMethod simply lists all existing API Tokens for the user who’s creds you supplied. If the –user option is passed, this command will instead list the API tokens for the supplied user (but you must have administrative /script console access to do this).

The actual API Tokens cannot be recovered as only a hash is stored, and only Admin users can even access these hashes. So this method is really only useful for getting a list before trying to use CreateAPIToken or DeleteAPIToken.

usage: jaf.py ListAPITokens [-h] -s ___________________________
@hacking_Attack
@Hacking_Video
Hacking Articles Tips Tricks Videos Tutorials
timeout HTTP Request Timeout (in seconds). Defaults to: 30 -o Output File, –output Output File Write Output to File -a [DumpCredsShould be self explanatory, but this does require administrative credentials with /script access. usage: jaf.py DumpCreds [-h]…
List API Tokens for your user

optional arguments:
-h, –help                    show this help message and exit
-s ListJobsMethod simply lists all jobs on the server, recursively.

usage: jaf.py ListJobs [-h] -s RunCommandThis method wraps passed system commands to capture stdout and stderr and return it. Requires administrative credentials with /script access.

usage: jaf.py RunCommand [-h] -s RunJobAllows you to run jobs via Jenkins. The command will upload your script or executable and then execute it. The -e option allows you to specify what program is called to execute your uploaded script, otherwise the script is executed by the default handler. The -A allows you to specify an argument string to pass to your script or executable. For exmple, if both the -e and -A option were passed, your file would be executed in this fashion: ___________________________
@hacking_Attack
@Hacking_Video