0% encontró este documento útil (0 votos)
30 vistas94 páginas

Python Hacking

El documento presenta una guía sobre hacking ético utilizando herramientas de Python, abarcando temas como pentesting, análisis de metadatos, y escaneo de puertos. Se destacan diversas bibliotecas y herramientas como SQL Map, W3af, y Scapy, así como ejemplos de código para realizar pruebas de seguridad. Además, se menciona la integración con APIs como Shodan y Metasploit para mejorar las capacidades de pentesting.

Cargado por

Titus72 Predator
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas94 páginas

Python Hacking

El documento presenta una guía sobre hacking ético utilizando herramientas de Python, abarcando temas como pentesting, análisis de metadatos, y escaneo de puertos. Se destacan diversas bibliotecas y herramientas como SQL Map, W3af, y Scapy, así como ejemplos de código para realizar pruebas de seguridad. Además, se menciona la integración con APIs como Shodan y Metasploit para mejorar las capacidades de pentesting.

Cargado por

Titus72 Predator
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Hacking ético con herramientas python

José Manuel Ortega | @jmortegac


[Link]
[Link]
[Link]
Agenda
Introducción al pentesting con python
Módulos(Sockets,Requests,Beautifulsoup,Shodan)
Análisis de metadatos
Análisis de puertos(nmap,pcapy,scapy)
Herramientas avanzadas

Demo pentesting-tool
Introducción al pentesting con python

• Multiplataforma
• Prototipos y pruebas de concepto
• Muchas herramientas y librerías
enfocadas a la seguridad
• Buena documentación
Introducción al pentesting con python
SQL Map
Sparta
• [Link]
• Pruebas de pentesting en las fases de
exploración y enumeración
The Harvester
[Link]
W3af
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
Introducción al pentesting con python
Security Tools builder
• [Link]
Paso de parámetros

import argparse
Ping Scan NetWork
Ping Scan NetWork
Ping Scan NetWork

from subprocess import Popen, PIPE


Sockets module

import socket

socket.
socket(socket.AF_INET,socket.SOCK_STREAM) #TCP

result = sock.connect_ex(('[Link]',80))
if result == 0:
print "Port is open"
else:
print "Port is not open"
Socket port scanner
from socket import AF_INET, SOCK_STREAM, setdefaulttimeout
Socket port scanner
Obtain banner server
Obtain banner server
Socket resolving IP/domain
Socket cliente /servidor
Requests module
Requests library
Requests library
Autenticación HTTP

Basic

Digest
MD5 /SHA
Requests Proxy

http_proxy = "[Link]
https_proxy = "[Link]
ftp_proxy = "[Link]

proxyDict = {
"http" : http_proxy,
"https" : https_proxy,
"ftp" : ftp_proxy
}

r = [Link](url, headers=headers, proxies=proxyDict)


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.
Beautiful Soup / extraer links
Beautiful Soup / extraer links
WebCrawler
Scraping images and pdfs
Scraping
Scraping
Shodan

• Rastrear servidores y dispositivos IP


• Obtención de banners
• Escaneo de puertos con el API de
python
Shodan
Shodan
• [Link]
Shodan

import shodan

SHODAN_API_KEY = "insert your API key here"

api = [Link](SHODAN_API_KEY)
Shodan API
Shodan Search
Shodan API
Shodan banners
Shodan host info
Shodan ftp anonymous access
DNSPython

• Permite resolver nombres de dominios


a direcciones IP y viceversa
• Existen registros para direcciones
ipv4,ipv6,servidores de correo
DNSPython
Python whois
Python whois
Builtwith

pip install builtwith

[Link](‘[Link]
Análisis de metadatos

• Metadatos en documentos PDF


• pyPDF2

• Metadatos en imágenes
• from [Link] import TAGS,
GPSTAGS
Análisis de metadatos
Análisis de metadatos
Análisis de metadatos
Análisis de puertos(nmap,scapy)
Python-nmap
Python-nmap

• Automatizar el escaneo de puertos


• Se puede tanto de forma síncrona
como asíncrona
import nmap

#síncrono
nm = [Link]()
# [Link](‘ip/rango’,’puertos’)
results = [Link]('[Link]', '22,25,80,443')
Python-nmap
import nmap
nm = [Link]()

results = [Link](arguments="-n -A -sT -p22,80,8080,5432,3306")

#obtenemos un diccionario con el resultado del scan

print([Link]())
NmapScanner
NmapScanner
for port in port_list:
NmapScanner().nmapScan(ip, port)
NmapScanner

{"[Link]": [
{"tcp": "21"}, {"tcp": "22"}, {"tcp": "23"}, {"tcp": "25"},
{"tcp": "80"}]
}
Python-nmap
#Asíncrono

nm_async = [Link]()

def callback_result(host, scan_result):


print '------------------'
print host, scan_result

nm_async.scan(hosts='[Link]/30', arguments='-sP',
callback=callback_result)

while nm_async .still_scanning():


print("Waiting >>>")
nm_async.wait(2)
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

[Link](arguments="-n -A -p3306 --
script=/usr/share/nmap/scripts/[Link]")
Nmap-scripts

[Link]
Nmap-scripts
scapy

• Equivalente al wireshark
• Capturar paquetes
• Filtrar por protocolos
• Leer y escribir pcap
• Analizar el tráfico que genera la red
Scapy commands

• ls(TCP)
Scapy commands

• Generar paquetes
• tcp=IP(dst='[Link]‘)/TCP(dport=80)

• Ver información de un paquete


• [Link]() / tcp.show2()

• Enviar un paquete
• send(tcp) /sendp(tcp)
Scapy commands

• Capturar n paquetes de red


• pkt = sniff(filter="tcp“,count=n)

• Leer pcap
• file=rdpcap('[Link]')
• [Link]()
• [Link]()
• [Link]()
Escáner de puertos con scapy
from [Link] import sr1, IP, TCP
Escáner de red con scapy
from [Link] import *
Scapy traceroute
Paramiko

• Conexiones ssh
import paramiko
ssh = [Link]()
ssh.load_system_host_keys()
ssh.set_missing_host_key_policy([Link]())

[Link](‘[Link]',
username=‘user', password=‘password')

[Link].log_to_file('[Link]')
Paramiko

• PyCrypto
• Criptography
• Soporta autenticación mediante una
SSH key en lugar de user y password
Paramiko / SSH Key

import paramiko
ssh = [Link]()

rsa_key =paramiko.
RSAKey.from_private_key_file('/home/user/.ssh/id_rsa',
password='password')

ssh.set_missing_host_key_policy([Link]())

[Link](‘[Link]', pkey=rsa_key,
username=‘user', password=‘password')
Paramiko / abrir una sesión
Check FTP Login Anonymous
import ftplib
Plugins
metasploit

• python-msfrpc
import msfrpc
Metasploit > msfconsole
Metasploit API

• Llamadas en formato msgpack


• [Link]

cmdMysqlLogin="""auxiliary/scanner/mysql/mysql_login
set RHOSTS """ + [Link]

cmdMysqlLogin = cmdMysqlLogin +"""\nrun


"""
print
[Link]('[Link]',[[Link]['id'],cmdMysqlLogin])
[Link]([Link]['id'])
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
Nexpose
[Link]
Pentesting tool
[Link]
Referencias

[Link]
[Link]

[Link]

[Link]
Books
Books
Books
Thank you!
José Manuel Ortega | @jmortegac

También podría gustarte