Se que para más de uno esta entrada no tendra ningún sentido, pero en el ambito personal y profesional necesito registrar en esta bitácora personal esta entrada, porque se me viene un cambio.....


Y hoy como si fuera el destino de Inteligencia viajera recibí  un mail en el cual me subió el ánimo con esto.


La vida es un camino lleno de decisiones donde tú decides.

No elige la sociedad.
No elige tu familia.
No elige tu pareja.
No eligen tus amigos.

Tu vida y hacia dónde la quieras dirigir solo depende de ti


"Acepta la responsabilidad de hacer tus sueños realidad" - Les Brown.

Regards,
Snifer
Leer Mas
Cuando uno se encuentra en un proceso de pentesting muchas veces necesita tirar de un servidor WEB para mover scripts, programas, o en su defecto descargar desde el objetivo atacado, el uso que uno le llega a dar a un servidor puede estar orientado en ambos lados, e incluso en un ataque para bajar el bichito malicioso y que se ejecute en el objetivo. Estos tres posibles usos son los que llego a ver en este momento.


Por lo tanto y con esa pequeña instrucción ahora procederemos, a explicar las diferentes formas de crear un servicio, servidor HTTP ya que nos puede servir en el momento y lugar indicado.

Servidor HTTP con Python 2

El primero es de Python2, estoy seguro que si siguien el blog hace un tiempo como 2 o 3 años atras comparti como crear un servidor  HTTP o simple Server que si la memoria no me falla lo llame así, además es el que regularmente uso en los CTF de Vulnhub.

snifer@root:#python2 -m SimpleHTTPServer

Como ven esta por defecto el puerto 8000,el cual se tiene acceso al mismo  y nos da el listado de directorios al mismo donde lo ejecutemos vale, aclarar que para levantar debemos de ir a donde deseamos que se descargue y una vez termine proceder a darlo de baja no vaya a ser que seamos atacados.


Servidor HTTP con Python 3


Por otra parte tenemos tambien el de Python3 y como ven el comando es igual de corto y simple que con python 2.

snifer@root:#python3 -m http.server



El resultado de ejecutar los scripts llega a ser el mismo como se muestra a cotninuación, llegamos a limitar a la carpeta creada por ello mucho cuidado con darle acceso a otros directorios.



Servidor HTTP con Ruby

Este lo desconocia totalmente, pero en el reto que tuve la anterior semana tuve la necesidad de buscar alguna anternativa para descargar ficheros, y como tenia por ahí ruby permitido vaya grata sorpresa me lleva, pero como se nota es algo largo el codigo para levantar el servidor pero sirve para lo que necesitamos.

snifer@root:#ruby -rwebrick -e "WEBrick::HTTPServer.new(:Port => 8889, :DocumentRoot => Dir.pwd).start"


La visualización al igual que los anteriores es el mismo



Y el no menos importante, tenemos PHP el comando como veran es igual de simple y fácil de recordar.

snifer@root:# php -S 0.0.0.0:8888



Conocen la manera de levantar un servidor HTTP con otros lenguajes? o simplemente con un par de líneas de código porfavor comparte en los comentarios, que nos vendria bien para todos conocer otras manera de hacerlo, o bien uniendote al grupo en Telegram del Blog. 


La ilusión vale cuando la realidad la toma de la mano. - Anónimo.

Regards,
Snifer
Leer Mas
El dia de hoy venimos con un video, en el que tenemos un dia de un Pen-Tester, una entrada que sale de lo normal en el blog, pero vamos que tiene todo lo bueno que uno necesita.


No tiene nada que perder el Canal de LiveOverflow,  y que tenga un buen Domingo ;).

El hombre tiene ilusiones como el pájaro alas. Eso es lo que lo sostiene. - Blaise Pascal


Regards,
Snifer
Leer Mas
Dando continuidad a la anteriores entradas de Pentesting con NMAP, hoy veremos como identificar la existencia de un WAF (Web Application Firewall), con NMAP y especificamente con la ayuda de un par de NSE (Nmap Script Engine) les recuerdo que el fin de estas entradas es la de apoyar a la serie de videos que se tienen en el canal de Youtube del blog, que por cierto retornaremos con ello y las de Wireless que andan ahi olvidadas.


Antes que todo y para conocer y ponernos en tema, que hubiese deseado armar una entrada dedicada a lo que es un WAF, que caracteristicas tiene Un WAF tiene como funcionalidad el mitigar ataques, comunes como ser XSS, SQLi se tiene en dos presentaciones por decirlo así en Hardware y Software depende de cada uno cual hacer uso  y la implementación del mismo considerando que depende del factor de configuración securización que se le de, cabe resaltar que este esta orientado ah aplicaciones WEB.

Seguro mas de uno se pregunta, si hay mas herramientas que nos ayuden a identificar la existencia de un WAF,  y la respuesta es si con WafW00f que en una proxima entrada lo veremos, ya que en esta conoceremos un NSE que nos permite identificar la existencia de un WAF, el script es script http-waf-detect.

 La manera de usarlo es de la siguiente forma:
 
root@snifer:# nmap -p 80,443 --script=http-waf-detect Dominio/IP 



Con la ayuda de NMAP es posible identificar y ya con ello nos toca ver como realizar el bypass al mismo, lo cual en una proxima entrada iremos viendo y espero que sea pronto ya que tocará configurar uno.

Referencias:
WAF - OWASP


No se puede poseer mayor gobierno, ni menor, que el de uno mismo. Leonardo Da Vinci


Regards,
Snifer
Leer Mas
En éste post veremos algunos programas/comandos que son de gran ayuda a la hora de trabajar con textos y strings.
Comenzaremos con una de las funcionalidades más básicas, grep (Global Regular Expression Print). Grep se utiliza para realizar búsquedas dentro de un archivo.


Utilizaremos un log de apache que lo pueden descargar desde el siguiente link para realizar una práctica.

Descargamos con wget los logs del apache de ejemplo y luego con grep identificamos todas las ocasiones en las cuales se requirió el archivo “jordan”.

Lo divertido del grep, comienza cuando lo concatenamos con expresiones regulares y otras herramientas que veremos más adelante como cut, sort, uniq, entre otras.

Realicemos el siguiente ejemplo para ir explicando paso a paso cada una de sus partes:


Lo que hemos hecho aquí es buscar todas las peticiones al archivo que posee “jordan” como parte de su nombre. Luego de eso, cortamos (cut) con el delimitador (-d) espacio que es declarado entre comillas (“ ”) y seleccionamos la primer fila. Hasta ahí obtendremos todas las direcciones IP que han realizado una petición al archivo antes mencionado.

Para ordenar mejor esas direcciones IP, colocamos un sort para ordenar los resultados, aquí cabe destacar que sort identifica que todos comienzan con 94 y luego identifica que 2 es menor que 7 por lo cual coloca 94.7.95.97 después de 94.222.112.110.

Con el fin de tener IPs únicas, es que utilizamos uniq y por último, un nuevo grep con una expresión regular (^) que busca los strings que comiencen con 94.


Esto que acabamos de ver es importante que lo practiquen para tenerlo lo más asimilado posible ya que más adelante lo utilizaremos muy a menudo junto a otra herramientas.


Todas las dudas que posean y encuentres tras las prácticas pueden escribir en los comentarios y bien leer el manual de la herramienta que les trae inconvenientes anteponiendo man. (Para salir del manual deben presionar la tecla q)


Ejemplo: Manual de sort.




Ejercicios propuestos:


1.- Listar las direcciones ip que comienzan con 24 que pertenecen a iPhone del log utilizado en el ejemplo anterior.

2.- Identificar el mail de soporte de Embedly.

3.- Buscar la ip que termina con 83 relacionadas con FeedBurner del 17/May y guardarla en una variable.

En el próximo post veremos como personalizar nuestra shell y ya comenzaremos con las fases de un pentest.

Saludos.
@balderramaeric
Leer Mas