Archive for March 2015

Juankeando con la Pitón (8) – AP Scanner con sockets

La suite Aircrack tiene la fabulosa herramienta airodump-ng para escanear los puntos de acceso a nuestro alrededor. En esta entrada implementaremos con python (2.7) algunas de sus funcionalidades para entender como funciona.

En esta ocasión utilizaremos sockets puesto que aporta mas valor didáctico, aunque en la siguiente entrada trabajaremos con la librería scapy (vista en anteriores posts) que nos aportará mayor abstracción que los sockets y nos facilitará enormemente la tarea.

De todos los paquetes que intervienen en una comunicación wireless, para nuestro actual cometido solo nos interesan los del tipo beacon (beacon frames) pues contienen el nombre del punto de acceso, su mac o canal entre otros muchos valores. Por tanto, nuestro primer cometido será identificar el subtipo de los beacon comentados antes. Para ello el Sr. Google o wireshark pueden servirnos:

Imagen obtenida de http://www.wildpackets.com/resources/compendium/wireless_lan/wlan_packet_types

Siendo el subtipo 8 este será el que filtraremos. A partir de aquí, el resto de datos los obtendremos de wireshark (o desde las especificaciones del paquete):

Con un paquete de ejemplo obtenido con wireshark procedemos a ver que posiciones ocupan dentro de éste los diversos valores que queremos obtener. Todo esto lo tendremos en cuenta durante el desarrollo del script:

Al principio encontramos las funciones channel_hopper y signal_handler ya explicadas en anteriores entradas, aunque, descritas brevemente, una permite ir cambiando de canal y la otra interrumpir correctamente el programa con CTRL+C.

La parte interesante del código la encontramos en el método main, concretamente a partir de la línea 43.
Las primeras peculiaridades surgen al crear el socket, pues a diferencia de como lo creamos normalmente (con STREAM o DGRAM), en esta ocasión trabajaremos con los datos en bruto (RAW). El tercer elemento que normalmente se omite, en esta ocasión es 3 (ETH_P_ALL) que implica que el socket trabaje con todos los protocolos. Con esto definido ponemos a escuchar una interfaz en modo monitor (usando, por ejemplo, airmon-ng) y que empiece a capturar paquetes.

Trabajamos con los paquetes en RAW, por tanto éstos llevan sus cabeceras. Ésta es de 36 bytes, siendo el 37 el que determina el subtipo del paquete, en este caso tendrá que ser 8 (0x0008) (línea 53 del código):


A partir de aquí se trabaja con una lista para evitar mostrar puntos de acceso repetidos pues continuamente recibiremos beacons. A continuación mostraremos la información que deseemos del paquete  conociendo la posición que ocupa en éste. Siendo interesante conocer que el tamaño del nombre del punto de acceso es un factor determinante y variable pues, en función de su longitud, los valores siguientes (en el caso del script la MAC y el canal) estarán en una posición u otra. La variable ssidLen controla esto (línea 54).

Para probarlo, partiendo de que nuestra interfaz se encuentra en modo monitor, veremos un resultado como el que sigue:

Como siempre, el script está en la correspondiente sección del GitHub de 0verl0ad (si los chinos os dejan acceder a el 😉 ):

https://github.com/0verl0ad/pyJuanker/blob/master/scripts/apScannerSock.py

En la siguiente entrada (a saber cuando…), veremos las mismas funcionalidades pero implementadas con la librería scapy.

Si alguien quiere ampliar información…:

C’est fini, nos leemos en breve

Leer artículo original: Juankeando con la Pitón (8) – AP Scanner con sockets

Grupo en Telegram del Proyecto Cápsulas de Seguridad Informática

Hola que tal revivo de ultratumba quizás, quien sabe ando a full con el trabajo por eso no tengo tiempo para estar escribiendo en el blog, pero ahora que tengo un pequeño break vengo al blog para comunicarles del proyecto de Cápsulas de Seguridad Informática que se ha iniciado ustedes ya vieron dos vídeos de inicio tanto de Metasploit como de Nmap, para llegar a comunicarnos de manera adecuada y encontrar a personas que tengan ganas de aprender creamos conjuntamente con Jsitech un  Grupo en Telegram donde todos puedan unirse a conversar sobre las Cápsulas ya creadas o bien dar sugerencias, ideas.


Capsulas SI

Este grupo donde todos pueden unirse fue creado con la idea de analizar las cápsulas que han sido creadas como también dar a conocer sus sugerencias.

Para que no es este grupo?

La idea del grupo com olo dije en un principio del primer video es la de conformar grupos de estudio y de aprendizaje continuo.


Por lo tanto en el grupo de Telegram se tiene un par de reglas para medir un poco la curiosidad y saciedad.


No está permitido hablar de temas triviales o pesados, por ejemplo, Hacks para Facebook, Como hackeo el WiFi de mi vecino, Quiero Aprender Hacking pasen tutoriales material tecnicas, etc, todo lo contrario, la ideas es aprender todos como comunidad, intercambiar información. En los videos que se realizarán se darán a conocer el material intercambiado en este grupo.

Del mismo modo si tu eres una persona con conocimientos, y solo entraras a revisar o buscar material con un nivel optimo no es para ti este grupo,  así que si solo iras a espiar mejor ni lo intentes “Prefiero decir las cosas como son…”

La persona que incurra en algo no permitido en el grupo será notificada y avisada, y si continúa será retirado.

¿Quieres Unirte?

Para unirte puedes enviarnos un mensaje por Telegram y con gusto te agregamos, nuestros usuarios son los siguientes.

@SniferL4bs
@Jsitech

Anímate para formar parte del grupo…. 

Ademas se me olvidaba necesitamos alguien que nos colabore con el diseño de un logo para las cápsulas de seguridad será bienvenido :D. 

Algo que anda circulando por ahí es que se está preparando Cápsulas de Seguridad: OSINT con Python o algo por ahí, atentos!

Regards,
Snifer

Leer artículo original: Grupo en Telegram del Proyecto Cápsulas de Seguridad Informática

Juankeando con la Pitón (7) – Haciendo nuestro escáner de puertos

Séptima entrada de la serie “Juankeando con la Pitón”, esta vez centrada en un script para analizar puertos (TCP). El funcionamiento es simple, pasada (con argparse) una IP junto con el rango de puertos a escanear se realizará una prueba de conexión a cada puerto y en función de la respuesta es posible saber si está o no abierto. Además para agilizar la tarea se ha utilizado la librería multiprocessing de Python  (2.7.x).

El código está disponible en el GitHub de 0verl0ad:

https://github.com/0verl0ad/pyJuanker/blob/master/scripts/portScan.py

Empezando por la parte de multiprocessing, declaramos un máximo de 50 procesos paralelos en la línea 44 y, a continuación, lanzamos la función scan cuyos parámetros son el rango de puertos a escanear.

La función scan abre un socket a cada puerto de la ip destino con un timeout de 1 segundo (este tiempo se propria reducir y no debería haber problemas pero influye la conexión por eso he optado en dejarlo a 1 segundo) y espera la respuesta. Si es 0 el puerto estará abierto, mientras que si es un valor distinto no (o el script no es capaz de confirmar que lo esté).

Con todo esto, conforme vaya obteniendo cada proceso el estado del puerto irá mostrándose por pantalla.

¿Cosas que se podrían mejorar?

  • Que también soporte UDP como protocolo, lo cual es tan simple como cambiar un parámetro en la declaración del socket.
  • Añadir el numero de procesos paralelos como parámetro que basta con añadir otra opcion a argparse.
  • Identificar los servicios asociados a los puertos abiertos. Esto se podría implementar creando un diccionario con el puerto y su servicio asociado a partir de la información del fichero /etc/services (en el caso de GNU/Linux) con lo que sería útil para los puertos por defecto aunque pudiera llevar a falsos positivos en la identificación de servicios.

Si algún día me aburro igual las implemento y publicaré una versión actualizada del post, nos leemos en breve 😉


Leer artículo original: Juankeando con la Pitón (7) – Haciendo nuestro escáner de puertos

Juankeando con la Pitón (7) – Haciendo nuestro escáner de puertos

Séptima entrada de la serie “Juankeando con la Pitón”, esta vez centrada en un script para analizar puertos (TCP). El funcionamiento es simple, pasada (con argparse) una IP junto con el rango de puertos a escanear se realizará una prueba de conexión a cada puerto y en función de la respuesta es posible saber si está o no abierto. Además para agilizar la tarea se ha utilizado la librería multiprocessing de Python  (2.7.x).

El código está disponible en el GitHub de 0verl0ad:

https://github.com/0verl0ad/pyJuanker/blob/master/scripts/portScan.py

Empezando por la parte de multiprocessing, declaramos un máximo de 50 procesos paralelos en la línea 44 y, a continuación, lanzamos la función scan cuyos parámetros son el rango de puertos a escanear.

La función scan abre un socket a cada puerto de la ip destino con un timeout de 1 segundo (este tiempo se propria reducir y no debería haber problemas pero influye la conexión por eso he optado en dejarlo a 1 segundo) y espera la respuesta. Si es 0 el puerto estará abierto, mientras que si es un valor distinto no (o el script no es capaz de confirmar que lo esté).

Con todo esto, conforme vaya obteniendo cada proceso el estado del puerto irá mostrándose por pantalla.

¿Cosas que se podrían mejorar?

  • Que también soporte UDP como protocolo, lo cual es tan simple como cambiar un parámetro en la declaración del socket.
  • Añadir el numero de procesos paralelos como parámetro que basta con añadir otra opcion a argparse.
  • Identificar los servicios asociados a los puertos abiertos. Esto se podría implementar creando un diccionario con el puerto y su servicio asociado a partir de la información del fichero /etc/services (en el caso de GNU/Linux) con lo que sería útil para los puertos por defecto aunque pudiera llevar a falsos positivos en la identificación de servicios.

Si algún día me aburro igual las implemento y publicaré una versión actualizada del post, nos leemos en breve 😉


Leer artículo original: Juankeando con la Pitón (7) – Haciendo nuestro escáner de puertos

Cápsulas de Seguridad Informática – Metasploit desde 0


Hace 1 semana iniciamos con este proyecto Cápsulas de Seguridad Informática con el primer vídeo el cual fue la presentación e inicio de la primera cápsula en el cual abordaremos el uso de NMAP  ya en breve sale la segunda cápsula, pero bueno la entrada de hoy abordamos el inicio de las cápsulas de Metasploit que viene de la mano de Jason Soto aka @Jsitech en el cual abordará el manejo de la herramienta, aquí desde SniferL4bs me queda agradecer a Jason por unirse a esta aventura de generar contenido. 

Nmap desde 0 – Presentación 

Visualización de los videos en Youtube

Nmap desde 0 
Metasploit desde 0

Regards,
Snifer

Leer artículo original: Cápsulas de Seguridad Informática – Metasploit desde 0

CheatSheet de Seguridad en la Terminal

Bueno comenzamos con una nueva idea loca aunque ya nos ganaron con la idea porque ya se le ocurrió a   andrewjkerr como ven tenemos un listado de cheats muy simples en texto claro, para acceder a ellos y visualizarlos como ven en el repositorio propiamente en el README muestra todos los cheat sheets creados y porque no mejorarlos aportar para dar una continuidad a la idea, por ello forkee al revisar dicho repositorio leí que hablaba sobre cheat un programa que te permite visualizar los cheats de una manera amigable desde la terminal como ando con i3 tanto en mi pc personal como en la de la oficina me puse a revisar así que la herramienta es simple y sencilla basta con instalarla desde la terminal con el siguiente comando.

[snifer@rizel ~]$ sudo pip install cheat
Veran que la instalación es bastante rapida ademas de que es necesario tener python3, el uso de la herramienta es bastante sencillo y cómodo basta con llamar a cheat y tendremos el siguiente menu.


Quizas digan para que tener algo así si con un cat al documento se visualiza de manera directa y listo o bien podemos usar comandos de UNIX como GREP para encontrar la información y ya, es cierto que es posible y viable hacer ello, pero que tal si se tiene algo desarrollado y te brinda mejoras. 

Como ven tras ejecutar cheat tenemos 7 formas de ejecutar, el primero es para visualizar un cheatsheet que tengamos el segundo -e es para editar el cheatsheet -s para realizar la búsqueda de algun termino, -l para listar. 



Así que el aporte que brindare es el de generar mas cheatsheets basándome en el repositorio existente por ello el fork realizado, cabe recordarles que todo cheat será bienvenido después iré actualizando modificando el repositorio.

Repositorio de CheatSheets en Github: Security Cheatsheets

Regards, 
Snifer

Leer artículo original: CheatSheet de Seguridad en la Terminal