Shodan

Shodan es un motor de búsqueda para encontrar servicios concretos como webcams, sistemas SCADA, linksys... Su funcionamiento es simple pero efectivo: escanea todo internet y usa la información que le devuelven los banners de los dispositivos para descubrir la versión del software, el modelo del dispositivo, etc. Shodan es especialmente útil para la investigación de dispositivos IoT, puesto que hay millones de dispositivos online con vulnerabilidades que pueden ser localizados por la información que proporcionan en sus respuestas. Modo de uso En primer lugar realizaré una búsqueda sencilla. Voy a ver los distintos servidores Apache que hay en el mundo. Para ello, basta con escribir "apache" en el buscador.…

Sin comentarios

SQL Injection: técnicas OAST

Hoy te traigo un tipo de SQL Injection muy interesante, y que no es muy conocido. Es una variación de Blind SQL Injection.Si todavía no estás muy puesto con las inyecciones SQL, te recomiendo que visites primero este post. También deberías echarle un ojo a las noSQL injections de las bases de datos no relacionales.  En las Blind SQL Injection, podemos obtener información de la base de datos si el servidor devuelve respuestas distintas según sea verdadero o falso el payload inyectado (Boolean Blind SQL) . En caso de que devuelva siempre la misma respuesta, podemos hacernos con la información de la base de datos a partir de los…

3 comentarios

Post Explotation Backdooring III

Este es el tercer post sobre el método de postexplotación basado en cuevas de código. En la primera parte te mostré cómo crear una cueva de código básica en un ejecutable para introducir una shell. En la segunda entrega mejoré su tasa de detección utilizando cuevas de código naturales y ocultando el salto a la cueva entre las instrucciones del programa.En esta parte te voy a mostrar como evitar que los antivirus detecten la shell de la cueva de código mediante un cifrado y descifrado en tiempo de ejecución. De nuevo agradecer a OscarAkaElvis, que fue quien me enseñó estas técnicas. Método 3: Cuevas de código naturales cifradas Este…

1 comentario

Post Explotation Backdooring II

Esta es la segunda parte del conjunto de entradas sobre Post Explotation Backdooring. Si no has leido la entrada anterior, te recomiendo que lo hagas para entender este post. De nuevo quiero agradecer a OscarAkaElvis, quien me enseñó estas técnicas de PE Backdooring.En el anterior post vimos como introducir el código de una reverse shell en un programa, creando un troyano. Sin embargo, en la vida real esta técnica es más que conocida por los antivirus, y no funcionará.En primer lugar, porque es muy raro que un programa tenga como primera instrucción un JMP.Por otro lado, es sencillo comprobar que el tamaño del ejecutable es mayor que el original, ya…

2 comentarios

Post Explotation Backdooring I

Hace unos meses estuve en un curso de postexplotación impartido por mi ex compañero de trabajo OscarAkaElvis (creador de la herramienta para auditar redes wifi Airgeddon, la cual te recomiendo que pruebes). De él aprendí todo lo que te voy a mostrar a continuación, así que todo el mérito de este post y de los siguientes de esta serie es suyo.También quiero avisar de que esta es una técnica avanzada y necesitas tener conocimientos básicos de ensamblador y reversing. Si no los tienes, te recomiendo los cursos de Pentester Academy "x86 Assembly Language and Shellcoding on Linux" y "Reverse Engineering Win32 Applications".En esta entrada te voy a mostrar como es posible…

Sin comentarios

Cross-Site Scripting II: Inyecciones avanzadas

Este post es la continuación de otro que publiqué hace unos meses. Si todavía no lo has leído, te recomiendo echarle un vistazo. Ya sabes que es un Cross-Site Scripting, sabes qué tipos hay, qué payloads probar, en qué campos fijarte cuando estés analizando una web, cómo evadir los filtros de los WAFs... Ahora voy a enseñarte cómo sacarle partido realmente a esta inyección. BeEF Empezaré con una herramienta llamada BeEF. Está ya integrada en las principales distribuciones de hacking (Kali Linux, Parrot Security), solo hay que ejecutarla con ./beef-xss e introducir las credenciales (por defecto beef:beef). En el navegador, entramos a http://127.0.0.1:3000 Está dividido en servidor (que sería nuestro…

Sin comentarios

Bombas Zip III: Bombas de superposición

En este último post de la serie de bombas zip, voy a hablaros de un nuevo método que ha surgido en el último mes: las bombas de superposición. Con este tipo de bombas se ha llegado a conseguir la mayor tasa de descompresión de todos los tiempos:de 46 MB a 4.5 Petabytes. El Concepto Esta clase de bomba que ha sido creada por David Fifield tiene algo muy distinto a las de los anteriores posts: no utiliza la recursividad. En su lugar, utiliza el solapamiento de ficheros. Esto implica que tras la primera descompresión se expande completamente, por lo que no se puede parar con las medidas de seguridad…

1 comentario

Bombas Zip II: Bombas quine

En el post de la semana pasada introduje las bombas zip y expliqué como crear una bomba zip mediante la técnica de recursión. Te recomiendo que le eches un vistazo si todavía no lo has hecho.  En esta nueva entrada voy a introducir las Bombas Quine.  Programas Quine En informática, un programa "quine" es un programa que se replica a sí mismo. Es decir, un programa cuyo código fuente genera como output el propio código fuente. Esto no es sencillo de conseguir. Veamos un ejemplo. Si en python ejecutamos print(1) , el output sería 1. Necesitamos que el output sea el mismo que el input, en este caso print(1). Si introducimos como input print("print(1)"), entonces…

2 comentarios

Bomba Zip I: Bombas recursivas

Cuando un archivo se comprime, se reduce su tamaño. El principio en el que se basa es sencillo: si tienes un archivo con el texto "aaaaaabbb", que ocupa 9 caracteres, podrías reducir el tamaño si lo guardas como "6a3b". Utilizando este rudimentario algoritmo, puedes descomprimir el archivo comprimido multiplicando el numero de veces que indica la cifra el caracter que le sigue. Por esto mismo dos archivos que pesen lo mismo se comprimen con una tasa de compresión distinta. Siguiendo el ejemplo anterior, el archivo "aaaaaabbb" pasaría a ser "6a3b", lo que supone una tasa de compresión 4:9, es decir, se reduce un 66%. Sin embargo, el archivo "aaabbaaab" pasaría…

3 comentarios

DLL Hijacking

Recientemente estoy realizando unos cursos de Pentester Academy muy interesantes. Gracias a ellos estoy aprendiendo bastante, dado que tratan temas muy particulares con ejemplos claros.  Hoy voy a mostrarte lo que he aprendido sobre DLL Hijacking. Un DLL es una biblioteca de vínculos dinámicos. Existen dos tipos de DLL: los DLL del sistema, que proporciona propiamente Windows, y los DLL de las aplicaciones, en las que el desarrollador de la aplicación divide su funcionalidad en distintos DLLs. Los ejecutables utilizan estos DLLs porque supone un diseño modular del código y permite la reutilización del mismo. Al hacerlo se crean dependencias, y según la importancia del DLL, si esas dependencias…

Sin comentarios