Vinnaren i pepparkakshustävlingen!
2014-03-30, 18:23
  #1
Medlem
escape.s avatar
Man läser ibland nyheter om virus/rootkits/malware som använder metoder för att kringgå sandlådor eller dylikt och tycker detta är kukspännande!

Googlat en del och hittar fan inte så mycket information om detta mer i detalj. Vilka metoder finns det och vilka detektioner kan hostmiljön använda? Kan ni lista AVANCERADE metoder för både detektering av säker miljö samt trix för att lura den skadliga koden?

Jag ska skriva en jävla uppsats om ni nu fucking undrar.

/PDIF
Citera
2014-03-30, 21:43
  #2
Medlem
.Chloes avatar
Det är inte lite du frågar efter först och främst. Det finns mängder med metoder för att komma förbi en sandlåda och det finns en del sätt att hitta aktivitet som tyder på detta.

På blackhat så hade något gäng analyserat över 4 miljoner malwares och 88% hade någon form utan Anti-reversing metod. Så det är helt klart vanligt att använda anti-* metoder.

En sandlåda finns till för att skadlig kod inte ska påverka utomstående miljö och termen för att kolla om någon typ av sandlåda finns heter enviroment checks. Det finns 3 miljöer:
1) virtuell miljö(vmware, vbox)
2) sandlåda(sandboxie, cuckoo, wine)
3) debugger(olly, windbg)

VM
Kolla om virtuella skärmar används.
Kolla efter vboxmouse.sys och vmmouse.sys
Kolla om Guest Additions finns(vbox)
Kolla BIOS i regedit(kommer ange den virtuella miljöns BIOS)(QEMU?)
Kolla efter SCSI-diskar(QEMU)
XEN?

Sandbox
wine_get_unix_file_name
sbiedll.dll (sandboxie)
Musaktivitet(t.ex om musen rör på sig eller inte)
Kolla om RDP används

Debugger
IsDebuggerPresent()
OutputDebuggerString()
Kolla hur snabbt programmet körs(GetTickCount())

Det finns malware som fokuserar mer på specifika miljöer, t.ex cuckoo eller BSA(SB). Sen finns det malware som sover en riktigt lång stund eller körs igång efter en reboot.

Lite kul det där med malware och deras koll efter VM's. Rapid7 skapade ett program som gjorde att din dator angav att den är en VM vilket stoppar hela 88% av alla malwares. Vaccation tror jag det heter, aldrig testat så vet ej..

För att lura den skadliga koden så får du patcha ovanstående. Olly har plugins för att hooka IsDebuggerPresent(). BSA har automatiska musrörelser och förmågan att gömma SB från pslist. Cuckoo har lanserat sin patch för virtuella miljöer sedan länge. Installera Guest Additions efter körning av viruset och dumpa minnet via vboxmanage. Använd NULL Padding på statiska filer.

Men helt ärligt, det bästa är att använda en dator och dumpa minnet via PXE och läsa hårddisken efteråt. Visst, det är en plåga, men lycka till att analysera cryptolocker eller ett bootkit i en VM.
__________________
Senast redigerad av .Chloe 2014-03-30 kl. 21:52. Anledning: pafish
Citera
2014-03-31, 19:20
  #3
Medlem
escape.s avatar
Citat:
Ursprungligen postat av .Chloe
2) sandlåda(sandboxie, cuckoo, wine)

Cuckoo är en VM??

Jag fattar inte hur man lurar koden om en enviroment check blir röd. Hur fan kan man säga koden kollade efter en VM men avslutade som vanligt NÄR koden var i en VM? eller va fan?
Citera
2014-03-31, 21:19
  #4
Medlem
.Chloes avatar
Citat:
Ursprungligen postat av escape.
Cuckoo är en VM??
Nej, det räknas som en sandbox.

Citat:
Ursprungligen postat av escape.
Jag fattar inte hur man lurar koden om en enviroment check blir röd. Hur fan kan man säga koden kollade efter en VM men avslutade som vanligt NÄR koden var i en VM? eller va fan?
Oftast så läser sandlådan bara de API-anrop som koden gör och kan dra slutsatsen att den vill nå en fil som vanligtvis tillhör den virtuella miljöns bibliotek men filen i detta fall finns inte, lösningen är att ändra filen och dess namn eller avvisa att filen inte finns. När det handlar om andra metoder för att detektera miljön så får sandlådan erbjuda metoder för detta, t.ex automatiska musrörelser.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback