Herramientas para pentesting y programas de recompensas de vulnerabilidades

Durante las pruebas de penetración, los pentesters deben enviar reportes de errores a los propietarios o administradores del sitio web analizado. Eyewitness es una herramienta utilizada para la recopilación de evidencia durante este proceso, lo que ayuda al pentester a presentar informes detallados sobre sus hallazgos. Acorde a especialistas en hacking ético del Instituto Internacional de Seguridad Cibernética (IICS) la recolección de este tipo de evidencias es realmente útil para los propietarios de los sitios web, pues de este modo pueden entender cómo se muestra la interfaz de su sitio, así como el código asociado.

A continuación le mostraremos el funcionamiento de Eyewitness, herramienta diseñada con bibliotecas de Python. Esta herramienta ayuda a los pentesters e investigadores de seguridad y hacking ético a tomar capturas de pantalla de cualquier URL. En el siguiente diagrama se muestra una aproximación conceptual sobre el uso de Eyewitness, que debe usarse durante la fase de reconocimiento y después de enviar reportes de errores.

  • Para las pruebas usaremos Ubuntu 18.04. Algunos requisitos necesarios son python3, pip3, xvfb
  • Abra el terminal y escriba git clone https://github.com/FortyNorthSecurity/EyeWitness.git
  • Escriba cd EyeWitness/setup/
  • Escriba ./setup.sh
  • Después de instalar dependencias:
    • Escriba sudo apt-get update
    • Escriba sudo apt-get install xvfb
    • Escriba pip3 install xvfbwrapper
  • Escriba cd
  • Escriba ./EyeWitness.py –single https://duckduckgo.com –web
  • –single se usa para URL única.
  • –web se usa para captura de pantalla http usando Selenium
root@ubuntu:/home/iicybersecurity/Downloads/EyeWitness# ./EyeWitness.py --single https://duckduckgo.com --web
################################################################################
#                                  EyeWitness                                  #
################################################################################
#           FortyNorth Security - https://www.fortynorthsecurity.com           #
################################################################################

Attempting to screenshot https://duckduckgo.com
[*] Hit timeout limit when connecting to https://duckduckgo.com, retrying
[*] Hit timeout limit when connecting to https://duckduckgo.com

[*] Done! Report written in the /home/iicybersecurity/Downloads/EyeWitness/11142019_015148 folder!
Would you like to open the report now? [Y/n]
Y
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
M                                                                M
M       .”cCCc”.                                                 M
M      /cccccccc\           Our Upcoming Trainings:              M
M      §cccccccc|                                                M
M      :ccccccccP       44Con >> Dec 02- Dec 05 2019             M
M      \cccccccc()                 London, England               M
M       \ccccccccD              https://44con.com                 M
M       |cccccccc\       _                                       M
M       |ccccccccc)     //    Charlotte >> August 3-6            M
M       |cccccc|=      //               Charlotte, NC            M
M      /°°°°°°”-.     (CCCC)                                     M
M      ;----._  _._   |cccc|                                     M
M   .*°       °°   °. \cccc/                                     M
M  /  /       (      )/ccc/                                      M
M  |_/        |    _.°cccc|                                      M
M  |/         °^^^°ccccccc/                                      M
M  /            \cccccccc/                                       M
M /              \cccccc/                                        M
M |                °*°                                           M
M /                  \      Psss. Follow us on >> Twitter        M
M °*-.__________..-*°°                         >> Facebook       M
M  \WWWWWWWWWWWWWWWW/                          >> LinkedIn       M
M   \WWWWWWWWWWWWWW/                                             M
MMMMM|WWWWWWWWWWWW|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  • Desplazarse a la ubicación dada y escribir cd 11142019_015148
  • Escriba ls
root@ubuntu:/home/iicybersecurity/Downloads/EyeWitness# cd 11142019_015148
root@ubuntu:/home/iicybersecurity/Downloads/EyeWitness/11142019_015148#
root@ubuntu:/home/iicybersecurity/Downloads/EyeWitness/11142019_015148# ls
 jquery-1.11.3.min.js  report.html  screens  source  style.css
  • Eyewitness ha capturado la página inicial de duckduckgo.com
  • Esta herramienta también ha reunido información básica, mencionan los expertos en hacking ético
root@ubuntu:/home/iicybersecurity/Downloads/EyeWitness/11142019_015148# cat report.html
<html>
        <head>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" type="text/css"/>
        <title>EyeWitness Report</title>
        <script src="jquery-1.11.3.min.js"></script>
        <script type="text/javascript">
        function toggleUA(id, url){
        idi = "." + id;
        $(idi).toggle();
        change = document.getElementById(id);
        if (change.innerHTML.indexOf("expand") > -1){
            change.innerHTML = "Click to collapse User Agents for " + url;
        }else{
            change.innerHTML = "Click to expand User Agents for " + url;
        }
        }
        </script>
        </head>
        <body>
        <center>
        <center>Report Generated on 11/14/2019 at 01:51:48</center><table border="1">
        <tr>
        <th>Web Request Info</th>
        <th>Web Screenshot</th>
        </tr><tr>
            <td><div style="display: inline-block; width: 300px; word-wrap: break-word">
            <a href="https://duckduckgo.com" target="_blank">https://duckduckgo.com</a><br>

<br><b> Page Title: </b>DuckDuckGo — Privacy, simplified.
<br><b> Server:</b> nginx
<br><b> Date:</b> Thu, 14 Nov 2019 09:51:55 GMT
<br><b> Content-Type:</b> text/html; charset=UTF-8
<br><b> Content-Length:</b> 6174
<br><b> Connection:</b> close
<br><b> Vary:</b> Accept-Encoding
<br><b> ETag:</b> "5dcc81c7-181e"
<br><b> Strict-Transport-Security:</b> max-age=31536000
<br><b> X-Frame-Options:</b> SAMEORIGIN
<br><b> Content-Security-Policy:</b> default-src https: blob: data: 'unsafe-inline' 'unsafe-eval'; frame-ancestors 'self'
<br><b> X-XSS-Protection:</b> 1;mode=block
<br><b> X-Content-Type-Options:</b> nosniff
<br><b> Referrer-Policy:</b> origin
<br><b> Expect-CT:</b> max-age=0
<br><b> Expires:</b> Thu, 14 Nov 2019 09:51:54 GMT
<br><b> Cache-Control:</b> no-cache
<br><b> Accept-Ranges:</b> bytes
<br><b> Response Code:</b> 200
<br><br><a href="source/http.duckduckgo.com.txt"
                target="_blank">Source Code</a></div></td>
                <td><div id="screenshot"><a href="screens/http.duckduckgo.com.png"
                target="_blank"><img src="screens/http.duckduckgo.com.png"
                height="400"></a></div></td></tr></div>
  • El informe anterior muestra información básica sobre el sitio web capturado. Con report.html, jquery-1.11.3.min.js también muestra la versión de Javascript
  • Javascript se puede utilizar en la recopilación de información
  • Uso de algunas otras palabras clave
  • Escriba ./EyeWitness.py –single https://testphp.vulnweb.com/categories.php
  • –single se usa para URL simple. También puede usar múltiples URL, para eso cree un archivo de texto. Escriba urls.txt
  • Para usar múltiples URL
  • Escriba ./EyeWitness.py -f urls.txt –web
  • -f se usa para múltiples URL
  • –web se usa para captura de pantalla http usando Selenium
 root@ubuntu:/home/iicybersecurity/Downloads/EyeWitness# ./EyeWitness.py --single https://testphp.vulnweb.com/categories.php
################################################################################
#                                  EyeWitness                                  #
################################################################################
#           FortyNorth Security - https://www.fortynorthsecurity.com           #
################################################################################

Attempting to screenshot https://testphp.vulnweb.com/categories.php
[*] Hit timeout limit when connecting to https://testphp.vulnweb.com/categories.php, retrying

[*] Done! Report written in the /home/iicybersecurity/Downloads/EyeWitness/11142019_024603 folder!
Would you like to open the report now? [Y/n]
Y
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
M                                                                M
M       .”cCCc”.                                                 M
M      /cccccccc\           Our Upcoming Trainings:              M
M      §cccccccc|                                                M
M      :ccccccccP       44Con >> Dec 02- Dec 05 2019             M
M      \cccccccc()                 London, England               M
M       \ccccccccD              https://44con.com                 M
M       |cccccccc\       _                                       M
M       |ccccccccc)     //    Charlotte >> August 3-6            M
M       |cccccc|=      //               Charlotte, NC            M
M      /°°°°°°”-.     (CCCC)                                     M
M      ;----._  _._   |cccc|                                     M
M   .*°       °°   °. \cccc/                                     M
M  /  /       (      )/ccc/                                      M
M  |_/        |    _.°cccc|                                      M
M  |/         °^^^°ccccccc/                                      M
M  /            \cccccccc/                                       M
M /              \cccccc/                                        M
M |                °*°                                           M
M /                  \      Psss. Follow us on >> Twitter        M
M °*-.__________..-*°°                         >> Facebook       M
M  \WWWWWWWWWWWWWWWW/                          >> LinkedIn       M
M   \WWWWWWWWWWWWWW/                                             M
MMMMM|WWWWWWWWWWWW|MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
  • Arriba muestra el mismo resultado que viene antes con información básica sobre el sitio web. Eyewitness puede ser muy útil para recolectar evidencia de los pasos iniciales de pentesting