やめてください!このツールはメンテナンスされていません!
SMBSRとRSMBIの機能を統合することにしました。SMBATを参照してください。
SMBSR - それは何ですか?
SMBSRは、CIDR/IP/IPファイル/ホスト名を指定すると、ターゲットの中でSMBサービス(ポート445)をリッスンしているものを列挙し、それらに対して認証を試みるPythonスクリプトです。認証が成功した場合、すべてのフォルダとサブフォルダを再帰的に探索し、ファイル内の秘密情報や...秘密のファイルを見つけます。ターゲットのSMBポートの開放をスキャンするために、masscanモジュールが使用されます。SMBSRは、以下の基準に基づいて何か興味深いと判断します:
ツールが検索する興味深いキーワードは、コマンドラインで定義されます。また、以下のものも定義されます:
- ファイル拡張子ブラックリスト(このリストは、スレッドが投げる例外とファイルタイプに基づいて実行時に自動的に更新されます)
- 共有ブラックリスト
- フォルダブラックリスト(注意:サブフォルダも対象外になります)
- スレッド数
- masscanを使用するか?
- 興味深いファイル拡張子(おそらくppk、kdbx、...など)
- チェックを許可する最大ファイルサイズ(バイト)(信じてください、大きすぎると時間がかかることがあります)
- 結果を2つの素敵なCSVファイルにエクスポートするか?
- サブフォルダをどの深さまで調査するか?
- 一致させる正規表現のワードリスト
- LDAPバインド用のドメインコントローラIP
- その他の一般的なものと必須のもの
もちろん、すべてはローカルのSQLiteデータベースに保存されます。データベースには、「うまくいけばドメイン管理者パスワード」の一致のためのテーブルが1つあり、smbsrという名前で、次の列が含まれています:
- ファイル
- 共有
- IP
- 位置
- 一致したキーワード
- 作成日
- 最終更新日
- 最終アクセス日
- カウント(同じファイルで複数の一致がある場合、この値が増加します)
また、興味深いファイルリストのための別のテーブルがあり、次の列が含まれています:
- ファイル
- 共有
- IP
- 作成日
- 最終更新日
- 最終アクセス日
対応ファイル
SMBSRは以下のファイルを読み取る方法を習得しました:
- .csv (Python組み込み機能を使用)
- .doc (antiwordを使用)
- .docx (python-docx2txtを使用)
- .eml (Python組み込み機能を使用)
- .epub (ebooklibを使用)
- .gif (tesseract-ocrを使用)
- .jpg および .jpeg (tesseract-ocrを使用)
- .json (Python組み込み機能を使用)
- .html および .htm (beautifulsoup4を使用)
- .mp3 (sox、SpeechRecognition、pocketsphinxを使用)
- .msg (msg-extractorを使用)
- .odt (Python組み込み機能を使用)
- .ogg (sox、SpeechRecognition、pocketsphinxを使用)
- .pdf (pdftotext (デフォルト) または pdfminer* .six を使用)
- .png (tesseract-ocrを使用)
- .pptx (python-pptxを使用)
- .ps (ps2textを使用)
- .rtf (unrtfを使用)
- .tiff および .tif (tesseract-ocrを使用)
- .txt (Python組み込み機能を使用)
- .wav (SpeechRecognition と pocketsphinx を使用)
- .xlsx (xlrdを使用)
- .xls (xlrdを使用)
LDAP
ついに登場しました!これで、SMB接続用に指定されたドメイン資格情報を、Active Directoryからコンピュータオブジェクトのリストを取得するためにも使用できます。
reg_gen.py
最後のアップデートとして、SMBSRは指定された正規表現に一致する秘密情報を検索する力が与えられました(regulars.txtファイルには一致させるための良い例がいくつか含まれています)。この新しいスーパーパワーにより、ワードリストからパスワードパターンに一致する正規表現のリストを生成する新しいスクリプトも実装しました。すべてを出力する前に、正規表現のリストは(sort -u)でソート・ユニーク化されます。スクリプトは、パターンに例えば2つ以上の連続したascii_lowerが含まれる場合に最適化できますが、現在はそうなっていません。
必要条件
pip3 install -r requirements.txt
また、以下をインストールしてください:
- krb5
- libkrb5-dev
- tesseract-ocr
- unrtf
- antiword
使用方法
例えば、プロジェクトフォルダから:
./smbsr.py -IP 127.0.0.1 -word-list-path tomatch.txt -multithread -max-size 1000 -T 2 -username OB -password '****' -domain OB -file-extensions dll,exe,bin
謝辞
- 問題を見つけて改善に協力してくれるすべての人
- Retrospected: 毎週金曜日にコードのデバッグと新機能のブレインストーミングを手伝ってくれたことに対して
- ropnop: windapsearch.pyの作業に対して