なんと自宅のサーバに侵入されてしまった。
毎朝届くはずのシステムレポートのメールが届かないので確認するとsendmailのプロセスが落ちていた。messagesを確認すると、他にもいくつかのプロセスがメモリのアロケートに失敗して落ちていた。
何が原因でメモリ不足になったんだろうとエラー周辺のログを確認すると、なんと使ってないはずのアユーザカウントでログインした形跡があるじゃないですか! しかもご丁寧にパスワードの変更までしていやがる。
Jan 11 04:56:44 smilemark sshd(pam_unix)[17174]: session opened for user mah by (uid=506)
. . . . . .
Jan 11 06:01:39 smilemark passwd(pam_unix)[18333]: password changed for mah
このmahというアカウント、かなり昔に必要があって作ったのだけど、使わなくなってからずっとそのままになっていた。パスワードなんて何を設定したのかすら覚えていない。もちろんメモもしていないし他人にも教えてない。ちなみにセッション元はaol.comだ。
しばしばSSHブルートフォース(SSHパスワード総あたりアタック)も受けるが、このログインの時間の近傍にはSSHブルートフォースはない。突然、さも当たり前のようにsshでログインしてきている。
しかも、ざっとログを見た感じではこれまでmahというアカウント名でのSSHブルートフォースは受けていないようだ。何をきっかけにこのアカウントの存在とパスワードを知ったのだろう。気味が悪い。
ログイン後、しばらくメモリの使用量と負荷が著しく上がるのがログに残っている。ネットワークトラフィックは目に見えた上昇はないようだ。sendmailを通したメールの送信はないようだけど、直接発信していたら分からない。
いったいサーバ上で何を行ったんだろうか、何か痕跡がないのか調べてみると、/tmpや/var/tmpに痕跡が残っていた。
/tmpの下にはやたら長いAだけで作られたフォルダが2つとUIDをごまかすつもりだっただろうgetuid.cとそれをコンパイルしたらしいシェアードライブラリファイルがあった。
drwxr-xr-x 3 506 507 4096 1月 11 06:01 AAAA . . . . . AAAA/
drwxr-xr-x 3 506 507 4096 1月 11 06:01 AAAA . . . . . AAAAA/
-rw-r--r-- 1 506 507 24 1月 11 06:00 getuid.c
-rwxr-xr-x 1 506 507 6922 1月 11 06:00 getuid.so*
Aでできたとても長い名前のフォルダは何重にもフォルダを重ねた後、take_me.plなどというperlファイルがあった。調べてみると、どうやらsuidperlの脆弱性を利用するものらしい。これらで何かが行えたのかどうかは分からない。
/var/tmp/の下にlocalフォルダが作成されていた、そこには以下の6つのexecutableが置かれていた。これらが何を行う物なのかは不明だ。
-rwxr-xr-x 1 506 507 6182 7月 16 03:53 local*
-rwxr-xr-x 1 506 507 26595 7月 16 03:53 local1*
-rwxr-xr-x 1 506 507 1344 7月 16 03:53 local2*
-rwxr-xr-x 1 506 507 7100 7月 16 03:54 local3*
-rwxr-xr-x 1 506 507 8777 7月 16 03:55 local4*
-rwxr-xr-x 1 506 507 8073 7月 16 03:56 local5*
アカウントは削除して、念のために再起動を行って、不明なプロセスなどが動いていない事を確認して今に至ります。
侵入を受けた経験は初めてじゃないですが、今回のように侵入の手口が分からないとかなり心配になります。再び侵入されないか、何か仕込まれていないか不安です。