Exploiting Linux Vulnerabilities
Exploiting Bash CVE-2014-6271 Vulnerability (Shellshock)
Shellshock (CVE-2014-6271) es el nombre dado a una familia de vulnerabilidades en el shell Bash (desde V1.3) que permiten a un atacante ejecutar comandos arbitrarios remotos a través de Bash, lo que en consecuencia le permite obtener acceso remoto al sistema objetivo (target) a través de una carcasa inversa.
La vulnerabilidad Shellshock fue descubierta por Stéphane Chazelas el 12 de septiembre de 2014 y se hizo pública el 24 de septiembre de 2014.
Bash es un shell *Nix que forma parte del proyecto GNU y es el shell predeterminado para la mayoría de las distribuciones de Linux.
CVE-2014-6271 - Shellshock
La vulnerabilidad Shellshock es causada por una vulnerabilidad en Bash, por la cual Bash ejecuta por error comandos finales después de una serie de caracteres: () {:;};.
Esta vulnerabilidad solo afecta a Linux ya que Windows no utiliza Bash ya que no es un sistema operativo basado en *Nix.
En el contexto de la explotación remota, los servidores web Apache configurados para ejecutar scripts CGI o scripts sh también son vulnerables a este ataque.
Apache utiliza scripts CGI (Common Gateway Interface) para ejecutar comandos arbitrarios en el sistema Linux, después de lo cual el resultado se muestra al cliente.
Shellshock Explotation
Para aprovechar esta vulnerabilidad, necesitará localizar un vector de entrada o un script que le permita comunicarse con Bash.
En el contexto de un servidor web Apache, podemos utilizar cualquier script CGI legítimo accesible en el servidor web.
Siempre que se ejecuta un script CGI, el servidor web iniciará un nuevo proceso y ejecutará el script CGI con Bash. La técnica mas efectiva es ingresar parámetros o caracteres dentro del encabezado HTTP del agente del usuario y luego especificar los otros comandos que nos gustaría ejecutar después
Esta vulnerabilidad se puede explotar tanto de forma manual como automática con el uso de un módulo de explotación de MSF. Si en caso esto se quiere realizar de forma manual se debera de tomar en cuenta el uso de un proxy para que podamos interceptar el trafico y usar el proxy Burp. Ambos casos se veran como obtener un shell inverso o una sesion de interprete, respectivamente.
Demo: Exploiting Bash CVE-2014-6271 Vulnerability (Shellshock)
Reversing
Explotar la vulnerabilidad de forma automatica
Quiz
Exploiting FTP
FTP (File Transfer Protocol) es un protocolo que utiliza el puerto TCP 21 y se utiliza para facilitar el intercambio de archivos entre un servidor y un cliente/clientes.
También se utiliza con frecuencia como medio para transferir archivos hacia y desde el directorio de un servidor web.
La autenticación FTP requiere una combinación de nombre de usuario y contraseña. Como resultado, podemos realizar un ataque de fuerza bruta al servidor FTP para identificar credenciales legítimas.
En algunos casos, los servidores FTP pueden configurarse para permitir el acceso anónimo, lo que en consecuencia permite que cualquiera acceda al servidor FTP sin proporcionar ninguna credencial legítima.
Generalmente se asegura bastante el servicio FTP, por lo cual es común realizar ataques de fuerza bruta o aprovechando alguna vulnerabilidad dentro del servicio FTP que el servidor este utilizando.
Demo: Exploiting FTP
Quiz
Exploiting SSH
SSH (Secure Shell) es un protocolo de administración remota que ofrece cifrado y es el sucesor de Telnet.
Normalmente se utiliza para el acceso remoto a servidores y sistemas.
SSH usa el puerto TCP 22 de forma predeterminada; sin embargo, al igual que otros servicios, se puede configurar para usar cualquier otro puerto TCP abierto.
La autenticación SSH se puede configurar de dos maneras:
Autenticación de nombre de usuario y contraseña
Autenticación basada en Keys (La autenticacion basada en claves implica el uso de dos pares de claves "Publica y Privada). Donde la clave publica esta en el servidor y la clave privada se le da a la persona quien va a acceder esencialmente de forma remota al sistema atraves de SSH.
En el caso de la autenticación de nombre de usuario y contraseña, podemos realizar un ataque de fuerza bruta al servidor SSH para identificar credenciales legítimas y, en consecuencia, obtener acceso al sistema de destino.
Demo: Exploiting SSH
Quiz
Exploiting SAMBA
SMB (Server Message Block) es un protocolo de intercambio de archivos en red que se utiliza para facilitar el intercambio de archivos y periféricos entre computadoras en una red local (LAN).
SMB utiliza el puerto 445 (TCP). Sin embargo, originalmente, SMB se ejecutaba sobre NetBIOS usando el puerto 139.
Samba es la implementación de Linux de SMB y permite que los sistemas Windows accedan a dispositivos y recursos compartidos de Linux.
SAMBA utiliza autenticación de nombre de usuario y contraseña para obtener acceso al servidor o a un recurso compartido de red.
Podemos realizar un ataque de fuerza bruta al servidor SAMBA para poder obtener credenciales legítimas.
Después de obtener credenciales legítimas, podemos usar una utilidad llamada SMBMap para enumerar las unidades compartidas SAMBA, enumerar el contenido de los recursos compartidos, así como descargar archivos y ejecutar comandos remotos en el destino.
También podemos utilizar una herramienta llamada smbclient. smbclient es un cliente que forma parte del paquete de software SAMBA. Se comunica con un servidor LAN Manager, ofreciendo una interfaz similar a la del programa ftp. Se puede utilizar para descargar archivos del servidor a la máquina local, cargar archivos desde la máquina local al servidor y recuperar información del directorio del servidor.
Demo: Exploiting SAMBA
Quiz
Last updated