Nueva sesión del Podcast Dame una Shell en esta oportunidad hablando de la polémica que muchas veces se llega a tener con que distribucion Linux es mejor para un proceso de Pentesting.

Les recuerdo que se iran realizando los podcast con mayor frecuencia posteando una vez a la semana en el blog por lo cual si estan interesados suscribanse a Ivoox o Youtube que los tendran disponibles, en primera instancia se tendra en Ivoox.

Escuchalo en Youtube


Escuchalo por Ivoox



Abandonar puede tener justificación; abandonarse no la tiene jamás. - Ralph W. Emerson

Regards,
Snifer
Leer Mas
Dando la bienvenida al mes de Septiembre este Domingo se tiene un Maratón sobre Linux, si como lo lees, pero en este no veremos correr a Distribuciones, ni Pinguinos por si alguien lo penso. 

#Cartel1
Este maratón sera en formato de Podcast realizado por varios Podcasters de habla hispana a continuación se tiene la grilla respectiva, estaba pensado que Dame una Shell participe, pero por razones de conectividad no estaremos presentes, ya en una próxima edición formaremos parte.

#Cartel6

Prefieres no leer la entrada tienes este video que lo resume perfectamente...


Para conocer mas del Maraton pueden acceder al sitio oficial como también al grupo de Telegram.


Lo hice solo por diversión
Frase de Torvalds?


Regards,
Snifer
Leer Mas
En esta nueva entrada de Hacking 101 hablamos de una nueva herramienta que se encuentra en las principales distribuciones de Pentesting, en el caso de que no se encuentre y lo deseamos tener ya sea en tu distribución favorita, contenedor de Docker,se explicara en la entrada la instalación.


Que es SearchSploit


SearchSploit es un script, que nos permite realizar busquedas de exploits en base a algún termino que le pasemos, esta búsqueda valga la redundancia es realizada de manera local, ya que se cuenta con los exploits y referencias de exploit-db en el equipo (Offline Exploit DB). Los exploits se encuentran en el siguiente directorio:

Si vamos al directorio, identificaremos scripts  en python, C, php, html etc, además de referencia teórica de ser necesario, los datos del mismo modo se ven reflejados Exploit-DB, la pregunta de todo esto para que uno quiere tener o conocer esta aplicación, si contamos con Exploit DB. En un proceso de pentesting, muchas o gran parte de las veces, es posible que no se cuente con una conexión a internet, así que en ese punto esta herramienta nos ayuda a realizar las pruebas respectivas de explotación, teniendo el acceso de manera local.

Instalación de Searchsploit


La instalación es bastante simple primero clonamos el repositorio desde Github.


root@Snifer:#git clone https://github.com/offensive-security/exploit-database.git /opt/exploit-database


Despues toca realizar un enlace simbólico, para que el mismo sea llamado de manera directa sin importar donde estemos ubicados en la terminal

ln -sf /opt/exploit-database/searchsploit /usr/local/bin/searchsploit

Uso de SearchSploit


Para ejecutar Searchsploit solo debemos de ingresar como parámetro el nombre y un par de banderas según lo que deseamos  depende de cada uno el tipo de busqueda a realizar y como se adecue a la necesidad, si llamamos solo como searchsploit nos dara todas las opciones que nos permite utilizar

Busqueda Normal por Termino Contenido

Esta busqueda solo necesitas mandar, el termino a buscar llegando a ser mas de uno en este caso buscamos una versión específica de IIS, mientras mas terminos mandemos en la búsqueda mas exacto será los resultados.


Se ve que tenemos dos campos, el primero el nombre descripción del objetivo, y en el lado derecho la ubicación para realizar la copia del exploit, cabe resaltar que en el contenido del fichero se tiene la descripción del mismo como ejecutarlo y compilarlo de ser necesario e incluso la explotación de ser necesario en algunas vulnerabilidades identificadas.

Busqueda por Título

Esto es posible con el comando -t permitiendonos llegar a tener un mejor resultado por lo que deseamos buscar.

Algunos Tips de uso personal de SearchSploit

En esta nueva sección por decirlo asi en cada hacking 101 cuando hablemos de alguna herramienta tendremos, algunos usos adicionales que llega a darle a la herramienta lo que me permite muchas veces acelerar un proceso o no.

Busqueda de exploits desde un resultado de NMAP

Algo que regularmente tiendo a usar de manera personal muy aparte de las busquedas es el pasar a searchSploit el barrido de NMAP que es realizado previamente con el fin de acelerar el proceso, aclarando que despues de ello tenemos que hacer una limpieza adicional, debido a que a partir del banner se generará los posibles exploits a usar, para llegar a utilizar es necesario contar con la librería libxml2-utils  que debemos de instalarlo de la siguiente manera.


root@Snifer:#apt install libxml2-utils
 
La ejecución es con la bandera --nmap file.xml, pero como obtenemos el xml, tenemos que ejecutar nmap con -oX file.xml, además de realizar con el barrido de -sV.


Copiar el exploit desde la Terminal

Esta bondad que tiene el script es la que mas me agrada, debido a que con un solo comando me permite copiar en el portapapeles y luego pasarlo directo al editor que use para una posterior ejecución. 

Se tiene en la siguiente captura un exploit seleccionado el cual se encuentra en windows/remote/9541.pl si deseamos usarlo, debemos de ir al directorio copiarlo , pero la otra es si usamos la bandera -p seguida del número del exploit asignado realizaremos la copia al portapapeles ademas de contar con la ubicación en exploit-db y de manera local.

Se que esta ultima manera de interactura puede llegar a ser tonta pero vamos que es algo que uso y me sirve bastante, muchas gracias por leer esta entrada nos vemos en la próxima y si Snifer vuelve al blog, con las entradas regulares.

La sabiduria no se traspasa, se aprende. - Proverbio Arabe

Regards,
Snifer


Leer Mas
Hola a todos, en este nuevo post veremos un poquito sobre el ataque DHCP starvation que afecta al servidor del mismo agotando su pool de direcciones, el mismo da lugar a un ataque DHCP ROGUE (MITM). Veremos además como explotarlo con yersinia y formas de mitigarlo. Espero que esta entrada sea de su agrado, comencemos!

¿Que es DHCP?

DHCP(Dynamic host configuration protocol) es un protocolo cliente/servidor que funciona en una red para asignar dinámicamente IPs.
Este protocolo necesita un servidor que posee una lista de direcciones IP dinámicas y las va asignando a los clientes conforme éstas van quedando libres, sabiendo en todo momento quién ha estado en posesión de esa IP. Así los clientes de una red pueden conseguir sus parámetros de configuración automáticamente, utiliza los puertos 67 UDP para el server y 68 UDP para el cliente. Cuenta con un handshake de 4 pasos.


DHCP Discover: Paquete broadcast para ubicar al servidor DHCP
DHCP Offer: El servidor DHCP responde ofreciendo la configuración al cliente
DHCP Request: El cliente acepta los parámetros recibidos
DHCP ACK: El servidor le asigna la IP a esa dirección MAC

DHCP starvation

Starvation es un ataque que se realiza contra el servidor DHCP con el fin de inundarlo de peticiones DHCP DISCOVER con Spoofed MAC, dejandolo fuera de juego agotando su espacio de direcciones asignables por un periodo de tiempo. Esto da lugar a un DHCP ROGUE ATTACK.

Un poco acerca de yersinia

Yersinia, es un framework utilizado para analizar y testear la capa 2 (data link layer) del modelo OSI, algunos de los protocolos que podemos atacar son:

STP, CDP, DTP, HSRP, 802.1q, 802.1x, ISL, VTP y el que más nos interesa ahora DHCP.

Entre las tantas opciones que tenemos se encuentra el modo grafico con yersinia –G y para tener mas informacion acerca de los parámetros para el análisis a realizar basta con el siguiente comando:


Snifer@L4bs#: yersinia protocol –h 

Para realizar una muestra configure un DHCP server en un win XP con TFPD32, al mismo se asignarón un pool de 10 direcciones.

Con yersinia –I tendremos la interface
Presionamos F2 para acceder al DHCP MODE.



Presionando la X , accedemos al panel de ataque donde tendremos algunas opciones como se ve en la siguiente imagen



Ya que nuestro objetivo es inundar de peticiones DISCOVER, seleccionamos la opcion 1 y la aplicación comenzará a enviar estos packets.

Mirando un poco el DHCP server veremos que acabamos el POOL de 10 direcciones que le asignamos previamente.


En github se encuentran bastantes recursos en Python para realizar estos ataques, además de que nosotros podemos armar un ataque con Scapy por ejemplo.

Mitigación

Veremos muy rápidamente algunas maneras de evitar tener un ataque de estas características:

DAI (Dynamic Arp Inspection)

Es una funcionalidad que consiste en verificar que las peticiones y respuestas ARP sean validas, opcionalmente utiliza la tabla IP-MAC proporcionada por DHCP Snooping.

Port Security

Es una función de lo Cisco switch usada para mitigar este tipo de ataques, lo que hace es limitar el numero de direcciones MAC para un puerto.

DHCP Snooping

Otra de las funciones que proveen los switches, su principal función es prevenir que un servidor DHCP rogue se cuele en la red. En el switch se definen los puertos confiables para que transite el trafico DHCP server.

En próximos post hablare un poco más de estas funcionalidades.
Hasta la próxima!

Jorge Gabriel Mac Tier
@gabdotsh
Leer Mas
Conocer scripting en bash es de gran ayuda en el día a día, no sólo para un pentester, sino para todo aquel que tenga que trabajar con una consola de bash.
No voy a hacer valoraciones respecto a bash frente a otros lenguajes de scripting o programación. Pero como estamos en bash, voy a hablar un poco sobre como crear algunos scripts.


Bash, está bajo el paradigma de programación estructurada, por lo tanto veremos algunos ejemplos de condicionales, bucles y como jugar con variables, principalmente, para automatizar tareas repetitivas y manuales.

Aclaremos primero que el siguiente es un ejemplo y la intención no es realizar un ataque o análisis exhaustivo, sólo nos servirá de ejemplo. Supongamos que tenemos que hacer un análisis a una empresa pequeña local llamada Google, el alcance estará reducido a sus productos Youtube, Blogspot y Drive, por lo tanto debemos conocer su direcciones IPs.


Primero, armamos un listado en un fichero de texto con los nombres de dominio de nuestro alcance.


Ahora, utilizaremos algo de scripting para hacer un whois a cada uno de dominios que colocamos en el listado de la siguiente manera

for NombreDeVariable in $(cat NombreDeArchivo); do Acción $NombreDeVariable; done 


Lo que realizamos en éste ejemplo es correr un cat sobre el listado con los dominios de manera iterativa gracias al for, luego del ; colocamos do para indicar al script que debe realizar las acciones mencionadas a continuación. En este caso utilizamos un simple whois y lo guardamos en un archivo de texto. Por último terminamos el bloque de acciones con otro ; y por último done.


Si queremos extraer las direcciones ip, podemos utilizar algo de grep, cut y sort como hemos visto en el post anterior Pentesting con Bash Cap II.


De esas direcciones IPs, veamos cuáles poseen el puerto 80 abierto. Para eso podríamos volver a utilizar el bucle for, pero ésta vez utilizando nc con los parámetro n para que no resuelva dominio, v de verbose y w para establecer un timeout.

De éste ejemplo, podríamos extraer sólo las conexiones exitosas para utilizarlas con el fin de identificar el tipo de webserver, tecnología, versión, etc. Pero lo veremos más adelante en la fase de reconocimiento.

Hasta aquí, hemos visto cómo se pueden concatenar más de una acción en una misma línea de manera que nos queda un pequeño script. Para el siguiente ejemplo vamos a utilizar un editor de texto y nuestro código será un poco más elaborado.

Vamos a realizar un ping sweep en el cual podamos establecer a gusto los tres primeros octetos y el rango que deseamos analizar del último, además, sólo queremos ver los host que están activos.

El código es el siguiente:

Veamos en detalle qué es lo que hace nuestro código.

echo: Imprime en pantalla lo que le indiquemos, es el equivalente a print en otros lenguajes.

read: Se encarga de leer y guardar en una variable el contenido ingresado por teclado.

while: Es un bucle o iteración que se ve sujeta a una condición

$x: El signo pesos ($) se utiliza para las variables.

Una vez aclarados los aspectos más importantes del código, adentrémonos en su funcionamiento. Una vez que las variables son ingresadas por teclado (en éste caso ip, min y max) el bucle while itera mientras el contenido de $min sea menor o igual a $max.

El while se comporta de manera similar a un condicional if, sólo que repite una acción mientras la condición que le hemos declarado se cumpla. Mientras que la condición se cumpla, el código ejecutará el las instrucciones (do) que siguen.

El ping -n es para que realice una sola petición por icmp (en linux el ping no está configurado como en windows para que sólo realice cuatro peticiones, sino que las realiza hasta que el usuario finalice la acción).

El ping es realizado a la IP y rango que hemos definido en las variables. La variable “$ip” almacena los tres primeros octetos (por ejemplo 192.168.10), mientras que la variable “$min” en la primer iteración posee el valor que le asignamos al comienzo.

La utilización de egrep con los strings ping y recibidos es para en pantalla sólo sean impresos los host que recibieron el ping exitosamente.

Para que la iteración continúa hasta que la condición sea falsa, debemos hacer incrementar el valor de la variable “$min”, en éste caso el incremento lo hacemos de uno en uno realizando una adhesión al valor anterior.

Una vez guardado nuestro script y asignado los permisos de ejecución ya podemos probar si funciona correctamente:


Para más bash scripting, podés visitar éste link http://www.sniferl4bs.com/2016/12/bash-scripting-for-pen-testers-x-2.html

Saludos.

@balderramaeric
Leer Mas