H1RD SECURITY

Empezando con XML External Entity (XXE 2)

Como vimos en el primer articulo de la serie sobre XXE, la vulnerabilidad de XML External Entity o XXE (como se la conoce) se basa en un sistema deficiente al parsear los XMLs que recibe la aplicación web, en este post veremos como ejecutar un ataque para explotar esta vulnerabilidad.

Amass, la mejor aplicación para buscar subdominios

Amass, es una aplicación desarrollada en Go, que es la aplicación más rápida y efectiva para buscar subdominios, parte fundamental de la parte recon de una aplicación web. En este post aprenderás todo lo necesario para usar esta aplicación correctamente.

XML, DTDs y Entidades (XXE 1)

La vulnerabilidad de XML External Entity o XXE (como se la conoce) se basa en un sistema deficiente al parsear los XMLs que recibe la aplicación web, permitiendo la inyección de entidades externas de XML posibilitando ataques como conseguir ficheros del servidor de producción o ejecución de código. En el fondo, sucede igual que en el SQL injection (SQLi) nunca te fíes de lo que recibes del usuario.

Recon sobre el espacio de direcciones IP

La fase de reconocimiento, probablemente sea una de las fases más importantes de un pentesting o bug hunting, en esta fase es necesario recopilar toda la información posible, con ella podremos hacernos una imagen de como esta montada la web, que servicios usa, en que sistema operativo estan etc, Más adelante esa información nos sera muy util. En este articulo nos centraremos en varios recursos web que se pueden usar para descubrir el espacio de direcciones IP de nuestro target.

Ataque por toma de control de un subdominio o subdomain takeover

El ataque de toma de control de un subdominio (o subdomain takeover en ingles) es una vulnerabilidad facil de detectar si sabes lo que estas buscando y muy peligrosa para la empresa en si mismo. Y os puedo asegurar que no es una vulnerabilidad unicornio de las que se encuentran una cada cinco años, sino que suelen pasar, yo mismo en la auditoria web que estoy haciendo esta semana me la encontre.

Tipos de atributos de cookies

Las cookies o HTTP cookies consiste en que informacion enviada o recibida en cabeceras HTTP queda almacenada en el lado del cliente por un tiempo. El objetivo principal de las cookies era para facilitar el acceso de los usuarios a sus paginas web favoritas, pero actualmente se usan para muchas cosas y no todas son buenas.

Enumeración de subdominios web

Una de las partes más importantes del pentesting es la enumeración, en la que recabaremos toda la información necesaria para que después en las siguientes fases poder atacar al objetivo. En la la parte de la enumeración web se centra en los subdominios, es necesario saber encontrarlos para poder ver que posibles vectores de ataque usar. En este articulo hablare de varias opciones para extraer todos los subdominios posibles de una web.

Ataques XSS

Cross-Site Scripting (XSS) es un tipo de ataque por inyección, donde un tercer usuario puede inyectar codigo javascript en una pagina web, provocando que la pagina realice funciones que ni el usuario ni el programdor web esperaban. Este grave problema surge cuando la aplicación web acepta lo que escribe el usuario sin validarlo ni codificarlo. En este blog ya hemos hablado anteriormente del xss, pero en este articulo, quiero entrar mucho más a fondo.

Inyección de CSV

La inyección de CSV es un tipo de ataque que fue descubierto por primera vez en 2014, consiste en que el atacante introduce codigo malicioso en formularios que luego seran descargados en excel o csv. El ataque va dirigido a quien se descarga el fichero, normalmente es un ataque que no se suele tener en cuenta, por ejemplo el programa de Bug hunting de Google no lo considera como una vulnerabilidad que entre dentro de su programa de recompensas.

Enumeración sobre el protocolo SMTP

El protocolo SMTP (Simple Mail Transfer Protocol) se ocupa del intercambio de emails entre diferentes ordenadores u otros dispositivos. Este protocolo tiene algunas limitaciones por lo que se asocia otros protocolos como IMAP o POP, ocupandose SMTP solo del envio y recepción de emails. Lo bueno de este protocolo es que en la fase de enumeración podemos usarlo para averiguar diferentes usuarios de nuestro sistema objetivo, y usarlos posteriormente en diferentes fases.

Metasploitable 2, Atacando mysql

Las vulnerabilidades de seguridad no son solo fallos con software antiguo y vulnerable mediante exploits, sino que a veces son problemas relacionados con mostrar más cosas de las que se deberian mostrar, o con configuraciones con defecto, o peor, ambas a la vez. En este caso, la maquina virtual Metasploitable 2, tiene abierto el puerto 3306 del Mysql, y simplemente con eso podemos llegar a tener acceso de administrador en la maquina.

Metasploitable 2, Atacando el puerto 21 VSFTPD 2.3.4

Metasploitable 2, es una maquina virtual vulnerable creada por la empresa Rapid7 (la de Metasploit), para que la gente que esta empezando con el hacking pueda aprender tranquilamente. En este articulo explotaremos con Metasploit una vulnerabilidad que habia en un servidor de FTP, el VSFTP, que durante un corto periodo de tiempo tuvo una puerta trasera o backdoor.

Introducción a Metasploit

Metasploit es un framework open source de seguridad creado por H. D. Moore aunque en el 2009 fue comprado por la empresa rapid7, desde entonces tiene varias versiones comerciales ademas de la versión gratuita. Originalmente estaba escrito en Perl pero fue migrado a Ruby.

Fase de enumeración

El objetivo de esta etapa es la obtencion de datos referentes a los usuarios, nombres de equipos, servicios de red etc. Aqui empezamos a realizar conexiones activas en el sistema y consultas dentro del mismo, pero no se realizaran ataques.

Exportar resultados con Recon-ng

Cuando ya hemos conseguido con Recon-ng todos los datos que necesitabamos, llega el momento de exportar todos los datos en ficheros que podamos manejar posteriormente. En Recon-ng se puede extraer los datos en diferentes tipos de ficheros.

Chuleta para NMAP

Nmap es una de las aplicaciones más importantes de un pentester o hacker etico, pero tambien es una de aplicación de consola con multitud de comandos y opciones, y no viene de más tener una chuleta con los comandos de Nmap más importantes.

Trabajando con los modulos de Recon-ng

Lo mejor de Recon-ng son sus modulos, en el post anterior hable de algun modulo por encima, mi idea en este articulo es centrarme en los modulos y sus funcionalidades.

Primeros pasos con Recon-ng

En la fase de reconocimiento, es necesario conseguir toda la información posible sobre nuestro objetivo, una de las maneras es mediante OSINT o Open Source INTeligence, es decir, recolección de información mediante fuentes abiertas y gratuitas de internet. Es aqui donde entra Recon-ng, un framework de reconocimiento web, escrito en python.

Nmap evadiendo firewalls

En el mundo empresarial real, los equipos estan protegidos detrás de firewalls, IDS o NATs. En este post hablaremos de las diferentes maneras que usa NMAP para saltarse esas defensas y seguir haciendo su trabajo.

Nmap script engine

NMAP tiene un modulo donde podemos ampliar la funcionalidad de NMAP mediante scripts hechos por el usuario, este modulo es Scripting Engine o NSE.Cada dia de hoy hay 572 scripts en la libreria por defecto de NSE y cada dia se añaden más.

Nmap detección de OS

En NMAP hasta ahora hemos estado centrados en descubrir puertos abiertos, servicios y demas, ahora en este post podremos saber como que versiones o que programas estan corriendo en se puerto, o incluso cual es el sistema operativo del host

Nmap performance

En NMAP no hay ningún problema cuando en el primer scan nos devuelve que el puerto esta abierto o cerrado, perfecto, el problema esta cuando el sistema no lo sabe o no esta seguro, alli NMAP seguira intentandolo, pero el problema ¿hasta cuando?, ¿cuantas veces? puede que no nos interese congestionar la red, o llamar mucho la atención, o si la red esta muy congestionada en ese momento, nos vale la pena esperar un poco. En este articulo hablaremos de diferentes maneras para poder gestionar el tiempo y el performance de nuestros escaneos.

Nmap escaneo de puertos

El escaneo de puertos es la funcionalidad principal y la razón por la que se creo NMAP, en otros articulos hemos hablado de como escanear puertos, pero aqui hablaremos de las opciones de como decirle a NMAP que escanee esos puertos. Con la lista de host activos que hemos conseguido de la fase de enumeración, ahora necesitamos averiguar que función hace cada host, ¿es un web server? ¿tiene la base de datos?

Nmap mapeando la red

En este articulo hablaremos de dos partes fundamentales de NMAP, identificación de host y mapeo de la red. Mediante estas opciones podremos conocer nuestro objetivo más en profundidad. En esta fase lo más importante es que NMAP consiga una respuesta del host, da igual la respuesta, pero algo que demuestre que hay un host vivo detras de esa IP.

Nmap basico

Nmap (Network mapper) es un scanner de seguridad usado para descubrir hosts y servicios en una red ayudandonos a crear un mapa detallado de toda la red. Nmap es un programa de codigo abierto creado por Gordon Lyon para Linux, pero actualmente el desarrollo esta a cargo de la comunidad y es multiplataforma.

Fase reconocimiento, comandos.

En otro articulo hablamos de como buscar informacion de la empresa mediante google hacking, webs, redes sociales. Ahora toca buscar informacion mediante comandos, como whois, ping, tracert, con los que podremos conocer más información sobre la empresa a auditar.

Fase reconocimiento

Esta fase consiste en recopilar toda la información posible de nuestro objetivo, que seguramente la necesitaremos más adelante. Esta información consiste en conseguir las ips, nombres de usuario, trabajadores de la empresa, tipologias de red, tecnologias usadas, emails.

Fases de un test de penetración

Un test de penetracion consiste en hacer pruebas ofensivas contra mecanismos de defensa del entorno que vamos a analizar, en otras palabras, es hacer de lo que haria un hacker delicuente en ese entorno, una red, una web o ambas, y mediante nuestro trabajo poder avisar a la empresa que arregle esos fallos.Este test se compone en cinco fases, fase de reconocimiento, fase de escaneo, fase de enumeracion, fase de acceso y fase de mantenimiento de acceso.

Google Hacking

En los ultimos años, todo el mundo sabe que si algo no esta en Google, es que no existe, lo que no sabe mucha gente, es que Google tiene varios comandos y maneras de buscar que nos pueden ayudar en nuestras tareas de busqueda, muchos crackers usan el buscador para encontrar webs vulnerables. Como pentester debemos ser capaces de ver nuestro target con esos mismos ojos. Aunque cualquier usuario avanzado de internet deberia conocer estos comandos.

Ataque por configuracion de seguridad incorrecta

Todas las configuraciones relacionadas con la seguridad de una aplicación deben ser definidas, implementadas y mantenidas, ya que las configuraciones por defecto no suelen ser correctas. Ademas se debe mantener todo el codigo actualizado incluido las librerias de terceros que se usen en la aplicación. Esto incluye, cuentas de usuario por defecto, paginas sin usar, acceso a ficheros y directorios desprotegidos, fallos no arreglados, configuraciones incorrectas, que nos den acceso al sistema o a informacion relevante del sistema.

Ataque por referencia insegura de objetos

Este ataque referencia directa a objetos ("direct object reference") ocurre cuando un desarrollador expone una referencia hacia un objeto interno de la aplicación, (parametro web, formulario, fichero, base de datos). Un atacante podría cambiar estas referencias y acceder a otros recursos de la aplicacion sin autorización

Ataque por Cross Site Request Forgery (CSRF)

El ataque por CSRF o XSRF, consiste en forzar al usuario a ejecutar peticiones no deseadas en una web, en la que estan autentificados, si que este se de cuenta. En este tipo de ataque es necesaria la utilización de ingenieria social para engañar a la victima y que ejecute la petición falsa, sea mediante un email, o un link de una red social.

Ataque XSS en los formularios de solo validación cliente

La validación cliente en las paginas webs, es totalmente recomendable tanto para el servidor como para el usuario pero el problema llega cuando solo se valida al cliente y no se valida en el servidor, y con fiddler se puede pasar esa validación facilmente pudiendo dejar codigo xss persistido en la base de datos de la pagina web.

Ataque XSS Persistido

El ataque XSS Persistido consiste en que el atacante consiga que su ataque se quede guardado en la base de datos de la pagina web. El vector de ataque XSS o Cross Site Scripting, es una de las vulnerabilidades más extendidas en las paginas web, según OWASP es la tercera en importancia en su TOP 10.

Entendiendo el vector de ataque XSS

El vector de ataque XSS o Cross Site Scripting, es una de las vulnerabilidades más extendidas en las paginas web, según OWASP es la tercera en importancia en su TOP 10. Esta vulnerabilidad consiste en que un atacante es capaz de inyectar codigo javascript en una pagina visitada por el usuario y poder secuestrar la sesion del usuario o comprometer su navegador web.

Ataque XSS Reflejado

El ataque XSS Reflejado consiste que el atacante comparta un link creado a sus victimas para que estas lo ejecuten y por conseguir su sesion o control sobre su navegador. El vector de ataque XSS o Cross Site Scripting, es una de las vulnerabilidades más extendidas en las paginas web, según OWASP es la tercera en importancia en su TOP 10.

¿Que es Session Hijacking?

Session Hijacking, forma parte de la perdida de Autenticación y gestión de sesiones, esta reconocida como la segunda vulnerabilidad web más peligrosa según la Open Web Application Security Project (OWASP) despues de Injection. Esta vulnerabilidad permite a un atacante acceder a una aplicación como si fuese otro usuario real.

Ataque SQL Injection por tiempo

Cuando la web no da errores con las excepciones de la base de datos, cuando no es posible ni inyectar codigo por union ni siquiera por un ataque ciego si/no, lo unico que queda por probar es ataque ciego por tiempo. El más dificil de todos.

Ataque SQL Injection ataque si/no o boleano

Es el ataque de sql injection más complicado, ya que puede ser que no podamos hacer el ataque por error ni tampoco por union, y como si fuera un fantasma en una casa encantada, solo podamos preguntar preguntas cuya respuesta sea verdadero o falso. De este ataque hay dos tipos, si/no y por tiempo. En este articulo hablaremos del ataque si/no o boleano

Ataque SQL Injection por union

Es la más visual de los ataques de sql injection, ya que consiste en añadir una sentencia sql maliciosa a la sentencia sql original haciendo que la web nos muestre más datos de los que tendria que mostrarnos.

Ataque SQL Injection por error

Es el más comun y el más facil de explotar ya que es la propia aplicacion que nos va diciendo los errores que da la base de datos cuando vamos usando los ataques de sql injection. Con este error es muy facil conseguir cualquier cosa de la base de datos (estructura, tablas, nombres de campos e incluso datos).

¿Que es el SQL Injection?

SQL Injection es la primera vulnerabilidad que buscara cualquier hacker en una pagina web. Es un ataque facil de hacer, y cuyo resultado puede ser catastrofico para una empresa.