Snifer@L4b's
Después de mucho tiempo volvemos con la loca semana en el blog, pero ahora retornamos luego de obtener la certificación tan esperada OSWP me siento orgulloso como también con garras de ir a la secundaria el porque de ello lo siguiente:


  • WiFU es el kinder
  • PWK es la secundaria.
  • CTP es la universidad.

  • Lunes 24 de Agosto - Compartí con todos que el blog retomaba el ritmo ademas de darles a conocer que logre realizar el examen en su totalidad. 


    Martes 25 de Agosto - Me llego el correo indicando que aprobé WIFU y aproximadamente en 80 días me llegaría la certificación a casa, el documento respectivo como lo dije en la entrada es solo formalismo.

                          OSWP Certified - Misión Cumplida!


    Miércoles 26 de AgostoJueves 27 de Agosto - Dos días en los cuales estuve a full con el trabajo y un curso que estaba dictando por la noche, ahí note que muchas veces queremos y deseamos que una aplicación detecte y explote debilidades de las aplicaciones cada vez somos mas flojos para aprender.

    Viernes 28 de Agosto - El dia viernes compartí un vídeo relacionado al Pentesting con Docker una excelente charla que si no la viste, que esperas para hacerlo.

                                Pentesting with Docker

    Sábado 29 de Agosto - Sabado salio la quinta entrega de Zaproxy la cual es toda una serie de aportes que se esta recibiendo en el blog.

                         Owasp Zaproxy V - Fuzzing con Zap

    Regards,
    Snifer
    Leer Mas
    Zap, como ya hemos visto en las entradas anteriores, posee una gran cantidad de funcionalidades. En ésta entrada, veremos la forma de realizar un fuzzing sobre una aplicación web para identificar inyecciones de tipo sql.


    El fuzzing, es una técnica mediante la cual se puede comprobar la forma en la que responde, en éste caso una web application, ante el ingreso de datos aleatorios o secuenciales para para identificar directorios o archivos, detectar vulnerabilidades de inyección de código e incluso para realizar validaciones por fuerza bruta.

    En el siguiente ejemplo, veremos la manera de identificar una inyección sql a través de un fuzzing a una aplicación web.

    Para el siguiente ejemplo utilizaremos el target http://webscantest.com, en éste caso, he accedido mediante proxy interceptor, una vez que tenemos la url dentro de ‘Sites’ click derecho ‘Attack’ y luego ‘Spider’ (todo esto ya lo hemos visto en detalle en las entradas anteriores).


    Una vez listo el spidering, vamos a buscar el directorio ‘shutterdb’, éste contiene un archivo php llamado ‘search_by_name.php


    Aquí empieza lo divertido, ya que es donde podemos configurar nuestro fuzzer a gusto. Se abrirá una ventana donde veremos el header del sitio en la parte superior y en la parte inferior tendremos que setear nuestra tool.


    Tras clickear en la zona inferior vamos a ‘add’, aqui es donde configuraremos los payloads o cargas a probar sobre el sitio. Debemos seleccionar nuevamente ‘add’ y tendremos los tipos de cargas para lanzar nuestro fuzzer.


    Vamos a ‘File Fuzzers’ seleccionamos ‘jbrofuzz’ que es otra tool de OWASP y dentro de sus opciones elegimos ‘Injection’.



    Ahora aceptamos, damos ok y demás hasta que encontramos el ‘Start Fuzzing’.
    Comenzará a comprobar uno a uno los payloads imprimiendo en pantalla la respuesta de cada uno de ellos sobre el target.


    Como podemos ver, la carga ‘or’1’=’1 a respondido un ok.  Si vamos al sitio web y colocamos esa secuencia de caracteres podremos ver que nos devuelve todo el contenido de la db.


    Me gustaría aclarar que el ejemplo que hemos visto es el paso a paso de sólo una explotación mediante fuzzing, el descubrimiento de directorios por ejemplo se puede realizar casi de la misma manera, solo basta con configurar las opciones del fuzzer.

    La intención de ésta cápsula es mostrar la granularidad con la cual se puede configurar Zap, ahora bien, si colocas la el nombre del sitio en ‘URL to Attack’ y das en ‘Attack’ también hará un fuzzing, la diferencia está en la prolijidad, una cosa es atacar todo para que salten todas las alarmas y otra muy diferente es sólo atacar al punto débil.

    Como siempre, cualquier duda o consulta, estamos por aqui.

    Regard {~}


    Contribución enviada por: {~}
    Leer Mas
    Es una abordaremos este interesante tema el de realizar un proceso de Pentesting con Docker, se preguntaran como realizarlo o que tiene que ver es lanzar las herramientas desde Docker hasta donde vi consume menos recursos que una maquina virtual y es mas practico trabajar con ello.  


    Saquen ustedes sus conclusiones, y comenten que ya retornamos con el mismo ritmo de siempre en el blog. 

    Regards,
    Snifer

    Leer Mas
    El primer paso  ya fue dado el día Domingo, al realizar el examen de Offensive Security el WIFU ya para después lograr obtener el OSWP que hace un par de horas me llego la notificación respectiva indicando que aprobé el examen y en 80 días aproximadamente me llega la certificación a casa. 


    Para mi es un logro al esfuerzo y dedicación que tuve para ir contra viento y marea para lograrlo pero honestamente el WIFU solo fue el comienzo ya que desde mi punto de vista veo las certificaciones de Offensive de la siguiente forma:

    • WiFU es el kinder
    • PWK es la secundaria.
    • CTP es la universidad.
    Solo fui al kinder ahora toca ir a la secundaria para seguir creciendo profesionalmente y lograr nuevos objetivos aun sigo con el pie firme que el CEH no me va para rendir como certificación de manera personal, por lo tanto no lo veo como uno a rendir. En el transcurso de la semana realizare una entrada referente a TIPS y demás puntos a considerar para rendir la certificación por si alguien se anima.


    Regards,
    Snifer


    Leer Mas
    Después de estas 2 ultimas semanas de paro en el blog a partir de hoy retornamos con las entradas, como es costumbre cada día compartiendo  y aprendiendo lo poco que voy viendo y conociendo, espero continuar y seguir el ritmo.

    Como saben estuve preparándome para rendir el OSWP de Offensive Security el día Domingo rendí el examen, logre terminar las pruebas que me dieron y ayer Lunes mande el documento, ando ahora a la espera de la respuesta cuando complete los retos me sentí así. 


    Regards
    Snifer
    Leer Mas
    Continuando con las funcionalidades de la tool Zed Attack Proxy, que por cierto hace poquitos días se ha liberado la versión 2.4.1 y pueden actualizar con ctrl+u o “ayuda - comprobar actualizaciones” si es que al abrirlo no les ha ofrecido actualizar, vamos a ver en ésta entrada las características de spidering que presenta y sus diferencias.




    Un crawling o spidering es una herramienta, o en éste caso una funcionalidad de Zap, que sirve para identificar los enlaces existentes en un target, de ésta manera, nos podemos hacer una idea de la manera en la que está compuesta el sitio a analizar e identificar posibles directorios o archivos sensibles que nos pueden ser útiles a la hora de nuestra auditoría.


    La forma en la que Zap trabaja es recursiva, es decir que a medida que encuentra nuevos enlaces los va siguiendo, identificando así href, src, http-equiv o location entre otros atributos de html, get y post en lenguajes dinámicos e incluso los vínculos que están escondidos de los bots de indexación en el robots.txt. Esto nos da la posibilidad de hacer el crawling bastante granular, ya que todo es seteable desde las opciones de configuración.

    Si vamos a “herramientas - Opciones - Spider”, podemos observar las características configurables como la cantidad de procesos concurrentes, habilitar/deshabilitar el crawl en la metadata de archivos o en los comentarios del sitio, entre otras opciones.


    Además  de tener la posibilidad de configurar cómo va a ser el spidering, también podemos configurar dónde queremos hacerlo. Partiendo desde una Url target, tenemos cinco métodos para setear el alcance:

    • Spider Context: Analizará los enlaces seleccionados dentro del contexto seleccionado, en éste caso, la única opción es 1.
    • Spider all in Scope: Analizará lo que le hayamos definido como alcance, en éste caso el alcance es la url principal.

    • Spider site: Hará un crawling por todas los enlaces ya descubiertos en el sitio

    • Spider Subtree: Identificará directorios y subdirectorios dentro del nodo seleccionado.

    • Spider URL: Analiza todas las urls identificadas y las que se generan a partir de ésta.

    Para comprender mejor las diferencias entre métodos de crawling, les recomiendo ingresar a un sitio con Zap como scanner pasivo (como vimos en el post anterior) y lanzar los cinco métodos diferentes identificando que nos devuelve la ventana de Spider en el panel inferior.

    Regard {~}

    Contribución enviada por: {~}
    Leer Mas

    Radare2 es un framework de ingeniería inversa y análisis de ficheros binarios, estuve viendo recién hace dos días sobre el ya que necesitaba analizar un fichero en el lado forense específicamente y por ello les hablo de Radare2 no de Radare la primera versión, que nació en el 2006 como una herramienta forense; un editor hexadecimal de 64 bits para hacer búsquedas en discos duros, 4 años después el desarrollador Pancake decidió reescribirlo y darle mas potencial. 

    Por lo cual en esa busqueda de ejemplos llegue a gitbook donde encontre un libro, que lo puedan tener para visualizarlo de forma online o tenerlo en los diferentes formatos disponibles PDF, Epub, Mobi. 


    Regards,
    Snifer
    Leer Mas


    Este manual es una guia creado por el Equipo Rojo Red Team,  la cual tiene referencias al uso básico de Linux y Windows ademas de contar con CheatSheets relacionados a la linea de comandos DoS, Shell como la quieras llamar ;).

    Un punto importante de este manual para mi es que nos reduce el tiempo en un pentest ya que viene con la guia para el proceso de un pentesting desde linea de comandos ya estemos en Windows GNU/Linux segun el caso donde nos encontremos, por ahí vi que ya se tiene una versión 3 pueden sumergirse y ver donde lo encuentran.

    Descarga: RTFM

    Regards, 
    Snifer
    Leer Mas
    Explotando el potencial de Ruby despues de contar con una session de meterpreter, es lo que nos muestra en esta entrada MagoAstral la cual compartió en UC, espero les agrade y vean el uso que se le puede dar.



    Estimado lector vuelvo a ser yo MagoAstral, en esta ocasión les mostraré como sacar jugo extra a nuestro framework de explotación favorito es obvio que en todos o casi todos nuestros test de explotación acabamos con una sesión y es en esa fase de "post-explotación" donde hoy nos centraremos.

    Una vez que tenemos activa nuestra sesión, procederemos a migrar nuestro proceso, yo lo migraré al explorer:

    ps
    migrate pid
    

    Una vez que hemos migrado nuestro proceso podemos proceder a ejecutar nuestra shell interactiva, como sabéis metasploit está desarrollado (no en sus inicios) en ruby, por consiguiente podemos a golpe de teclado jugar con un nuevo abanico de posibilidades, para abrir dicha shell simplemente tipearemos:

    irb

    Una vez que tenemos nuestra shell interactiva vemos que nos arroja un mensaje diciendo que la palabra "client" mantiene al cliente de nuestra sesión. Vamos a familiarizarnos con nuestra shell interactiva recuperando algo de información sobre la máquina víctima, por ejemplo información sobre el sistema. Para esto simplemente ejecutaremos la siguiente sintaxis:


    client.sys.config.sysinfo

    Vemos que nos arroja una clase de tipo hash, mi salida por pantalla sería:



    Como podemos ver dentro de esta clase de objeto podríamos llamar distintos elementos por su clave, pero eso se lo dejo al lector para que se entretenga en sus ratos libres. Es importante destacar que dentro del objeto client tiene diversos métodos, los cuales se pueden observar mediante la siguiente sintaxis:

    client.methods

    Hay una gran lista y cual mas interesante, pero en esta ocasión entraremos en contacto con el método "railgun", mi salida por pantalla sería tal que así:



    Railgun es una característica única de meterpreter que nos ayudará a tener el control de la API de Windows o tomar el control de una DLL y es eso lo que lo hace tan interesante pues como mencioné anterior mente nos abre un nuevo camino en nuestras auditorias y/o pruebas de penetración.

    Podemos ver las DLL cargadas mediante la siguiente instrucción:

    client.railgun.known_dll_names

    La salida sería algo así:

    Bueno ahora os mostraré como poder jugar con dichas DLL. En caso de que no sepamos que funciones podemos realizar con las DLL nos ayudaremos de Microsoft, supongamos que queremos obtener el ID del proceso al que migramos anteriormente, sabemos que con la DLL kernel32 lo podemos hacer pero desconocemos la función a utilizar. Gracias a Google y Microsoft podríamos acceder a la lista de funciones en mi caso sería esta:


    http://www.geoffchappell.com/studies/windows/win32/kernel32/api/

    Buscaremos la función a utilizar y luego para saber la sintaxis de dicha función nos ayudaremos de MSDN en mi caso sería la función: "GetCurrentProcessId" la url:

    https://msdn.microsoft.com/es-es/library/windows/desktop/ms683180(v=vs.85).aspx

    Como vemos no necesita ningún parámetro por consiguiente ejecutamos lo siguiente:

    client.railgun.kernel32.GetCurrentProcessId

    Nos devolverá algo así:



    Y de esta manera podrás buscar información sobre las DLL y jugar con sus funciones obviamente nadie sabe de memoria todo y los programadores sabrán que con frecuencia se recurre a esta metodología de búsqueda, recordar que la practica hace al maestro.

    Para finalizar se llevó a cabo la ejecución de una alerta con railgun el resultado:



    Con esto doy por concluido el post, dejo a imaginación del lector lo que se puede llegar a realizar...
    Un saludo!
    Leer Mas
    Como saben ando en el entrenamiento y preparación para rendir el OSWP de Offensive Security en el proceso de aprendizaje e ir cultivandome regularmente voy viendo videos relacionados al tema debido a que quiero ir actualizandome y viendo el nivel de productividad que debo de sacar a la certificación para mejorar y superarme cada día en ello di con el video de Vivek Ramachandran el mismo de Securitytube y PentesterAcademy en el cual se presento en la pasada Bsides Las Vegas, donde explica como explotar un feature de Windows a favor de un atacante, una charla que me pareció sumamente interesante por el aporte que da y la herramienta Chellam ;). 



    Que te pareció la charla te agrado, alguna idea nueva en mente?

    Regards,
    Snifer
    Leer Mas
    Con KdExploitMe, que es un proyecto creado con el fin de tener un entrenamiento para el desarrollo de exploits, incluyendo exploits con técnicas conocidas, al ser un driver de Kernel concebido con el fin de practicar hace uso de corrupción de memoria, explotando y logrando identificar falencias de seguridad, este tramo para lograrlo aún me falta  y mucho! espero comenzar con esto a fin de año con el tiempo necesario ya que es una área que me llama la atención pero necesito empaparme de conocimiento. 


    Y tu te animas a revisar el material o conocer mas de ello?

    Repositorio en GITHUB: KdExploitMe

    Regards,
    Snifer
    Leer Mas
    Zap, además de funcionar como proxy, también tiene la capacidad de servirnos de scanner. Posee dos modalidades de scanning, la pasiva y la activa, en ésta entrada profundizaremos en passive scanning.

    El escaneo pasivo sólo intercepta las respuestas del server y no es intrusivo. Sus reglas están disponible en : tools - options - passive scan



    Desde aquí podemos elegir las reglas a utilizar, editarlas, crear nuevas o eliminar las que no utilizamos. 

    Si deseamos agregar una nueva regla vamos a add.  Es recomendable analizar las reglas ya existentes para entender la lógica de su estructura.

    Hagamos un ejemplo para identificar la existencia de google analitycs en los sitios que analizaremos:

    Name: lo que quieras
    Type: TAG viene por defecto
    Configuration: lo que desees
    Response Body Regax: aqui es donde debemos colocar que encuentre nuestro string “google-analitycs”, ya que en el fuente se ve de la siguiente manera:


    Nuestra configuración entonces quedaría algo así:


    Anteponer con un “\” antes del “*” implica la capacidad de poder citar caracteres especiales y  el “*” en expresiones regulares significa corresponder lo precedente cualquier número veces.

    Tras establecer las reglas que utilizaremos en el escaneo, procedemos a poner el zap como proxy intercepter como lo vimos en la entrada anterior.
    Una vez que tengamos suficientes request podemos usar los filtro (que también vimos) para focalizar nuestro análisis.

    Las reglas por defecto incluidas en el escaner pasivo de ZAP incluyen la capacidad de detectar comentarios, direcciones de correos electrónicos, cookies, formularios, objetos, contraseñas, scripts, campos ocultos, entre otras.

    • Escaneo Activo con Zap

    Para llevar a cabo un scanning tenemos dos maneras, pero antes de adentrarnos en ellas veamos sus reglas y parámetros.


    Si vamos a tools - options - active scan podemos configurar cantidad de host concurrentes, hilos concurrentes por host, tiempo de espera en milisegundos durante el scanning, etc.




    Para inicializar el scanning activo sobre toda la url que hemos visitado durante el escaneo pasivo, sólo debemos seleccionarla, hacer click secundario y luego elegir attack -  active scan site



    Podemos manejar de manera más granular el target a escaner, para esto, debemos seleccionar el subdirectorio o parámetro y elegir active scan subtree.


    Por último, si no estamos interesados en identificar el targuet con un escaneo pasivo  focalizando en lo que nos interesa con un escaneo activo y queremos tirarle a todo de manera cavernícola, tenemos una pestaña llamada Quick start, ponemos la url y Attack.


    de ésta manera no sólo corremos un scanning activo, sino también que corre el spider, fuzzea y tira brute force (lo cual veremos detallado en las próximas entradas).

    Regard {~}

    Contribución enviada por: {~}
    Leer Mas