CTFR, exprimiendo la transparencia de los certificados SSL

Una de las fases del pentesting más importante, sobre todo en entornos de caja negra, es la enumeración, gracias a ella podremos hacernos una idea de la infraestructura que pretendemos auditar como servidores expuestos en Internet, puertos abiertos, subdominios... Con ello podremos encontrar partes de la infraestructura vulnerables a distintas clases de ataques, de aquí parte la frase de Abraham Lincoln:


“Dame seis horas para cortar un árbol y pasaré las primeras cuatro afilando el hacha”

Uno de los puntos fundamentales a la hora de enumerar son los servidores DNS, ya que algunas veces son una de las partes más descuidadas y que una mala configuración de los mismos nos puede proveer multitud de información sensible que nos puede facilitar la labor de penetración. La zona de transferencia, también llamada AXFR, puede ser una de las piezas críticas para la recolección de infomación, una mala configuración como que un servidor maestro no filtre por direcciones IP qué servidores esclavos pueden realizar transferencias, ocasionaría que cualquier atacante pueda consultar por las zonas de los dominios que el servidor maestro administra, pudiendo enumerar subdominios o zonas más sensibles.


Otro de los puntos que también se deben tener muy en cuenta a día de hoy es la transparencia de certificados, un proyecto promovido por Google que busca solventar defectos estructurales de los certificados SSL que ponen en peligro las comunicaciones cifradas por Internet y comprometen mecanismos como TLS/SSL, pudiendo de esta manera ser aprovechado por un atacante para suplantar identidad o para realizar ataques MITM. Con la transparencia de certificados se podrán eliminar estos defectos ya que se crea un open framework para monitorizar y auditar certificados SSL a tiempo real, permitiendo la fácil detección de certificados emitidos erroneamente o maliciosamente.

Por suerte para los pentesters, esto se puede usar para enumerar también, gracias a una nueva herramienta de Sheila A. Berta publicada en GitHub recientemente. Llamada CTFR, abusa de los logs de los certificados SSL mediante la transparencia de certificados gracias al buscador de certificados crt.sh. Con esta herramienta podremos enumerar automáticamente subdominios ocultos que pueden albergar información sensible o ser zonas explotables gracias consultas a crt.sh. Podremos obtener resultados muy semejantes a los explicados anteriormente con AXFR.

Su instalación muy sencilla:
root@KaoRz:/home/KaoRz# git clone https://github.com/UnaPibaGeek/ctfr
Cloning into 'ctfr'...
remote: Counting objects: 56, done.
remote: Compressing objects: 100% (51/51), done.
remote: Total 56 (delta 19), reused 10 (delta 3), pack-reused 0
Unpacking objects: 100% (56/56), done.

root@KaoRz:/home/KaoRz# cd ctfr/

root@KaoRz:/home/KaoRz/ctfr# pip install -r requirements.txt
Requirement already satisfied: requests in /usr/lib/python2.7/dist-packages (from -r requirements.txt (line 1))
Collecting pyfiglet (from -r requirements.txt (line 2))
  Downloading pyfiglet-0.7.5.tar.gz (767kB)
    100% |████████████████████████████████| 768kB 1.1MB/s
Building wheels for collected packages: pyfiglet
  Running setup.py bdist_wheel for pyfiglet ... done
  Stored in directory: /root/.cache/pip/wheels/22/64/50/061d962f0938800687c7d965aec42c3c3b5344634f2242f3d8
Successfully built pyfiglet
Installing collected packages: pyfiglet
Successfully installed pyfiglet-0.7.5

root@KaoRz:/home/KaoRz/ctfr# python ctfr.py
          ____ _____ _____ ____
         / ___|_   _|  ___|  _ \
        | |     | | | |_  | |_) |
        | |___  | | |  _| |  _ <
         \____| |_| |_|   |_| \_\

     Version 1.1 - Hey don't miss AXFR!
    Made by Sheila A. Berta (UnaPibaGeek)

usage: ctfr.py [-h] -d DOMAIN [-o OUTPUT]
ctfr.py: error: argument -d/--domain is requiredComo
Por ejemplo, vamos a tratar de enumerar los subdominios de twitter.com:
root@KaoRz:/home/KaoRz/ctfr# python ctfr.py -d twitter.com
          ____ _____ _____ ____
         / ___|_   _|  ___|  _ \
        | |     | | | |_  | |_) |
        | |___  | | |  _| |  _ <
         \____| |_| |_|   |_| \_\

     Version 1.1 - Hey don't miss AXFR!
    Made by Sheila A. Berta (UnaPibaGeek)


[!] ---- TARGET: twitter.com ---- [!]

[-]  *.atla.twitter.com
[-]  *.local.twitter.com
[-]  *.smf1.twitter.com
[-]  *.twitter.com
[-]  0.twitter.com
[-]  Platform.twitter.com
[-]  access.twitter.com
[-]  alerts.atlb.twitter.com
[-]  alerts.atlc.twitter.com
[-]  alerts.smfc.twitter.com
[-]  anywhere.platform.twitter.com
[-]  api.netsec.smfc.twitter.com
[-]  api.twitter.com
[-]  app.tweet.twitter.com
[-]  atla.twitter.com
[-]  atlc-vpn1-au.net.twitter.com
[-]  atlc-vpn2-au.net.twitter.com
[-]  betastream.twitter.com
[-]  caps.twitter.com
[-]  cdn-dev.api.twitter.com
[-]  cdn.api.twitter.com
[-]  cdn.syndication.twitter.com
[-]  cert.twitter.com
[-]  click.e.twitter.com
[-]  collector-ops.twitter.com
[-]  cuckoo-lb.atlb.twitter.com
[-]  cuckoo-lb.atlc.twitter.com
[-]  cuckoo-lb.smfc.twitter.com
[-]  cuckoo.atlb.twitter.com
[-]  cuckoo.atlc.twitter.com
[-]  cuckoo.smfc.twitter.com
[-]  dev.twitter.com
[-]  failover-cdn.api.twitter.com
[-]  failover-urls.api.twitter.com
[-]  images.tweet.twitter.com
[-]  koalabird.atlb.twitter.com
[-]  koalabird.atlc.twitter.com
[-]  koalabird.smfc.twitter.com
[-]  local.twitter.com
[-]  mobile-staging1.twitter.com
[-]  mobile-staging2.twitter.com
[-]  mobile-staging3.twitter.com
[-]  mobile-staging4.twitter.com
[-]  mobile-staging5.twitter.com
[-]  mobile.twitter.com
[-]  ms1.twitter.com
[-]  ms2.twitter.com
[-]  ms3.twitter.com
[-]  ms4.twitter.com
[-]  ms5.twitter.com
[-]  music-partner.twitter.com
[-]  music.twitter.com
[-]  mx3.twitter.com
[-]  mx4.twitter.com
[-]  nauth-lab-au1.net.twitter.com
[-]  nauth1.atlc.twitter.com
[-]  nauth1.smfc.twitter.com
[-]  nauth2.atlc.twitter.com
[-]  nauth2.smfc.twitter.com
[-]  p.twitter.com
[-]  pages.e.twitter.com
[-]  partner-stream.twitter.com
[-]  partnerstream1.twitter.com
[-]  partnerstream2.twitter.com
[-]  pay.twitter.com
[-]  platform.twitter.com
[-]  platform0.twitter.com
[-]  platform1.twitter.com
[-]  platform2.twitter.com
[-]  platform3.twitter.com
[-]  preview-0.cdn.twitter.com
[-]  preview-dev.cdn.twitter.com
[-]  preview-stage.cdn.twitter.com
[-]  preview.cdn.twitter.com
[-]  pulseone-api.smfc.twitter.com
[-]  pulseone-ui.smfc.twitter.com
[-]  pulseone.netsec.smfc.twitter.com
[-]  pulseone.smfc.twitter.com
[-]  pulseone1.netsec.smfc.twitter.com
[-]  pulseone1.smfc.twitter.com
[-]  pulseone2.netsec.smfc.twitter.com
[-]  pulseone2.smfc.twitter.com
[-]  sitestream.twitter.com
[-]  smf1.twitter.com
[-]  smfc-vpn1-au.net.twitter.com
[-]  smfc-vpn2-au.net.twitter.com
[-]  sms-be-vip.twitter.com
[-]  sms.twitter.com
[-]  splunk-master.atla.twitter.com
[-]  splunk-master.smf1.twitter.com
[-]  splunk.atla.twitter.com
[-]  splunk.smf1.twitter.com
[-]  status.twitter.com
[-]  stream.twitter.com
[-]  supplier.twitter.com
[-]  support-0.twitter.com
[-]  support.twitter.com
[-]  syndication-o.twitter.com
[-]  syndication.twitter.com
[-]  td.twitter.com
[-]  tdapi.twitter.com
[-]  tdweb.twitter.com
[-]  ton.twitter.com
[-]  tweetdeck.twitter.com
[-]  ui.netsec.smfc.twitter.com
[-]  upload.twitter.com
[-]  urls-real.api.twitter.com
[-]  urls.api.twitter.com
[-]  userstream.twitter.com
[-]  view.e.twitter.com
[-]  vpn-lab-au1.net.twitter.com
[-]  vpn-lab.atlc.twitter.com
[-]  vpn-lab.smfc.twitter.com
[-]  vpn1.atlc.twitter.com
[-]  vpn1.smfc.twitter.com
[-]  vpn2.atlc.twitter.com
[-]  vpn2.smfc.twitter.com
[-]  widgets.platform.twitter.com
[-]  www.twitter.com
[-]  xstream.twitter.com
[-]  yum.atla.twitter.com
[-]  yum.local.twitter.com
[-]  yum.smf1.twitter.com


[!]  Done. Have a nice day! ;).
Esto nos facilitaría cuantiosamente la labor de búsqueda en crt.sh proporcionando lo que buscábamos en cuestión de segundos.

GitHub: https://github.com/UnaPibaGeek/ctfr

Comentarios

Publicar un comentario