minaki scan

Threat wiki / DreamBus

DreamBus

DreamBus is a botnet built from shell scripts and Linux programs that mines the cryptocurrency Monero with the XMRig miner.

Tested on a planted test copy, not a real sample. Minaki Scan's removal was tested on an isolated test machine where a harmless stand-in played the malware. That proves the removal works on the signs listed here; it was not run against the real malware.

What it is
Crypto miner, Botnet
Goes after
Linux servers running enterprise software such as Redis, PostgreSQL, Hadoop YARN, Apache Spark, HashiCorp Consul and SaltStack
Verdict
Can be removed with care
Testing
Tested on a planted test copy, not a real sample
Minaki Scan
Finds it and removes it after you type yes
Caught by our sensors
Not yet
Last reviewed
15 Oct 2026

What it is

DreamBus is a botnet built from shell scripts and Linux programs that mines the cryptocurrency Monero with the XMRig miner. It goes after servers running business software such as Redis, PostgreSQL, Hadoop YARN, Apache Spark, HashiCorp Consul and SaltStack. It keeps itself running with scheduled task files in /etc/cron.d and a script called systemd-service.sh, and leaves files in /tmp/.X11-unix and /tmp/.salted. Several of its names copy real system names to blend in.

How it gets in

Through server software left open with no password or a weak one, such as Redis, or databases with weak passwords.

Close the door: Require authentication with strong, unique passwords on Redis, PostgreSQL and other server software, and do not expose these services to untrusted networks. Aqua's example incident involved a database with a trivially weak password.

How to tell if you have it

Signs published for this threat. One sign alone proves little: names get reused, and newer versions change them. Look for several together.

KindSign
File location/opt/systemd-service.sh
File location/tmp/.X11-unix/sshd
File location/tmp/.X11-unix/01
File location/tmp/.X11-unix/22
File location/tmp/.salted/
File location/tmp/.systemd-salt
File name.systemd-service.sh
File namesystemd-service.sh
File name0systemd-service
Process nametracepath
Scheduled task line/etc/cron.d/0systemd-service
Scheduled task line/etc/cron.d/systemdd
Scheduled task line/etc/cron.d/tmp00

These commands only look. They change nothing.

Look for the known file locations

sudo ls -la /opt/systemd-service.sh /tmp/.X11-unix/01 /tmp/.X11-unix/22 /tmp/.X11-unix/sshd /tmp/.salted/ /tmp/.systemd-salt 2>/dev/null

Search for the known file names (slow on big disks)

sudo find / -xdev \( -name '.systemd-service.sh' -o -name 'systemd-service.sh' -o -name '0systemd-service' \) 2>/dev/null

Look for the known process names, and where each one runs from

for p in $(pgrep -f 'tracepath'); do echo "$p $(sudo readlink /proc/$p/exe)"; done

List running programs that live in a temporary folder (real software almost never does)

sudo ls -l /proc/[0-9]*/exe 2>/dev/null | grep -E '/(tmp|var/tmp|dev/shm)/'

Check every scheduled task for the known lines

sudo grep -rnF -e '/etc/cron.d/0systemd-service' -e '/etc/cron.d/systemdd' -e '/etc/cron.d/tmp00' /etc/crontab /etc/cron.d /var/spool/cron 2>/dev/null

Fingerprint a suspect file and compare it with the list below

sudo sha256sum /path/to/suspect-file

Known file fingerprints (SHA-256). A match identifies that exact file; newer builds differ.

e78fc101133d1803cd462b68058c5c238f56b1fe9416e5997cfe7d44947092a2 2556c8cedd6f0ff7d16be9093bbfd0e86ede3e47fab13dfeb8d3964f10b18ea4 0e726a4fff8efeff3fdd127bed6ed28d5f51ff2c4f1e40a267984f7edae8e7d3 636accbee3f2163945886fa8f68c74449eb3d54769a1747728197e7804339b91 f0ded99a521dc8be2b331fe7cdfff56d428ba3a4882d25eac9b7f7b9cefeea3d 33b0b3649faa07f9b62727f24a09ee5edc6b0ffc00e1a57633166abf7783fc7b aa38ca6252eee5c7a2cb51a7a2fe8b2660145ca5717f462ca83248bec5929608 378253939be1eded3fc70c70d8d8471b90e4a8da917bc2ed412175e906555673 71efa6b7dafc8c6af2aa5579f0358161308c56a3a6c3b947f53410415675e261 8f82943f33ab4dd5979b7654d0402e256334c96d962d13de1bddebb9bc54f994 030c5dec24dc8fafff71dc4f0b68ef80b23bd1a276cd76c9530e26ac1e273412

How sure these signs are: Every sign here comes from one analysis published in January 2021; a 2025 article added nothing new, so newer builds may differ. systemd-service.sh is named to look like part of systemd, and tracepath is a real network tool: only a tracepath running from somewhere like /tmp, or with a fingerprint that doesn't match the real one, is a sign. /tmp/.X11-unix is a normal system folder; only unexpected files inside it, such as sshd, 01 or 22, are a sign. The fingerprints identify the 2021 parts only.

How to remove it by hand

Work through these in order. Don't skip the first two.

  1. Cut the server off from the internet, but keep a way to log in, such as your hosting provider's web console. Save evidence first: the process list with where each process runs from and when it started, the matched files and their SHA-256 fingerprints, every crontab and the files in /etc/cron.d, and the settings of the server software it got into (for Redis, its dir and dbfilename settings).
  2. Find its processes by where they run from, not by name: for each suspect process number, run sudo readlink /proc/NUMBER/exe. A program in /tmp/.X11-unix or /tmp/.salted, or a file that matches a fingerprint above, is confirmed. Stop it with sudo kill NUMBER, and use kill -9 only if that doesn't work. Never stop a process only because it is called tracepath.
  3. Open /etc/cron.d/0systemd-service, /etc/cron.d/systemdd and /etc/cron.d/tmp00. Delete each one only if every line in it runs one of the files named on this page; otherwise remove just those lines. In other crontabs, remove only lines that point at those files.
  4. Move the confirmed files into a folder only root can read: /opt/systemd-service.sh, .systemd-service.sh in each home folder, /tmp/.X11-unix/sshd, /tmp/.X11-unix/01, /tmp/.X11-unix/22, /tmp/.systemd-salt and the matched files inside /tmp/.salted. Keep their fingerprints, then delete the originals. Never delete the /tmp/.X11-unix folder itself.
  5. Run the checks above again. Then restart the server and check once more. Nothing should come back.
  6. If the server software it got into ran as root, or you can't confirm what changed, rebuild from a fresh install and restore only data you've checked.
  7. From a clean computer, change the password of the server software it got into (for example Redis or the database), plus any SSH keys and tokens on the server, and cancel the old ones. Before you reconnect, require a strong, unique password on Redis, PostgreSQL and similar software, and keep them off untrusted networks.

These steps are provided as-is, without warranty. Run them at your own risk, and back up first. If you're unsure, rebuild from a known-good install.

What Minaki Scan does about it

Minaki Scan finds this threat by the fingerprints of its files and processes and removes it, but only after you type yes. It backs up what it changes and logs every change on your server.

Minaki Scan checks your server for this and every other threat in this wiki, explains each finding in plain English, and never changes anything without your OK. $1 per server a month. Downloads open soon.

Sources

This page is written by MinakiLabs in our own words. The facts above come from this published research; credit and thanks to its authors.