ZMap Internet scanner
ZMap Internet scanner, en este artículo de hoy traemos ZMap, se define la herramienta como un escáner de red de código libre, lo que caracteriza a este escáner de red de otros es que es capaz de hacer un escáner completo a todo el espacio de direcciones IPv4 en tan sólo 45 minutos, eso sí, deberemos tener en nuestros hogares una conexión simétrica a velocidad de 1Gbps, velocidad a la que no todos tendremos acceso.
ZMap Internet scanner a quien va dirigida esta herramienta
Esta herramienta está dirigida a investigadores, estudiantes y entusiastas de las redes de ordenadores.
ZMap está soportada por los siguientes sistemas operativos.
- Debian
- Ubuntu
- Fedora
- Red Hat Enterprise Linux
- CentOS
En mi caso, voy a usarla en un sistema que en el que corre Ubuntu.
Antes de bajarla y compilar tendremos que instalar algunas dependencias.
sudo apt-get install libgmp3-dev libpcap-dev gengetopt
Una vez que, hemos instalado las dependencias, deberemos de bajar la herramienta, hay dos opciones dsponibles, bajarse el tar.gz o clonar directamente de Github.
En mi caso, clonaré de Github y así si quiero actualizar solo tendré que hacer git pull y volver a compilar.
Para compilar la herramienta solo tendremos que ir a src/ y hacer make y make install.
Una de las primeras que prueba que hice fue escaner 10000 hosts en busca del puerto 25. Para hacer esto, basta con correr ZMap de la siguiente forma:
root@remnux:~# zmap --bandwidth=10M --target-port=25 --max-targets=10000 --output-file=results.txt Aug 19 07:42:54.359 [INFO] zmap: started 0:01 11%; send: 10000 done (12.9 Kp/s avg); recv: 3 2 p/s (2 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03% 0:02 23%; send: 10000 done (12.9 Kp/s avg); recv: 3 0 p/s (1 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03% 0:03 34%; send: 10000 done (12.9 Kp/s avg); recv: 3 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03% 0:04 46%; send: 10000 done (12.9 Kp/s avg); recv: 3 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03% 0:05 57% (3s left); send: 10000 done (12.9 Kp/s avg); recv: 3 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03% 0:06 68% (2s left); send: 10000 done (12.9 Kp/s avg); recv: 3 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03% 0:07 80% (1s left); send: 10000 done (12.9 Kp/s avg); recv: 3 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03% 0:08 91% (0s left); send: 10000 done (12.9 Kp/s avg); recv: 3 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03% 0:09 103% (0s left); send: 10000 done (12.9 Kp/s avg); recv: 3 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.03% Aug 19 07:43:04.451 [INFO] zmap: completed
Si miramos el contenido del fichero results,txt que es donde he guardado los resultados:
root@remnux:~# cat results.txt 213.246.156.148 163.16.44.104 61.57.32.154
Si queremos lanzar ZMap, pero con los parámetros reducidos.
root@remnux:~# zmap -p 23 -N 10 -B 1M -o resultados_25.txt Aug 19 09:36:31.683 [INFO] zmap: started 0:01 80%; send: 1470 1.47 Kp/s (1.46 Kp/s avg); recv: 8 7 p/s (7 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.54% Aug 19 09:36:33.774 [INFO] zmap: completed root@remnux:~# more resultados_25.txt 143.160.61.169 113.63.226.184 217.194.195.200 80.11.76.213 195.88.91.22 123.24.195.124 94.20.219.157 180.43.215.15 222.131.30.119 218.62.20.93
Si no especificamos ancho de banda ni límite de host, está claro que el escaneo se demorará mas tiempo.
root@remnux:~# zmap --target-port=8080 --output-file=resultados_8080.txt Aug 19 09:38:53.477 [INFO] zmap: started 0:01 0%; send: 18551 18.5 Kp/s (18.4 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:02 0%; send: 37377 18.8 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:03 0%; send: 56118 18.7 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:04 0%; send: 74834 18.7 Kp/s (18.7 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:05 0% (2d07h left); send: 93693 18.9 Kp/s (18.7 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:06 0% (2d07h left); send: 111996 18.3 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:07 0% (2d07h left); send: 130548 18.6 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:08 0% (2d07h left); send: 149214 18.7 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:09 0% (2d07h left); send: 167837 18.6 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:10 0% (2d07h left); send: 186361 18.5 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:11 0% (2d07h left); send: 205065 18.7 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:12 0% (2d07h left); send: 223693 18.6 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:13 0% (2d07h left); send: 242297 18.6 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:14 0% (2d07h left); send: 260935 18.6 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:15 0% (2d07h left); send: 279495 18.6 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:16 0% (2d07h left); send: 297910 18.4 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:17 0% (2d07h left); send: 316723 18.8 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:18 0% (2d07h left); send: 335076 18.4 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:19 0% (2d07h left); send: 353652 18.6 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:20 0% (2d07h left); send: 372047 18.4 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:21 0% (2d07h left); send: 390340 18.3 Kp/s (18.6 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:22 0% (2d07h left); send: 408427 18.1 Kp/s (18.5 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:23 0% (2d07h left); send: 426574 18.1 Kp/s (18.5 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:24 0% (2d07h left); send: 444466 17.9 Kp/s (18.5 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00% 0:25 0% (2d07h left); send: 462865 18.4 Kp/s (18.5 Kp/s avg); recv: 0 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00%
Si queremos ver algunos ejemplos de esos puertos 8080 que se han encontrado.
root@remnux:~# nmap -vv -PN -p 8080 -iL 8080.txt -A Starting Nmap 5.21 ( http://nmap.org ) at 2013-08-19 09:41 EDT NSE: Loaded 36 scripts for scanning. Initiating Parallel DNS resolution of 10 hosts. at 09:41 Completed Parallel DNS resolution of 10 hosts. at 09:41, 9.55s elapsed Initiating SYN Stealth Scan at 09:41 Scanning 10 hosts [1 port/host] Discovered open port 8080/tcp on 78.142.173.146 Discovered open port 8080/tcp on 77.235.239.133 Discovered open port 8080/tcp on 80.22.254.170 Discovered open port 8080/tcp on 109.228.95.167 Discovered open port 8080/tcp on 75.107.9.98 Discovered open port 8080/tcp on 190.157.171.219 Discovered open port 8080/tcp on 74.41.143.53 Discovered open port 8080/tcp on 189.222.25.61 Discovered open port 8080/tcp on 211.84.229.132 Discovered open port 8080/tcp on 75.104.137.117
Y en esos puertos encuentro, lo que ya me esperaba:
Nmap scan report for 75.104.137.117 Host is up (0.18s latency). Scanned at 2013-08-19 09:41:54 EDT for 188s PORT STATE SERVICE VERSION 8080/tcp open http-proxy?
Nmap scan report for adsl-109-228-l8103.crnagora.net (109.228.95.167) Host is up (0.19s latency). Scanned at 2013-08-19 09:41:54 EDT for 167s PORT STATE SERVICE VERSION 8080/tcp open http-proxy?
Host is up (0.22s latency). Scanned at 2013-08-19 09:41:54 EDT for 177s PORT STATE SERVICE VERSION 8080/tcp open tcpwrapped Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port OS fingerprint not ideal because: Missing a closed TCP port so results incomplete No OS matches for host TCP/IP fingerprint:
Arquitectura de Zmap
Interesante proyecto para nuestras investigaciones!
Página del proyecto => https://zmap.io/
Paper => https://zmap.io/paper.pdf