
AirDroidアプリを介してリモートでデバイスのすべての情報を盗むのに理想的なプログラム。 [CVE-2019-9599] (https://www.exploit-db.com/exploits/46337)
Video PoC Exploit: https://www.youtube.com/watch?v=0QDM224_6DM
CVE: https://nvd.nist.gov/vuln/detail/CVE-2019-9599
Exploit-db: https://www.exploit-db.com/exploits/46337
AirDroid は、ブラウザを介してコンピュータをリモート制御するための最も知られ、利用されているツールの1つです。
サービスを提供するデバイスを制御・管理するには、クライアント側の事前承諾フェーズが必要です。その際に、以下のような「Message Box」が表示されます:
接続が承認されると、セッションの責任者はブラウザからデバイスを管理できるようになり、以下のようなタスクを実行できます:
クライアント側の検証をバイパスするPoCは共有していませんが、接続が承認された後の特権情報抽出に役立ついくつかのユーティリティスクリプトを共有しました。
また、'airdroid_dos.sh' と 'airdroid_fast_dos.sh' というスクリプトも共有しました。これらは「Remote DoS Application & System Crash」タイプのアクションを実行します。これにより、サービスをリモートで破壊し、端末のメモリをすべて使い果たして動作不能にする(フリーズさせる)ことができます:
まず 'AirDroidPwner.py' スクリプトを実行します。その際、Shodan の KEY を指定して、AirDroid サービスが動作しているデバイスを大量に見つける必要があります:
# Usa tu API KEY de Shodan
SHODAN_API_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
api = shodan.Shodan(SHODAN_API_KEY)
実行は以下のように行います:
python AirDroidPwner.py
とても複雑ですね。実行後、最初に Shodan API を介して、Shodan が検索結果としてインデックスしているすべての IP アドレスを配列に保存します。この場合、AirDroid サービス(ポート 8888)を対象としています。
見つかったら、検証プロセスを実施して、見つかったホストが実際にサービスを有効にしているかどうかを確認します。そのために、簡単なリクエストを行った後にサーバー側から返されるステータスコードを確認します。
アクティブなホストに対応する要素を含む新しい配列が得られたら、それらを 'ips' という名前のファイルにエクスポートします。現在、以下の操作モードがあります:
python AttackHost.py http://192.168.1.105:8888)。接続が承認されると(リクエストはホストに対して送信され、そのうちの1つが承認することが問題です[残念ながら、多くのホストが承認することに気づくでしょう...])、セッション識別子がパラメータ 7bb に保存され、以降のクエリはそこから管理されます:
def get_identifier(r_json):
identifier_session = r_json["7bb"]
return identifier_session
クライアントが接続を承認しない場合、これらの接続は拒否された接続のベクターに保存され、その後、次のタイプの攻撃を開始できます(攻撃者は <y/n> で選択可能):
ここでは、Message Box を利用し、デフォルトで10回のメインループと、サブループ(各サブループは被害者に対して3,000のスレッドリクエストを実行)を介して、デバイスの RAM をすべて使い果たし、アプリケーションのリモートサービス拒否だけでなく Remote System Crash も引き起こし、デバイスは完全に動作不能になり、システムの再起動を強制されます。
この脆弱性は AirDroid の最新バージョンだけでなく、それ以前のすべてのバージョンにも影響します。
被害者が接続を承認した場合、現在ツールに実装されている操作は次のとおりです:
さらに、'airdroid_dos.sh' と 'airdroid_fast_dos.sh' スクリプトを実行することもできます。両者の主な違いは、後者は直接攻撃に移ること、前者はホストがサービスをアクティブにしているかどうかを確認するための簡単な初期チェックを行うことです(より「販売向け」な側面)。
ブラウザからアクセスを管理したい場合は、'AirDroidPwner.py' スクリプトを実行して IP リストを 'ips' ファイルにエクスポートした後、'web_browser.py' スクリプトを実行して、アクティブなすべてのサービスをブラウザで開くことができます。
タスク: