MimiPenguin 2.0
現在のLinuxデスクトップユーザーのログインパスワードをダンプするツール。人気のWindowsツールmimikatzの背後にあるアイデアを応用したものです。これは CVE-2018-20781 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20781) に割り当てられました。興味深い事実として、GNOME Keyring 3.27.2 以降も修正されておらず、3.28.0.2-1ubuntu1.18.04.1 でもまだ動作します。

詳細
クリアテキストの認証情報がメモリに残っていることを利用し、プロセスをダンプして、クリアテキストのパスワードを含む可能性の高い行を抽出します。各単語の確率を /etc/shadow のハッシュ、メモリ内のハッシュ、および正規表現検索をチェックして計算しようとします。2.0 では、実行速度と移植性を向上させることを目的としたクリーンな C ポートを導入しています。
既知の問題
- mimipenguin の32ビット版(Cビルド)は、64ビットアドレス空間の検索を適切に処理していないため、64ビットユーザースペースでは失敗する可能性があります。
必要条件
サポート/テスト済みシステム
- Kali 4.3.0 (rolling) x64 (gdm3)
- Ubuntu Desktop 12.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
- Ubuntu Desktop 14.04.1 LTS x64 (Gnome Keyring 3.10.1-1ubuntu4.3, LightDM 1.10.6-0ubuntu1)
- Ubuntu Desktop 16.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
- Ubuntu Desktop 16.04.4 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2, LightDM 1.18.3-0ubuntu1.1)
- Ubuntu 18
- XUbuntu Desktop 16.04 x64 (Gnome Keyring 3.18.3-0ubuntu2)
- Archlinux x64 Gnome 3 (Gnome Keyring 3.20)
- OpenSUSE Leap 42.2 x64 (Gnome Keyring 3.20)
- VSFTPd 3.0.3-8+b1 (アクティブなFTPクライアント接続)
- Apache2 2.4.25-3 (アクティブ/古いHTTP BASIC AUTHセッション) [Gcore依存]
- openssh-server 1:7.3p1-1 (アクティブなSSH接続 - sudo使用)
ビルド
- Cバリアントのリリース版をビルドするには、プロジェクトのルートディレクトリで
make を実行します。
- デバッグ出力付きのデバッグバイナリをビルドするには、
make debug を実行します。
- 静的リンクされたバイナリをビルドするには、
make static を実行します。
注意事項
- パスワードはメモリ内を移動します - 100%の有効性を目指して研究中
- 他の認証情報の場所やサポート拡大を計画中
- 非デスクトップ環境への展開を検討中
- 既知のバグ - 時々 gcore がスクリプトをハングさせる。これは gcore の問題です。
- プルリクエストやコミュニティの研究を歓迎します。
- LDAP調査(nscld winbind など)を将来的に計画
開発ロードマップ
- Cポートにニードルを実装(高速化)
- 特定のユーザーのみを対象とするオプションの引数を追加(高速化)
MimiPenguin は、すべてのポストエクスプロイトシナリオをサポートするために、複数の言語に移植されています。以下のロードマップは KINGSABRI によって提案され、さまざまなバージョンと機能を追跡するためのものです。「X」は完全サポート、「~」は既知のバグがある機能を示します。
連絡先
ライセンス
CC BY 4.0 ライセンス - https://creativecommons.org/licenses/by/4.0/
特別な感謝
- the-useless-one - Gcore依存の除去、タブの整理、出力オプション追加、完全なpython3ポート
- gentilkiwi - Mimikatz、インスピレーション、Twitterでのメンション
- pugilist - PID抽出の整理とテスト
- ianmiell - コードの乱雑さの整理
- w0rm - 特殊文字を含む場合のprintfエラーの特定
- benichmt1 - 複数の認証ユーザー問題の特定
- ChaitanyaHaritash - 特殊文字のエッジケース問題の特定
- ImAWizardLizard - forループによるパターンマッチの整理
- coreb1t - python3チェック、Archサポート、その他の修正
- n1nj4sec - python2ポートとサポート
- KINGSABRI - ロードマップ提案
- bourgouinadrien - https://github.com/koalaman/shellcheck へのリンク
- bcoles - ニードルの追加
- space-r7 と bcoles - Metasploit MimiPenguinモジュール の移植作業