the_open_door
café
ESEN
← Volver al índice

Cleartext credential capture (pcap group)

Muchos protocolos viajan sin cifrar: FTP, HTTP, Telnet, SMTP, POP3... Si conseguimos esnifar el tráfico de un servicio que autentica en claro, capturamos usuario y contraseña directamente. En una máquina comprometida, la clave es tener permiso para poner una interfaz en modo captura.

La vía habitual es pertenecer al grupo pcap (o tener CAP_NET_RAW), que permite ejecutar tcpdump sin ser root. Combinado con un proceso interno que hace peticiones en claro (lo delata pspy: un cron que llama a un cliente FTP, por ejemplo), se captura ese loopback y se extraen las credenciales:

id                                   # ...groups=...,pcap
tcpdump -i lo -w captura.cap -v      # capturar en la interfaz de loopback

La captura se traslada a la máquina atacante y se filtra por protocolo con tshark (o Wireshark), buscando los comandos de autenticación:

tshark -r captura.cap -Y "ftp" 2>/dev/null
# ... FTP Request: USER hades
# ... FTP Request: PASS <pass>

El motivo de capturar en lo es que el proceso interno suele conectarse a 127.0.0.1; ese tráfico no sale por la interfaz de red externa, solo por loopback.

Otras formas de exprimir la captura:

python3 Pcredz -f captura.cap            # extrae credenciales de muchos protocolos
net-creds.py -p captura.cap
tshark -r captura.cap -Y 'http.authorization' -T fields -e http.authorization
tshark -r captura.cap -Y 'telnet or pop or imap' 2>/dev/null

Requisitos. Un servicio que autentique en claro, tráfico que realmente pase por una interfaz que podamos capturar, y permiso de captura (grupo pcap / CAP_NET_RAW). Las credenciales obtenidas se prueban después con reutilización en SSH, su, etc.

Cómo detectarlo. La firma es un proceso no root abriendo un socket de captura (AF_PACKET/raw): con auditd sobre la syscall socket o la ejecución de tcpdump/tshark por un usuario del grupo pcap (execve), algo que casi ningún flujo legítimo hace. La escritura de un fichero .cap/.pcap en un home (FIM) y la puesta de una interfaz en modo promiscuo (mensaje de kernel entered promiscuous mode) refuerzan el indicio. En reposo, un usuario normal en el grupo pcap o con CAP_NET_RAW es la exposición a auditar.

Defensa. Cifrar todos los servicios (FTPS/SFTP, HTTPS, SMTPS), no meter a usuarios normales en el grupo pcap, y evitar que procesos automáticos manden credenciales en claro aunque sea por localhost.

Herramientastshark / Wiresharktcpdump

Máquinas donde se aplica