An investigation into the compromise of an Amazon Net Companies (AWS)-hosted infrastructure has led to the invention of a brand new GNU/Linux rootkit dubbed LinkPro, in line with findings from Synacktiv.
“This backdoor options functionalities counting on the set up of two eBPF [extended Berkeley Packet Filter] modules, on the one hand to hide itself, and alternatively to be remotely activated upon receiving a ‘magic packet,'” safety researcher Théo Letailleur said.
The an infection, per the French cybersecurity firm, concerned the attackers exploiting an uncovered Jenkins server susceptible to CVE-2024-23897 (CVSS rating: 9.8) as the place to begin, following which a malicious Docker Hub picture named “kvlnt/vv” (now eliminated) was deployed on a number of Kubernetes clusters.
The Docker picture consists of a Kali Linux base together with a folder referred to as “app” containing three information –
- begin.sh, a shell script to begin the SSH service and execute the remaining two information
- hyperlink, an open-source program referred to as vnt that acts as a VPN server and supplies proxy capabilities by connecting to vnt.wherewego[.]high:29872, permitting the attacker to connect with the compromised server from anyplace and use it as a proxy to achieve different servers
- app, a Rust-based downloader known as vGet that receives an encrypted VShell payload from an S3 bucket, which then proceeds to speak with its personal command-and-control (C2) server (56.155.98[.]37) over a WebSocket connection
Additionally delivered to the Kubernetes nodes have been two different malware strains, a dropper embedding one other vShell backdoor, and LinkPro, a rootkit written in Golang. The stealthy malware can function in both passive (aka reverse) or lively (aka ahead) mode, relying on its configuration, permitting it to pay attention for instructions from the C2 server solely upon receiving a particular TCP packet or straight provoke contact with the server.
Whereas the ahead mode helps 5 completely different communication protocols, together with HTTP, WebSocket, UDP, TCP, and DNS, the reverse mode solely makes use of the HTTP protocol. The general sequence of occasions unfolds as follows –
- Set up the “Conceal” eBPF module, which incorporates eBPF applications of the Tracepoint and Kretprobe sorts to cover its processes and community exercise
- If the “Conceal” module set up fails, or if it has been disabled, set up the shared library “libld.so” in /and many others/ld.so.preload
- If reverse mode is used, set up the “Knock” eBPF module, which incorporates two eBPF applications of the eXpress Knowledge Path (XDP) and Site visitors Management (TC) sorts to make sure that the C2 communication channel is fired solely upon the receipt of the magic packet
- Obtain persistence by establishing a systemd service
- Execute C2 instructions
- On interruption (SIGHUP, SIGINT, and SIGTERM alerts), uninstall the eBPF modules and delete the modified /and many others/libld.so and restore it again to its unique model
To attain this, LinkPro modifies the “/and many others/ld.so.preload” configuration file to specify the trail of the libld.so shared library embedded inside it with the principle goal of concealing varied artifacts that would reveal the backdoor’s presence.
“Because of the presence of the /and many others/libld.so path in /and many others/ld.so.preload, the libld.so shared library put in by LinkPro is loaded by all applications that require /lib/ld-linux.so14,” Letailleur defined. “This consists of all applications that use shared libraries, akin to glibc.”
“As soon as libld.so is loaded on the execution of a program, for instance /usr/bin/ls, it hooks (earlier than glibc) a number of libc capabilities to switch outcomes that would reveal the presence of LinkPro.”
The magic packet, per Synacktiv, is a TCP packet with a window dimension worth of 54321. As soon as this packet is detected, the Knock module saves the supply IP deal with of the packet and an related expiration date of 1 hour as its worth. This system then retains a watch out for added TCP packets whose supply IP deal with matches that of the already saved IP.
In different phrases, the core performance of LinkPro is to attend for a magic packet to be despatched, after which the risk actor has a one-hour window to ship instructions to a port of their selection. The Knock module can also be designed to switch the incoming TCP packet’s header to interchange the unique vacation spot port with LinkPro’s listening port (2333), and alter the outgoing packet to interchange the supply port (2233) with the unique port.
“The aim of this maneuver is to permit the operator to activate command reception for LinkPro by going by way of any port approved by the front-end firewall,” Synacktiv mentioned. “This additionally makes the correlation between the front-end firewall logs and the community exercise of the compromised host extra advanced.”
The instructions supported by LinkPro embrace executing /bin/bash in a pseudo-terminal, working a shell command, enumerating information and directories, performing file operations, downloading information, and establishing a SOCKS5 proxy tunnel. It is at the moment not identified who’s behind the assault, however it’s suspected that the risk actors are financially motivated.
“For its concealment on the kernel degree, the rootkit makes use of eBPF applications of the tracepoint and kretprobe sorts to intercept the getdents (file hiding) and sys_bpf (hiding its personal BPF applications) system calls. Notably, this method requires a particular kernel configuration (CONFIG_BPF_KPROBE_OVERRIDE),” the corporate mentioned.
“If the latter just isn’t current, LinkPro falls again on another methodology by loading a malicious library through the /and many others/ld.so.preload file to make sure the concealment of its actions in person area.”




