フレームワークとは少し違うのかなと、後で思いました。他のオープンソースのツールを一緒に標的型攻撃に利用されることがあるので、一応載せています。用いられていることが確認されています。中にはソースコードを改変し、難読化や検知回避が試みられていることもあります。ベースに作成されたと思われるマルウェア配信している事例も見かけます。FrameworkベースのオープンソースRATのようです。日本では標的型で利用されたという報告もありますが、オープンソースであり当然ばらまきでも使われてしまいます。互換言語で記述されたペイロードをロードできるため、柔軟に機能を追加することができます。使って自由度の高いインプラントを作成できます。サポートされています。最近、クロアチアの政府機関に対する標的型攻撃へ利用されたことが報じられています。いろいろな場所で耳にするフレームワークなのですが、商用のため、私自身はあまり詳しくありません。フレームワークとして、以下のようなものもあります。C2MerlinSilverTrevorC2攻撃者によって利用されたという報告はありませんが、これらのフレームワークに関しても、今後誰にどのように利用されるかはわかりません。サポート終了など、オープンソースツールの状況も変化しています。フレームワークについて調査しました。独自のマルウェアを利用することで攻撃者(グループ)がばれることを防ぐといった点が考えられます。したツールの多くはそもそもセキュリティを高めるためのペネトレーションテスト用に開発されました。いくつかのツールを触ってみるとわかるのですが、単純に攻撃にしやすさ、使いやすさだけでなく、守る側の視点が考慮されており、設定やオプションを駆使されると、検知や防御がやりにくいものが多いです。単純な通信の検知だけでなく、よく言われる多層防御の必要性がよくわかります。人間であれば、攻撃者がどのように侵入し、活動するのかを理解するためにも、一度こうしたツールを触ってみることをお勧めします。今回はまとめただけですが、今後はツールの検証などをやって守る側の視点として、どのような対策を講じることができるかを検討してみたいとは考えています。今後ブログでその内容を公開するかについては未定です。いうことをやりすぎると、今の日本だといつどこかの警察が尋ねてくるとも限らないので......。Android今回は個人的に興味を持ったAndroidアプリの脆弱性を調べてみました。きっかけは以下のTweetです。いう1億以上のダウンロード数のある人気アプリに脆弱性があり、端末内のファイルをネットワーク経由で盗み出すなどができるようです。アプリPoCが公開されており、影響範囲には現時点の最新バージョンも含まれて、アップデートはまだ提供されていないようです。私自身以前利用しており、割と使い勝手はよかったと記憶しています。一時期「中国に情報を送っている」みたいなよくある曖昧な噂が流れて、ちょっと心配になり、別のアプリに移行しました。いうことで今回、一度アンインストールしたそのアプリを再インストールして、どのような脆弱性なのかを確認してみました。検証インストールします今回は、私の古いタブレットで検証しました。IPは「192.168.0.7」となっています。起動すると、59777ポートでHTTPを待ち受けるようになります。打ってみると、確かにポートが開いていることが確認できます。ファイルエクスプローラーを起動する前で、下が起動した後です。ブラウザでアクセスすると、以下のような表示がされました。ファイルエクスプローラーを起動すると、このポートはずっと待ち受けるようで、アクティビティを殺しても、端末を再起動してもバックグラウンドサービスとして動き続けているようでした。インストールして一度起動した時点で、それ以降、いつでも攻撃を受ける可能性があるということになります。リクエストを投げると、様々な攻撃が行えるとのことです。具体的には現在公開されているPoCで、以下のようなことができます。画像ファイル一覧を取得してみます。画像ファイルの一覧がずらっと表示されます。その中のファイルを取得します。確かに端末内のファイルを取り出すことができました。ファイルエクスプローラーが動いている端末内のファイルを自由に取り出すことができるようです。不特定多数の人が接続可能なWifi環境下では攻撃者により知らない間に端末内に保存した写真などが盗み出されている可能性もあります。解析アプリのapkファイルを取り出して簡単に中身を解析してみました。脆弱性をついてapkファイルを取り出します(便利!)。デコンパイルしたソースファイルを確認します。デコードした中身に対してそれらしい文字列でgrepをかけていくと、サーバとして待ち受けているっぽい箇所がわかります。以下はコマンドを受け付けるコードです。今回のコマンド受付けとは関係なさそうです。ちなみに、待ち受けているコマンドは以下の通り。listFileslistPicslistVideoslistAppslistAppsSystemlistAppsPhonelistAppsSdcardlistAppsAllgetAppThumbnailappLaunchappPullgetDeviceInfo何ができるかは大体予想がつきますね。脆弱性の根本的な原因はHTTPで待ち受け、認証もなしに情報を取得できてしまうことにあります。そもそも何のためにHTTPの待ち受けを行っているのでしょうか?アプリの機能の説明には「ローカル/インターネット管理」といった記載があるので、この辺りの機能に関連しそうですが、詳細についてはどこにも記載が見当たりません。いう機能はせめてユーザ側で有効/無効を切り替えられるようにすべきじゃないかと思っており、この辺りは設計上の不備ではないかと考えています。対策というほどのものはないけれど、少なくとも現時点で脆弱性に対応したアップデートが出ていないことを考えると、しばらくは利用を控える(アンインストールする)というのがよいかと思います。開発チームはこの脆弱性を認識しており、近いうちに修正はされるそうです。いうやつを使っています。宣伝でもなんでもないですし、安全かと言われれば、はっきり答えられる自信はありませんが、参考になれば......。4.1.9.9)が配信され、脆弱性が修正されました。ポートは依然開いたままですが、PoCを打ってみると、500エラーが返ってきました。更新されたソースを見ると、ちゃんと追ってないですが、コマンドを受け付ける前に、認証か何かの処理を入れたようです。この脆弱性については、対処されました。久しぶりの検証記事です。いうフレームワークの脆弱性ですが、このフレームワークは2016年6月でEOLを迎えており、すでにサポートは終了しています。Developerそのため、パッチなどのリリースはなく、万が一脆弱性のあるフレームワークを利用している場合、すぐに別のフレームワークへの移行が推奨されます。通じて、シリアライズ化されたJAVAのオブジェクトを利用してリモートから認証なしでコード実行を行うことが可能となります。試したのですが、アプリケーションサーバなどの環境によって条件が異なるようで、公開されているPoCでうまくいくものといかないものがありました。以下のリンクの通りに試したものは成功しました。