Quando si tratta di sicurezza informatica è cosa buona e giusta utilizzare le ultime versioni dei programmi che utilizziamo per effettuare i test, uno di questi è Nmap (Networking Mapper), il più famoso e secondo me il miglior port scanner (e non solo…) al mondo.
Nmap è scritto fondamentalmente in C ed in C++, ed ha numerosi frontend che onestamente odio con tutto il cuore.
E’ nato nel 1997 dal famoso hacker tedesco Fyodor ed il suo sviluppo è ancora in corso.
In questo articolo vedremo come compilare da sorgente l’ultima versione stabile (attualmente la 7.40) su Debian Jessie.
Innanzitutto soddisfiamo le sue dipendenze digitando:
# apt-get install gcc g++ make
Andiamo sul sulla pagina di download del sito di nmap per vedere qual’è l’ultima versione: https://nmap.org/download.html
Al momento in cui scrivo è la 7.40, scarichiamo quindi il suo codice sorgente:
$ aria2c https://nmap.org/dist/nmap-7.40.tar.bz2
Decomprimiamolo ed entriamo nella cartella generata:
$ tar -xvjf nmap-7.40.tar.bz2 && cd nmap-7.40
Adesso configuriamo l’installer in modo da generarci il Makefile per la compilazione:
$ ./configure
Se la configurazione è andata a buon fine vedremo un output simile a questo:
. . \`-"'"-'/ } 6 6 { ==. Y ,== /^^^\ . / \ ) Ncat: A modern interpretation of classic Netcat ( )-( )/ -""---""--- / / Ncat \_/ ( ____ \_.=|____E Configuration complete. ___.-------.___ _.-' ___.--;--.___ `-._ .-' _.-' / .+. \ `-._ `-. .' .-' |-|-o-|-| `-. `. (_ _) `--._``-..__`._|_.'__..-''_.--' ``--._________.--'' ____ _____ ____ ____ _ _______ |_ \|_ _||_ \ / _| / \ |_ __ \ | \ | | | \/ | / _ \ | |__) | | |\ \| | | |\ /| | / ___ \ | ___/ _| |_\ |_ _| |_\/_| |_ _/ / \ \_ _| |_ |_____|\____||_____||_____||____| |____||_____| NMAP IS A POWERFUL TOOL -- USE CAREFULLY AND RESPONSIBLY Configured with: ndiff zenmap nping openssl lua ncat Configured without: localdirs nmap-update Type make (or gmake on some *BSD machines) to compile.
Ci dice anche di lanciare il make, ed infatti è quello che faremo:
$ make
Se non ci sono errori possiamo procedere alla sua installazione con il comando:
# make install
Se tutto è andato a buon fine dovremmo vedere un output simile a questo:
NPING SUCCESSFULLY INSTALLED make[1]: uscita dalla directory "/home/davenull/nmap-7.40/nping" NMAP SUCCESSFULLY INSTALLED
Per vedere se funziona basta lanciarlo senza parametri:
# nmap
E dovremmo ricevere l’help come output, eccolo qui:
Nmap 7.40 ( https://nmap.org ) Usage: nmap [Scan Type(s)] [Options] {target specification} TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc. Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254 -iL : Input from list of hosts/networks -iR : Choose random targets --exclude : Exclude hosts/networks --excludefile : Exclude list from file HOST DISCOVERY: -sL: List Scan - simply list targets to scan -sn: Ping Scan - disable port scan -Pn: Treat all hosts as online -- skip host discovery -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes -PO[protocol list]: IP Protocol Ping -n/-R: Never do DNS resolution/Always resolve [default: sometimes] --dns-servers : Specify custom DNS servers --system-dns: Use OS's DNS resolver --traceroute: Trace hop path to each host SCAN TECHNIQUES: -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans -sU: UDP Scan -sN/sF/sX: TCP Null, FIN, and Xmas scans --scanflags : Customize TCP scan flags -sI : Idle scan -sY/sZ: SCTP INIT/COOKIE-ECHO scans -sO: IP protocol scan -b : FTP bounce scan PORT SPECIFICATION AND SCAN ORDER: -p : Only scan specified ports Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9 --exclude-ports : Exclude the specified ports from scanning -F: Fast mode - Scan fewer ports than the default scan -r: Scan ports consecutively - don't randomize --top-ports : Scan most common ports --port-ratio : Scan ports more common than SERVICE/VERSION DETECTION: -sV: Probe open ports to determine service/version info --version-intensity : Set from 0 (light) to 9 (try all probes) --version-light: Limit to most likely probes (intensity 2) --version-all: Try every single probe (intensity 9) --version-trace: Show detailed version scan activity (for debugging) SCRIPT SCAN: -sC: equivalent to --script=default --script=: is a comma separated list of directories, script-files or script-categories --script-args=: provide arguments to scripts --script-args-file=filename: provide NSE script args in a file --script-trace: Show all data sent and received --script-updatedb: Update the script database. --script-help=: Show help about scripts. is a comma-separated list of script-files or script-categories. OS DETECTION: -O: Enable OS detection --osscan-limit: Limit OS detection to promising targets --osscan-guess: Guess OS more aggressively TIMING AND PERFORMANCE: Options which take are in seconds, or append 'ms' (milliseconds), 's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m). -T: Set timing template (higher is faster) --min-hostgroup/max-hostgroup : Parallel host scan group sizes --min-parallelism/max-parallelism : Probe parallelization --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout : Specifies probe round trip time. --max-retries : Caps number of port scan probe retransmissions. --host-timeout : Give up on target after this long --scan-delay/--max-scan-delay : Adjust delay between probes --min-rate : Send packets no slower than per second --max-rate : Send packets no faster than per second FIREWALL/IDS EVASION AND SPOOFING: -f; --mtu : fragment packets (optionally w/given MTU) -D : Cloak a scan with decoys -S : Spoof source address -e : Use specified interface -g/--source-port : Use given port number --proxies : Relay connections through HTTP/SOCKS4 proxies --data : Append a custom payload to sent packets --data-string : Append a custom ASCII string to sent packets --data-length : Append random data to sent packets --ip-options : Send packets with specified ip options --ttl : Set IP time-to-live field --spoof-mac : Spoof your MAC address --badsum: Send packets with a bogus TCP/UDP/SCTP checksum OUTPUT: -oN/-oX/-oS/-oG : Output scan in normal, XML, s|<rIpt kIddi3, and Grepable format, respectively, to the given filename. -oA : Output in the three major formats at once -v: Increase verbosity level (use -vv or more for greater effect) -d: Increase debugging level (use -dd or more for greater effect) --reason: Display the reason a port is in a particular state --open: Only show open (or possibly open) ports --packet-trace: Show all packets sent and received --iflist: Print host interfaces and routes (for debugging) --append-output: Append to rather than clobber specified output files --resume : Resume an aborted scan --stylesheet : XSL stylesheet to transform XML output to HTML --webxml: Reference stylesheet from Nmap.Org for more portable XML --no-stylesheet: Prevent associating of XSL stylesheet w/XML output MISC: -6: Enable IPv6 scanning -A: Enable OS detection, version detection, script scanning, and traceroute --datadir : Specify custom Nmap data file location --send-eth/--send-ip: Send using raw ethernet frames or IP packets --privileged: Assume that the user is fully privileged --unprivileged: Assume the user lacks raw socket privileges -V: Print version number -h: Print this help summary page. EXAMPLES: nmap -v -A scanme.nmap.org nmap -v -sn 192.168.0.0/16 10.0.0.0/8 nmap -v -iR 10000 -Pn -p 80 SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES
Nei prossimi articoli vedremo come utilizzarlo al meglio.

Author: davenull
Ho 28 anni (ad aprile 29) e vengo da Taranto (Puglia, Italia) e sono:
Sistemista/Programmatore Unix (Debian, OpenMediaVault, OpenWrt, FreeBSD, NetBSD, Lineage OS);
Prototipatore con Raspberry Pi.
Esperto di Sicurezza Informatica, scrivo exploit da poco piì di dieci anni, circa quindici;
Esperto di microarchitetture embedded, specialmente bcm63, ar7 ed armhf (6 e 7);
Fondamentalista del Free Software (Free as in Freedom)
Relatore ed organizzatore di svariati Linux Day a Taranto e a Francavilla Fontana (Brindisi);
Sistemista di svariate sale server che ora non vi sto ad elencare;
Co-Founder di JonixLUG: https://www.jonixlug.altervista.org
Founder di FreeNIX Security Labs: https://www.freenixsecurity.net
Collaboratore esterno dell’Associazione Fare Zero Makers: http://www.farezero.org
Leave a comment
You must be logged into post a comment.
5 Replies to “Nmap – Compilare l’ultima versione”
Buongiorno,
nel fare i miei complimenti per la semplicità con la quale fai apparire le cose, ti confermo che sulla mia macchina di test, ho effettuato l’installazione seguendo i tuoi consigli step by step ed è filato tutto liscio. Pensa che avevo installato, o meglio provato a farlo, metasploit-framework ma adesso grazie alle tue guide penso che cercherò un modo per rimuoverlo e con esso anche tutto quello che mi ha installato sul sistema. Colgo l’occasione per chiedere, visto che non trovo nulla a riguardo e che non riesco a farlo con il comando apt-get –purge metasploit – chiedo come posso fare per eliminarlo dalla mia debian jessie ?
devi prima stoppare il demone di metasploit digitando
# /etc/init.d/metasploit stop</pre
e poi puoi eliminare il contenuto di metasploit in /opt con
# rm -rf /opt/metasploit/
ed il symlink su /etc/init.d
# rm /etc/init.d/metasploit
comunque metasploit è un mattone, e non lo consiglierei a nessuno, specialmente da quando è diventato commerciale.
Ciao davenull,
ho seguito i tuoi consigli ed ho eliminato metasploit, anche se ho eliminato metasploit-framework, perchè nel mio sistema non era presente /opt/metasploit/ ma era presente /opt/metasploit-framework
Impeccabile come sempre.
Grazieee
ah allora l’avevi installato come framework intero, pensavo fosse l’installazione normale 🙂