5. Agenda
Introducción al pentesting con python
Herramientas avanzadas
Módulos(Sockets,Requests,Beautifulsoup,Shodan)
Análisis de metadatos
Demo pentesting-tool
Análisis de puertos(nmap,pcapy,scapy)
6. Introducción al pentesting con python
• Multiplataforma
• Prototipos y pruebas de concepto
• Muchas herramientas y librerías
enfocadas a la seguridad
• Buena documentación
13. W3af
• Web application attack and audit
framework
• Framework de test de intrusión web
• Escáner de vulnerabilidades
• Permite automatizar las tareas
repetitivas de pentesting
32. Beautiful Soup
• Parsea y permite extraer información de
documentos HTML.
• Soporta múltiples parsers para tratar
documentos XML,HTML(lxml,html5lib).
• Permite buscar elementos HTML,tales como
enlaces, formularios o cualquier etiqueta
HTML.
60. Python-nmap
• Automatizar el escaneo de puertos
• Se puede tanto de forma síncrona
como asíncrona
import nmap
#síncrono
nm = nmap.PortScanner()
# nm.scan(‘ip/rango’,’puertos’)
results = nm.scan('127.0.0.1', '22,25,80,443')
61. Python-nmap
#obtenemos un diccionario con el resultado del scan
print(nm.csv())
import nmap
nm = nmap.PortScanner()
results = nm.scan(arguments="-n -A -sT -p22,80,8080,5432,3306")
66. Nmap-scripts
• Permiten la programación de rutinas para
encontrar posibles vulnerabilidades en un
objetivo determinado
• Primero determinar si el puerto se encuentra abierto para
posteriormente detectar vulnerabilidades en el servicio
abierto por dicho puerto
nm.scan(arguments="-n -A -p3306 --
script=/usr/share/nmap/scripts/mysql-info.nse")
84. Metasploit API
• Llamadas en formato msgpack
• https://community.rapid7.com/docs/DOC-1516
cmdMysqlLogin="""auxiliary/scanner/mysql/mysql_login
set RHOSTS """ + self.ip
cmdMysqlLogin = cmdMysqlLogin +"""nrun
"""
print
self.client.call('console.write',[self.console['id'],cmdMysqlLogin])
self.processData(self.console['id'])
85. Nexpose
• Herramienta desarrollada por Rapid7 para el
escaneo y descubrimiento de
vulnerabilidades.
• Permite el acceso programático a otros
programas por medio de peticiones HTTP/s
• Las respuestas se devuelven en formato
XML
• BeautifulSoup para obtener los datos del
servidor de vulnerabilidades