「このサーバですが、ネットワークから切り放せますか?」
「うーん。このサーバは、顧客のウェブ・サーバなんです。それ程重要なデータはないはずですが、会社の公式サーバなので、いきなり止めるわけには...」
「ウェブ・ページの改竄はなかったわけですね。」
「それはないみたいです。」
「とすると、DDoS攻撃が主目的みたいですね。ウェブ・コンテンツのバックアップはありますか?」
「ええ、それはもちろん。」
「では、とりあえずこのまま止めずにできることをやりましょう。」
「あつし君、まず、パケット記録をこのサーバに限定しよう。パスワードの変更はとりあえず中止だ。」
「了解です。」
# tcpdump -w log_file host 203.174.72.56
「パケット記録開始しました。」
「起動しているデーモンをリスト・アップしてくれ。」
「httpd, sendmail, portmap, rpc.statd, rpc.lockd, lpd, xntpd, sshd, identd が起動しています。」
「この中で不要なデーモンはありますか?」
「ああ、そういえば NFS と lpd は使ってません。」
「あつし君、rpc と portmap、lpd を、停止させてくれ。」
# cd /etc/rc.d/init.d
# ./nfslock stop
# ./portmap stop
# ./lpd stop
「デーモンのバージョンを確認しよう。」
rpc.statd のバージョンを確認する。
# rpm -qa | grep nfs
nfs-utils-0.1.6-2
「ちょっと前に、rpc.statd にはセキュリティ・ホールがあったはずだ。 CERT Advisory を確認してくれ。」
「ありました。 CERT Advisory CA-2000-17 Input Validation Problem in rpc.statd です。」
「 RHSA-2000-043-03 が出ていますね。nfs-utils-0.1.9.1-1 にバージョン・アップしなければいけないとあります。」
「これか!」
「ログを確認しよう。」
# cd /var/log
# grep rpc messages*
messages:Dec 1 16:49:22 crack rpc.statd[359]: Caught signal 15, un-registering
and exiting.
messages:Dec 1 16:49:22 crack nfslock: rpc.statd shutdown succeeded
messages.2:Nov 15 19:34:51 crack nfslock: rpc.statd shutdown succeeded
messages.2:Nov 15 19:45:04 crack nfslock: rpc.lockd startup succeeded
messages.2:Nov 15 19:45:04 crack nfslock: rpc.statd startup succeeded
「11/15 はマシンを再起動したものですか?」
「ええ、確かに、その日はマシンを再起動しています。」
「ということは、rpc.statd はもともと自動起動するようになっていたと。」
他のデーモンには、知られているセキュリティ・ホールはなかった。
「侵入経路としては、rpc.statd が最有力ですね。」
「たぶん間違いないだろう。」
.
うう、、、漏れは、デムパ君だから。。
xxxdがエージェントなのは見えたのら。。
つい引き込まれちった。。アリガト
「あつし君、次は、ps を再インストールしてくれないか。」
「あっ、ps も変更されてるんですね。」
# ls -l /bin/ps
-rwxr-xr-x 1 root root 39359 Mar 8 2000 /bin/ps
# rpm -Uvh --replacepkgs procps-2.0.6-5.i386.rpm
procps ##################################################
# ls -l /bin/ps
-r-xr-xr-x 1 root root 60080 Mar 8 2000 /bin/ps
「やはり ps も変更されていました。」
「これでプロセスを再確認だ。」
# ps axuw
「あぁ!! lpsched .puta/td という明らかにあやしいプロセスがあります。」
「とりあえずそれは kill して。」
「はい。」
# kill 394
「それにさっきはなかった nscd というデーモンが動いてます。」
「Name Service Cache Daemon だな。使っていますか?」
「いえ、インストールした覚えはありません。」
「nscd も kill して。」
「はい。」
# kill 393
「あれ、kill したはずの lpsched .puta/td がまた立ち上がっています。」
「起動時刻は?」
「あれ、kill したはずなのに古いですね。」
「kill できていないな。-KILLオプションをつけて確実にプロセスを終了させよう。」
「わかりました。」
# kill -KILL 394
# ps axuw | grep lpsched
「今度こそ、kill しました。」
「ok。では、/usr/src/.puta を tar で固めて保存して、 /usr/src/.puta は削除しよう。」
# cd /usr/src
# tar zcvf puta.tar.gz .puta
# rm -rf .puta
「じゃ、nscd を strings して何かわからないか見てみよう。」
# strings /usr/sbin/nscd | less
「/usr/info/.t0rn/shcf という文字列があります。」
「そのファイルがあるか確認して。」
# ls -l /usr/info/.t0rn/
-rwxr-xr-x 1 root root 498 Feb 6 2000 shcf
-rwxr-xr-x 1 root root 524 Mar 13 2000 shhk
-rwxr-xr-x 1 root root 328 Mar 13 2000 shhk.pub
-rwxr-xr-x 1 root root 512 Nov 30 08:45 shrs
「ありました。これは、sshd の設定と鍵のようですね。shcf には、 Port 47017 とあります。」
「バックドアだな。」
「あつし君、この RedHatサーバを nmap でポート・スキャンしておこう。君のノートから、全ポートをスキャンしてくれないか。」
「わかりました。」
# nmap -sS -p 1-65535 203.174.72.56
Starting nmap V. 2.53 by
[email protected] ( www.insecure.org/nmap/ )
Interesting ports on crack.hoge.jp (203.174.72.56):
(The 65531 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
25/tcp open smtp
80/tcp open http
113/tcp open auth
Nmap run completed -- 1 IP address (1 host up) scanned in 50 seconds
「必要なサーバのポート以外は、空いてないですね。」
32 :
名無しさん@お腹いっぱい。:01/12/11 23:30
続きは?
ライセンスGPLなら、、漏れが引き継ぐか。。。
戻ってくるかな。。。>31
34 :
名無しさん@お腹いっぱい。:01/12/12 05:07
なるほど
面白いね。
続きは明日かな?
やっとこのクラッキングの全体が見えた。
rpc.statd のセキュリティ・ホールを突いて、クラッカーがサーバに侵入。
DDoS攻撃ツール/バックドア用sshd をインストールして、侵入の記録を全て削除。
侵入がばれないようにまた、攻撃ツールが発見されないように一部のプログラムを置き換えた。
あとは、リモートから、DDoS攻撃プログラムに命令を送り
指定したサーバを自由自在に DDoS攻撃していたということである。
とるべき対応は、念のためデータをすべてバックアップして
OS からインストールし直す。 OS のアップデートをすべて適用して
不要なデーモンを起動しないように設定する。
必要なサーバの最新版をインストールして、データをリストア。
データを過去のバックアップ・データと比較して改竄されていないことを確認。
変更されたものがあれば過去のバックアップ・データをリストア。
他のサーバについて、セキュリティ・ホールのある rpc.statd が動作していないことを確認。
また、不要なデーモンが起動していないこととデーモンのバージョンを確認し
セキュリティ・ホールが知られていないことを確認である。
「OS からの再インストールをした方がいいですね。」
「ええ、全くお恥ずかしい話です。」
その後の調査で、
/usr/bin/du
/usr/bin/find
/sbin/ifconfig
/usr/sbin/in.fingerd
/bin/login
/bin/netstat
/usr/bin/top
も全て変更されていたことが判明した。また、 /etc/rc.d/rc.sysinit に
# Name Server Cache Daemon..
/usr/sbin/nscd -q
# td start
/usr/src/.puta/td
と追加されていたことも判明した。
nscd は改造された sshd バージョン1 であり、サーバのポート47017
を待ち受けすることも確認された。
むろん、このポート番号は設定ファイルで自由に変更可能である。
また、このセキュリティ・ホールがあったのは、
今回クラックされたサーバただ 1台であることが判明し
侵入経路は rpc.statd であると結論された。
「あつし君、あとは外部対応だ。DDoS攻撃の犯人を見付けるのはまず無理だが
踏み台になっているサーバくらいは発見できるだろう。」
「まず、stacheldraht は、DDoS攻撃開始を指示するため ICMP echo reply を使っているから
ICMP echo reply パケットが飛んで来たサーバは、クラックされたものだろう。」
「それから、ポート47017 へアクセスしようしたマシンがあれば
クラッカーがバックドアを使ってサーバに再度侵入しようとしたことになる。」
「あと、 JPCERT と IPA にも情報提供をしておこう。」
「わかりました。」
幸、サーバ上のデータに改竄されたものはなかった。
また、ICMP echo reply とポート47017 へのアクセスは
その後のパケット記録に記録されたので、各々のサーバ/ネットワーク管理者へ
クラックされている可能性が高いというメールを送った。
「S師匠、今回のクラッキングですが、終ってみれば、典型的なクラッキングでしたね。」
「ああ、でもサーバへの不正侵入のほとんどはそんなものだよ。
見つかっていないセキュリティ・ホールを利用したものなど滅多にお目にかかるものじゃない。」
「よくいわれていることですが、
不要なデーモンは起動するな
アップデートはすべて当てろ
このふたつをきちんとやっておけば、問題ないってことですね。」
「まあ、ユーザのパスワードが破られないならば。」
「それに、以前は、運が良ければクラックされなかったが
今は、穴があれば必ずそのサーバがやられる。
今回も 26台ある Linuxサーバの内でやられたのは、穴があったその 1台だ。」
この程度の内容ですが
普通に理解できる方、または、実行できる方は
間違い無く普通ではない事を確認しましょう。
ま、普通はこんなの読む気もしませんね。
42 :
名無しさん@お腹いっぱい。:01/12/13 21:03
良かった。
オイラは普通みたいだ。
>>41 イヤイヤ、面白かったぢょ。
思はづ自分でも検索掛けたら。。犬も歩けば棒だった(w
>43
あー、いや、
DDoSえーぢぇんと有ったという訳ではない(w
Cuckoo's eggを彷彿とさせる話だけど、ある意味基本なんだよな・・
ともあれ面白かった〜
46 :
名無しさん@お腹いっぱい。:01/12/13 22:07
名スレだ
で、あつし君は受けですか?
S師匠×あつし;;´Д`)ハァハァ
あ、このスレいつの間にか完結してたのか、面白かったよ。
1なんだけどさぁ
実は他のスレにレスつけるつもりが何を間違ったのか立てちゃったんだよなぁ
ごめんよホント
正直すまなかったよ
正直すまんかった。
思いっきりコピペだな つまらん >3.3.3.3
53 :
名無しさん@お腹いっぱい。:02/02/08 02:17
>>16 inet addr:203.174.72.56 Bcast:203.174.72.255 Mask:255.255.255.0
Search results for '203.174.72.56'
inetnum 203.174.72.0 - 203.174.72.255
netname DH-AD4PORTAL
descr Banner Distribution Service
country JP
admin-c NY16-AP, inverse
tech-c NY16-AP, inverse
mnt-by MAINT-JP-EDGE-JP, inverse
changed
[email protected] 20010130
source APNIC
Tripwire入れなされ。
インターネット=ソープランドのマンコ
パソコン=チンコ
1、これでもナマでやりますか?
57 :
名無しさん@お腹いっぱい。:02/02/11 12:29
>>56 実IPさらしていいのかよ? っていうことでは?
whoisによると3.3.3.3の話は edge.co.jp で発生した事件と言うことだな。
ああ、自分のすれがまだあるってのもうれしいもんだ
ごめんよ
しょうじきすまんかった
保守
保守ほっしゅ♪
保守
(^^)
(^^)
test
test
おかりします。。。
ちゃんと返してね。