Genera archivos de registro falsos realistas para servidores web populares con escenarios de ataque personalizables

pwnSpoof (de Punk Security) genera archivos de registro falsos realistas para servidores web populares con escenarios de ataque personalizables.

Cada paquete de registros es único y totalmente personalizable, lo que lo hace perfecto para generar escenarios CTF y series de entrenamiento.

¿Puedes encontrar la sesión del atacante y crear la imagen del incidente?

sobre el proyecto

pwnSpoof se creó en base a un ejercicio de entrenamiento de caza de amenazas, Punk Security, que se proporcionó a un cliente. El ejercicio de capacitación consistió en utilizar un analizador de protocolos como Splunk (hay otras herramientas de análisis de protocolos disponibles) y registros de IIS para encontrar ataques de fuerza bruta e inyecciones de comandos al iniciar sesión.

La idea detrás de la aplicación pwnSpoof es;

  • Proporcionar un entorno de formación rápido al estilo CTF
  • Cree registros únicos para cada ejecución
  • Pruebe el análisis de amenazas en los registros de IIS, Apache y NGINX

Una vez que haya creado varios registros, es hora de cargarlos en Splunk y usar varias técnicas para responder las siguientes preguntas.

  • ¿Cuáles eran la dirección IP y el user_agent del atacante?
  • ¿Se ha autenticado el atacante y, de ser así, con qué cuenta?
  • ¿Dónde estaba la ubicación del atacante?
  • ¿Cuándo ocurrió el ataque?
  • ¿Qué tipo de ataque fue ese?
  • ¿Qué pasó durante el ataque?
  • ¿Qué artefactos pueden permanecer en el servidor?
  • ¿Qué pasos se pueden tomar para solucionarlo?

Empezado

Los siguientes son los primeros pasos con pwnSpoof. explicado

requisitos

pwnSpoof está escrito en Python y probado con Python3. No se requieren módulos adicionales, solo usamos la biblioteca estándar.

Si recibe el siguiente mensaje de error, proporcione python3 cuando ejecute pwnSpoof. Python2 no es compatible.

File "pwnspoof.py", line 176print("{:6.2f}% ".format(y * x), end="r", flush=True)^SyntaxError: invalid syntax

instalación

  1. Git clona el repositorio pwnSpoof
git clone https://github.com/punk-security/pwnspoof
  1. cambiar el directorio a pwnSpoof
  1. Ejecute pwnSpoof
python pwnspoof.py --help

propósito de uso

encimera

positional arguments:{banking,wordpress,generic}App to emulateoptional arguments:-h, --help show this help message and exit--out OUT Output file (default: pwnspoof.log)--iocs Do you want to know the attackers iocs for easier searching? (default: False)log generator settings:--log-start-date LOG_START_DATEInitial start of logs, in the format YYYYMMDD i.e. "20210727"--log-end-date LOG_END_DATEEnd date for logs, in the format YYYYMMDD i.e. "20210727"--session-count SESSION_COUNTNumber of legitimate sessions to spoof (default: 2000)--max-sessions-per-user MAX_SESSIONS_PER_USERMax number of legitimate sessions per user (default: 3)--server-fqdn SERVER_FQDNOverride the emulated web apps default fqdn--server-ip SERVER_IPOverride the emulated web apps randomised IP--server-type {IIS,NGINX,CLF}Server to spoof (default: IIS)--uri-file URI_FILE File containing web uris to override defaults, do not include extensions--noise-file NOISE_FILEFile containing noise uris to override defaults, include extensionsattack settings:--spoofed-attacks SPOOFED_ATTACKSNumber of attacker sequences to spoof (default: 1)--attack-type {bruteforce,command_injection}Number of attacker sequences to spoof (default: bruteforce)--attacker-geo ATTACKER_GEOSet the attackers geo by 2 letter region. Use RD for random (default: RD)--attacker-user-agent ATTACKER_USER_AGENTSet the attackers user-agent. Use RD for random (default: RD)

Ejemplos de

El siguiente ejemplo crea una serie de registros de IIS para Bruteforce contra pwnedbank.co.uk.

python pwnspoof.py banking --server-fqdn pwnedbank.co.uk --attack-type bruteforce --server-type IIS --out iis-output.log

El siguiente ejemplo crea una serie de registros NGINX para command_injection contra pwnedbank.co.uk.

python pwnspoof.py banking --server-fqdn pwnedbank.co.uk --attack-type command_injection --server-type NGINX

El siguiente ejemplo crea una serie de registros con 5000 sesiones de rutina y 3 sesiones de ataque.

python pwnspoof.py banking --session-count 5000 --spoofed-attacks 3

El siguiente ejemplo crea una serie de registros e informa las direcciones IP del atacante.

python pwnspoof.py banking --spoofed-attacks 3 --iocs

manifestación

Mapa vial

pwnSpoof está diseñado para crear auténticos registros de ataques web y lo hace realmente bien. En este momento nos estamos enfocando en refactorizar el código, construir nuestro conjunto de pruebas y obtener el primer impulso a PyPi, pero tenemos gigantesco Ambiciones para pwnSpoof.

Próximamente, en breve, pronto

Agregar aplicaciones web adicionales más allá de la banca para agregar variedad a los protocolos

  • Medios de comunicación social
  • WordPress
  • Comercio electrónico

Agregar ataques web adicionales y más dinámicos

  • TOP 10 de OWASP completo
  • Codificación de carga útil personalizable
  • Ataques multisesión
  • Ofuscación

Aspiraciones no programadas

Vídeos de formación

pwnSpoof se creó para ser una gran herramienta para capacitar al equipo azul, por lo que solo tiene sentido crear algunos materiales de capacitación para mostrarlo.

  • Cómo recopilar registros en varios programas de análisis de registros (Splunk, Elastic, Open Disto, Sentinel)
  • Así es como usa las capacidades de REGEX para girar en torno a los datos

No solo weblogs

Estaríamos encantados si pwnSpoof genera todo tipo de registros de búsqueda de amenazas, como registros de auditoría de Office365 para Sharepoint, Onedrive y AzureAD.

Arsenal de Blackhat

Presentamos pwnSpoof para su revisión en Blackhat Arsenal y sería FANTÁSTICO demostrarlo en Blackhat London este año (2021).

¿Por qué no contactarnos con algunas ideas adicionales o agregarlas al proyecto?

Contacto

crédito

  • ip2location : Utilizamos la base de datos de países IP2Location LITE para proporcionar direcciones IP geográficamente relevantes.

Este producto contiene datos LITE de IP2Location disponibles en https://lite.ip2location.com