Logger
2 minutos de lectura
Se nos proporciona un archivo PCAP llamado keystrokes.pcapng
con algunos eventos USB:
Identificando el dispositivo
El segundo evento muestra que el dispositivo USB es un teclado:
Por lo tanto, necesitaremos analizar las pulsaciones de teclas. Los dispositivos de hardware utilizan un protocolo conocido como Human Interface Device (HID). Se puede encontrar más información en Wikipedia. De hecho, hay un manual de documentación adjunto: www.usb.org, donde se encuentran algunas tablas de HID (Sección 10: “Keyboard/Keypad Page (0x07)”):
Esta tabla también se puede encontrar en este Gist de GitHub.
Filtrando eventos
Ahora necesitamos averiguar qué eventos tienen la información de las pula¡saciones. Parece que los paquetes con 35 bytes de longitud son interesantes:
Entonces, filtrémoslos:
Vamos a quitar los que contienen datos nulos (0000000000000000
):
Y también los que empiezan por 2
y el resto son 0
(2000000000000000
):
Muy bien, ahora que nos quedan todos los códigos de las teclas. Lo único que debemos hacer es decodificarlos.
Uso de tshark
El filtrado anterior también se puede hacer con tshark
desde la línea de comandos:
$ tshark -r keystrokes.pcapng | grep 1.16.1 | grep 35 | grep -v .000000000000000 | awk '{ print $7 }'
0000390000000000
00000b0000000000
0000170000000000
0000050000000000
20002f0000000000
0000390000000000
00000c0000000000
20002d0000000000
0000390000000000
0000060000000000
0000210000000000
0000110000000000
20002d0000000000
0000220000000000
0000200000000000
0000200000000000
20002d0000000000
0000390000000000
00001c0000000000
0000390000000000
0000120000000000
0000180000000000
0000390000000000
0000150000000000
20002d0000000000
0000390000000000
00000e0000000000
0000200000000000
00001c0000000000
00001f0000000000
0000390000000000
2000300000000000
Proceso de decodificación
Esta vez, hice la decodificación manualmente, ya que había algunas teclas CAPS
involucradas:
CAPS - 0000390000000000
h - 00000b0000000000
t - 0000170000000000
b - 0000050000000000
{ - 20002f0000000000
CAPS - 0000390000000000
i - 00000c0000000000
_ - 20002d0000000000
CAPS - 0000390000000000
c - 0000060000000000
4 - 0000210000000000
n - 0000110000000000
_ - 20002d0000000000
5 - 0000220000000000
3 - 0000200000000000
3 - 0000200000000000
_ - 20002d0000000000
CAPS - 0000390000000000
y - 00001c0000000000
CAPS - 0000390000000000
0 - 0000120000000000
u - 0000180000000000
CAPS - 0000390000000000
r - 0000150000000000
_ - 20002d0000000000
CAPS - 0000390000000000
k - 00000e0000000000
3 - 0000200000000000
y - 00001c0000000000
2 - 00001f0000000000
CAPS - 0000390000000000
} - 2000300000000000
Flag
Entonces, después de aplicar todas las teclas CAPS
correctamente, encontramos la flag: HTB{i_C4N_533_yOUr_K3Y2}
.