
⛔ El SOC recibió una alerta en su SIEM para el escaneo local de puerto, donde un IP privado interno comenzó a escanear otro sistema interno. Puede investigar y determinar si esta actividad es maliciosa o no? Se le ha proporcionado un PCAP, investigar el uso de las herramientas que desee.
Descargar y descomprimir el archivo
- Descargar el archivo

2. Descomprimir el archivo

Iniciando el challenge
- Abrimos la captura de trafico en Wireshark, yo prefiero hacerlo por terminal, pero se puede optar por hacerlo gráficamente.
wireshark DdMgCqiLCvTxMd6XYQgaXCyjDH8M6b.pcap &
Preguntas y Respuestas
1. ¿Cuál es la IP responsable de llevar a cabo la actividad de escaneo del puerto?
ℹ️ Aquí es necesario ver que tipo de ataque se está llevando a cabo para poder saber por donde empezar, en este caso como el titulo del Reto es Network Analysis – Web Shell asumo que es un ataque web, por lo cual involucramos protocolos TCP, HTTP, puerto 80. Entonces por lo tanto me centraré en esos parámetros.

ℹ️ Verificando paquetes más abajo en la captura y analizando las direcciones ip ,me di cuenta que solamente una ip había lanzado un escaneo SYN ACK, un escaneo de ese tipo no busca directamente abrir una conexión, lo que lo hace un poco peligroso ya que los IDS mal configurados lo pueden pasar por alto. La ip que lanzò el escaneo fue 10.251.96.4

2. ¿Cuál es el rango de puertos escaneado por el Host Sospechoso?
La forma en que yo extraigo el rango de puertos escaneados es la siguiente:
- Voy al menu Estadísticas y selecciono la opción Conversaciones
- Click en la pestaña TCP solamnete para filtrar los paquetes de ese protocolo
- Ordenar la Columna Puerto B de menor a mayor
- Por ultimo tenemos que bajar el scroll hasta la parte inferior para saber el numero de puertos.


5. El numero total de puertos es 1024
3. ¿Cuál es el tipo de escaneo de puertos realizado?
TCP / SYN
4. ¿Se utilizaron dos herramientas más para realizar reconocimientos contra puertos abiertos, cuáles eran?
ℹ️ para poder llegar a la respuesta de esta pregunta se me ocurrió hacer un filtro el cual me iba ayudar a sacar toda esa información. El siguiente filtro lo que hace es solamente filtrar los paquetes relacionados al protocolo HTTP y a la ip atacante.
ip.addr==10.251.96.4 && http
- Aplicar el filtro
- El paquete que seleccione llamo mi atención debido a que la URL esta encodeada.
- Al seleccionar el paquete me percaté que el atacante estaba realizando un fuzzing de directorios utilizando gobuster/3.0.1 .

Para encontrar una posible segunda tecnología tuve que realizar otro filtro, ya sabemos que se trata de un ataque web, entonces por lo tanto tenía que buscar inyecciones SQL.
ip.addr==10.251.96.4 && http && http.request.method==POST
Es el mismo filtro de arriba, solamente que agregamos un parámetro para filtrar por el método POST,
- Cambiar el parámetro
- El paquete seleccionado me llamo la atención debido a que se está llevando un ataque de inyección, y es un ataque automatizado, por el numero tan alto de peticiones.
- En efecto revisando el User-Agent se utilizó una herramienta automatizada, sqlmap/1.4.7

5. ¿Cuál es el nombre del archivo php a través del cual el atacante subió una shell web?
ℹ️ De igual manera para resolver esta pregunta volví a cambiar el parámetro para poder ver solamente los archivos php e identificar el archivo por donde fue subida la webshell, en este caso aplique el siguiente filtro, para poder encontrar el paquete exacto por el cual se subió se me ocurrió acomodarlos por tamaño en la columna length de wireshark para ir de menor a mayor.
1. Modificamos el parámetro
ip.addr==10.251.96.4 && http contains ".php"
2. ordenar de menor a mayor tamaño los paquetes
3.Seleccionamos el paquete que tuvo una respuesta por parte del servidor.
4. Archivo en el cual existe algún formulario para subir archivos, el cual es vulnerable upload.php
5. El atacante logró subir su archivo php dbfunctions.php

6. ¿Cuál es el nombre del shell web que subió el atacante?
dbfunctions.php
7. ¿Cuál es el parámetro utilizado en el shell web para ejecutar comandos?
Parámetro: cmd

8. ¿Cuál es el primer comando ejecutado por el atacante?
Comando: id

9. ¿Cuál es el tipo de conexión de shell que obtiene el atacante mediante la ejecución de comandos?
reverse shell
10. ¿Cuál es el puerto que utiliza para la conexión shell?
Puerto: 4422
- Seleccionamos el paquete que contiene la reverse shell y damos doble click

2. podemos ver la direcciòn ip del atacante y en seguida el puerto


