viernes, 23 de octubre de 2015

Pentesting (I): Conociendo a nuestro objetivo

 


Si queremos proteger nuestros sistemas, tenemos que conocer como actuaría un atacante. 

Por supuesto, probar la seguridad de nuestro entorno antes de que nos encontremos con un desastre es muy conveniente, y no vale de año en año, nuestro entorno está vivo, cambia, evoluciona y con él tienen que evolucionar nuestras medidas de seguridad.

El Pentesting es una disciplina que va a poner a prueba la seguridad de nuestros sistemas.



En este artículo les mostraré el primer paso que lleva a cabo un atacante, el reconocimiento del objetivo.


Objetivo del atacante


El atacante no comenzará su ataque utilizando  metasploit, fuerza bruta, inyecciones de código o denegaciones de servicio, su primer paso será obtener toda la información que pueda de nosotros, sin que nos enteremos, con la intención de buscar nuestros puntos débiles.

Información como: 

  • Qué aplicaciones utilizamos y su uso. 
  • Nombres de máquina, direccionamiento IP, arquitectura de red, proveedor de servicios, firewalls. 
  • Sistemas Operativos de servidores y de los puestos de usuario. 
  • Servicios visibles desde Internet. 
  • Direcciones de correo, nombres de empleados.
Con toda esta información elaborará su plan de acción.


Como atacantes, con el objetivo de dejar el menor rastro posible, nos apoyaremos en técnicas de obtención de información públicas y libres (OSINT), INCIBE - OSINT

Herramientas indispensables


Existen multitud, pero a mi me gustan estas:
  • Google, shodan. 
  • Proxys: Burp Suite. 
  • Live HTTP Headers Addon. 
  • Enumeración DNS: DNSRecon.
  • Herramientas Web: http://httparchive.org/websites.php, http://builtwith.com, http://whoi.is, http://ripe.net. 
  • Foca. 
  • Maltego. 


Utilizar motores de búsqueda


Google es una fuente inagotable de información, demasiada, por eso, con filtros bien construidos,  podremos obtener información interesante y concreta sobre el objetivo: 

intitle:index.of “Apache/*” site:dominio.com 

Obtendríamos el listado de webs que se soportan bajo servidores que usan apache en  el dominio dominio.com 

Por otro lado,  Shodan es un motor especializado que nos puede dar información muy interesante de dispositivos:





Herramientas Web 


Existen multitud de herramientas Web para recopilar información sobre el objetivo, entre ellas http://builtwith.com/, a través de ella podemos  conocer los componentes utilizados en el desarrollo de portales Web e infraestructura sobre la que se soporta el desarrollo.

Si queremos anonimizar un poco más nuestra búsqueda y sin complicarnos, podemos utilizar un proxy web SSL como por ejemplo https://pandashield.com/ 

Utilizando la herramienta Burp Suite y el addon Live HTTP headers de Firefox podemos obtener información muy interesante a través de las cabeceras http intercambiadas con el sitio, así como su estructura.

La herramienta Burp Suite es un proxy  que nos va a permitir interceptar el tráfico cursado entre nuestro navegador y el portal al cual estamos accediendo, de esta forma podremos tener una mayor visión del tráfico que intercambiamos, como las cabeceras, carpetas y archivos a los que estamos accediendo. 


En las cabeceras podremos ver el tipo de servidor que soporta el portal, métodos http soportados, posibles cookies de sesión y tecnologías utilizadas, 

Un ejemplo de una cabecera de un sitio web:

HTTP/1.1 200 OK Server: Apache X-Powered-By: Servlet 2.4; JBoss-4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)/Tomcat-5.5 Set-Cookie: JSESSIONID=6640F6DE7B78KDFE0A4FEF0C2E0039 Access-Control-Allow-Methods: GET, POST, OPTIONS 


Enumeración DNS

Es interesante realizar una consulta al DNS del objetivo, ya que son fuente de importante información:

dnsrecon -d dominio.com

o bien podemos utilizar una búsqueda en google de esta forma:
site:.dominio.com
Nos dará información de los diferentes sitios bajo el dominio dominio.com

Información en los Metadados 


La herramienta FOCA, nos permite encontrar metadatos e información oculta en los documentos. 

Nos puede aportar, entre otras muchas cosas, información de: 
  • Cuentas de usuario del sistema. 
  • Cuentas de e-mail.
  • Passwords
  • Software que ha creado un documento. 
  • Sistema Operativo que ha creado el documento. 
Y solo analizado el documento encontrado en un sitio web.




Información sobre la red 


Es importante conocer el entorno de red de la víctima para poder tener una imagen de su arquitectura de red.

Disponemos de diferentes herramientas web que nos pueden aportar mucha información. 

La herramienta web https://who.is/, nos permite obtener información del dominio de una víctima, los servidores DNS y sus Ips, subdominios, registros MX del dominio para el envío de correo, contactos del dominio y fechas de expiración del dominio. 


Por ejemplo para google.com podemos ver sus servidores DNS y sus servidores de correo para la recepción del mismo, o que el subdominio más visitado es mail.google.com 

ns1.google.com 216.239.32.10 
ns2.google.com 216.239.34.10 
ns3.google.com 216.239.36.10 
ns4.google.com 216.239.38.10 

google.com MX 5 minutes 33 seconds 20 alt1.aspmx.l.google.com 
google.com MX 5 minutes 33 seconds 30 alt2.aspmx.l.google.com 
google.com MX 5 minutes 33 seconds 40 alt3.aspmx.l.google.com 
google.com MX 5 minutes 33 seconds 50 alt4.aspmx.l.google.com 
google.com MX 5 minutes 33 seconds 10 aspmx.l.google.com 

Los organismos registradores de direccioamiento IP disponen de bases de datos públicas con información de la asignación de direcciones IP, por lo que a través de ella podremos conocer que direcciones IP utiliza nuestro objetivo.

Los registrados se organizan por continentes: 

En Europa gobierna el Ripe

Aquellos Proveedores de Internet que operen en Europa utilizaran para sus clientes rangos de IP proporcionados por el RIPE.

  • Para África: http://www.afrinic.net/ whois.afrinic.net 
  • Para Asia Pacífico: http://www.apnic.net/ whois.apnic.net 
  • Para Norte América: http://www.arin.net/ whois.arin.net 
  • Para Sudamericana. http://www.lacnic.net/ whois.lacnic.net 


Con un básico ping, también podemos obtener información interesante.

Por ejemplo, un  ping a www.movistar.es 

www.movistar.es (81.47.192.13) 56(84) bytes of data. 
--- www.movistar.es ping statistics --- 8 packets transmitted, 0 received, 100% packet loss, time 7054ms 

La web de telefónica no responde al ping, pero la página web se abre, está claro que la web se encuentra protegida por algún dispositivo firewall que filtra los paquetes de icmp.

Dentro del paquete whois, tenemos otra utilidad web muy interesante que nos dará pistas sobre el camino que lleva el tráfico para entrar-salir del servidor.
Pueden darse casos en los que no exista un camino único.

Esto se debe a que un servicio  podría estar alojado en un Proveedor de Servicios de Internet que dispone de rutas alternativas con diferentes Operadoras. Es fácilmente detectable, simplemente echando un vistazo al RIPE.


Lanzando la herramienta traceroute: https://who.is/tools/traceroute/ traceroute to www.movistar.es:

(81.47.192.13), 25 hops max, 60 byte packets 1 1.90.adb8.ip4.static.sl-reverse.com (184.173.144.1) 0.475 ms 0.619 ms 1.028 ms 2 ae13.dar02.wdc01.networklayer.com (208.43.118.158) 0.233 ms 0.241 ms 0.257 ms 3 ae9.bbr01.eq01.wdc02.networklayer.com (173.192.18.202) 0.810 ms 0.915 ms 0.535 ms 4 ae0.bbr01.tl01.atl01.networklayer.com (173.192.18.153) 16.381 ms 15.222 ms 16.405 ms 5 ae7.bbr02.tl01.atl01.networklayer.com (173.192.18.173) 13.654 ms 13.595 ms 13.294 ms 6 ae0.bbr02.tm01.mia01.networklayer.com (173.192.18.129) 26.604 ms 26.870 ms 26.925 ms 7 213.140.51.189 (213.140.51.189) 25.800 ms 25.484 ms 25.559 ms 8 xe4-0-0-0-grtwaseq1.red.telefonica-wholesale.net (94.142.123.146) 33.109 ms xe2-0-6-0-grtwaseq1.red.telefonica-wholesale.net (94.142.126.225) 40.556 ms xe1-1-4-0-grtnycpt3.red.telefonica-wholesale.net (94.142.124.162) 37.899 ms 9 xe4-1-0-0-grtnycpt3.net.telefonicaglobalsolutions.com (94.142.119.81) 38.468 ms xe0-0-2-0-grtpareq1.net.telefonicaglobalsolutions.com (94.142.116.214) 114.319 ms xe-3-0-2-0-grtpareq1.net.telefonicaglobalsolutions.com (94.142.116.230) 168.533 ms 10 xe7-0-2-0-grtmadno1.net.telefonicaglobalsolutions.com (5.53.4.237) 137.311 ms 213.140.49.193 (213.140.49.193) 132.868 ms xe10-1-4-0-grtmadpe3.net.telefonicaglobalsolutions.com (213.140.36.121) 164.050 ms 11 rima-et3-0-0-400-grtmadno1.red.telefonica-wholesale.net (84.16.6.158) 140.635 ms 213.140.50.86 (213.140.50.86) 136.723 ms xe1-1-0-0-grtmadno1.net.telefonicaglobalsolutions.com (84.16.13.225) 143.048 ms 12 166.Red-80-58-87.staticIP.rima-tde.net (80.58.87.166) 140.255 ms 139.756 ms rima-et3-0-0-400-grtmadno1.red.telefonica-wholesale.net (84.16.6.158) 131.874 ms 13 98.Red-81-46-1.staticIP.rima-tde.net (81.46.1.98) 143.787 ms 94.Red-81-46-1.staticIP.rima-tde.net (81.46.1.94) 147.103 ms 166.red-80-58-87.staticip.rima-tde.net (80.58.87.166) 141.689 ms 14 202.Red-80-58-106.staticIP.rima-tde.net (80.58.106.202) 169.198 ms 6.Red-80-58-106.staticIP.rima-tde.net (80.58.106.6) 142.203 ms 202.Red-80-58-106.staticIP.rima-tde.net (80.58.106.202) 165.245 ms 15 202.Red-80-58-106.staticIP.rima-tde.net (80.58.106.202) 161.628 ms * * 


Se puede observar a través de los nombres, los diferentes Proveedores por los que va cursando el salto, esto también da una idea de en cuantos saltos llegamos al objetivo, y por lo tanto si dispone de buena conectividad.


En resumen, este artículo es una pequeña introducción a lo que es el reconocimiento de un objetivo, un paso muy importante dentro de un proceso de Pen Testing. 
Les invito a aplicarlo sobre su dominio y se sorprenderán de lo que se puede conocer de nuestro sitio sin sofisticados ataques.

Un saludo


No hay comentarios:

Publicar un comentario