Python Lenguaje Preferido por Hackers

Noticias


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