# 2014年2月に発生した lilo.linux.or.jp への不正アクセスについて 2014-3-15 文責:たなかとしひさ ## 経緯 2014-2-8 に,海外から lilo.linux.or.jp への不正アクセスがありました. それにより,lilo.linux.or.jp にて,sshd を含むいくつかの実行プログラムの改ざんと, 意図しないソフトウェア(minerd)が動作していることが見つかりました. 2014-3-15 時点で復旧及び対策を行いました.以下のとおりお知らせします. ## 不正アクセスにより実行されていたソフトウェア(発見日:2014-3-9) minerd と言うソフトウェアが実行されていました. ``` tosihisa@chiyoko:~$ ps auxwww | grep minerd root 788 292 0.1 196536 2568 ? Ssl Feb23 59379:06 ./minerd -B --url=stratum+tcp://hot.wemineltc.com:3335 -u madiceman.sclav6 -p=1 tosihisa 2012 0.0 0.0 6304 600 pts/1 R+ 22:04 0:00 grep minerd tosihisa@chiyoko:~$ ``` minerd と言うソフトウェアは,ビットコインの仮想コイン発掘?ソフトの様です. (詳細は私もよく分かりません...) ## minerd 実行の経路調査(調査日:2014-3-9) minerd を SIGSTOP で停止させて,minerd の pid が 788 でしたので, /proc/788/environ を確認すると, SSH_CLIENT=90.180.173.93 とありました. ``` $ host 90.180.173.93 93.173.180.90.in-addr.arpa domain name pointer 93.173.broadband13.iol.cz. ``` 上記のことから,minerd は海外から ssh 経由で lilo.linux.or.jp に送り込まれたものと考えています. また minerd は,http://sourceforge.net/projects/toephank/files/ にあるものと MD5 が一致しました. ## 実行プログラムや設定ファイルの改ざんが判明(発見日:2014-3-9) minerd をどうやって lilo.linux.or.jp にコピーしたのか,その経路を調査していると, 以下のソフトウェアが改ざんされている事が分かりました. * chattr * ssh,sshd と,その設定ファイル. ``` root@chiyoko:/proc/6934# ls -al /usr/bin/ssh* -rwxr-xr-x 1 root root 1044120 Feb 8 04:45 /usr/bin/ssh <= 普通はここだが,日付がおかしい. -rwxr-xr-x 1 root root 150328 Feb 9 2013 /usr/bin/ssh-add -rwxr-sr-x 1 root ssh 129088 Feb 9 2013 /usr/bin/ssh-agent -rwxr-xr-x 1 root root 1452 Feb 9 2013 /usr/bin/ssh-argv0 -rwxr-xr-x 1 root root 1489 Feb 9 2013 /usr/bin/ssh-copy-id -rwxr-xr-x 1 root root 195416 Feb 9 2013 /usr/bin/ssh-keygen -rwxr-xr-x 1 root root 232872 Feb 9 2013 /usr/bin/ssh-keyscan -rwxr-xr-x 1 root root 133944 Feb 9 2013 /usr/bin/ssh-vulnkey root@chiyoko:/proc/6934# ls -al /usr/sbin/ssh* -rwxr-xr-x 1 root root 1044120 Feb 8 04:44 /usr/sbin/ssh <= 普通ここにはない. -rwxr-xr-x 1 root root 1399031 Feb 8 04:44 /usr/sbin/sshd <= strip されていない. root@chiyoko:/proc/6934# ``` ### 改ざんされた実行プログラムや設定ファイルの復旧 1. lilo.linux.or.jp の ssh と sshd は chattr +i +a されていました.つまり改ざんソフト以外の ssh ,sshdに改変できなくなっていました. 2. さらに chattr も改ざんされているので,chattr を使用して sshd の +i と +a が外せない状態になっていました.改ざんされた chattr コマンド自身も変更禁止となっていました. 3. (2014-3-9作業) chattr コマンドが使えませんので,apt-get で sash をインストールし,sash 内蔵の -chattr コマンドを使用して,chattr と ssh と sshd に対して -i -a しました. 4. (2014-3-9作業) apt-get で openssh-server openssh-client 入れなおし,ssh を復旧しました. 5. (2014-3-10作業) debsums -c を実行して,debian パッケージ基準で改ざんされたものの有無を確認しました. 6. (2014-3-10作業) sudo apt-get --reinstall install e2fsprogs で chattr を復旧しました. 7. (2014-3-10作業) find / -executable -type f -exec md5sum {} \; > executable_md5sum.lst を実行し,同じアーキテクチャの別の debian でテストし,実行形式ファイルの改ざんがないことを確認しました. 8. (2014-3-11作業) ssh の設定ファイルは,etckeeper から戻す差分を作成して戻しました. ## 不正アクセスの経路調査 lilo.linux.or.jp は,Logwatch を導入していたので,1日に1回,ログ集計結果が lilo-adm 宛に届きます. それに基いて調べると,2月8日に netfort.gr.jp ホストの1台から,私のアカウントでログインしている記録がありました. しかし私は2月8日にはログインしておらず,加えてこの netfort.gr.jp ホストからも,同じく minerd が不正アクセスで稼働していた事がありましたので, netfort.gr.jp => lilo.linux.or.jp 経由で,私のアカウントで不正アクセスされたと考えています. lilo.linux.or.jp は sudo で保守していたので,sudo がそのまま使われたと考えています. ## 対策 上記の結果をふまえて,以下の対策を行いました. 1. sudo は使えないようにして,su を使うようにしました. 2. 以下のソフトもインストールして,cron で毎日チェックするようにしました. chkrootkit,hkhunter 3. denyhosts をインストールして,sshd の総当り攻撃がくり返し行われるIPアドレスからの接続は弾くようにしました. 4. pam_exec を利用して,pam でのセッション開始時(sshd でログインした場合や su で root になった場合)は,アクセスユーザと lilo-adm 宛にアラートメールを送るようにしました. # 終わりに 「甘かった」と痛感しています. ご迷惑をおかけしました.お詫び申し上げます.