Saltar al contenido
HACKME

Nivel 3 · 3A Sistemas y terminal · Lección 2 de 3

Buscar en archivos y leer registros

2 min de lectura · Gratis · Desde cero

Los servidores anotan casi todo lo que pasa en archivos llamados registros o logs: quién entró, quién falló, qué página se pidió. Son la mejor pista para saber si alguien está atacando. El problema es que pueden tener miles de líneas, y leerlas a ojo no sirve.

grep: quedarte solo con lo que importa

grep palabra archivo muestra únicamente las líneas que contienen esa palabra. Con -c cuenta cuántas son, con -i ignora mayúsculas y con -v muestra las que NO la tienen.

grep Failed /var/log/auth.log
grep -c Failed /var/log/auth.log
Qué hace este código:
  • La primera línea muestra todas las líneas del registro que contienen Failed.
  • La segunda solo cuenta cuántas son.

Tuberías: encadenar comandos

El símbolo | (tubería) toma la salida de un comando y se la pasa al siguiente. Con cut sacás una columna, sort ordena, uniq -c cuenta repetidos y sort -rn deja arriba los más numerosos. Así armás un análisis completo en una sola línea.

grep 401 acceso.log | cut -d" " -f1 | sort | uniq -c | sort -rn
Qué hace este código:
  • grep 401 se queda con los pedidos rechazados.
  • cut -d" " -f1 saca la primera columna, que es la IP.
  • sort las ordena y uniq -c cuenta cuántas veces aparece cada una.
  • sort -rn deja arriba la IP con más intentos.

Para ir más a fondo

Por qué el orden importa

uniq solo junta líneas repetidas que están una al lado de la otra, por eso siempre se escribe sort antes. Después, un segundo sort -rn ordena por cantidad de mayor a menor. Cada comando hace una sola cosa y la tubería los une: esa idea es la base de la caja de herramientas de Linux.

Preguntas de repaso

¿Qué hace grep -c Failed auth.log?

Respuesta: Cuenta cuántas líneas contienen Failed. La opción -c hace que grep cuente las líneas coincidentes en vez de mostrarlas.

En una cadena de comandos, ¿qué hace el símbolo |?

Respuesta: Pasa la salida de un comando como entrada del siguiente. La tubería conecta comandos: lo que uno produce, el siguiente lo recibe.

Una IP aparece 300 veces con «clave incorrecta» en cinco minutos. ¿Qué es lo más probable?

Respuesta: Un robot probando claves (fuerza bruta). Una persona no prueba 300 claves en cinco minutos. Es un ataque automático.