La superficie de ataque de una compañía es todo el conjunto de activos públicos en internet que pertenecen a la organización. Estos activos serán todos los dominios, subdominios, e IPs donde se encuentran los diferentes servidores. Es importante disponer de un inventario actualizado en tiempo real de los mismos para poder establecer en ellos las medidas de seguridad correspondientes.
Para realizar el proceso de reconocimiento de una gran empresa hay que obtener toda la información posible de la misma:
- Empresas: Identificar las empresas que pertenecen al objetivo.
- Dominios y subdominios: Obtener todos los dominios que pertenecen a estas empresas.
- Rangos y ASN: identificar los rangos de red y sistemas autónomos (AS).
- Aplicaciones web: de estos datos que ya tengo, obtener las aplicaciones web.
- Servicios: identificar el resto de servicios.
Un método poco utilizado para obtener estos datos es a través de datasets públicos de dominios, subdominios, IPs, etc. De este modo seguiremos un proceso de inteligencia que convierte datos en información para finalmente poder tomar decisiones como atacantes o defensores de la organización.
Obtener la información de estos sets de datos tiene varias ventajas como:
- Resultados: gran cantidad de resultados.
- Velocidad: en poco tiempo es posible obtener la información con ayuda de algún script.
- Gratuito: son bases de datos gratuitas que no te cobran por consulta a diferencia de una API.
- Pasivo: no es necesario interactuar con el DNS de la organización.
Los datasets que se pueden utilizar son los del proyecto Open Data de Rapid 7. Principalmente utilizaremos:
- Forward DNS (FDNS): se han realizado las consultas DNS a toda la lista de dominios.
- Reverse DNS (RDNS): consultas DNS inversas a todo el rango de IPv4.
- HTTP GET Response: mediante HTTP peticiones a todas aquellas IPs que cuenten con servidor web.
- HTTPS Get Responses: mediante HTTPS peticiones a todas aquellas IPs que cuenten con servidor web.
- TCP: identificar puertos abiertos en todo el rango IPv4.
Vamos a ver un ejemplo con la empresa Barclays. Lo primero será obtener cuál es su DNS, algo que podremos obtener con una consulta a uno de sus dominios principales:
Una vez tenemos identificado el DNS de la organización, podemos hacer una búsqueda en el dataset FDNS para ver todos los dominios que utilizan este DNS. Esto nos dará un listado muy completo de dominios de la organización.
Con el listado completo de dominios, podemos buscar todos los subdominios que existen para estos dominios. Esto se puede realizar de la siguiente forma:
Una vez tenemos la lista de dominios y subdominios podemos obtener la lista de direcciones IPs a las que apuntan estos.
Para cada dirección IP podemos consultar a qué rango de red pertenecen de la siguiente forma:
Sabiendo cuáles son los rangos de Barclays, podríamos buscar en estos datasets todos los dominios y subdominios que estén presentes en estos rangos:
Partiendo del nombre de la compañía hemos podido obtener un listado bastante grande de activos con los que podemos formar la superficie de ataque de la misma.
Por Roberto López Santoyo, experto en ciberseguridad y profesor en la asignatura ‘Análisis forense y respuesta ante incidentes’ en el Grado en Ingeniería del Software de U-tad.
—