Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/kudaes/lolbits
Escalation di PrivilegiFramework di ExploitMovimento LateralePost-ExploitCommand and ControlRed TeamingSviluppo Payload
GitHubkudaes/lolbits

LOLBITS

** SOSPESO ** Framework C2 che utilizza Background Intelligent Transfer Service (BITS) come protocollo di comunicazione e Direct Syscalls + Dinvoke per l'elusione dell'hooking in modalità utente degli EDR.

Vedi Repository
222383 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

License

root@kitploit:~
			 ██╗      ██████╗ ██╗     ██████╗ ██╗████████╗███████╗
			 ██║     ██╔═══██╗██║     ██╔══██╗██║╚══██╔══╝██╔════╝
			 ██║     ██║   ██║██║     ██████╔╝██║   ██║   ███████╗
			 ██║     ██║   ██║██║     ██╔══██╗██║   ██║   ╚════██║
			 ███████╗╚██████╔╝███████╗██████╔╝██║   ██║   ███████║
			 ╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝   ╚═╝   ╚══════╝

Sommario

  • Informazioni sul Progetto
    • Ringraziamenti
  • Per Iniziare
    • Prerequisiti
    • Configurazione
  • Utilizzo
  • Contribuisci
  • Licenza
  • Contatti

Informazioni sul Progetto

LOLBITS è un framework C2 che utilizza il Background Intelligent Transfer Service (BITS) di Microsoft per stabilire il canale di comunicazione tra l'host compromesso e il backend. Il backend C2 è nascosto dietro un'applicazione web Flask apparentemente innocua ed è accessibile solo quando le richieste HTTP ricevute dall'app contengono un header di autenticazione valido. Poiché questo strumento è pensato per ambienti altamente monitorati, sono state implementate le seguenti funzionalità per evitare il rilevamento da parte di EDR e AV:

  • Patching di ETW e AMSI.
  • Utilizzo di syscall dirette per evitare l'hooking delle API in userspace da parte degli EDR.
  • Mapping manuale di kernel32.dll e advapi32.dll in combinazione con DInvoke.
  • Rilevamento base di Sandbox prima di stabilire il canale di comunicazione con il backend C2.
  • Utilizzo di BITS in modalità background per generare il canale di comunicazione senza disturbare l'esperienza utente.

Per quanto riguarda l'architettura, LOLBITS è composto da 3 elementi principali:

  • L'agente C# che si occupa di eseguire i comandi sull'host compromesso, inviando l'output al server C2 una volta completata l'attività.
  • L'applicazione web Flask che funge da dispatcher. Questo elemento permette di nascondere l'infrastruttura C2 dietro un sito web innocuo, fornendo al contempo i nuovi comandi all'agente quando viene ricevuta una richiesta autenticata.
  • La console C2, utilizzata per controllare l'agente.

Per impedire l'ispezione del contenuto da parte dei proxy, tutto il contenuto rilevante inviato tra l'agente e il server C2 viene crittografato utilizzando RC4 con una chiave segreta preshared generata casualmente. Un diagramma di alto livello del comportamento dell'infrastruttura è mostrato nell'immagine seguente:

High level diagram

Per evitare che il Blue Team possa riprodurre alcune delle vecchie richieste e scoprire l'infrastruttura backend C2, ogni header di autenticazione viene generato casualmente ed è valido solo per un singolo ciclo (un ciclo è composto da una richiesta POST seguita da una richiesta GET, in quest'ordine). I vecchi header di autenticazione verranno ignorati e per quelle richieste verrà visualizzato il sito web innocuo.

Ringraziamenti

Alcune funzionalità di questo strumento sono state implementate riutilizzando codice da altri progetti o grazie all'impegno di diversi ricercatori di sicurezza informatica. Di seguito elenco alcuni dei lavori e progetti esterni che sono stati utilizzati in un modo o nell'altro per migliorare questo strumento:

  • Salsa Tools
  • Dinvoke
  • SharpSploit
  • Windows System Call Table
  • CheckPlease for Sandbox Evasion

Per Iniziare

Prerequisiti

Per l'infrastruttura C2 è necessario un Windows Server 2016 o superiore con Python 3.4+ e PowerShell 5.1+. L'agente C# è stato testato con successo su Windows Server 2012, Windows Server 2016, Windows Server 2019, Windows 7, Windows 8.1 e Windows 10. Per compilarlo è richiesto:

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

Configurazione

1.- Clona questo repository sul tuo server C2

root@kitploit:~
git clone https://github.com/Kudaes/LOLBITS.git

2.- Installa il server Web (IIS) tramite Windows Server Manager. Assicurati di installare i ruoli CGI, ASP.NET e .NET Extensibility.

Server Roles

Installa anche le funzionalità .NET Framework e BITS per IIS.

Server Features

3.- Esegui lo script setup.ps1 come amministratore per distribuire l'intera infrastruttura e configurare l'agente C#.

4.- Compila l'agente C#. La compilazione genererà un file .exe e una dipendenza esterna (Newtonsoft.Json.dll). Puoi generare un unico .exe utilizzando ILMerge o inviare entrambi i file all'host compromesso. Per evitare output di DEBUG, assicurati di compilare il progetto come Applicazione Windows.

Windows Application

5.- (Opzionale) Per impostazione predefinita, lo script setup.ps1 creerà un nuovo sito Web in IIS chiamato lawlbits in ascolto sulla porta HTTP predefinita (80/TCP). Questo nuovo sito Web non utilizza HTTP su TLS e, sebbene il contenuto delle richieste inviate dall'agente C# al C2 sia crittografato utilizzando RC4 con una chiave segreta preshared generata casualmente, si consiglia di configurare l'uso di HTTPS per il nuovo sito. A tal fine, consiglio di utilizzare Let's Encrypt su lawlbits, uno dei modi più semplici per configurare HTTPS. Successivamente, ricordati di modificare la variabile Url in Program.cs per utilizzare HTTPS invece di HTTP, che è il comportamento predefinito.

Utilizzo

Per ottenere la reverse shell digita python lawlbin.py in un cmd del server C2 ed esegui l'agente C# sull'host compromesso.

Poiché questo progetto nasce dalle ceneri di un precedente progetto fallito, alcune delle vecchie funzionalità sono state mantenute. Il vecchio progetto era una shell dove tutti i comandi disponibili venivano eseguiti utilizzando esclusivamente Living of The Land Binaries. È da qui che deriva il "LOL" di LOLBITS, ed è per questo che le seguenti funzionalità vengono eseguite utilizzando esclusivamente LOLBINS (questo potrebbe aiutare a bypassare AWS e alcuni filtri AV/EDR):

  • download: Scarica un file da un Webdav remoto sull'host compromesso.
  • base64encode: Usa base64 per codificare il contenuto di un file locale.
  • base64decode: Decodifica un file codificato in base64.
  • compile: Compila file .cs in .exe o .dll.

Sebbene queste funzionalità possano essere interessanti in alcuni ambienti (hmm scaricare file remoti senza usare PowerShell? Mi piace!), le ho mantenute solo per riutilizzare parte del vecchio codice per la console C2. Di seguito è riportato un elenco con altre funzionalità che sono sicuro saranno più utili in un contesto classico di red team:

  • inject: Scarica dal C2 un file shellcode (.bin) o PE (assembly .NET) e lo esegue in memoria. Con questo comando il payload non tocca mai il disco non crittografato, evitando il rilevamento da AV. Gli assembly .NET possono essere caricati solo nello stesso processo chiamante, mentre lo shellcode può essere iniettato sia in processi propri che altrui (solo processi x64).
  • psh: Genera una reverse shell di PowerShell. Questa shell deve essere gestita da software aggiuntivo come netcat (basta eseguire nc -lvp ).
  • send: Per inviare un file dal tuo C2 all'host compromesso, usa questa opzione. Il file inviato verrà archiviato non crittografato su disco.
  • getsystem: Tenta di ottenere privilegi di Sistema. Richiede un livello di integrità elevato.
  • impersonate: Tenta di rubare un token di accesso da un altro processo per "diventare" un altro utente.
  • runas: Utilizza credenziali valide per modificare il tuo contesto di sicurezza e accedere come altro utente (locale o di dominio).
  • rev2self: Rimuove le modifiche al contesto di sicurezza effettuate da getsystem, impersonate o runas.
  • exfiltrate: Invia un file dall'host compromesso al tuo C2.

Per suggerimenti sull'utilizzo, digita help o <comando> help.

Contribuisci

Qualsiasi contributo sarà molto apprezzato.

  1. Fai il fork del Progetto
  2. Crea il tuo Feature Branch (git checkout -b feature/AmazingFeature)
  3. Esegui il commit delle tue Modifiche (git commit -m 'Aggiungi qualche AmazingFeature')
  4. Push sul Branch (git push origin feature/AmazingFeature)
  5. Apri una Pull Request

Licenza

Distribuito con licenza GNU. Vedi LICENSE per maggiori informazioni.

Contatti

Il mio Twitter

Il mio Linkedin

Scarica lo strumento