José Selvi - Unprivileged Network Post-Exploitation [RootedCON 2011]

Preview:

Citation preview

Unprivileged NetworkPost-Exploitation

$ whois jselvi

Jose Selvi

Ethical Hacking & Pentesting

S21sec (http://www.s21sec.com)

Pentester.Es (http://www.pentester.es)

ÍndicePost-Explotación

Acceso No-Privilegiado

Relaying Clásico

Relaying 2.0

Route + Socks4a

Multi-Relaying

ToDo

Post-Explotación

RECON PORTSCAN VULNSCAN EXPLOITPOST-EXPLOIT

Post-ExplotaciónElevación de Privilegios

Password Cracking

Pass-the-Hash

Sniffing

BackDoors

Pivoting

Buscar Información

ÍndicePost-Explotación

Acceso No-Privilegiado

Relaying Clásico

Relaying 2.0

Route + Socks4a

Multi-Relaying

ToDo

Privilegios

Privilegios Usuarios

Control Total

Administrador

Usuario Estándar

Invitado

rootSYSTEM

rootAdministrador

www-datajselvi

Invitado

Sistemas Operativos

Hardware

Operating System

App1 App2 App3

UserA UserB

Explotación

Exploit Process

UserA

ShellCode

Acceso No-PrivilegiadoPodemos:

- Leer/Escribir ALGUNOS Ficheros

- Ejecutar ALGUNOS binarios

- Establecer conexiones de red

NO podemos:

- Acceder a memoria

- Acceder a ficheros de contraseñas

- Acceder a la tarjeta de red

Post-ExplotaciónElevación de Privilegios

Password Cracking

Pass-the-Hash

Sniffing

BackDoors *

Pivoting

Buscar Información *

ÍndicePost-Explotación

Acceso No-Privilegiado

Relaying Clásico

Relaying 2.0

Route + Socks4a

Multi-Relaying

ToDo

Relaying Clásico

Concepto:

- Hacer de “pasarela” entre dos conexiones de red

Herramientas:

- NetCat

- /dev/tcp

Relaying Clásico

TARGET1 TARGET2ATACKER

NCSSH

Relaying Clásico

TARGET1 TARGET2ATACKER

NCSSH

NC

NetCat

Hobbit, 1996

- http://nc110.sourceforge.net/

- # aptitude install netcat

Apodada “la navaja suiza”

Versiones: Unix, Windows y MacOS

Conexiones TCP/UDP

NetCat Linux

NC NCHOST A HOST B

PIPE

|

$ mknod pipe p$ nc -l -p 2222 0<pipe | nc hostb 22 1>pipe

NetCat Windows

NC NCHOST A HOST B

> echo nc.exe hostb 22 > relay.bat> nc.exe -L -p 2222 -e relay.bat

Limitaciones NetCatNo persistente

- Tras cerrarse la conexión se cierra

- Bucle en Shell -> no muy efectivo

Mono-hilo

- Solo una conexión

No muy mantenido

Requiere subir el binario

ÍndicePost-Explotación

Acceso No-Privilegiado

Relaying Clásico

Relaying 2.0

Route + Socks4a

Multi-Relaying

ToDo

Relaying 2.0Mejoras:

- Cifrado, Persistencia, Multihilo

Herramientas:

- Socat

- Cryptcat

- Ncat

- Meterpreter

NCat

Fyodor, 2009

- http://nmap.org/ncat/

- # aptitude install nmap

Perteneciente a la Suite NMap

Versiones: Unix, Windows y MacOS

Conexiones TCP/UDP

NCat

NC NCHOST A HOST B

$ ncat -l 2222 --sh-exec “ncat hostb 22”

Ventajas y LimitacionesVentaja:

- Persistente

- Multihilo

- Sintaxis cómoda

Limitaciones:

- Poco portable.

- Requiere subir el binario

MeterpreterPayload de Metasploit Framework

- http://www.metasploit.com

Versiones Windows, Linux, BSD, ...

Completa Suite de Post-Explotación

Pivoting:

- Route

- Portfwd

Meterpreter Route

FW

Host A

Host B

Host C

MSF

M

Ventajas y LimitacionesVentajas:

- Da acceso automáticamente toda la red

- No requiere subir binarios

Limitaciones:

- Solo funciona dentro de MSF

- No se pueden utilizar herramientas externas

Meterpreter Portfwd

FW

Host A

Host B

Host C

MSF

M

Ventajas y Limitaciones

Ventajas:

- Se pueden usar herramientas externas

- No requiere subir binarios

Limitaciones:

- Hay que configurar puerto a puerto

- Requiere descubrimiento de red

ÍndicePost-Explotación

Acceso No-Privilegiado

Relaying Clásico

Relaying 2.0

Route + Socks4a

Multi-Relaying

ToDo

Route + Socks4a

FW

Host A

Host B

Host C

MSF

M

Socks4

NMAP

ProxyChains

# tail -1 /etc/proxychains.confsocks4 127.0.0.1 1080

# proxychains nmap 172.16.146.148ProxyChains-3.1 (http://proxychains.sf.net)

Starting Nmap 5.35DC1 ( http://nmap.org ) at 2011-02-27 14:27nexthost: failed to determine route to 172.16.146.148QUITTING!

# proxychains nmap -PN -sT --max-retries 1 172.16.146.148

Ventajas y LimitacionesVentajas:

- No requiere mapeo

- Se pueden usar herramientas externas

- No requiere subir binarios

- No requiere privilegios

Limitaciones:

- Lento para Discovery y PortScan

- Fallos ante muchas conexiones

ÍndicePost-Explotación

Acceso No-Privilegiado

Relaying Clásico

Relaying 2.0

Route + Socks4a

Multi-Relaying

ToDo

Acceso No-PrivilegiadoPodemos:

- Leer/Escribir ALGUNOS Ficheros

- Ejecutar ALGUNOS binarios

- Establecer conexiones de red

NO podemos:

- Acceder a memoria

- Acceder a ficheros de contraseñas

- Acceder a la tarjeta de red

RequisitosPodemos ejecutar ALGUNOS binarios

- Herramientas que no requieran privilegios

- Herramientas build-in de los SO

Podemos establecer conexiones de red

- Ping, Telnet, Ftp, Relay

Multi-versión

Multi-idioma

Multi-plataforma

Fases MultiRelay1.Discovery

- Ideal: ARP Scan (requiere privilegios)

- Real: Command Line Kung Fu...

2.PortScan

- Ideal: SYN Scan (requiere privilegios)

- Real: Command Line Kung Fu...

3.Relaying

- No se puede hacer build-in

Command Line Kung Fu

Discovery Fu

Windows:

FOR /L %i in (1,1,255) do @ping #NET#.%i -w 1 -n 1 > NUL & arp -a | find /V \"00-00-00-00-00-00\" | find " #NET#.%i "

Linux:

for i in `seq 1 255`; do ping -c 1 #NET#.$i > /dev/null ; /usr/sbin/arp -a | grep \"(#NET#.$i)\" | egrep \"[0-9a-fA-F]+\:[0-9a-fA-F]+\:[0-9a-fA-F]+\:[0-9a-fA-F]+\:[0-9a-fA-F]+\:[0-9a-fA-F]+\" ; done"

PortScan Fu

Windows:

FOR %i in (#PORTS#) do @netsh.exe diag connect iphost #IP# %i | find "[%i]"

Linux:

PPID=$$\nfor i in #PORTS#\ndo\nftp #IP# $i 1>/dev/null 2>/dev/null &\ndone\nnetstat -n | grep \" #IP#:\" | cut -d':' -f 3 | cut -d' ' -f 1 | sort | uniq\nkillall ftp 1>/dev/null 2>/dev/null\nexit\n

RelayingLevanta interfaces con cada IP descubierta

- MSF sobre Linux, como root

Meterpreter -> Script (Ruby) & API

- Multiplataforma

Meterpreter -> portfwd

- Cada vez disponible en más plataformas

Tuneliza a través de Meterpreter Session

Modulable cambiando de Scripts

Meterpreter Scripts

multirelayMeterpreterMSF

landiscovery

portscan

portfwd

ifconfig

Escenario Final

FW

Host A

Host B

Host C

MSF

A

B

C

M

landiscovery.rb

portscan.rb

multirelay.rb

DEMOMultiRelay

MSF FW

WIN

LIN

Ventajas y LimitacionesVentajas:

- Mapeo automático

- Se pueden usar herramientas externas

- No requiere subir binarios

- No requiere privilegios

Limitaciones:

- No detecta nuevos puertos abiertos

- Requiere Discovery y PortScan local

ÍndicePost-Explotación

Acceso No-Privilegiado

Relaying Clásico

Relaying 2.0

Route + Socks4a

Multi-Relaying

ToDo

ToDoMejorar el código Ruby

Mejorar el “Command Line Kung Fu”

Desarrollar nuevos módulos de Discovery y PortScan más eficientes

Errores TargetLAN = LocalLAN

Esperar mejoras de Meterpreter...

¿Combinar con Socks4a?

Ficha MultiRelay

Autor: Jose Selvi

Version 0.1: Marzo 2011

Descarga:

- http://tools.pentester.es

- http://www.pentester.es

Quizá más adelante... ¿MSF?

Recommended