Pentesting con Bash (Cap. II). Grep - uniq - sort - cut

1 comment
En éste post veremos algunos programas/comandos que son de gran ayuda a la hora de trabajar con textos y strings.
Comenzaremos con una de las funcionalidades más básicas, grep (Global Regular Expression Print). Grep se utiliza para realizar búsquedas dentro de un archivo.


Utilizaremos un log de apache que lo pueden descargar desde el siguiente link para realizar una práctica.

Descargamos con wget los logs del apache de ejemplo y luego con grep identificamos todas las ocasiones en las cuales se requirió el archivo “jordan”.

Lo divertido del grep, comienza cuando lo concatenamos con expresiones regulares y otras herramientas que veremos más adelante como cut, sort, uniq, entre otras.

Realicemos el siguiente ejemplo para ir explicando paso a paso cada una de sus partes:


Lo que hemos hecho aquí es buscar todas las peticiones al archivo que posee “jordan” como parte de su nombre. Luego de eso, cortamos (cut) con el delimitador (-d) espacio que es declarado entre comillas (“ ”) y seleccionamos la primer fila. Hasta ahí obtendremos todas las direcciones IP que han realizado una petición al archivo antes mencionado.

Para ordenar mejor esas direcciones IP, colocamos un sort para ordenar los resultados, aquí cabe destacar que sort identifica que todos comienzan con 94 y luego identifica que 2 es menor que 7 por lo cual coloca 94.7.95.97 después de 94.222.112.110.

Con el fin de tener IPs únicas, es que utilizamos uniq y por último, un nuevo grep con una expresión regular (^) que busca los strings que comiencen con 94.


Esto que acabamos de ver es importante que lo practiquen para tenerlo lo más asimilado posible ya que más adelante lo utilizaremos muy a menudo junto a otra herramientas.


Todas las dudas que posean y encuentres tras las prácticas pueden escribir en los comentarios y bien leer el manual de la herramienta que les trae inconvenientes anteponiendo man. (Para salir del manual deben presionar la tecla q)


Ejemplo: Manual de sort.




Ejercicios propuestos:


1.- Listar las direcciones ip que comienzan con 24 que pertenecen a iPhone del log utilizado en el ejemplo anterior.

2.- Identificar el mail de soporte de Embedly.

3.- Buscar la ip que termina con 83 relacionadas con FeedBurner del 17/May y guardarla en una variable.

En el próximo post veremos como personalizar nuestra shell y ya comenzaremos con las fases de un pentest.

Saludos.
@balderramaeric

1 comentario