Saltar al contenido
OPS // KITitspentest.sh

PE-WEE

weevely

Herramienta en Python que genera un webshell PHP ligero y ofuscado e incluye el cliente para administrarlo, todo en uno.

Sitio oficialVolver al catálogo

RESUMEN

Weevely (github.com/epinna/weevely3, la reescritura en Python 3 activamente mantenida del proyecto weevely original), con licencia GPL-3.0, empaqueta las dos mitades del flujo de webshell en una sola herramienta: genera un pequeño archivo agente PHP ofuscado, y una vez que ese agente ha sido autorizado y colocado en un objetivo, su propio cliente se conecta a él y presenta una sesión tipo shell Unix con decenas de módulos — transferencia de archivos, consola SQL, escaneo de puertos a través del host comprometido y comprobaciones de escalada de privilegios — en vez de solo ejecución de comandos en bruto.

Su ofuscación de tráfico es deliberadamente ligera comparada con un cliente de canal cifrado, favoreciendo peticiones HTTP únicas de apariencia plausible sobre un cifrado negociado completo, lo que la hace una base útil y fácil de auditar para un laboratorio o un engagement con menor presupuesto de detección donde una herramienta más pesada sería excesiva.

CASOS DE USO

Casos de uso en un engagement

  • 01

    Generar un único archivo agente PHP ofuscado para colocarlo como implante autorizado de post-explotación.

  • 02

    Ejecutar módulos de archivos, base de datos y reconocimiento de red a través del host comprometido desde un único cliente tipo terminal.

  • 03

    Usar las comprobaciones de escalada de privilegios integradas para ver hasta dónde llega un usuario web con pocos privilegios en el host.

  • 04

    Enseñar o demostrar la mecánica de un webshell en un laboratorio, donde su ofuscación más ligera es más fácil de leer y explicar que la de un cliente de canal cifrado.

PRIMEROS PASOS

Una vez que colocar un webshell PHP está autorizado para un engagement acotado, para generar un agente pequeño y ofuscado y manejarlo desde una única CLI tipo terminal en vez de herramientas separadas de generación y cliente.

  1. Confirma que colocar un webshell PHP está autorizado para esta fase y anota la fecha límite acordada de retiro.
  2. Instala Weevely (pip install o clonando el repo) en la máquina del tester.
  3. Genera el archivo agente ofuscado con una contraseña, y colócalo en el objetivo mediante la vía de subida ya autorizada.
  4. Conéctate con el cliente usando la URL del objetivo y la contraseña para abrir la sesión basada en módulos.
  5. Retira el archivo agente del objetivo al terminar la ventana autorizada.
weevely generate <password> agent.php

ANTES DE USARLA

Qué revisar antes de lanzarla

El agente PHP generado es una firma conocida para muchos WAF y módulos de seguridad específicos de PHP; comprueba si el cliente quiere la salida en bruto o con ofuscación adicional antes de colocarlo.

Colocar el agente debe quedar registrado, acotado a la ventana acordada y retirado del sistema de archivos del objetivo después — es un archivo estático, así que una auditoría simple del filesystem encontrará cualquier copia olvidada.

Su modelo de ofuscación más ligero hace que sea más probable que un WAF moderno lo detecte que con un cliente de canal cifrado — ten esto en cuenta en las expectativas de evasión de detección acordadas con el cliente de antemano.

SIGUE EXPLORANDO

Ver toda la fase →