
fscan v2.2.1
社内ネットワーク向け総合スキャンツール。ワンクリック自動化、全方位的な脆弱性スキャンを容易に実現します。(An intranet comprehensive scanning tool, enabling one-click automated, all-round vulnerability scanning)
Fscan
内网総合スキャンツール、ワンクリック自動脆弱性スキャン。
バージョン: 2.2.1
機能特性
スキャン能力
- ホスト検出 - ICMP/Ping生存プローブ、大規模B/Cセグメント生存統計に対応
- ポートスキャン - TCPフルコネクトスキャン、133の一般的なポートを内蔵、ポートグループ(web/db/service/all)に対応
- サービス識別 - スマートプロトコル識別、20以上のサービスフィンガープリントマッチングに対応
- Webプローブ - ウェブサイトタイトル、CMSフィンガープリント、Webミドルウェア、WAF/CDN識別(40以上のフィンガープリント)
ブルートフォース能力
- 弱パスワードブルートフォース - 28種類のサービスブルートフォース(SSH/RDP/SMB/FTP/MySQL/MSSQL/Oracle/Redisなど)
- Hash衝突 - NTLM Hash認証に対応(SMB/WMI)
- SSH鍵ログイン - 秘密鍵認証方式に対応
- スマート辞書 - 100以上の一般的な弱パスワードを内蔵、{user}変数置換に対応
脆弱性検出
- 高危険度脆弱性 - MS17-010( EternalBlue )、SMBGhost(CVE-2020-0796)
- 未認証アクセス - Redis/MongoDB/Memcached/Elasticsearchなどの未認証検出
- POCスキャン - Web脆弱性POCを統合、Xray POC形式に対応
- DNSLog - DNSLog外部帯域検出に対応
脆弱性悪用
- Redis悪用 - 公開鍵書き込み、cronジョブ書き込み、WebShell書き込み、マスター/スレーブレプリケーションRCE
- MS17-010悪用 - ShellCodeインジェクション、ユーザー追加、コマンド実行に対応
- SSHコマンド実行 - 認証成功後に自動でコマンド実行
ローカルモジュール
- 情報収集 - システム情報、環境変数、ドメインコントローラー情報、ネットワークインターフェース設定
- 資格情報取得 - メモリダンプ(MiniDump)、キーロガー、レジストリエクスポート
- 権限維持 - Systemdサービス、Windowsサービス、cronジョブ、スタートアップ項目、LD_PRELOAD
- リバースシェル - フォワードシェル、リバースシェル、SOCKS5プロキシサービス
- セキュリティソフト検出 - ターゲットホストにインストールされているセキュリティソフトウェアを識別
- 痕跡消去 - ログ消去ツール
入出力
- ターゲット入力 - IP/CIDR/ドメイン/URL、ファイル一括インポートに対応
- 除外ルール - 特定ホスト、ポートの除外に対応
- 出力形式 - TXT/JSON/CSV複数形式出力
- サイレントモード - バナーなし、プログレスバーなし、カラー出力なし
ネットワーク制御
- プロキシ対応 - HTTP/SOCKS5プロキシ、ネットワークインターフェース指定に対応
- パケット送信制御 - レート制限、最大送信パケット数制御
- タイムアウト制御 - ポートタイムアウト、Webタイムアウト、グローバルタイムアウトを個別設定
- 並行性制御 - ポートスキャンスレッド、サービススキャンスレッドを個別設定
拡張機能
- SDK組み込み -
pkg/fscanがGo SDKを提供、Agentやセキュリティプラットフォームに組み込み可能、タスク制御(Pause/Resume)、リアルタイム進捗コールバック、TaskID追跡に対応 - Web管理インターフェース - ビジュアルスキャンタスク管理(条件付きコンパイル -tags web)
- Lab演習環境 - テスト・学習用のDocker演習環境を内蔵
- プラグインアーキテクチャ - サービスプラグイン/Webプラグイン/ローカルプラグインを分離、拡張が容易
- 多言語対応 - 中英インターフェース切り替え(-lang zh/en)
- パフォーマンス統計 - JSON形式のパフォーマンスレポート(-perf)
v2.1.0 更新ログ
今回の更新には 262件のコミット が含まれ、30件の新機能、120件の修正、54件のリファクタリング、14件のパフォーマンス最適化、20件のテスト強化をカバーしています。
アーキテクチャリファクタリング
- グローバル変数排除 - Config/Stateオブジェクトへ移行、並行安全性とテスト容易性を向上
- SMBプラグイン統合 - smb/smb2/smbghost/smbinfoを統合プラグインに統合、smb_protocol.goを新規追加
- サービスプローブリファクタリング - Nmapスタイルのフォールバックメカニズムを実装、ポートフィンガープリント識別戦略を最適化
- 出力システムリファクタリング - TXTリアルタイムディスク書き込み+二重書き込みメカニズム、結果損失と順序乱れの問題を解決
- i18nフレームワークアップグレード - go-i18nへ移行、core/plugins/webscanモジュールを完全カバー
- HostInfoリファクタリング - Portsフィールドをstringからintへ変更、型安全性を確保
- 関数複雑度最適化 - clusterpoc(125→30)、EnhancedPortScan(111→20)
- コード監査 - P0-P2レベルの問題を修正、デッドコードを削除
- ログシステム最適化 - LogDebug呼び出しを整理(71→18)、起動ログ出力を簡素化
パフォーマンス最適化
- 正規表現プリコンパイル - グローバル正規表現をプリコンパイル、繰り返しコンパイルのオーバーヘッドを回避
- メモリ最適化 - map[string]boolをmap[string]struct{}へ変更しメモリを節約
- 並行フィンガープリントマッチング - マルチゴルーチン並行マッチング、識別速度を向上
- 接続再利用 - SOCKS5グローバルダイヤラーの再利用、繰り返しハンドシェイクを回避
- スライディングウィンドウスケジューリング - アダプティブスレッドプール+ストリーミングイテレーター、ポートスキャンを最適化
- CELキャッシュ最適化 - POCスキャンCEL環境キャッシュ、繰り返し初期化を削減
- パッケージレベル変数抽出 - proxyFailurePatterns/resourceExhaustedPatterns/sslSecondProbesなど
- 容量事前割り当て - 変換チェーンを簡素化、単一文字列置換
- 並行安全性最適化 - ロック粒度とメモリ割り当てを最適化
新機能
- Web管理インターフェース - ビジュアルスキャンタスク管理、レスポンシブレイアウトと進捗表示
- 複数形式POC対応 - xrayおよびafrog形式のPOCに対応
- スマートスキャンモード - ブルームフィルターによる重複排除+プロキシ最適化
- 拡張フィンガープリントライブラリ - FingerprintHub(3139件のフィンガープリント)を統合
- Faviconフィンガープリント識別 - mmh3およびMD5の二重形式ハッシュマッチングに対応
- 汎用バージョン抽出器 - サービスバージョン情報を自動抽出
- フィンガープリント優先順位ソート - マッチング結果をスマートにソート
- スマートプロトコル検出 - HTTP/HTTPSプロトコルタイプを自動識別
- ネットワークインターフェース指定機能 - VPNシナリオに対応(-ifaceパラメータ)
- 除外ホストファイル - ファイルから除外ホストを読み取りに対応(-ehfパラメータ)
- ICMPトークンバケットレート制限 - 高速スキャンによるルータークラッシュを防止
- ポートスキャンリトライ - 失敗時の自動再スキャンメカニズム
- RDPリアル認証 - grdpライブラリを統合しシステムフィンガープリント識別を実装
- SMB/FTPファイルリスト - 匿名アクセス時にファイルを自動リスト表示
- 302リダイレクト二重識別 - 元のレスポンスとリダイレクト後のレスポンスの両方のフィンガープリントを識別
- TXT出力URL集約 - 末尾にWebサービスURLリストを追加し一括テストを容易に
- nmapコア統合 - 3つの主要改善:プローブ戦略/マッチングエンジン/バージョン解析
- プラグイン選択的コンパイル - Build Tagsシステム、サービス/ローカル/Webプラグインの独立コンパイルに対応
- デフォルトポート拡張 - 62個から133個の一般的なポートへ拡張
- 全ポートスキャン対応 - ポート範囲の制限を拡大
- HTTPリダイレクト制御 - 設定可能なリダイレクト回数制限
- パフォーマンス分析対応 - pprofパフォーマンス分析とbenchmarkテストを追加
- TCPパケット統計 - サービスプラグインがTCPパケット送信統計に対応
- fscan-lab演習環境 - 内網渗透訓練プラットフォーム、全脆弱性シナリオをカバー(未完了)
- Redis悪用強化 - 完全なRedis悪用機能を移植(公開鍵書き込み/cronジョブ/WebShell/マスター/スレーブRCE)
- rsyncプラグインリファクタリング - go-rsyncライブラリを使用して認証ロジックをリファクタリング
Bug修正(120件、主要な修正を列挙)
- RDPヌルポインタpanic - 証明書解析によるクラッシュを修正(#551)
- 一括スキャン漏れ - 大規模スキャンの見落とし問題を修正(#304)
- JSON出力形式 - 出力形式エラーを修正(#446)
- Redis弱パスワード検出 - 検出漏れ問題を修正(#447)
- 結果リアルタイム保存 - スキャン結果がタイムリーに保存されない問題を修正(#469)
- Nmap解析オーバーフロー - 8進数エスケープ解析バグを修正(#478)
- フィンガープリント識別競合 - webtitle/webpocの競合問題を修正(#474)
- MySQL接続検証 - information_schemaライブラリを使用して検証するよう変更
- プロキシポート誤判定 - プロキシモードでのポート状態判定エラーを修正
- Contextタイムアウト - 22箇所のプラグインタイムアウト未応答問題を修正
- ICMP競合状態 - 並行スキャンの競合問題を修正
- IPv6アドレス形式 - 4箇所のアドレスフォーマット問題を修正
- POC高並行フリーズ - Context未伝播問題を修正
- Ctrl+C結果損失 - シグナル処理を追加し結果書き込みを保証
- SOCKS5全エコー - プロキシ接続検証を追加
- サービスプローブリーク - 接続が正しく閉じられない問題を修正
- webtitleレスポンス破棄 - 一部のレスポンスデータ破棄による識別失敗を修正
- TXT脆弱性情報欠落 - 出力時の脆弱性詳細の欠落を修正
- JSONフィンガープリント欠落 - SERVICE結果のTarget形式を統一
- スキャン所要時間表示 - 完了所要時間が0と表示される問題を修正
- 誤った脆弱性記録 - TXT出力システムをリファクタリングし誤検知を排除
- Redisクロスプラットフォームパス - 悪用機能のパスとタイムアウト問題を修正
- Windowsコンパイル警告 - fscan-liteのプラットフォーム互換性を修正
- Go 1.20互換性 - 依存関係をダウングレードし互換性を維持
テスト強化(20件)
- ユニットテスト - コアモジュールのカバレッジ74-100%
- 並行安全性テスト - Stateオブジェクト、フィンガープリントマッチングエンジンの専用テスト
- 統合テスト - Webスキャン/ポートスキャン/サービスプローブ/SSH認証/ICMPプローブ
- CLIパラメータテスト - コマンドライン引数解析の検証
- パフォーマンスベンチマークテスト - AdaptivePool、サービスプローブ戦略のbenchmark
- ResultBufferテスト - 重複排除と完全性スコアの検証
エンジニアリング改善
- CIプロセス最適化 - golangci-lint v2アップグレード、ビルド手順を簡素化
- Issue自動化 - GitHub Issueテンプレート最適化、Project自動化ワークフロー
- Lint全量修正 - revive/errcheck/shadow/staticcheck/gosimpleすべて通過
- README書き直し - 中英ドキュメントを全面的に更新
- コード形式統一 - gofmt/goimports標準化
クイックスタート
# Cセグメントスキャン
./fscan -h 192.168.1.1/24
# ポート指定
./fscan -h 192.168.1.1 -p 22,80,443,3389
# 生存プローブのみ
./fscan -h 192.168.1.1/24 -ao
# ブルートフォース無効
./fscan -h 192.168.1.1/24 -nobr
# Webスキャン
./fscan -u http://192.168.1.1
# ローカルプラグイン
./fscan -local systeminfo
# Hash衝突
./fscan -h 192.168.1.1 -m smb2 -user admin -hash xxxxx
# Redis公開鍵書き込み
./fscan -h 192.168.1.1 -m redis -rf id_rsa.pub
コンパイル
# 標準コンパイル
go build -ldflags="-s -w" -trimpath -o fscan .
# Web管理インターフェース付き
go build -tags web -ldflags="-s -w" -trimpath -o fscan-web .
インストール
# Arch Linux
yay -S fscan-git
実行スクリーンショット
fscan.exe -h 192.168.x.x


fscan.exe -h 192.168.x.x -rf id_rsa.pub (Redis公開鍵書き込み)

fscan.exe -h 192.168.x.x -m ssh -user root -pwd password

fscan.exe -h 192.168.x.x -m ssh -user root -pwda pass1 pass2 pass3 (複数パスワード追加)
fscan.exe -h 192.168.x.x -p80 -proxy http://127.0.0.1:8080

fscan.exe -h 192.168.x.x -socks5 socks5://user:[email protected]:1080 (SOCKS5認証プロキシ)
fscan.exe -h 192.168.x.x -p 139 -m netbios


fscan.exe -h 192.0.0.0/8 -m icmp



ロードマップ
更新計画
- 更新サイクル - 毎月1回のバージョンリリース
- 前半2週間 - 新機能開発と機能更新
- 後半2週間 - Bug修正とコード統合
- PR歓迎 - 皆様の貢献をお待ちしています!
SDK & Agent 統合
- SDK機能を拡張し、エンド側Agent組み込みサポートを充実
- 中断再開スキャン、帯域レベルレート制限、メモリ水位制御
- より多くのAgentシナリオの統合例
プラグインエコシステム
- サービスプラグインのカバレッジを継続的に拡張
- 各サービスプラグインにさらに多くの脆弱性検出・悪用機能を開発
- プラグインAPIの後方互換性を維持し、旧バージョンのPOCが継続して使用可能に
Fscan-lite
- C言語で書き直された軽量バージョン
- より小さいサイズ、より少ない依存関係
- より多くの組み込み/制限環境に対応
- ディレクトリ: fscan-lite
Fscan-lab
- 内網渗透テスト演習環境
- fscanが対応するすべての脆弱性シナリオをカバー
- 開発テストと機能検証プラットフォーム
- 初心者学習とスキル練習環境
- ディレクトリ: fscan-lab
免責事項
本ツールは合法的に承認された企業セキュリティ構築行為のみを対象としています。使用前に承認を取得し、現地の法律・規制に適合していることを確認してください。非承認ターゲットへのスキャンは行わないでください。著者は不正使用によって生じたいかなる結果についても責任を負いません。
404StarLink

fscan は 404Team 星链计划2.0 メンバープロジェクトです。