├── LICENSE
├── README.md
└── Nutoscan.sh
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Soumyaranjan Pradhan
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | **About Nutoscan**
2 |
3 |
4 |
5 |
6 |
7 | Nutoscan is an automated Network Vulnerability Scanner and Reconnaissance tool. It performs a wide range of scans like live Host Scanning, Port Scanning, Nmap Script Scans, Vulnerability Scanning, CVE Scanning OS Detection, UDP Scan and Recon on the target system.
8 |
9 |
10 | **Key Features**
11 |
12 | Auto Recon
13 |
14 | Automated Vulnerability Scanning
15 |
16 | Common Ports Scanning
17 |
18 | All Ports Scanning
19 |
20 | CVE Scanning
21 |
22 | Fuzzing Directories
23 |
24 | Automated Output
25 |
26 | And much more
27 |
28 |
29 | **Installation**
30 | ```
31 | git clone https://github.com/whitehatsoumya/Nutoscan.git
32 | ```
33 |
34 | ```
35 | cd Nutoscan
36 | ```
37 |
38 | ```
39 | chmod +x Nutoscan.sh
40 | ```
41 |
42 | **Usage**
43 |
44 | Help: ``` ./Nutoscan.sh -h ``` or ``` ./Nutoscan.sh --help ```
45 |
46 | Basic Scan: ``` ./Nutoscan.sh -H/--host -t/--type ```
47 |
48 |
49 |
50 |
51 |
52 |
53 | Scan Types:
54 | Network : Shows all live hosts in the host's network (Approx 15 seconds)
55 | Port : Shows all open ports (Approx 15 seconds)
56 | Script : Runs a script scan on found ports (Approx 5 minutes)
57 | Full : Runs a full range port scan, then runs a script scan on new ports (Approx 5-10 minutes)
58 | UDP : Runs a UDP scan "requires sudo" (Approx 5 minutes)
59 | Vulns : Runs CVE scan and nmap Vulnerabilities scan on all found ports (Approx 5-15 minutes)
60 | Recon : Suggests a vareity of recon commands on your choice else automatically runs default(Depends)
61 | All : Runs all the scanning methods at same time (Approx 20-30 minutes)
62 |
63 | **Examples**
64 |
65 | Network Scan: ``` ./Nutoscan.sh -H -t Network ```
66 |
67 | Basic Port Scan: ``` ./Nutoscan.sh -H -t Port ```
68 |
69 | Script Scan: ``` ./Nutoscan.sh -H -t Script ```
70 |
71 | Full Scan: ``` ./Nutoscan.sh -H -t Full ```
72 |
73 | UDP Scan: ``` ./Nutoscan.sh -H -t UDP ```
74 |
75 | Vulns Scan: ``` ./Nutoscan.sh -H -t Vulns ```
76 |
77 | Recon: ``` ./Nutoscan.sh -H -t Recon ```
78 |
79 | All: ``` ./Nutoscan.sh -H -t All ```
80 |
81 |
82 | **Note**
83 | In Recon Scan It will prompt you to select options, you can select accordingly or else it will automatically scan all the available recon tools which has been already installed with your system!
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 | **Legal Disclaimer**:
94 |
95 | You might be super excited to use this tool, me too. But here is the problem! whitehatsoumya or Github won't be responsible for any actions made by you. This tool is made for security research and education purposes only. It is the end user's responsibility to obey all applicable
96 | local, state and federal laws.
97 |
98 |
99 | If you love and supoort my work then you can give me a cup of coffee :)
100 |
101 | [](https://paypal.me/hithtechnologies)
102 |
--------------------------------------------------------------------------------
/Nutoscan.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | echo "\e[1;31m \ \ __ ___/ |_ ____ ______ ____ _____ ____ \_ |__ ___.__.
3 | / | \| | \ __\/ _ \/ ___// ___\\__ \ / \ | __ < | |
4 | / | \ | /| | ( <_> )___ \\ \___ / __ \| | \ | \_\ \___ |
5 | \____|__ /____/ |__| \____/____ >\___ >____ /___| / |___ / ____|
6 | \/ \/ \/ \/ \/ \/\/
7 | .__ .__ __ .__ __
8 | __ _ _| |__ |__|/ |_ ____ | |__ _____ _/ |_ __________ __ __ _____ ___.__._____
9 | \ \/ \/ / | \| \ __\/ __ \| | \\__ \\ __\/ ___/ _ \| | \/ < | |\__ \
10 | \ /| Y \ || | \ ___/| Y \/ __ \| | \___ ( <_> ) | / Y Y \___ | / __ \_
11 | \/\_/ |___| /__||__| \___ >___| (____ /__| /____ >____/|____/|__|_| / ____|(____ /
12 | \/ \/ \/ \/ \/ \/\/ \/ \e[
13 | \033[34m Developed in India ❤️\033[34m By Soumyaranjan Pradhan\1"
14 | # ANSI color variables
15 | RED='\033[0;31m'
16 | YELLOW='\033[0;33m'
17 | GREEN='\033[0;32m'
18 | NC='\033[0m'
19 | origIFS="${IFS}"
20 |
21 | # Start timer
22 | elapsedStart="$(date '+%H:%M:%S' | awk -F: '{print $1 * 3600 + $2 * 60 + $3}')"
23 | REMOTE=false
24 |
25 | # Parse flags
26 | while [ $# -gt 0 ]; do
27 | key="$1"
28 |
29 | case "${key}" in
30 | -H | --host)
31 | HOST="$2"
32 | shift
33 | shift
34 | ;;
35 | -t | --type)
36 | TYPE="$2"
37 | shift
38 | shift
39 | ;;
40 | -d | --dns)
41 | DNS="$2"
42 | shift
43 | shift
44 | ;;
45 | -o | --output)
46 | OUTPUTDIR="$2"
47 | shift
48 | shift
49 | ;;
50 | -s | --static-nmap)
51 | NMAPPATH="$2"
52 | shift
53 | shift
54 | ;;
55 | -r | --remote)
56 | REMOTE=true
57 | shift
58 | ;;
59 | *)
60 | POSITIONAL="${POSITIONAL} $1"
61 | shift
62 | ;;
63 | esac
64 | done
65 | set -- ${POSITIONAL}
66 |
67 | # Legacy flags support, if run without -H/-t
68 | if [ -z "${HOST}" ]; then
69 | HOST="$1"
70 | fi
71 |
72 | if [ -z "${TYPE}" ]; then
73 | TYPE="$2"
74 | fi
75 |
76 | # Legacy types support, if quick/basic used
77 | if expr "${TYPE}" : '^\([Qq]uick\)$' >/dev/null; then
78 | TYPE="Port"
79 | elif expr "${TYPE}" : '^\([Bb]asic\)$' >/dev/null; then
80 | TYPE="Script"
81 | fi
82 |
83 | # Set DNS or default to system DNS
84 | if [ -n "${DNS}" ]; then
85 | DNSSERVER="${DNS}"
86 | DNSSTRING="--dns-server=${DNSSERVER}"
87 | else
88 | DNSSERVER="$(grep 'nameserver' /etc/resolv.conf | grep -v '#' | head -n 1 | awk {'print $NF'})"
89 | DNSSTRING="--system-dns"
90 | fi
91 |
92 | # Set output dir or default to host-based dir
93 | if [ -z "${OUTPUTDIR}" ]; then
94 | OUTPUTDIR="${HOST}"
95 | fi
96 |
97 | # Set path to nmap binary or default to nmap in $PATH, or resort to --remote mode
98 | if [ -z "${NMAPPATH}" ] && type nmap >/dev/null 2>&1; then
99 | NMAPPATH="$(type nmap | awk {'print $NF'})"
100 | elif [ -n "${NMAPPATH}" ]; then
101 | NMAPPATH="$(cd "$(dirname ${NMAPPATH})" && pwd -P)/$(basename ${NMAPPATH})"
102 | # Ensure static binary is executable and is nmap
103 | if [ ! -x $NMAPPATH ]; then
104 | printf "${RED}\nFile is not executable! Attempting chmod +x...${NC}\n"
105 | chmod +x $NMAPPATH 2>/dev/null || (printf "${RED}Could not chmod. Running in Remote mode...${NC}\n\n" && REMOTE=true)
106 | elif [ $($NMAPPATH -h | head -c4) != "Nmap" ]; then
107 | printf "${RED}\nStatic binary does not appear to be Nmap! Running in Remote mode...${NC}\n\n" && REMOTE=true
108 | fi
109 | printf "${GREEN}\nUsing static nmap binary at ${NMAPPATH}${NC}\n"
110 | else
111 | printf "${RED}\nNmap is not installed and -s is not used. Running in Remote mode...${NC}\n\n" && REMOTE=true
112 | fi
113 |
114 | # Print usage menu and exit. Used when issues are encountered
115 | usage() {
116 | echo
117 | printf "${RED}Usage: $(basename $0) -H/--host ${NC}${RED} -t/--type ${NC}${RED}\n"
118 | printf "${YELLOW}Optional: [-r/--remote ${NC}${YELLOW}] [-d/--dns ${NC}${YELLOW}] [-o/--output ${NC}