CheckList Alan Levy

Table of Contents

1 Recon

1.1 OSINT

1.1.1 Cercadors

  1. Google Dorks
  2. Bing
  3. Duckduckgo
  4. Censys
  5. Shodan

1.1.2 Web sensibles

  1. Github
    1. GitGot
    2. Gitrob
    3. SSHGit
  2. Gitlab
  3. Pastebin
    1. PasteLert
  4. Trello
  5. Linkedin
  6. WayBackMachine
    1. Waybackurls
    2. WaybackurlSQLiScanner
    3. arthusu crawler

1.1.3 Acquisition

  1. Crunchbase
  2. Wikipedia

1.1.4 Enumeració, dominis i subdominis

  1. Numeros ASNs (Número de Sistema Autònom)
    1. Cercar el nom de l'organització que ha registrat el domini mitjançant Whois.
    2. Buscar els ASNs a:
    3. ASN Map.
    4. BGP HE NET.
    5. MXToolBox.
  2. Spyse
  3. Dominis únics

    for i in $(cat nombrearchivodominios.txt); do echo""; echo "ASN $i";echo ""; amass intel -active -asn $i;echo ""; done

  4. Findomain
  5. Sublist3r
  6. Acamar
  7. AssetFinder
  8. Amass
  9. AltDNS
  10. subdomainScanner
  11. SubJack
  12. Subzy
  13. Subdomain-takeover
  14. Can I take over XYX
  15. hakrevdns

1.1.5 Screenshot de Webs

  1. Aquatone

    cat hosts.txt | aquatone -ports (xlarge, small, medium, large, xlarge) -out ~/path/output -scan-timeout 500 -screenshot-timeout 50000 -http-timeout 6000

  2. Gowitness
  3. httprobe

1.1.6 dig

  1. Opcions
    @<ip>
    Spoofing de l'IP d'origen, útil per esbrinar IPs des de dins i des de fora d'una sub-xarxa.
    TXT
    Retorna el camp de text de DIG on pot existir informació interessant.

1.2 Actiu

1.2.1 Cerca de directoris

El secreto es armarse un diccionario propio, personalizado! pero se pueden usar por ejemplo los siguientes:

  1. Dirsearch

    python3 dirsearch.py -u target.com -E -w ./directory-list-lowercase-2.3-medium.txt -f -t 20 –plain-text-report=/tmp/salida.txt

  2. Gobuster
  3. ffuf
  4. wfuzz
  5. GAU

1.2.2 Escanners CMS

  1. CMSMap.
  2. WPscan.

1.2.3 Escanejar ports i serveis

  1. nmap

    nmap target -sS -A -PN -sC -sV -vvv -p-65535

    -sS syn scan -A OS + service fingerprint -PN No Ping -sC Scripts -sV Detección de versiones -vvv Verbosity -p-65535 (todos los puertos)

    1. Opcions
      -T5
      Augmenta la velocitat, però aixeca alarmes.
      -sC
      Llança els scripts per defecte.
  2. Masscan.

    Ejemplo: ./masscan -iL targets.txt -p0-65535 –max-rate 10000 -sS -Pn –randomize-hosts -banners -oX output.xml

    -p0-65535 (todos los puertos) -max-rate 10000 (cantidad de paquetes por segundo a transmitir, por defecto 100 paquetes/segundo)

    Escaneo de puertos Web mas comunes: ./masscan -p443,8443,80,8080,8000 165.183.102.0/23,165.183.106.0/24,165.183.108.0/24 –rate 1000

  3. Massdns

    Resuelve los registros AAAA de una lista de dominios (domains.txt) y los guarda en results.txt:

    ./bin/massdns -r lists/resolvers.txt -t AAAA -w results.txt domains.txt (AAAA es el record para ipv6 mientras que el A es para ipv4)

    Lista de resolvers actualizada: ./bin/massdns -r <(curl -s https://raw.githubusercontent.com/BBerastegui/fresh-dns-servers/master/resolvers.txt)

    ./bin/massdns -r lists/resolvers.txt -t AAAA -w results.txt domains.txt

    (AAAA es el record para ipv6 mientras que el A es para ipv4)

    ./scripts/ptr.py | ./bin/massdns -r lists/resolvers.txt -t PTR -w ptr.txt

  4. HTTProbe

    Ejemplo: cat archivo.txt | ./httprobe -p http:81 -p https:8443 -p http:8000 -p http:8001 -p http:8080 -p http:8181 -t 40000

    -t Timeout en milisegundos (40000 es el doble del default)

  5. Nikto

    Ejemplo: nikto -host -output -port

  6. Virtual Host Discovery

1.3 Identificar entry points

Identificar "entry points" en la aplicación (Identificarlos desde campos ocultos, parámetros, metodos HTTP, análisis de headers)

1.4 Fingerprints

1.4.1 Wappalyzer

1.4.2 nmap

1.5 Mapejar arquitectura

Identify application architecture including Web language, WAF, Reverse proxy, Application Server, Backend Database

1.6 Revisar Robots.txt

1.7 Revisar codi HTML

1.8 Revisar codi Javascript

1.8.2 JSParser

Busca end points en JS.

1.8.3 LinkFinder

Cerca URLs i paràmetres en JS.

2 Anàlisis dinàmic de l'aplicació

2.1 Procés de registre d'usuaris

2.2 Proces de reseteix de password

  • Password reset tokens (caducidat / reutilització).

2.3 Bloqueig de comptes per intents fallits

2.4 Política de contrasenyes

2.5 Actualització de la info del compte sense demanar contrasenya

2.6 Claus per defecte o fàcil trobar

2.7 Enumeració d'usuaris

2.8 Autenticació per HTTP

2.9 Bypass d'autenticació

2.10 Identificar canals d'autenticació alternatius

Encontrar el mecanismo principal e identificar otros mecanismos secundarios (App Mobile, Call center, SSO)

3 Autorització

3.1 Directori Travesal

3.2 File inclusion

3.3 Accés a funcionalitats sense permissos (escalada de privilegis, moviment horitzontal i vertical)

3.4 IDORs

Ejemplo: La siguiente URL traería nuestra información personal: target.com/perfil?idUser=123 Cambiar por target.com/perfil?idUser=124 Trae información? Deberíamos tener acceso a 124?

4 Sessió

4.1 No validació de cookie

4.2 Session fixation

4.3 Coockie reversible (base64/ Hash ID)

4.4 Verificar secure/httponly

No setea HttpOnly? hay un XSS? <script>alert(document.cookie)</script>

4.5 Testing Cross Site Request Forgery

Eliminar token (parámetro y header) Forjar un token propio Usar un segundo parámetro CSRF idéntico Cambiar POST por GET

Funcionalidades donde conviene testear: . Agregar/Subir archivo · Cambio de Email · Eliminación de archivos · Cambio de Password · Transferencia de dinero · Edición de perfil

4.6 Logout

4.7 Timeout

4.8 JWT

Chequeo de firma Chequeo de claims (especialmente aud "salto de entorno") Algoritmo de firmado Información sensible dentro del token

4.8.1 c-jwt-cracker

Fuerza bruta, ejemplo: ./jwtcrack eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.cAOIAifu3fykvhkHpbuhbvtH807-Z2rI1FS3vX1XMjE

4.8.2 jwttool

Chequea varias vulns, crackeo por diccionario Ejemplo: python3 jwttool.py

4.8.3 JWT2Jhon

Para convertir los JWT a formato crackeable por John python3 jwt2john.py

Ejecutar John: ./john /tmp/token.txt —wordlist=wordlist.txt

5 Generals

5.1 Mètodes HTTP

5.2 Injecció de capçaleres

X-Forwarded-Host: xxxx.com X-Forwarded-For: 127.0.0.1 X-Remote-IP: 127.0.0.1 X-Remote-Addr: 127.0.0.1 X-Originating-IP: 127.0.0.1

5.3 CORS

5.4 S3 AWS

5.4.1 LazyS3

5.4.2 AWS Cli

http://bucket.s3.amazonaws.com / http://s3.amazonaws.com/bucket aws s3 cp test.txt s3://target –no-sign-request aws s3 ls s3://target –no-sign-request

6 XSS

6.2 XSpear

Author: Alan Levy

Created: 2020-05-23 ds. 11:24

Validate