Python Lenguaje Preferido por Hackers
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.
¿Ahora se están preguntando porque Python es el lenguaje favorito utilizado para el hacking? pues esto se debe a los miles y miles de módulos que existen y que facilitan el desarrollo de herramientas que nos permitan automatizar las tareas durante el proceso de hacking, de forma rápida y sencilla. Python cuenta con más de 1.000 módulos y muchos más están disponibles en varios repositorios. Esto no quiere decir que los lenguajes de script como BASH, Perl y Ruby no puedan hacer las mismas cosas que Python, pero construir esas capacidades es mucho más fácil usando Python.
Todo lo antes mencionado nos permite desarrollar en pocas líneas desde un simple escáner de puertos, hasta un blackbox que ejecute todo el proceso para hackear o incluso para proteger sus sistemas.
Algunas herramientas en python para hacking
- Scapy: Utilizado para el proceso de sniffing o olfateo del trafico
de red.
- dpkt: Rápido, y simple para la creación y el parsing de paquetes,
para protocolos TCP/IP.
- Impacket: Su objetivo es permitir crear y decodificar parquetes de
red.
- Knock: Efectivo para el proceso de enumeracion de dominios.
- Pytbull: Excelente para realizar pruebas a IPS/IDS.
- Paimei: Framework para ingeniería inversa, incluye PyDBG, PIDA,
pGRAPH.
- Python-nmap: Es una biblioteca python que ayuda en el uso del
escáner de puertos nmap. Permite manipular fácilmente los resultados del
análisis nmap.
- Scrapy: Web crawling framework permite obtener estructuras de datos
de sitios web.
- untidy: fuzzer XML de propósito general
- Windows IPC Fuzzing Tools: herramientas para fuzzear aplicaciones
que usan mecanimos Windows Interprocess Communication
- WSBang: Ejecuta pruebas automáticas contra servicios web SOAP
- findmyhash: Script en Python para crackear hashes usando servicios
online.
- Estos son algunos ejemplos sencillos:
- MeterSSH: Una manera fácil de inyectar código shell nativo en
memoria y llevarlo al atacante a través de un túnel SSH. Todo con un único
fichero Python que se puede convertir fácilmente en ejecutable usando
PyInstaller o py2exe.
- pyew: una herramienta desde la línea de comandos para analizar
malware de forma estática.
- Noriben: Script que funciona en conjunción con Procmon de
Sysinternals para analizar malware en sandbox.
- s7-brute-offline.py: Herramienta que que puede realizar ataques
off-line de fuerza bruta contra controladores lógicos programables (PLCs)
Siemens.
- The Backdoor Factory: Un interesante script en Python para
“backdoorizar” ejecutables y librerías de Windows (Win32 PE).
Algunos ejemplos de tools sencillas para hacking.
Escaner de puertos en python:
***********************************************************
import optparse, nmap
class NmapScanner:
def __init__(self): self.nmsc = nmap.PortScanner()
def nmapScan(self, host, port):
self.nmsc.scan(host, port)
self.state = self.nmsc[host][’tcp’][int(port)][’state’]
print " [+] "+ host + " tcp/" + port + " " + self.state
def main():
parser = optparse.OptionParser("usage%prog " + "-H -p ")
parser.add_option(’-H’, dest = ’host’, type = ’string’, help = ’Please, specify the target host.’)
parser.add_option(’-p’, dest = ’ports’, type = ’string’, help = ’Please, specify the target port(s) separated by comma.’) (options, args) = parser.parse_args() if (options.host == None) | (options.ports == None): print ’[-] You must specify a target host and a target port(s).’ exit(0) host = options.host ports = options.ports.split(’,’)
for port in ports:
NmapScanner().nmapScan(host, port)
if __name__ == "__main__":
main()
***********************************************************
Verificar la existencia de un usuario en un servidor smtp
***********************************************************
#!/usr/bin/python
import socket
import sys
if len(sys.argv)!=2:
print "Usage:,vrfy.py,"
sys.exit(0)
#Create,a,Socket
s=socket.socket(socket.AF_INET,,socket.SOCK_STREAM)
#Connect,to,the,Server,
connect=s.connect(('192.168.11.215',25))
#Receive,the,banner
banner=s.recv(1024)
print banner
# VRFY a user
s.send('VRFY,'+sys.argv[1]+'\r\n')
result=s.recv(1024)
print result
#Close the socket
s.close()
Etiquetado en: Python Lenguaje de programacion Script Hack
Diciembre 29, 2017 10:10 AM
Fuente: CulturaInformatica.co - Omar Gudiño (2017)
Publicado por: Ivan Valencia Santiago
Alertas
Alerta en Linux por fallo Pack2TheRoot que permite escalda de privilegios
Una red de ordenadores bots lanza un ciberataque para robar cuentas de Microsoft 365
Vulnerabilidad en PostgreSQL explotada en ataques dirigidos
Nuevas vulnerabilidades de OpenSSH permiten ataques MitM y DoS
Ciberseguridad