ctf_manual
inicio / fundamentos / carril avanzado / bloque 4
PCAP
// carril avanzado · bloque 4 de 4 · exfiltración / bypass de red + simulacro

Leer lo que
la red dejó salir

Reconoce un canal encubierto, extrae los datos de una captura y corre una jornada priorizando por puntos. El diferenciador en jeopardy no es el payload: es el método.

salida de este bloque

Taxonomía operativa de canales de exfiltración · cheat-sheet de tshark/Wireshark/scapy para reconstruir datos · una flag extraída de un PCAP real alojado aquí · y una jornada cronometrada con hoja de priorización y postmortem.

Canales encubiertos · qué buscar

Exfiltrar es sacar datos por un canal que no levanta alarmas. En análisis (que es el lado que te toca en jeopardy) tu trabajo es el inverso: reconocer el canal por sus artefactos y reconstruir lo que viajó. Concepto, no receta de ataque a terceros.

CanalCómo se ve en la redIndicador que lo delataHerramienta de análisis
DNS tunnelingConsultas a subdominios largos y de alta entropía bajo un mismo dominioVolumen anómalo de TXT/A, labels codificados (hex/base32), un solo dominio autoritativotshark -Y dns, campo dns.qry.name
ICMPEcho request/reply con payload inusualmente grande o no estándarDatos que no son el patrón de relleno típico del pingFiltro icmp, inspección de data
HTTP encubiertoDatos en headers, cookies, User-Agent o cuerpos codificadosCampos con Base64/hex, beaconing regular a un host fijo--export-objects http, follow HTTP stream
Timing / covertSin payload evidente: la señal está en los intervalos entre paquetesCadencia demasiado regular o patrones binarios en los deltasColumna de tiempo, -e frame.time_delta
Estego en payloadUn archivo transferido con datos escondidos dentroObjeto extraíble más grande de lo esperado; texto tras el fin lógicoExportar objeto, luego strings/binwalk

Análisis de tráfico · cheat-sheet

Triage de una captura desconocida: primero el mapa (protocolos y conversaciones), luego el flujo sospechoso, luego los bytes. Consúltalo el día del evento.

protocol hierarchyconversationsfiltrar sospechosofollow streamexport / -T fieldsdecodificar

tshark · lo esencial

tshark -r captura.pcap -q -z io,phs tshark -r captura.pcap -q -z conv,tcp tshark -r captura.pcap -Y dns -T fields -e dns.qry.name tshark -r captura.pcap -z follow,tcp,ascii,0 tshark -r captura.pcap --export-objects http,./out

-z io,phs da la jerarquía de protocolos; conv,tcp las conversaciones; -T fields -e extrae un campo por paquete; follow reensambla un stream; --export-objects saca archivos transferidos.

tcpdump · captura y filtro

tcpdump -r captura.pcap -nn tcpdump -r captura.pcap -A 'udp port 53' tcpdump -r captura.pcap -X 'icmp'

-nn sin resolver nombres/puertos; -A muestra el payload ASCII; -X hex + ASCII. Útil para una mirada rápida antes de abrir Wireshark.

scapy · leer y reconstruir

from scapy.all import rdpcap pkts = rdpcap("captura.pcap") labels = [p[DNSQR].qname.decode() for p in pkts if p.haslayer(DNSQR)] data = "".join(l.split(".")[0] for l in labels) bytes.fromhex(data) # → reconstrucción

Cuando el dato está troceado en muchos paquetes, scapy te deja iterar y reensamblar por programa en vez de a mano. Ajusta la capa (DNSQR, Raw, ICMP) al canal.

Reto · exfiltración por DNS

Un endpoint sacó un secreto por consultas DNS: cada consulta lleva un trozo del dato en su primer label, bajo el dominio exfil.lab. Descarga la captura, reconstruye el dato y pega la flag.

⬇ adv-b4-exfil.pcap

ruta de solución Extrae los nombres consultados y quédate con el primer label de cada uno; concaténalos en orden y decodifícalos. Los labels son hex.
reconstruir-exfil.sh
# 1) saca el nombre consultado en cada paquete DNS $ tshark -r adv-b4-exfil.pcap -Y dns -T fields -e dns.qry.name 4354467b.exfil.lab 65786669.exfil.lab # 2) toma el primer label de cada línea, concaténalo y decodifica hex $ … | cut -d. -f1 | tr -d '\n' | xxd -r -p CTF{………}

Jornada final · priorizar por puntos

En jeopardy no ganas resolviendo todo: ganas eligiendo qué resolver y en qué orden. Esta es la disciplina que separa una buena jornada de una frustrante.

CategoríaValor típicoCosto en tiempoCuándo atacarla
Jailbreaksbajo–mediobajo · creatividad, no setupPrimera pasada: puntos rápidos para arrancar el marcador.
Exfiltración / PCAPmediomedio · triage + reconstrucciónTemprano si ves el canal claro; tu ventaja con Wireshark pesa aquí.
Exploitation / RCEaltoalto · recon + primitive + cadenaBloque central, con timebox duro. No lo abras si aún hay medios sin tocar.
Malware / reversingaltomuy alto · lectura estáticaAl final, y solo si el ROI supera a lo que queda por barrer.
jornada · tiempo restante 45:00
0/2retos locales
0puntos locales

Set de la jornada: dos retos locales verificables aquí + tres rutas externas legales cronometradas. Marca cada parada como mínimo imprescindible o si sobra tiempo.

  1. 10 minmínimo

    PCAP de exfiltración (local)

    El reto de arriba. Si aún no lo cerraste, es tu primer punto de la jornada: canal claro, reconstrucción directa.

  2. 8 minmínimo

    Stream reensamblado (local)

    Capturaste el payload de un stream TCP: llega en hex continuo. Reconstruye la flag y pégala abajo.

  3. 12 minsi sobra tiempo

    RCE · PortSwigger

    Un laboratorio de PortSwigger Web Security Academy ↗ de OS command injection o SSTI. Practica el flujo recon → primitive → impacto que viste en el Bloque 2.

  4. 12 minsi sobra tiempo

    Reversing · picoGym

    Entra por la guía oficial de picoCTF ↗, abre picoGym y filtra Reverse Engineering. Aplica el triage del Bloque 3 antes de mirar pistas.

  5. repasomínimo

    Jailbreak · agent hijacking

    Repasa el laboratorio VECTOR del Bloque 1 ↗: inyección indirecta en RAG que escala a abuso de herramientas. Es la categoría común más barata en puntos.

Postmortem de la jornada

Al cerrar, escribe tu análisis: qué priorizaste, qué abandonaste a tiempo, qué evidencia te faltó. Es lo que te hace más rápido la próxima vez. Se guarda solo en este navegador.

Cierre del carril · ¿estás listo?

Autoevaluación honesta antes del evento. Se guarda sola en este navegador.

ética y aislamiento Toda práctica va sobre laboratorios y capturas hechos para eso. Analiza binarios y tráfico ajenos solo con autorización; los crackmes y muestras, siempre en VM aislada y desechable. Nunca uses estas técnicas fuera de una competencia o prueba autorizada.

kit del día del evento →

← anterior · bloque 3 terminar · volver al inicio →
ctf_manual · carril avanzado · bloque 4 · exfiltración + simulacro inicio