Poniżej przedstawiamy kilka technik stosowanych przez to narzędzie. Jest to kod javascript uzyskany po deobfuskacji zawartości zainfekowanej strony www jednego z polskich portali. Techniki te są zaimplementowane w dwóch funkcjach:
xTrueV() związana jest z wykrywaniem środowisk wirtualnych oraz narzędzi do analizy.
xTrueA() ma za zadanie zweryfikować jakie systemy antywirusowe zainstalowane są na infekowanym komputerze.
- Weryfikacja przeglądarki internetowej
return;
}
Już podczas pierwszego odwiedzenia przez użytkownika strony ze złośliwym skryptem weryfikowana jest platforma oraz typ przeglądarki. W zależności do tego użytkownik otrzymuje dalsze skrypty zawierające podatności bądź jest przekierowany na stronę bez malware.
- Następny fragment wykrywa skrypty dynamiczne wykorzystywane przez funkcje narzędzia deweloperskie w Internet Explorer.
Oto zawartość jednego ze skryptów (narzędzie deweloperskich) przeglądarki IE:
- Kolejne sprawdzenie dotyczy następujących bibliotek (ActiveX) firmy Kaspersky:
- Kaspersky.IeVirtualKeyboardPlugin.JavascriptApi
- Kaspersky.IeVirtualKeyboardPlugin.JavascriptApi.1
- Kaspersky.IeVirtualKeyboardPlugin.JavascriptApi.4_5_0.1
- Ostatnia technika polega na weryfikacji czy określony plik znajduje się na lokalnym dysku. Jest to realizowane za pomocą protokołu res:// i funkcji Image().
Zawartość wykorzystywanych funkcji (odkodowywanie i modyfikacja struktury strony w DOM):
function xTrue(s, r) {
var x = new Image();
x.onload = r;
x.src = xText(s); //funkcja buduje ścieżkę do pliku (np. "res://C:\Program Files (x86)\Malwarebytes Anti-Malware\mbamext.dll/#/202"
document.body.appendChild(x);
return 0;
}
function xText(line) {
var result = ""
, array = line.match(/(..)/g);
for (var i = 0; i < array.length; i++) {
result += String.fromCharCode(parseInt(array[i], 32) / 2);
}
return result;
}
Lista plików wykorzystywanych przez xTrueV():
res://C:\Program Files (x86)\Fiddler2\Fiddler.exe/#3/#32512
res://C:\Program Files\Fiddler2\Fiddler.exe/#3/#32512
res://C:\Program Files (x86)\VMware\VMware Tools\TPAutoConnSvc.exe/#2/#26567
res://C:\Program Files\VMware\VMware Tools\TPAutoConnSvc.exe/#2/#26567
res://C:\Program Files (x86)\VMware\VMware Tools\TPAutoConnSvc.exe/#2/#30996
res://C:\Program Files\VMware\VMware Tools\TPAutoConnSvc.exe/#2/#30996
res://C:\Program Files (x86)\Oracle\VirtualBox Guest Additions\uninst.exe/#2/#110
res://C:\Program Files\Oracle\VirtualBox Guest Additions\uninst.exe/#2/#110
res://C:\Program Files (x86)\Parallels\Parallels Tools\Applications\setup_nativelook.exe/#2/#204
res://C:\Program Files\Parallels\Parallels Tools\Applications\setup_nativelook.exe/#2/#204
Lista plików wykorzystywanych przez xTrueA():
res://C:\Program Files (x86)\Malwarebytes Anti-Malware\mbamext.dll/#2/202
res://C:\Program Files\Malwarebytes Anti-Malware\mbamext.dll/#2/202
res://C:\Program Files (x86)\Malwarebytes Anti-Malware\unins000.exe/#2/DISKIMAGE
res://C:\Program Files\Malwarebytes Anti-Malware\unins000.exe/#2/DISKIMAGE
res://C:\Program Files (x86)\Malwarebytes Anti-Exploit\mbae.exe/#2/200
res://C:\Program Files\Malwarebytes Anti-Exploit\mbae.exe/#2/200
res://C:\Program Files (x86)\Malwarebytes Anti-Exploit\mbae.exe/#2/201
res://C:\Program Files\Malwarebytes Anti-Exploit\mbae.exe/#2/201
res://C:\Program Files (x86)\Malwarebytes Anti-Exploit\unins000.exe/#2/DISKIMAGE
res://C:\Program Files\Malwarebytes Anti-Exploit\unins000.exe/#2/DISKIMAGE
res://C:\Program Files (x86)\Trend Micro\Titanium\TmConfig.dll/#2/#30994
res://C:\Program Files\Trend Micro\Titanium\TmConfig.dll/#2/#30994
res://C:\Program Files (x86)\Trend Micro\Titanium\TmSystemChecking.dll/#2/#30994
res://C:\Program Files\Trend Micro\Titanium\TmSystemChecking.dll/#2/#30994
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 6.0 for Windows Workstations\shellex.dll/#2/#102
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 6.0 for Windows Workstations\shellex.dll/#2/#102
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 6.0\shellex.dll/#2/#102
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 6.0\shellex.dll/#2/#102
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 7.0\shellex.dll/#2/#102
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 7.0\shellex.dll/#2/#102
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 2009\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 2009\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 2010\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 2010\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 2011\avzkrnl.dll/#2/BBALL
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 2011\avzkrnl.dll/#2/BBALL
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 2012\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 2012\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 2013\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 2013\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 14.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 14.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 15.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 15.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 15.0.1\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 15.0.1\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Anti-Virus 15.0.2\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Anti-Virus 15.0.2\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 6.0\shellex.dll/#2/#102
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 6.0\shellex.dll/#2/#102
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 7.0\shellex.dll/#2/#102
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 7.0\shellex.dll/#2/#102
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 2009\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 2009\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 2010\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 2010\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 2011\avzkrnl.dll/#2/BBALL
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 2011\avzkrnl.dll/#2/BBALL
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 2012\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 2012\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 2013\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 2013\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 14.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 14.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 15.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 15.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 15.0.1\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 15.0.1\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Internet Security 15.0.2\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Internet Security 15.0.2\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Total Security 14.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Total Security 14.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Total Security 15.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Total Security 15.0.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Total Security 15.0.1\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Total Security 15.0.1\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky Total Security 15.0.2\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky Total Security 15.0.2\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky PURE 2.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky PURE 2.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky PURE 3.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky PURE 3.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky CRYSTAL 3.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky CRYSTAL 3.0\x86\mfc42.dll/#2/#26567
res://C:\Program Files (x86)\\Kaspersky Lab\Kaspersky PURE\mfc42.dll/#2/#26567
res://C:\Program Files\\Kaspersky Lab\Kaspersky PURE\mfc42.dll/#2/#26567
Javascript używany jest też do odszyfrowania innych elementów jak na przykład nazwa hosta czy parametry GET strony, która zawiera kolejne komponenty wykorzystywane w procesie infekcji (np. adres z obiektem Flash wykorzystującym podatność).
Poniżej przykład (na początku funkcji są dane wejściowe, na dole zwracany odkodowany adres serwera):
Szablon związany z podatnością we Flash:
Poniżej gotowy obiekt dla podatności Flash oraz fragment funkcji przygotowującej inny exploit dla przeglądarki Internet Explorer: