GithubHelp home page GithubHelp logo

aktsk / nwpentestutils Goto Github PK

View Code? Open in Web Editor NEW
8.0 18.0 0.0 17 KB

Scripts for Network Pentesting

License: MIT License

Shell 94.64% Ruby 5.36%
network-pentesting pentesting-tools penetration-testing nmap

nwpentestutils's Introduction

NWPentestUtils

This is a set of scripts for network pentesting. This repository also contains scripts that can be used for attacks, but should only be used for ethical hacking.

Motivation

Network scanners such as Nessus and GVM (OpenVAS) are very useful for pentests, but they are very time consuming. If you want to scan an entire huge company network, it will take several days. That's why these scripts were developed to make pentesting more efficient.

Requirements

How to specify the target

There are many scripts that specify the target in a txt file. The txt file specifying the target will be in the following format:

192.168.100.0/24
172.16.0.0/12

The txt file specifying the exclude ip will be in the following format:

192.168.100.8 192.168.100.15

Port scan

These scripts will do a port scan using nmap and save the results as xml. The results are saved in XML format in the file ./results/yyyymmdd/127.0.0.1_syn_ping_yyyymmdd_hhmmss.xml. ./results/ is listed in gitginore.

portscan-tcp-all.sh

This script requires administrative privileges to use SYN scan. It scan all TCP ports without checking whether the host exists by pinging.

$ sudo ./portscan-tcp-all.sh -T<1-5> <target-hosts-list.txt> <exclude-hosts-list.txt>

Log format: ./results/<today>/<ip_range>_<now>.xml

portscan-tcp-rapid.sh

This script requires administrative privileges to use SYN scan. It scan nmap top 1000 ports with checking whether the host exists by pinging.

$ sudo ./portscan-tcp-rapid.sh -T<1-5> <target-hosts-list.txt> <exclude-hosts-list.txt>

Log format: ./results/<today>/<ip_range>_<now>.xml

portscan-udp.sh

This script requires administrative privileges to use UDP scan.

$ sudo ./portscan-udp.sh <target-hosts-list.txt> <exclude-hosts-list.txt>

Log format: ./results/<today>/<ip_range>_udp_<now>.xml

Find specific middleware

These scripts find a server that can be used as a starting point for an attack. It save the result in the xml format output by nmap.

find-db.sh

$ ./find-db.sh <target-hosts-list.txt>
  • Log format:
    • ./results/<today>/<ip_range>_postgres_<now>.xml
    • ./results/<today>/<ip_range>_redis_<now>.xml
    • ./results/<today>/<ip_range>_mysql_<now>.xml

find-smb.sh

$ ./find-smb.sh <target-hosts-list.txt>

Log format: ./results/<today>/<ip_range>_smb_<now>.xml

find-web.sh

$ ./find-web.sh <target-hosts-list.txt>

Log format: ./results/<today>/<ip_range>_web_<now>.xml

find-snmp.sh

Because SNMP is UDP, it requires administrative privileges.

$ sudo ./find-snmp.sh <target-hosts-list.txt>

Log format: ./results/<today>/<ip_range>_snmp_<now>.xml

Bruteforce

These scripts use nmap to perform brute-force attacks against DB, SMB, and SSH servers and attempt to log in. It save the result in the xml format output by nmap. The results are saved in XML format in the file ./results/yyyymmdd/127.0.0.1_noping_yyyymmdd_hhmmss.xml. ./results/ is listed in gitginore.

Just being able to break through the authentication and steal the data is a problem, but if you can log into the DB server, there are cases where you can bring it up to RCE.

bruteforce-mysql.sh

$ ./bruteforce-mysql.sh <target-hosts-list.txt>

Log format: ./results/<today>/<ip_addr>_mysql_attack_<now>.xml

bruteforce-postgres.sh

$ ./bruteforce-postgres.sh <target-hosts-list.txt>

Log format: ./results/<today>/<ip_addr>_postgres_attack_<now>.xml

bruteforce-redis.sh

$ ./bruteforce-redis.sh <target-hosts-list.txt>

Log format: ./results/<today>/<ip_addr>_redis_attack_<now>.xml

bruteforce-smb.sh

$ ./bruteforce-smb.sh <target-hosts-list.txt>

Log format: ./results/<today>/<ip_addr>_smb_attack_<now>.xml

bruteforce-ssh.sh

$ ./bruteforce-ssh.sh <target-hosts-list.txt>

Log format: ./results/<today>/<ip_addr>_ssh_attack_<now>.xml

bruteforce-snmp.sh

Because SNMP is UDP, it requires administrative privileges.

$ sudo ./bruteforce-snmp.sh <target-hosts-list.txt>

Log format: ./results/<today>/<ip_addr>_snmp_attack_<now>.xml

Misc

check-nmap-ports.sh

You can check the ports that nmap scans, which is useful for specifying the ports to be scanned in the nessus configuration.

Usage

$ sudo ./check-nmap-ports.sh -sT 1000

Example

$ sudo ./check-nmap-ports.sh -sU 100
# Ports scanned: TCP(0;) UDP(100;7,9,17,19,49,53,67-69,80,88,111,120,123,135-139,158,161-162,177,427,443,445,497,500,514-515,518,520,593,623,626,631,996-999,1022-1023,1025-1030,1433-1434,1645-1646,1701,1718-1719,1812-1813,1900,2000,2048-2049,2222-2223,3283,3456,3703,4444,4500,5000,5060,5353,5632,9200,10000,17185,20031,30718,31337,32768-32769,32771,32815,33281,49152-49154,49156,49181-49182,49185-49186,49188,49190-49194,49200-49201,65024) SCTP(0;) PROTOCOLS(0;)
WARNING: No targets were specified, so 0 hosts scanned.

get-alive-ip.sh

$ ./get-alive-ip.sh <target-ip-range>

get-snmp-info.sh

This script return basic information about the SNMP server. Because SNMP is UDP, it requires administrative privileges.

$ sudo ./get-snmp-info.sh <target-ip>

nikto-multi.sh

$ ./nikto-multi.sh <target-hosts-list.txt>

Log format: ./results/<today>/nikto/<ip_addr>_nikto_<now>.xml

nmap-xml2csv.rb

This script converts the xml output of nmap to csv so that it can be copied to Google spreadsheet. Even if you do not specify the name of the output file, it will be output to portscan-result.csv by default.

./results/ and portscan-result.csv are listed in gitginore.

Usage

$ gem install ruby-nmap
$ ruby nmap-xml2csv.rb <nmap-output>.xml -o <output-file-name>.csv

Example

$ ruby nmap-xml2csv.rb ./results/20201204/192.168.1.0_24_20201204_072122.xml
[+] parse these xml files:
./results/20201204/192.168.1.0_24_20201204_072122.xml
-----------------------------------------------------
192.168.1.1	53(domain), 80(http)
192.168.1.17	22(ssh)
-----------------------------------------------------
[+] Output: portscan-result.csv

License

MIT License

nwpentestutils's People

Contributors

tkmru avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.