The BotenaGo malware starts by initializing global infection counters that will be printed to the screen, informing the hacker about total successful infections.
It then looks for the ‘dlrs’ folder in which to load shell scripts files.
A loaded script will be concatenated as ‘echo -ne %s >> ‘. If the ‘dlrs’ folder is missing, the malware will stop and exit at this point.
For the last and most important preparation, the malware calls the function ‘scannerInitExploits’, which initiates the malware attack surface by mapping all offensive functions with its relevant string that represent the targeted system.
The malware maps each function with a string that represents a potential targeted system – such as a signature.
To deliver its exploit, the malware first queries the target with a simple “GET” request.
It then searches the returned data from the “GET” request with each system signature that was mapped to attack functions.
The string “Server: Boa/0.93.15” is mapped to the function “main_infectFunctionGponFiber,” which attempts to exploit a vulnerable target, allowing the attacker to execute an OS command via a specific web request (CVE-2020-8958)
If we search the string “Server: Boa/0.93.15” in SHODAN, results show almost 2 million potential targets to this attack.
Boa is a discontinued, open-source and small-footprint web server which is mostly suitable for embedded applications.
Let’s look on another example of a signature mapped to an attack function. We searched the string “Basic realm=”Broadband Router”” which is mapped to the function “m_infectFunctionComtrend”.
A search on Shodan returns approximately 250,000 potential devices that could be attacked by this function.
The function exploiting the vulnerability CVE-2020-10173.
In total, the malware initiates 33 exploit functions that are ready to infect potential victims.
The malware can receive commands to target victims in two different ways:
It creates two backdoor ports: 31412 and 19412. On port 19412 it will listen to receive the victim IP. Once a connection with information to that port is received, it will loop through mapped exploit functions and execute them with the given IP.
2. The malware sets a listener to system IO (terminal) user input and can receive a target through it.
For example, if the malware is running locally on a virtual machine, a command can be sent through telnet.
The new BotenaGo malware exploits more than 30 vulnerabilities.
As payload, BotenaGo will execute remote shell commands on devices in which the vulnerability has been successfully exploited. Depending on the infected system, the malware uses different links, each with a different payload.
At time of analysis, all the payloads had been removed from the hosted servers by the attacker(s), and so analysts could not analyze any of them.
BotenaGo does not have any active communication to its C&C, which raises the question: how does it operate? Analysts has a few theories on how the malware is being operated and receives a target to attack.
– The malware is part of a “malware suite” and BotenaGo is only one module of infection in an attack. In this case, there should be another module either operating BotenaGo (by sending targets) or just updating the C&C with a new victim’s IP.
– The links used for the payload on a successful attack imply a connection with Mirai malware. It could be the BotenaGo is a new tool used by Mirai operators on specific machines that are known to them, with the attacker(s) operating the infected end-point with targets.
– This malware is still in beta phase and has been accidently leaked.