Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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
LOLBITS — ** DESCONTINUADO ** Marco de C2 que utiliza el Servicio de Transferencia Inteligente en Segundo Plano (BITS) como protocolo de comunicación y Direct Syscalls + Dinvoke para la evasión de hooking en modo usuario de EDR. | Kitploit
Herramientas/GitHubGitHub/kudaes/lolbits
Escalada de PrivilegiosFrameworks de ExploitsMovimiento LateralPost-ExplotaciónComando y ControlRed TeamingDesarrollo de Payloads
GitHubkudaes/lolbits

LOLBITS

** DESCONTINUADO ** Marco de C2 que utiliza el Servicio de Transferencia Inteligente en Segundo Plano (BITS) como protocolo de comunicación y Direct Syscalls + Dinvoke para la evasión de hooking en modo usuario de EDR.

Ver Repositorio
2223820hace 3 añosRevisado por Kitploit

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

License

			 ██╗      ██████╗ ██╗     ██████╗ ██╗████████╗███████╗
			 ██║     ██╔═══██╗██║     ██╔══██╗██║╚══██╔══╝██╔════╝
			 ██║     ██║   ██║██║     ██████╔╝██║   ██║   ███████╗
			 ██║     ██║   ██║██║     ██╔══██╗██║   ██║   ╚════██║
			 ███████╗╚██████╔╝███████╗██████╔╝██║   ██║   ███████║
			 ╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝   ╚═╝   ╚══════╝

Índice de contenidos

  • Acerca del proyecto
    • Agradecimientos
  • Primeros pasos
    • Requisitos previos
    • Configuración
  • Uso
  • Contribuciones
  • Licencia
  • Contacto

Acerca del proyecto

LOLBITS es un framework C2 que utiliza el Servicio de Transferencia Inteligente en Segundo Plano (BITS) de Microsoft para establecer el canal de comunicación entre el host comprometido y el backend. El backend C2 está oculto tras una aplicación web Flask aparentemente inofensiva y solo es accesible cuando las solicitudes HTTP recibidas por la aplicación contienen un encabezado de autenticación válido. Dado que esta herramienta está diseñada para usarse en entornos altamente monitorizados, se han implementado las siguientes características para evitar la detección por EDR y AV:

  • Parcheo de ETW y AMSI.
  • Uso de syscalls directas para evitar el hooking de APIs en modo usuario por parte del EDR.
  • Mapeo manual de kernel32.dll y advapi32.dll en combinación con DInvoke.
  • Detección básica de sandbox antes de establecer el canal de comunicación con el backend C2.
  • Uso de BITS en modo background para generar el canal de comunicación sin molestar la experiencia del usuario.

En cuanto a la arquitectura, LOLBITS se compone de 3 elementos principales:

  • El agente en C# que se encarga de ejecutar los comandos en el host comprometido, enviando la salida de vuelta al servidor C2 una vez completada la tarea.
  • La aplicación web Flask que actúa como despachador. Este elemento permite ocultar la infraestructura C2 detrás de un sitio web inofensivo, al mismo tiempo que suministra los nuevos comandos al agente cuando se recibe una solicitud autenticada.
  • La consola C2, utilizada para controlar el agente.

Para denegar la inspección de contenido por parte de proxies, todo el contenido relevante enviado entre el agente y el servidor C2 se cifra usando RC4 con una clave secreta precompartida generada aleatoriamente. Un diagrama de alto nivel del comportamiento de la infraestructura sería como se muestra en la siguiente imagen:

![Diagrama de alto nivel][high-level-diagram]

Para evitar que el Equipo Azul pueda reproducir algunas de las solicitudes antiguas y descubrir la infraestructura del backend C2, cada encabezado de autenticación se genera aleatoriamente y es válido solo para un único ciclo (un ciclo se compone de una solicitud POST seguida de una solicitud GET, en ese orden). Los encabezados de autenticación antiguos serán ignorados y se mostrará el sitio web inofensivo para esas solicitudes.

Agradecimientos

Algunas de las características de esta herramienta se han implementado reutilizando código de otros proyectos o gracias al esfuerzo de varios investigadores de ciberseguridad. A continuación, enlazo algunos de los trabajos y proyectos externos que se han utilizado de una u otra forma para mejorar esta herramienta:

  • Salsa Tools
  • Dinvoke
  • SharpSploit
  • Windows System Call Table
  • CheckPlease para evasión de Sandbox

Primeros pasos

Requisitos previos

Para la infraestructura C2 se requiere un Windows Server 2016 o superior con Python 3.4+ y PowerShell 5.1+. El agente en C# ha sido probado con éxito en Windows Server 2012, Windows Server 2016, Windows Server 2019, Windows 7, Windows 8.1 y Windows 10. Para compilarlo se requiere:

  • Visual Studio 2017 o superior.
  • .NET Framework 4.5 o superior.

Configuración

1.- Clone este repositorio en su servidor C2

git clone https://github.com/Kudaes/LOLBITS.git

2.- Instale el Servidor Web (IIS) a través del Administrador del Servidor Windows. Asegúrese de instalar los roles CGI, ASP.NET y .NET Extensibility.

![Roles del servidor][server-roles]

También instale las características .NET Framework y BITS para IIS.

![Características del servidor][server-features]

3.- Ejecute el script setup.ps1 como administrador para desplegar toda la infraestructura y configurar el agente en C#.

4.- Compile el agente en C#. La compilación generará un .exe y una dependencia externa (Newtonsoft.Json.dll). Puede generar un único .exe usando ILMerge o simplemente enviar ambos archivos al host comprometido. Para evitar la salida DEBUG, asegúrese de compilar el proyecto como una Aplicación de Windows.

![Aplicación de Windows][windows-app]

5.- (Opcional) Por defecto, el script setup.ps1 creará un nuevo Sitio Web en su IIS llamado lawlbits escuchando en el puerto HTTP predeterminado (80/TCP). Este nuevo Sitio Web no utiliza HTTP sobre TLS y, aunque el contenido de las solicitudes enviadas por el agente C# al C2 está cifrado usando RC4 con una clave secreta precompartida generada aleatoriamente, se recomienda configurar el uso de HTTPS para el nuevo sitio. Para ello, recomiendo usar Let's Encrypt sobre lawlbits, que es una de las formas más sencillas de configurar HTTPS. Después de eso, recuerde modificar la variable Url en Program.cs para usar HTTPS en lugar de HTTP, que es el comportamiento predeterminado.

Uso

Para obtener la shell reversa, simplemente escriba python lawlbin.py en una terminal del servidor C2 y ejecute el agente C# en el host comprometido.

Dado que este proyecto nace de las cenizas de un proyecto anterior y fallido, algunas de las funcionalidades antiguas se han conservado. El proyecto anterior era una shell donde todos los comandos disponibles se ejecutaban utilizando exclusivamente Living of The Land Binaries. De ahí proviene el LOL de LOLBITS, y por eso las siguientes funcionalidades se ejecutan utilizando exclusivamente LOLBINS (esto podría ayudar a evadir AWS y algunos filtros de AV/EDR):

  • download: Descarga un archivo desde un Webdav remoto al host comprometido.
  • base64encode: Usa base64 para codificar el contenido de un archivo local.
  • base64decode: Decodifica un archivo codificado en base64.
  • compile: Compila archivos .cs en .exe o .dll.

A pesar de que estas funcionalidades podrían ser interesantes en algunos entornos (¡descargar archivos remotos sin usar PowerShell? ¡Me gusta!) las mantuve solo para reutilizar parte del código antiguo de la consola C2. A continuación se muestra una lista con otras funcionalidades que seguramente serán más útiles en un contexto clásico de red team:

Descargar herramienta