Domanda Malware Come fanno gli antivirus a non farsi chiudere?

Stato
Discussione chiusa ad ulteriori risposte.

WarCrimeLover69

Utente Emerald
3 Maggio 2012
580
61
305
483
Ciao a tutti ragazzi, recentemente nella noia più totale ho deciso di scaricare AVG su macchina virtuale e provare a disabilitarlo per pura sfida personale e giuro che dopo 3 giorni di continua prova non ci sono riuscito, è peggio di un virus, si diffonde tra i driver (quelli non plug and play), nei servizi, nelle cartelle di windows e sapete il bello? L'unico posto dove puoi modificare qualcosa senza che ti neghi l'accesso sono i drivers, ma al reboot (o forse anche prima) si reinstallano da soli, ho provato a fare un "sc config "AVG Antivirus" start= disabled" agendo da SYSTEM (non da amministratore attenzione, da SYSTEM!!!) ed ugualmente mi ha dato accesso negato, nonostante in tutto il PC non ci sono altri account oltre che User, Guest, Administrator e SYSTEM, ho provato a creare un servizio che al boot cancelli le definizioni di AVG ma senza successo (anche perchè sto servizio a quanto pare non funzionava). Detto ciò (visto che su process monitor ci metterei una vita a capirlo), come fa l'antivirus ad avere privilegi pià elevati dell'account system? Ah già dimenticavo, ho provato anche a cambiare il valore dello start dal regedit ma anche in quel caso senza successo, ho visto però che la chiave appartiene agli account amministratori, ma anche entrando da Administrator (e da SYSTEM) non c'è verso di cambiarla...
 
Se esegui una disinstallazione pulita del software non si rimuove nulla? strano.. quali sono i problemi che ti si presentano?
 
Se esegui una disinstallazione pulita del software non si rimuove nulla? strano.. quali sono i problemi che ti si presentano?
Certo, eseguendo una disinstallazione pulita si rimuove, ma dato che senza disinstallazione è impossibile da rimuovere mi chiedevo come fosse possibile, come fanno a negare l'accesso all'account SYSTEM che è l'account coi privilegi più alti?
 
Certo, eseguendo una disinstallazione pulita si rimuove, ma dato che senza disinstallazione è impossibile da rimuovere mi chiedevo come fosse possibile, come fanno a negare l'accesso all'account SYSTEM che è l'account coi privilegi più alti?
se intendi il taskkilling il fatto è che il processo di AVG ha correlato un servizio giudicato critico (alias non killabile come quelli di sistema) e quindi nemmeno l'admin può chiuderlo
 
se intendi il taskkilling il fatto è che il processo di AVG ha correlato un servizio giudicato critico (alias non killabile come quelli di sistema) e quindi nemmeno l'admin può chiuderlo
Ma in generale anche tra i servizi non puoi cambiare il tipo di start da boot a disabled perchè ti da accesso negato.... Vorrei capire come hanno fatto
 
AVG su macchina virtuale e provare a disabilitarlo
ma prima di arrivare a questo punto, perche non fai una ricerca su come vengono inizializzati i servizi al startup di un SO. per me, windows, quando determina quale eseguibile sta per essere avviato, inizia con cercare nel registry key per un debugger. se trova uno, lo fa partire al posto dell'applicazione. non ho mai provato, ma..IMHO, creando un debugger personalizzato nel registro si evita che l'antivirus parte. quando trovo un po di tempo, faccio una prova. se hai più tempo di giocarci sopra, fammi sapere come va :)
 
ma prima di arrivare a questo punto, perche non fai una ricerca su come vengono inizializzati i servizi al startup di un SO. per me, windows, quando determina quale eseguibile sta per essere avviato, inizia con cercare nel registry key per un debugger. se trova uno, lo fa partire al posto dell'applicazione. non ho mai provato, ma..IMHO, creando un debugger personalizzato nel registro si evita che l'antivirus parte. quando trovo un po di tempo, faccio una prova. se hai più tempo di giocarci sopra, fammi sapere come va :)

Seguendo questo schema trovato al volo su internet dovrei in qualche modo agire a partire dall'OS Loader (O nell'inizializzazione del kernel), in quanto AVG si insidia anche tra i divers non plug and play, poi nell'inizializzazione del Winlogon dove lancia i servizi. A quel che si può dedurre basterebbe far partire il computer in Safe Mode, ma la domanda principale è come disattivarlo in un Boot Normale, oltre a come fa ad avere privilegi amministrativi più alti di SYSTEM nonostante il gruppo Administrators ne sia propietario, o comunque come fa a non far modificare ne le chiavi di registro che riguardano il boot ne le impostazioni di boot dei suoi servizi nemmeno dall'account SYSTEM. L'unica cosa che ti fa fare è disinstallare i drivers, ma pare che ci sia qualche processo che controlli la loro presenza e li reinstalli ogni volta...

P.S. Ora come ora sto facendo dei test con AVG in macchina virtuale, ma penso che tutti gli antivirus funzionino così, comunque per quanto il debugger dove lo dovrei andare a creare? Non mi sono mai cimentato in queste cose e pensavo fosse un po' più facile di quanto lo è realmente. Se riesci a trovare qualche soluzione fammi sapere che sono veramente curioso



1538.WindowsBootProcess.png
 
dai vari giochi con i antivirus, ho solo provato a bloccarli e non a evitarli. però, purtoppo non si trovano i source code di nessuno in giro(solo qualche dump di 10 anni fa), l'unico a farli pubblici e clam, che e uno schifo. sono riuscito una volta a creare un disk space DOS sfruttando il metodo del motore dell'av di decomprimere i files. siccome tutti usano metodi fissi di calcolo e si basano sul valore letto sui vari file per allocare spazio su disco quando li decomprimono(spazio che viene occupato in /local settings/temp/AV.tmp), basta creare un file ARJ con valori cambiati. poi aspetti che il file viene verificato da AV. pure se e off, la maggior parte hanno il scan a tempo. quindi prima o poi lo becchi con i pantaloni giu uguale :)
 
dai vari giochi con i antivirus, ho solo provato a bloccarli e non a evitarli. però, purtoppo non si trovano i source code di nessuno in giro(solo qualche dump di 10 anni fa), l'unico a farli pubblici e clam, che e uno schifo. sono riuscito una volta a creare un disk space DOS sfruttando il metodo del motore dell'av di decomprimere i files. siccome tutti usano metodi fissi di calcolo e si basano sul valore letto sui vari file per allocare spazio su disco quando li decomprimono(spazio che viene occupato in /local settings/temp/AV.tmp), basta creare un file ARJ con valori cambiati. poi aspetti che il file viene verificato da AV. pure se e off, la maggior parte hanno il scan a tempo. quindi prima o poi lo becchi con i pantaloni giu uguale :)
Se quando hai tempo hai voglia di cimentarti nell'opera fammi sapere come va, visto che non ho molto tempo libero da dedicargli. In ogni caso per il debugger che dicevi come dovrei fare? Come ho già detto non ho mai provato a fare una cosa del genere e se ci riuscissi mi gaserei non poco ahahah
 
come detto sopra, cerco di prenderlo come bersaglio, non come nemico/amico. IMHO, stai sbagliando approccio.
per il debugger che dicevi come dovrei fare?
viene usato da chi crea malware da anni.. diamo la dritta a tutti? o la vuoi in PM?
 
come detto sopra, cerco di prenderlo come bersaglio, non come nemico/amico. IMHO, stai sbagliando approccio.

viene usato da chi crea malware da anni.. diamo la dritta a tutti? o la vuoi in PM?
Passamela in PM, in caso poi se riesco nella mia impresa quando ho tempo documento tutto in un thread, per caso sai anche come fa l'antivirus ad installarsi con questi permessi? Sarebbe curioso buttare giù un PoC (proof of concept) di un servizio/driver/processo che non puoi chiudere o modificare in alcun modo
 
Passamela in PM, in caso poi se riesco nella mia impresa quando ho tempo documento tutto in un thread, per caso sai anche come fa l'antivirus ad installarsi con questi permessi? Sarebbe curioso buttare giù un PoC (proof of concept) di un servizio/driver/processo che non puoi chiudere o modificare in alcun modo

Come mai non vuoi far rendere pubblica una risorsa che potrebbe risultare interessante a molti?


Inviato dal mio iPhone utilizzando Tapatalk
 
Come mai non vuoi far rendere pubblica una risorsa che potrebbe risultare interessante a molti?


Inviato dal mio iPhone utilizzando Tapatalk
A me non cambia molto sinceramente, vorrei solo evitare di dare la "pappa pronta" a chi non se la merita, penso che sarà bob a scegliere se renderla pubblica o meno, mi cambia poco come ho detto :)
 
il fatto e che non stiamo parlando di un 0day, ma di una cosa pubblica da anni. basta uscire dalla "bolla" inforge, hackforums, google e youtube, quindi di tutorial su cose già fatte da altri che noi cerchiamo di replicare
sai anche come fa l'antivirus ad installarsi con questi permessi?
il fattore umano. l'80% pensa che e più al sicuro se ha un antivirus, invece di pensare ad un SO più sicuro, o un ultimo patch su un programa. quindi nel momento in cui installi un av, questo prende controllo e ha piu permessi del utente. come per ogni cosa che si scarica, che si firma, quasi nessuno legge i ToS. mai provato a leggerli? poi come detto prima, i codici non sono pubblici, quindi e difficile di capire il funzionamento, se non hai proprio TANTO tempo libero per fare reverse sul codice . quindi ti rimangono poche opzioni. prima sarebbe di verificare l'access control list (click destra sul servizio->security) per vedere chi ha dei privilegi e quali sono. poi.. sarebbe da verificare la vulnerabilità di ogni servizio del av con sc.exe. per esempio
Codice:
C:\sc config "servizio" binpath= G:\virus\virus.exe
dove il "servizio" e un servizio del av e binpath e un file binario con dentro un virus, rootkit, quello che ti pare. se ti da errore, cambia approccio. se no, stai per lanciare un percorso binario con privilegi elevati quanto l'av stesso :)
in quanto il discorso del debugger, basta andare sul editore di registro e nel image file execution options, crei una nuova chiave .exe con un nuovo string value proprio con nome "Debbuger" e con valore "iltuoav.exe"
scusate la lunghezza del post ma.. su certi argomenti tocca scrivere un Ebook :)
 
La cosa è abbastanza complicata, ma per essere concisi diciamo che il trucco sta nei driver in genere tutti gli antivirus installano 2 o più driver questi driver aggiscono a livello di kernel e vengono usati per proteggere Directory/Registri e processi, sono in grado di prevenire la chiusura di servizi.
Si possono disinstallare i driver? si ma all'interno del loro codice hanno una sorta di whitelist di applicazioni con cui possono comunicare e prendere ordini (tra cui l'uninstaller) in genere il controllo si fa sulla firma dell'antivirus che non può essere contraffatta.
Ci sono vari tipi di driver uno dei più importanti è il minifilter che è anche quello che si occupa della scansione a livello di file...
Vabbe c'è tanto da dire sui drivers di windows ma so le 3 :D
comunque è tutto li il segreto.
 
Stato
Discussione chiusa ad ulteriori risposte.