Skip to content

Latest commit

 

History

History
215 lines (154 loc) · 6.67 KB

Information_gathering_from_scrach.md

File metadata and controls

215 lines (154 loc) · 6.67 KB

Information gathering from scratch

Introducción

El proceso de information gathering consiste en el proceso de identificar y obtener información sobre el objetivo para diseñar los ataques que se llevaran a cabo.

Cuanto más se sepa del objetivo, más eficientes podrán ser los ataques.

Objetivos

  1. Obtención de bloques de red
  2. Información sobre tecnologías utilizadas
  3. Información sobre la infraestructura externa
  4. Información sobre servicios publicados, versiones y configuraciones
  5. Información sobre aplicaciones
  6. Información sobre medidas de defensa
  7. Información sobre servicios de terceros
  8. Documentos con información relevante
  9. Direcciones de mail
  10. Información sobre el personal

Areas de investigación

  1. OSINT

    Obtención de cualquier información desde una fuente publica

  2. Area tecnológica

    Obtención de información relacionada con el aspecto tecnológico del objetivo

  3. Area humana

    Obtención de información relacionada con el personal del objetivo

Fases del proceso

  1. Revisión manual

    La obtención de información se realiza de forma pasiva, sin interactuar con el objetivo

  2. Revisión semi-manual

    La obtención de información se lleva a cabo mediante tools y una ejecución controlada de las misma

  3. Revisión automática La obtención de información se realiza mediante tools que automatizan el proceso. Por contra, se pierde el control de lo que se esta realizando entre bambalinas

Ejecución

Revisión manual

Obtención de toda la información posible sobre el objetivo sin interactuar con él. Lo unico que se tiene al inicio de esta fase es el nombre del dominio o algunas direcciónes ip.

OSINT

  1. Google hacking: https://www.exploit-db.com/google-hacking-database

    Localizar cualquier tipo de información posible sobre el objetivo.

    Ejemplos:

    • Buscar el nombre de la empresa
      • site: site:*.dominio -www
      • intext: intext:password filetype:xlsx
      • intitle: intitle:"index of /backup"
      • inurl: inurl: readme.htm
      • filetype: filetype:ovpn
  2. Dnsdumper: https://dnsdumpster.com

  3. Censys.io: https://censys.io/login

    Localizar información técnica sobre el objetivo

    • Certificates: Indicar el nombre del objetivo, el dominio etc
    • Se pueden obtener subdominios, más direcciones ip etc
    • Analizar direcciones IP
  4. Shodan: https://shodan.io

    Localizar información técnica sobre el objetivo usando las direcciones IP o nombres de dominio obtenidas en los pasos 1 y 2

  5. Archive

    El uso de archive puede facilitar información como subdominios abandonados así como más información técnica.

    • archive.org
    • archive.is
    • archive.vn
  6. Github

    Revisar github por si hay código del objetivo

  7. Redes sociales como twitter, Linkedin, etc

    Localizar información de personas que tengan relación con el objetivo, por ejemplo, los empleados de una empresa.

  8. Hunter.io

    Obtención de direcciones de correo relacionadas con el objetivo

  9. Aplicaciones móviles

    Revisar aplicaciones móviles que tengan relación con el objetivo

  10. Otros recursos:

Revisión Semiautomática

Topologia de red

  1. Whois
    • whois $domain
  2. HOST
    • host $domain
  3. DNS
    • nslookup
      • > set querytype=any
      • > $domain
    • dig [@server] [dominio] [tipo
      • Transferencia de zona:
        • dig @server $domain axfr
        • dig -x @server
  4. Reverse DNS
    • nmap -sL IP | grep "(" | awk '{printf("%s %s\n",$5,$6);}'
  5. https://bgp.he.net/
  6. Revisión de Cloud
    • Buckets de S3 por ejemplo

Revisión automática

En este caso, se usaran herramientas. Esto puede facilitar más información pero el precio a pagar es que se puede tener un exceso de información (repetida o inútil) e incluso en algunos casos, se interactue con el domino que se esta estudiando.

  1. Obtención de contraseñas en leaks de información

    • Tool: Karma

      • sudo apt install tor python3 python3-pip sudo service tor start git clone https://github.com/decoxviii/karma.git
        cd karma sudo -H pip3 install -r requirements.txt python3 bin/karma.py –help
  2. Herramientas DNS:

    • Tools:
      • sublist3r.py -d $domainKnock.py
      • dnsenum
      • Fuerza bruta: Knock.py
        • python knock.py domain.com -w world.list
  3. Enumeración de subdominios mediante Certificados y Censys:

  4. Fuzzing de directorios:

  5. Enumeración de puertos TCP:

    • nmap
    • nmap -v -sT -Pn -p- -sV
  6. Enumeración de puertos UDP

    • Metasploit:
      • use auxiliary/scanner/discovery/UDP_SWEEP
  7. Información de las webs:

  8. Analisis de protección de la web:

    • nmap -v T4 -p --open --script http-waf-detect
  9. Metadatos:

  10. Información General:

Consideraciones

Esta es una guía básica para llevar a cabo un "information gathering" que nos asegure un mínimo. Sin embargo, no es una guia cerrada, hay que considerar lo siguiente:

  1. Cada vez que se detecte un nuevo dato (una dirección IP) es posible que sea una puerta a más información, como un nuevo rango, maquinas, dominios etc. En ese caso, se podría realizar de nuevo todo el proceso sobre ese dato
  2. Information Gathering no es algo fijo, es mutable. Una fase realimenta a otra, hay que fijarse en los detalles etc
  3. Detectar y analizar que protocolos se estan publicando al exterior, como snmp, vnc et
  4. Listas:

Siguientes pasos

  1. Password spraying
  2. Credenciales anónimas o por defecto
  3. Phishing
  4. Explotacion de vulnerabilidades en web
  5. Explotación de vulnerabilidades en servicios
  6. Obtención de la GAL (Global Address list)

Fuentes teóricas

  1. https://attack.mitre.org/tactics/pre/
  2. http://www.pentest-standard.org/index.php/Intelligence_Gathering