Domanda crypter/binder fud e foss per un eseguibile C++ [win64] ?

Ho cercato abbastanza in passato ma non ho mai trovato molte info sulle contromisure per i singoli antivirus, cioè dopo che modifichi abbastanza lo stub c'è praticamente sempre altro da fare per renderlo fud. A parte gli hook usermode (che boh è la prima volta che sento), hai qualche thread o parole chiave che posso cercare su questo argomento? Il posto migliore che ho trovato in passato per approfondirlo è 0x00sec o hackforums ma non c'è molto sull'argomento specifico del rendere fud uno stub. Si parla sempre di variare il codice (che poi non è che si può variare infinite volte, prima o poi finisci le idee per scrivere codice che fa sempre circa la stessa cosa) e poi di testare l'eseguibile su vari antivirus. Non saprei come proseguire una volta che scopro che ci sono ancora alcuni antivirus che lo rilevano.

La parola chiave da cercare è evasion, fare hook user-mode è la tecnica principale usata dall'euristica degli antivirus, chiaramente ognuno la usa in modo diverso e monitora API differenti. Come puoi immaginare è un compito impegnativo e a lungo termine: trovi il bypass, loro aggiornano le loro tecniche, tu ne trovi un altro e così via. Esistono tecniche per non farti trovare per più tempo possibile ma è un lavoro per professionisti del settore in quanto passare sotto i radar per anni è davvero un impresa. Tali tecniche vengono tenute riservate non tanto per gelosia ma perché se diventassero di dominio pubblico gli AV implementerebbero delle contromisure e toccherebbe trovarne altre.
 
Crypter, binder, FUD e FOSS sono parole che non stanno bene nella stessa frase: sta certo che un crypter opensource divenda rilevato dopo un giorno perché arrivano subito quelli che lo usano per camuffare migliaia di malware diversi.

Puoi cercare crypter C++ opensource su google ma come risultati avrai qualche repo github con un runpe scan-time. Se vuoi una protezione seria (dal reversing, non dagli AV) usa packer commerciali come themida o VMP, se ti interessa solo essere undetected prendi uno di quei crypter e modifica lo stub abbastanza da apparire tutt'altro, dopo implementa un binder basilare che magari estrae il file dalle risorse, lo butta in temp e fa ShellExecute. Considera che potrebbe non bastare per essere undetected, in tal caso servono ulteriori contromisure verso gli hook usermode degli antivirus.
 
  • Love
Reazioni: DanyDollaro
Se voglio proteggere un'applicazione dal cracking usando VMP/themda, e questa applicazione ha un modello builder+stub, diventa un po' difficile farlo perchè immagino che il builder abbia problemi a creare una copia modificata dello stub se questo è protetto. In questi casi chi vende software con builder+stub si fa sempre un sistema di protezione custom o è comunque possibile usare software commerciali? Perchè?

Dipende, sia da come opera il builder sia dal packer in questione. VMP e Themida hanno feature anti-tamper, il che significa che una volta protetto, un'eventuale modifica impedirà al programma di partire. Ci sono packer che non hanno questa feature ma potrebbe comunque impedire al builder di funzionare togliendo riferimenti di cui necessita. Di solito chi protegge malware con questi software prima fa la build, poi usa il packer sullo stub già patchato, in questo modo ha molte più probabilità che sia compatibile. Comunque è una minoranza, di solito vengono usati crypter da due soldi senza anti-tamper e in più il builder usa sistemi meno stealth ma più compatibili, come conservare i dati nelle risorse del PE, che vengono mantenute da quasi tutti i packer. Questo è anche il motivo per cui la maggior parte dei builder producono stub che di default non hanno alcuna protezione: sta all'utilizzatore proteggerlo, mettendone una a monte rischi che non sia possibile annidare altre protezioni in contemporanea.

Ricapitolando è possibile anche fare una patch a posteriori della protezione ma è un lavoro delicato e va fatto con criterio, con builder e stub pensati appositamente per questo e con un packer compatibile. Altrimenti va fatto il contrario, prima build e poi protezione.
 
  • Mi piace
Reazioni: fal3na

fal3na

Utente Silver
29 Luglio 2014
13
6
1
53
Ciao, vorrei provare a criptare un eseguibile per windows sviluppato interamente in C++ a 64bit, c'è qualche tool foss che posso usare? Mi interesserebbe che abbia la funzionalità di binding
 
Ho cercato abbastanza in passato ma non ho mai trovato molte info sulle contromisure per i singoli antivirus, cioè dopo che modifichi abbastanza lo stub c'è praticamente sempre altro da fare per renderlo fud. A parte gli hook usermode (che boh è la prima volta che sento), hai qualche thread o parole chiave che posso cercare su questo argomento? Il posto migliore che ho trovato in passato per approfondirlo è 0x00sec o hackforums ma non c'è molto sull'argomento specifico del rendere fud uno stub. Si parla sempre di variare il codice (che poi non è che si può variare infinite volte, prima o poi finisci le idee per scrivere codice che fa sempre circa la stessa cosa) e poi di testare l'eseguibile su vari antivirus. Non saprei come proseguire una volta che scopro che ci sono ancora alcuni antivirus che lo rilevano.
 
Se voglio proteggere un'applicazione dal cracking usando VMP/themda, e questa applicazione ha un modello builder+stub, diventa un po' difficile farlo perchè immagino che il builder abbia problemi a creare una copia modificata dello stub se questo è protetto. In questi casi chi vende software con builder+stub si fa sempre un sistema di protezione custom o è comunque possibile usare software commerciali? Perchè?