unveiling wolfsbane-sperka2024

0001-01-01

Unveiling WolfsBane: Gelsemium’s Linux counterpart to Gelsevirine

ESET researchers analyzed previously unknown Linux backdoors that are connected to known Windows malware used by the China-aligned Gelsemium group, and to Project Wood

by Viktor Sperka

November 21, 2024 ESET WeLiveSecurity

https://www.welivesecurity.com/en/eset-research/unveiling-wolfsbane-gelsemiums-linux-counterpart-to-gelsevirine/

Notes
ESET
security research
Linux malware
backdoor
WolfsBane
Gelsemium
APT
China
FireWood
VirusTotal
Windows
Project Wood
cyberespionage
system information
credential harvesting
persistence
remote command execution
intelligence gathering
detection evasion
EDR
APT groups focusing on Linux due to improvements in email filtering and Windows EDR
Microsoft
Visual Basic Application (VBA)
Microsoft disabling VBA macros by default
internet-facing
dropper
Operation TooHash
web shell
web shell based on publicly available code
Taiwan
VirusTotal uploaded from Taiwan, Philippines
incident response
Eastern Asia
Middle East
launcher
attribution
malware family
rootkit
typos as attribution: seesion
create_session
exported symbol
command and control
hashes
pluginkey
controller_version
domain usage as attribution: dsdsei[.]com
IoC
naming conventions as attribution
file extensions as attribution
TEA encryption algorithm
algorithms as attribution
XOR
XOR key as attribution: 0x26
C2 communication strings as attribution
code reuse as attribution
Apache Tomcat
Java
initial access
TTP
AntSword JSP webshell
icesword webshell
obfuscation
process masquerading (cron)
hidden directory $HOME/.Xl1 (lowercase L instead of numeric ‘1’)
X Window System
cron daemon
root user
malware checking for software: systemd
systemd service unit: /lib/systemd/system/display-managerd.service
ExecStart
SELinux
malware disabling SELinux: change SELINUX entry from “enforcing” to “disabled”
bash script
rc script persistence: S60dlump
unprivileged user
Debian
.bashrc/.profile persistence: home/www.profile.sh 2>/dev/null
WolfsBane Hider rootkit: /usr/lib/libselinux.so
LD_PRELOAD, /etc/ld.so.preload
process masquerading: kde
main_session export
WolfsBane backdoor: udevd filename
libMainPlugin.so (similar to MainPlugin.dll in Windows version)
libUdp.so, libHttps.so – embedded network libraries for malware
create_seesion typo
backdoor encrypts libMainPlugin.so using RC4 – key stored as “pluginkey” in configuration
backdoor has update functionality – if a file exists, it is decrypted and loaded instead of libMainPlugin.so
uses modified BEURK userland rootkit
rootkit hooks open, stat, readdir, access, … to hide its presence
rootkit omits network traffic hiding functionality
rootkit hides hard-coded executables udevd and kde
FireWood backdoor: filename dbus
usbdev.ko kernel module rootkit
FireWood communicates with the kernel using Netlink
FireWood config file: kdeinit – XOR encrypted with single byte key 0x26
process masquerading as kernel thread: [scsi_eh_7]
TEA encryption key: 0x072BA1E6
callback scheduling
persistence stored in /.config/autostart/gnome-control.desktop
persistence parses files in .config/autostart with .desktop extensions
c2 command ID
capabilities: download executable and run, execute shell command, reconfigure callback times, hide process, cleanup and exit, list directory contents, exfiltrate files, delete file, rename file, load or unload a LKM, exfiltrate folder, modify timestamp of file, cat file, search for files, …
popen
system function
kernel module
SSH password stealer – replaces /usr/bin/ssh with credential logging to /tmp/zijtkldse.tmp
privilege escalation – ccc filename – sets UID and GID to 0 and executes a program
OpenSSH
base64
HTTP POST
SQL
Unicode
randomized function names
Links
https://www.welivesecurity.com/2021/06/09/gelsemium-when-threat-actors-go-gardening/
BROKEN LINK: https://www.venustech.com.cn/uploads/2018/08/231401512426.pdf
https://web-assets.esetstatic.com/wls/2021/06/eset_gelsemium.pdf
https://www.welivesecurity.com/en/eset-research/nspx30-sophisticated-aitm-enabled-implant-evolving-since-2005/
BROKEN LINK: https://paper.seebug.org/papers/APT/APT_CyberCriminal_Campagin/2014/GDATA_TooHash_CaseStudy_102014_EN_v1.pdf
https://www.virustotal.com/gui/file/3aa8a5afa686e6b21fcc268760ea1f344560607abe9a3edb3f23d14a6032597b
https://github.com/AntSwordProject/AntSword-JSP-Template/blob/master/web/shell.jsp
https://github.com/tennc/webshell/blob/master/jsp/icesword.jsp
https://github.com/unix-thrust/beurk/tree/dev
Samples, IoCs, …
ED5342D9788392C6E854AAEFA655C4D3B4831B6B
dsdsei[.]com
file extensions: .k2, .v2
https://www.virustotal.com/gui/file/3aa8a5afa686e6b21fcc268760ea1f344560607abe9a3edb3f23d14a6032597b
238C8E8EB7A732D85D8A7F7CA40B261D8AE4183D - login.jsp
9F7790524BD759373AB57EE2AAFA6F5D8BCB918A - yy1.jsp
FD601A54BC622C041DF0242662964A7ED31C6B9C - a.jsp
asidomain[.]com
https://github.com/eset/malware-ioc/tree/master/gelsemium
0FEF89711DA11C550D3914DEBC0E663F5D2FB86C - dbus
44947903B2BC760AC2E736B25574BE33BF7AF40B - libselinux.so
0AB53321BB9699D354A032259423175C08FEC1A4 - udevd
8532ECA04C0F58172D80D8A446AE33907D509377 - kde
B2A14E77C96640914399E5F46E1DEC279E7B940F - cron
209C4994A42AF7832F526E09238FB55D5AAB34E5 - ccc
F43D4D46BAE9AD963C2EB05EF43E90AA3A5D88E3 - ssh
72DB8D1E3472150C1BE93B68F53F091AACC2234D F1DF0C5A74C9885CB5934E3EEE5E7D3CF4D291C0 - virus.tgz
B3DFB40336C2F17EC74051844FFAF65DDB874CFC - virus-b.tgz
600C59733444BC8A5F71D41365368F3002465B10 843D6B0054D066845628E2D5DB95201B20E12CD2 CDBBB6617D8937D17A1A9EF12750BEE1CDDF4562 85528EAC10090AE743BCF102B4AE7007B6468255 - CHINA-APT-Trojan.zip
BED9EFB245FAC8CFFF8333AE37AD78CCFB7E2198 - Xl1.zip