Primeros pasos con NetBSD II

En el primer post vimos algunos aspectos básicos de NetBSD, suficiente como para que los curiosos se adentren a explorar este OS. En este post veremos una configuración que nos permite utilizar NetBSD como router, esta configuración no escapa de ser básica, pero puede ser muy útil.

NetBSD como router

Uno de los usos mas básicos que podemos darle a un NetBSD es utilizarlo como router. Aunque quizás  en primera instancia pensaríamos en OpenBSD o Linux para dicha tarea, puede ser que tengamos guardada alguna PC muy vieja donde es mas dificil instalar OpenBSD y muy chica para Linux. En la lista de productos basados en NetBSD que mencionamos en el post anterior, podemos encontrar algunos routers desarrollados en base a este OS.
Otra razón para hacer esto es simplemente por que podemos, y nos gusta experimentar.

Escenario:

Tenemos una pc (o cualquier bicho que pueda correr NetBSD) con dos conexiones. netbsd-router
Una de las cuales tiene conexión a la Internet y la otra a la intranet a la cual proveeremos de acceso a internet. El nombre de la interfaz conectada a internet será wm0 y la interfaz conectada a la intranet será wm1.

Consideraremos en otro momento , un escenario donde la conexión a internet se realiza mediante una conexión DSL.

Configuración de las interfaces

IP Estatica

Como ya mencionamos en el post anterior, la configuración de las interfaces es muy simple.
Para poder saber las interfaces (los nombres de las interfaces dependen del driver utilizado en los kernels *BSD) disponibles utilizamos ifconfig:

ifconfig -a

Por cada interfaz disponible obtendremos un resultado similar al siguiente:

wm0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
 capabilities=2bf80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Tx,UDP6CSUM_Tx>
 enabled=0
 address: 56:43:13:45:4d:af
 media: Ethernet autoselect (1000baseT full-duplex)
 status: active
wm1: flags=8843<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
 capabilities=2bf80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Tx,UDP6CSUM_Tx>
 enabled=0
 address: 03:34:31:43:55:ff
 media: Ethernet autoselect (1000baseT full-duplex)
 status: active

Al igual que en GNU/Linux y demases unix podemos configurar temporalmente la interfaz utilizando:

ifconfig wm0 10.0.0.1 netmask 255.255.255.0
ifconfig wm1 192.168.1.1 netmask 255.255.255.0

Pero para poder configurar de forma definitiva la interfaz, debemos crear (si no existe ya) el archivo /etc/ifconfig.wm0 y el /etc/ifconfig.wm1. En este archivo, simplemente añadiremos en cada linea los argumentos que queremos que ifconfig ejecute. Por ejemplo, lo primero a hacer es levantar la interfaz con un:

ifconfig wm0 up

Por lo que la primer linea del archivo será un ‘up’.
Luego configuraremos la ip y el archivo quedará de la siguiente manera:

NetBSD Lab # cat /etc/ifconfig.wm1
up
192.168.1.1 netmask 255.255.255.0
NetBSD Lab # cat /etc/ifconfig.wm0
up
10.0.0.1 netmask 255.255.255.0

De esta manera configuramos ambas interfaces de forma estatica.

DHCP cliente

En caso de que la interfaz con acceso a internet deba ser configurada con DHCP, el archivo de configuración se verá de la siguiente forma:

NetBSD Lab # cat /etc/ifconfig.wm0
up
dhcp

Donde wm0 es la interfaz que utliza dhcp.
Para utilizar DHCP en la interfaz sin reiniciar utilizar /etc/rc.d/networking stop/start, podemos utilizar:

# dhclient wm0

Packet Forwarding

Para habilitar el reenvio de paquetes, fundamental para un router ejecutamos lo siguiente:

# sysctl -w net.inet.ip.forwarding=1

Y para guardar esta configuración de forma permanente agregamos la siguiente variable a /etc/sysctl.conf:

# net.inet.ip.forwarding=1

Pero el reenvio de paquetes es sólo el primer paso, ya que necesitamos hacer NAT para que los paquetes puedan regresar correctamente, esto lo hacemos modificando el archivo /etc/ipnat.conf.
Si no existe, lo creamos de la siguiente manera:

NetBSD Lab # cat << EOF > /etc/ipnat.conf 
map wm0 192.168.1.0/24 -> 0/32 
EOF

Servicios del Router

DNS y DHCP

Para proveer un servicio de dns y dhcp a la red interna, instalaremos dnsmasq

NetBSD Lab # pkg_add -v dnsmasq
pkg_add: Warning: package `dnsmasq-2.67nb1' was built for a platform:
pkg_add: NetBSD/x86_64 6.0 (pkg) vs. NetBSD/x86_64 6.1.5 (this host)
Running install with PRE-INSTALL for dnsmasq-2.67nb1.
dnsmasq-2.67nb1: Creating group ``dnsmasq''
dnsmasq-2.67nb1: Creating user ``dnsmasq''
useradd: Warning: home directory `/nonexistent' doesn't exist, and -m was not specified
man/man8/dnsmasq.8
sbin/dnsmasq
share/examples/dnsmasq/dnsmasq.conf.example
share/examples/rc.d/dnsmasq
Running install with PRE-INSTALL for dnsmasq-2.67nb1.
dnsmasq-2.67nb1: copying /usr/pkg/share/examples/dnsmasq/dnsmasq.conf.example to /usr/pkg/etc/dnsmasq.conf
===========================================================================
The following files should be created for dnsmasq-2.67nb1:

/etc/rc.d/dnsmasq (m=0755)
 [/usr/pkg/share/examples/rc.d/dnsmasq]

===========================================================================
Package dnsmasq-2.67nb1 registered in /var/db/pkg/dnsmasq-2.67nb1

Luego, copiamos el script de inicio y el de configuración:

NetBSD Lab # cp /usr/pkg/share/examples/rc.d/dnsmasq /etc/rc.d/
NetBSD Lab # cp /usr/pkg/share/examples/dnsmasq/dnsmasq.conf.example /etc/dnsmasq.conf

Para activar el inicio de dnsmasq en el booteo, agregamos la siguientes lineas al /etc/rc.conf:

dnsmaq=YES
dnsmasq_flags="-C /etc/dnsmasq.conf"

Una vez hecho esto, debemos modificar las siguientes variables dentro de /etc/dnsmasq.conf

interface=wm1
bind-interfaces
expand-hosts
domain=netsecure.com.ar
dhcp-range=192.168.1.2,192.168.1.20,24h

En la variable interface utilizaremos la interfaz sobre la cual daremos internet a la red interna.
Como pueden ver, con esta simple configuración, dnsmasq brinda servicio de dns (forwarding) y dhcp.
Y comenzamos a disfrutar de los servicios de dnsmasq iniciandoló:

NetBSD Lab #  /etc/rc.d/dnsmasq start
Starting dnsmasq.

Firewall

NetBSD trae por defecto a PF como su firewall, PF (Packet Filter), es un firewall mantenido por el equipo de desarrollo de OpenBSD, uno de los sistemas mas seguros (el mas seguro?). Por esto y mucho mas, PF se ha granjeado su fama como excelente firewall, ademas de ser muy simple en su sintaxis, algo que su competencia (iptables/netfilter) no puede superar.
Para habilitar el uso de PF, modificamos el /etc/rc.conf:

pf=YES

Y luego deberemos configurar el funcionamiento en sí de pf en el /etc/pf.conf
Si bien la configuración del firewall es algo bastante personal (intimo diría yo), un ejemplo de un firewall básico podría ser el siguiente (manual de PF aquí)

#Bloqueamos todo por defecto
block in  all
block out all

#Lista de puestos permitidos para la red interna
allowed_tcp_ports = "{ 22 }"
allowed_udp_ports = "{ 53, 67, 68 }"

#Reglas para permitir el acceso a los puertos desde la red interna
pass in  on wm1 from 192.168.1.0/24 to 192.168.1.1 tcp port $allowed_tcp_ports
pass in  on wm1 from 192.168.1.0/24 to 192.168.1.1 tcp port $allowed_udp_ports
pass out on wm1 from 192.168.1.1 to 192.168.1.0/24 tcp port $allowed_tcp_ports
pass out on wm1 from 192.168.1.1 to 192.168.1.0/24 tcp port $allowed_udp_ports

Herramientas Adicionales

Finalmente, podemos instalar algunas herramientas utilizando (pkg_add) que pueden servirnos para controlar nuestra red:

  • fping (scanner icmp)
  • bmon (Para visualizar el ancho de banda en cada interfaz)
  • trafshow (Para visualizar las conexiones en tiempo real)
  • tinc (Para crear VPNs)
  • tcpdump (sniffer)

Conclusiones

Con esta configuración básica como router, tenemos la base para transformar nuestro NetBSD en un firewall bastion, en un proxy, un punto de control, etc. Una de las mayores ventajas de utilizar NetBSD como router es que puede ser instalado en muchos dispositivos, por lo que quizas puedas utilizar este OS en un router, en una PC o vaya a saber en que aparatejo. La liviandad del OS lo transforma ideal para correr en hardware reducido, pero al mismo tiempo proveer muchas funcionalidades.

‘Políticas y Acciones de Ciberdefensa del Ministerio de Defensa’ en #SegurInfoArgentina2015

Una de las charlas a las que elegí asistir en la jornada SegurInfo Argentina 2015, fue la que dieron:
Sergio Rossi , Jefe de Gabinete del Ministerio de Defensa
César Daniel Cicerchia, Comando Conjunto de Ciberdefensa
Fernando CorvalanAsesor Jefatura de Gabinete , Ministerio de Defensa
Oscar NissAsesor Jefatura de Gabinete, Ministerio de Defensa

En esta charla, se expuso las acciones del gobierno en materia de seguridad informática, comparto con uds las anotaciones que hice:segurinfo-cert

El gobierno en pro de una mayor soberanía digital y de aumentar la seguridad en el cyber espacio, comenzó en 2013 la creación de un Comando en Conjunto de CyberDefensa, junto con otras acciones aún en desarrollo, como lo es la creación del CERT.

El abordaje se comienza desde la difusión, dando charlas técnicas e informativas y se continua mediante la vinculación con universidades, camaras empresariales, y organizaciones de Investigación. Así mismo, se planea la creación de una Maestria de Cyber Defensa y un Consejo Consultivo ( entre Universidades, empresas y Consultores).

MINDEX

El ONTI (Oficina Nacional de Tecnologías de la Información), las FFAA, y el Ministerio de Defensa, estan trabajando en conjunto para poder definir políticas alineadas a los estándares mundiales y la definición de las variables a ser defendidas. Una de las acciones tomadas fue la creación de MINDEX, una distro linux ‘debian based’, creada con el fin de tener todas las herramientas necesarias para la encriptación y transmisión de datos de forma segura sin depender de ninguna empresa/corporación.
Esta distribución también cuenta con las herramientas ofimáticas necesarias para el trabajo diario de del Ministerio de defensa donde se esta implementando.

NETWORKING

Por otro lado, se esta trabajando en Firewalls y monitoreo en tiempo real del tráfico, en conjunto con tecnologías de BigData, para poder poder detectar y detener la formación de BotNets.
También se esta trabajando en la securización de las redes móviles.
Y con el fin de tenes disponibles recursos para la investigación y entramiento, se utilizarán la virtualización y la super computación como medio para dicho fin.

Mas allá de lo técnico

Para poder dar un marco legal y legislativo también se esta buscando generar leyes acordes que al mismo tiempo tengan sentido en el ámbito de las políticas, normas y estándares regionales y mundiales, sumando a esto la doctrina militar.
Se buscará obtener el Nivel 4 como mínimo en las auditorias*

Mis Conclusiones

La presentación me dejó una buena impresión de las medidas que se están intentando tomar, sobre todo la creación de un CERT. Creo somos uno de los muchos paises (o de entre todos) que tenemos como materia pendiente dar un marco legal al ‘cyberespacio’.  Sin embargo me deja abierta la duda sobre la transparencia que tendrá los controles que se aplicarán, y si estos no serán en algún (o en todo) momento utilizado para controlar y no para proteger.

*Nota del autor: ?????

Decisión administrativa | Boletin Oficial

~have fun

Mascherano securiza tu server

No, no es que Mascherano se haya vuelto SysAdmin, si no que Mozilla ha creado MASCHE (Memory Analysis Suite for Checking the Harmony of Endpoints)masch
Masche proporciona funciones básicas para la digitalización de la memoria de los procesos sin interrumpir las operaciones del sistema. MASCHE no provee las mismas funciones forenses que otros frameworks (llamesé Volatility o Rekall),  en lugar de esto, se focaliza en la búsqueda de expresiones regulares y cadenas de bytes en los procesos de grandes muchos sistemas y lo hace muy rápido. Además funciona en Linux, Windows y MAC os.

A que ya lo estas queriendo bajar!!!

~have fun

‘Gestión de los pibes de seguridad’ en #SegurInfo2015

Comparto algunas notas tomadas de la charla brindada por  Julio Ardita (CTO, Cybsec)Marcos Jaimovich (Subgerente de Seguridad Informatica Regional de Cencosud) Diego Hernán Layño (Responsable Seguridad de la Información, OSDE ) Fernando Bruzzese (Gerente Seguridad de la Información , Banco Supervielle)

En esta charla se planteo la temática de como abordar el liderazgo y administración de los empleados del área de seguridad informática. Julio Ardita actuo como moredador de la charla, recalcando la importancia del correcto gerenciamiento del sector de seguridad informática, explicando que los lideres de estos equipos son análogos a los DT en el fútbol.

pibessec

Las preguntas mas interesantes:

Cómo están conformados los equipos?

Jaimovich de Cencosud comento que están divididos en los siguientes grupos:

  1. Gestion de Accesos
  2. Embajadores de seguridad en cada  proyecto
  3. Gestión de las Normativas de Financiación

En particular, la gestión de acceso esta tercerizada, ya que debido a que las características del trabajo (poco desafiante, rutinario y básico) la rotación de personas en dichos perfiles es alta y creyeron conveniente delegarlo en otra empresa que tenga una mejor administración de dicha rotación.

Layño de Osde concordó con Jaimovich y comento que también tiene 3 grupos principales los cuales son:

  1. ABM
  2. Especialistas
  3. Operativo, funcional y Arquitectura

De igual manera que en Cencosud, Osde terceriza la gestión de acceso (ABM), por el mismo problema de rotación de los RRHH. Por otra parte Layño recalco que con respecto a los ‘Especialistas’, es decir aquellos perfiles especifícos, tienen una política de ‘dejarlos hacer’, es decir darles libertad para que puedan aportar su punto de vista y desarrollen o implementen según crean necesario.

Bruzzese del Banco Superville coincidió en la división de los grupos:

  1. ABM
  2. Control y Monitoreo
  3. Infraestructura

Pero a diferencia de los anteriores, dijo que no tercerizaban la gestión del acceso, ya que para apalear las condiciones negativas del tipo de trabajo (rutinario principalmente) y viendo que el ABM es ‘la vidriera’ del equipo de seguridad informática, decidieron proponer distintos desafíos a sus empleados con el fin de mantener la motivación.

Como evalúan los perfiles a la hora de la selección?

Jaimovich recalco la necesidad de responsabilidad, ser capaces de ver el ‘mapa del problema’ (generalistas), y capacidad de manejar la frustración, ya que muchas veces tienen que saber decir que no a ciertas cosas para defender la seguridad en la implementación de un projecto. Layño recalco la necesidad del trabajo en equipo en detrimento de los ‘gurues’, y la capacidad de comunicar los problemas con analogías, dada la necesidad de explicar cuestiones técnicas complejas a la cadena de mando que desconoce el tema. Bruzzese por su parte volvió a resaltar la responsabilidad y la confiabilidad necesaria por la criticidad del trabajo, y señalo como estrategia el incorporar mujeres, dado su mejor capacidad a la hora de relacionarse y comunicarse con otros sectores o con el cliente. Además diferenció a los generalistas de los técnicos especializados, ya que ambos son necesarios en determinados lugares, pero hay escasez de técnicos especializados.

Como tratan el paso de técnico a ‘jefe’?

Cencosud, comento Jaimovich, desarrolló la carrera técnica en paralelo con la gerencial, de modo que no existe sólo un camino para el desarrollo laboral (el del management) si no que el técnico puede seguir siendo técnico si así lo desea y aún así progresar laboralmente. De esta forma quienes quieren y se capacitan pueden pasar a ser jefes, pero sólo por gusto y no por necesidad. En esto coincidieron tanto Layño como Bruzzese recalcando que si se hacía se hacía por gusto.

Algunas conclusiones propias:

Me llamo la atención como tanto Cencosud. como Osde delegaron en otras empresas el ABM de sus usuarios, ya que si bien el problema de la rotación por falta de desafío es un problema muy importante, también lo es la criticidad del trabajo. En este caso Superville enfrentó el problema de manera más audaz y creo que tanto empleados como empresa han salido beneficiados.

Por otro lado, quiero recalcar la política de Osde de ‘dejar hacer’, la cual parece haberles dado un buen resultado. De esta manera los empleados se sienten mas útiles y la empresa recibe más productividad de sus empleados.

Finalmente un poroto más para superville que incorporó como estrategia contratar mujeres en un sector tan dominados por hombres.

~have fun

Resumen de #SegurInfoArgentina2015

El día de ayer (10 de Marzo de 2015) se realizó en Buenos Aires la Quintoagésima
primera Edición del Congreso y Feria Iberoamericana de Seguridad de la información’,
o… SegurInfo 2015…

He aquí el resumen desde el punto de vista de un Pentester independiente:

SegurInfo es un organización que se encarga de realizar eventos en distintos países latinoamericanos con el fin de divulgar conocimiento sobre seguridad informática a las empresas principalmente. El evento se orienta principalmente a CEOs, CIOs, CISOs y CTOs que deseen profundizar sus conocimientos en el área de seguridad empresarial.

segur1

La jornada fue intensa y se desarrolló en el primer y segundo piso del Sheraton (Retiro, BS AS). Las temáticas de las charlas son en general poco técnicas pero muy informativas sobre las tendencias de los peligros que corren las empresas y corporaciones en la guerra que se esta librando en estos momentos en Internet (luego escribiré sobre las charlas a las que asistí), donde la capacidad de los atacantes (cyberdelincuentes) ha sobrepasado la capacidad defensiva de las organizaciones.

Como en cada jornada de seguridad informática encontré algunas caras conocidas, y otras no tanto, ya que a diferencia de otros eventos, SegurInfo reviste, como es de esperarse, de formalidad y sus asistentes, mayormente de saco y corbata, suelen ocupar cargos gerenciales. Estos encuentran en el desarrollo del día oportunidades de contactar con empresas dedicadas a la seguridad informática y afines.

Lo recalcable:

  • Por sobre todo, el evento contó con muy buena calidad de disertantes y creo que el fin de divulgar la importancia de la seguridad informática en el sector empresarial, se cumplió muy bien.
  • Los stands de las distintas empresas patrocinadoras del evento brindaban asesoramiento, y como es de esperarse buscaban una oportunidad de negocio, pero de forma muy correcta. Por supuesto como siempre has de llevarte una lapicera de regalo, para incrementar tu coleción.
  • Varios de los stands realizaron sorteos de cámaras, tablets, pendrives, un LCD etc. Y
    avg-locker aunque no me gane nada, esto funciono como un buen incentivo para acercarse a los stands, no sólo las promotoras (merece una reflexión aparte sobre la cosificacióń)
    – 
    Una idea genial de AVG fue un locker para cargar tu celular/tablet.
  • Infaltable, la charla del Chema, aunque no demasiado útil, como siempre un poco de rizas vinieron fantásticas para distenderse y terminar el dia.
  • El evento finalizó con el sorteo de una moto, que mediante la esperanza de ganarla, aumento las ansias de ser gratificado por el valor de la entrada.

 

Lo que no me gusto:

Si bien el Sheraton es un lugar confortable, considerando el precio de la entrada, podré decir que a mi humilde parecer faltaron algunas comodidades básicas para dicho evento, a saber:

comida2
5′ luego de haber sido habilitada la mesa para comer
  • Comida: Aunque la comida fue de muy buen nivel, sólo había para el 20% de los asistentes (como mucho). Por otro lado no había lugar donde comer lo poco que había ya que escaseaban las mesas y sillas.
  • Wifi: No había wifi disponible mas que el del hotel, el cual es pago. Claramente, al no ser un evento enfocado a los técnicos, quizás pueda disminuirse su importancia. Pero por otro lado.. en que evento social/tecnológico no hay un wifi disponible?
  • Cobertura 3G: Cuento con conectividad 3G de 2 compañias y ninguna de las 2 funcionaban dentro del hotel. Algo así como si hubiera una jaula de Faraday en el lugar.
  • Breaks muy cortos y charlas atrazadas: Los descansos entre charlas fueron bastante breves y las charlas que tuvieron unos minutos de atraso se comieron los pocos que había. Aunque el evento no tiene como objetivo lo social, siempre es bueno y relajante poder tomarse un tiempo para charlar y encontrarse con gente.

Conclusiones

El evento fue de buen resultado cumpliendo con los objetivos principales y es recomendable para quienes trabajan a niveles gerenciales o dirigen una PyME o Corporación. Si sos un curioso de la informática o de la seguridad informática, el evento es recomendable si consigues un acceso gratuito.

Agradecimientos:

De forma especial quiero agradecer a Julián Reale @realejulian por ayudarme a conseguir una entrada para el evento

Charla ‘Gestion de los pibes de seguridad’
Charla ‘Politicas y acciones de ciberdefensa del Ministerio de defensa

 

~have fun

Pretty Ping

No es más que un script en bash, pero que útil que es.
Hablamos de Pretty Ping, un script que nos mostrará un bello output del viejo y siempre útil ping:

pettyping

Puedes bajarlo aquí, y seguir los siguientes pasos para que quede andando en tu sistema:

# vi /usr/local/bin/prettyping #Copiamos el código
# chmod +x /usr/local/bin/prettyping
# prettyping google.com

~have fun

ZMap mas rápido que NMap

ZMap es un escaner de redes (tal como lo es el famosísimo nmap) que sirve para auditorias de seguridad, testings, monitoring etc etc. Sin embargo, a diferencia de otros scanners, ZMap es muy veloz y tiene un potencial muy interesante dado sus cualidades. Según sus autores, tiene la capacidad de scanear todas las ip de ipv4 en 45 minutos desde una PC normal y fue creado con el fin de encontrar vulnerabilidades en forma masiva.
Como explican en el WashintongPost:

In contrast, ZMap is “stateless,” meaning that it sends out requests and then forgets about them. Instead of keeping a list of oustanding requests, ZMap cleverly encodes identifying information in outgoing packets so that it will be able to identify responses. The lower overhead of this approach allows ZMap to send out packets more than 1,000 times faster than Nmap. So while an Internet-wide scan with Nmap takes weeks, ZMap can (with a gigabit network connection) scan the entire Internet in 44 minutes.

ZMap no tiene un registro de los paquetes enviados, simplemente envía los paquetes con data que al ser devuelta puede identificar y decodificar, haciéndolo 1300 veces mas rápido que nmap.

Instalación

Su instalación no debería serte en absoluto un problema, ya que esta portado para varias distribuciones, como se documente en su sitio:

Debian or Ubuntu: sudo apt-get install zmap
Fedora, CentOS, and RHEL: sudo yum install zmap
Gentoo: sudo emerge zmap
Mac OS (brew): brew install zmap
Arch Linux: Available through AUR

Por otro lado, lo puedes descargar/clonar desde GitHub
La información para compilarlo, puedes verla aquí

En particular, en Debian 7, necesitaras tener entre tus repositorios, los backports:

deb  http://http.debian.net/debian  wheezy-backports main contrib non-free

Uso

La rapidez de zmap hace que sea ideal para escanear una gran cantidad de hosts (syn scan) en poco tiempo (de hecho, lo hace tan rápido, que hemos de tener cuidado al usarlo). El output generado por zmap, es simple, una lista de las IPs, que pueden servir como input para otro programa. Veamos su uso más básico:

# zmap -p 22 -o iplist.txt 200.0.0.0/8

Obtendremos un output en la consola similar al siguiente:

 Mar 02 21:27:12.301 [INFO] zmap: output module: csv
0:01 1%; send: 148953 149 Kp/s (135 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 2%; send: 297811 149 Kp/s (142 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 2%; send: 446588 149 Kp/s (144 Kp/s avg); recv: 1 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00%
0:04 3%; send: 595473 149 Kp/s (145 Kp/s avg); recv: 1 0 p/s (0 p/s avg); drops: 0 p/s (0 p/s avg); hits: 0.00%

Como vemos, vamos recibiendo un update del estado del escaneo en la consola a cada segundo, y en el archivo iplist.txt tendremos una lista de ips con el puerto 22.

Pero esto no es todo, hay algunas características dignas de ser recalcadas:

Control del ancho de banda:

zmap nos permite ajustar el ancho de banda que queremos utilizar con la opción -B:

zmap -B 512K -o list.txt -p 8080 83.0.0.0/8

Scan ICMP:

Podemos hacer un scan sólo utilizando ICMP con:

zmap -M icmp_echoscan -o list.txt 91.0.0.0/8

Scan UDP:

También podemos utilizar el módulo de UDP , casi con la misma velocidad que TCP, lo que es mucho:

zmap -M udp -o list.udp.txt -p 53 91.0.0.0/8

Output en JSON:

Utilizando la opción -O json podemos obtener el archivo de resultado en formato json, lo que puede ser muy útil para alguna herramienta de monitoreo o algún tipo de webservice:

zmap -O json -o list.json -p 23 15.0.0.0/16

Output en standard output:

Podemos pedirle a zmap, que la lista de IPs no las tire en el standard error con el fin de conectarlo mediante pipes a otra aplicación. Por ejemplo en la versión compilada (no la que instalamos con apt u otro gestor) tenemos un programa llamado banner-grab-tcp que sirve para obtener los banners y como sugiere el sitio de zmap podemos utilizarlo de la siguiente manera:

zmap -p 80 -N 1000 -B 10M -o - | ./banner-grab-tcp -p 80 -c 500 -d ./http-req > out 

Esta misma idea puede traspolarse a scripts hechos por nosotros mismos u otros programas que puedan recibir el input desde el standard input.

Abuso

  • A tener cuidado, zmap es una tentación a escanear grandes segmentos de red (de ips públicas).
  • Incluso si lo ejecutas en una red privada puedes llegar a generar una cantidad de tráfico indeseado que puede ser un problema para la red, por lo que mide bien los paramatros que utilizas.
  • Nunca olvides la parte ética del hacking

Extensiones

Por como si fuera poco, zmap puede ser facilmente extendido, te recomiendo le des una pasada a este link para obtener mas info de como hacerlo, verás que simple.

Conclusiones

Claramente zmap es digno de salír en las noticias (WashingtonPost article) ya que supone un gran avance y es un arma peligrosa de dos filos. Además es un proyecto muy maduro para su corta vida.
Por otro lado, me hace pensar sobre una versión de zmap para ipv6, cuya características (las de ipv6) nos hacia suponer que un escaneo masivo sería muy complejo, sin embargo esta simple herramienta nos abre un poco la cabeza. Aunque nmap tiene muchas mas cualidades, y creo yo, sigue siendo el rey de los scanners, zmap, es una herramienta que puede complementar muy bien muchas de las tareas que realizarmos en un pentesting o en auditorias internas. Definitivamente zmap no puede faltar entre tus herramientas de pentesting, hacking y auditoria. De seguro pronto la veremos en los top 10 de herramientas de hacking.

Fuentes:
Web de zmap

~have fun