アップデート一覧に戻る
New releaseAug 26, 2026

fscan v2.2.1

社内ネットワーク向け総合スキャンツール。ワンクリック自動化、全方位的な脆弱性スキャンを容易に実現します。(An intranet comprehensive scanning tool, enabling one-click automated, all-round vulnerability scanning)

共有

Fscan

English

イントラネット総合スキャンツール、ワンクリック自動脆弱性スキャン。

バージョン: 2.2.2

機能特性

スキャン能力

  • ホスト検出 - 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(エターナルブルー)、SMBGhost(CVE-2020-0796)
  • 未認証アクセス - Redis/MongoDB/Memcached/Elasticsearchなどの未認証検出
  • POCスキャン - Web脆弱性POCを統合、Xray POCフォーマットに対応
  • DNSLog - DNSLog外部検出に対応

脆弱性悪用

  • Redis悪用 - 公開鍵書き込み、スケジュールタスク書き込み、WebShell書き込み、マスタースレーブレプリケーションRCE
  • MS17-010悪用 - ShellCodeインジェクション、ユーザー追加、コマンド実行に対応
  • SSHコマンド実行 - 認証成功後に自動的にコマンドを実行

ローカルモジュール

  • 情報収集 - システム情報、環境変数、ドメインコントローラ情報、ネットワークカード設定
  • 資格情報取得 - メモリダンプ(MiniDump)、キーロガー、レジストリエクスポート
  • 権限維持 - Systemdサービス、Windowsサービス、スケジュールタスク、スタートアップ項目、LD_PRELOAD
  • リバースシェル - 正方向シェル、逆方向シェル、SOCKS5プロキシサービス
  • アンチウイルス検出 - 対象ホストにインストールされたセキュリティソフトを識別
  • 痕跡消去 - ログ消去ツール

入出力

  • ターゲット入力 - IP/CIDR/ドメイン/URL、ファイル一括インポートに対応
  • 除外ルール - 特定のホスト、ポートの除外に対応
  • 出力フォーマット - TXT/JSON/CSVマルチフォーマット出力
  • サイレントモード - Bannerなし、プログレスバーなし、カラー出力なし

ネットワーク制御

  • プロキシ対応 - 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スタイルのfallbackメカニズムを実装、ポートフィンガープリント識別戦略を最適化
  • 出力システムリファクタリング - TXTリアルタイムフラッシュ+二重書き込みメカニズム、結果消失と順序乱れの問題を解決
  • i18nフレームワークアップグレード - go-i18nへ移行、core/plugins/webscanモジュールを完全カバー
  • HostInfoリファクタリング - Portsフィールドをstringからintに変更、型安全
  • 関数複雑度最適化 - clusterpoc(125→30)、EnhancedPortScan(111→20)
  • コード監査 - P0-P2レベルの問題を修正、deadcodeをクリーンアップ
  • ログシステム最適化 - 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のデュアルフォーマットhashマッチングに対応
  • 汎用バージョン抽出器 - サービスバージョン情報を自動抽出
  • フィンガープリント優先度ソート - マッチング結果をスマートにソート
  • スマートプロトコル検出 - HTTP/HTTPSプロトコルタイプを自動識別
  • ネットワークカード指定機能 - VPNシナリオに対応(-ifaceパラメータ)
  • 除外ホストファイル - ファイルから除外ホストを読み込みに対応(-ehfパラメータ)
  • ICMPトークンバケットレート制限 - 高速スキャンによるルータークラッシュを防止
  • ポートスキャンリトライ - 失敗時の自動再スキャンメカニズム
  • RDP実認証 - grdpライブラリを統合してシステムフィンガープリント識別を実装
  • SMB/FTPファイルリスト - 匿名アクセス時にファイルを自動リスト
  • 302リダイレクト二重識別 - 元のレスポンスとリダイレクト後のレスポンスのフィンガープリントを同時に識別
  • TXT出力URLサマリー - 末尾にWebサービスURLリストを追加して一括テストを容易に
  • nmapコア統合 - 三大改善:探査戦略/マッチングエンジン/バージョン解析
  • プラグイン選択的コンパイル - Build Tagsシステム、サービス/ローカル/Webプラグインの独立コンパイルに対応
  • デフォルトポート拡張 - 62個から133個の常用ポートに拡張
  • 全ポートスキャン対応 - ポート範囲制限を拡大
  • HTTPリダイレクト制御 - 設定可能なリダイレクト回数制限
  • パフォーマンス分析対応 - pprofパフォーマンス分析とbenchmarkテストを追加
  • TCPパケット統計 - サービスプラグインがTCPパケット送信統計に対応
  • fscan-labターゲット - イントラネットペネトレーショントレーニングプラットフォーム、全脆弱性シナリオを網羅(未完成)
  • Redis悪用強化 - 完全なRedis悪用機能を移植(公開鍵/スケジュールタスク/WebShell/マスタースレーブRCE書き込み)
  • rsyncプラグインリファクタリング - go-rsyncライブラリを使用して認証ロジックをリファクタリング

Bug修正(120件、主要な修正を列挙)

  • RDPヌルポインタpanic - 証明書解析によるクラッシュを修正(#551)
  • 一括スキャン漏報 - 大規模スキャンの漏れ問題を修正(#304)
  • JSON出力フォーマット - 出力フォーマットエラーを修正(#446)
  • Redis弱パスワード検出 - 検出漏れ問題を修正(#447)
  • 結果リアルタイム保存 - スキャン結果が即座に保存されない問題を修正(#469)
  • Nmap解析オーバーフロー - 八進数エスケープ解析bugを修正(#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 -list-plugins を使用して、現在のビルドで利用可能なモジュール名、タイプ、デフォルトポート、呼び出し方法を確認できます。 固定ポートを持つモジュールを -m で指定し、-p/-pf を渡さない場合、スキャン範囲は選択したモジュールのデフォルトポートの和集合を使用します; 例えば fscan -hf ip.txt -m netbios は 137,139 を使用します。-p を指定すると非標準ポートをスキャンでき、Webモジュールは依然として汎用ポート範囲を使用します。 -pwda/-usera はデフォルト辞書に追加されます;-pwd/-user または -pwdf/-userf と併用する場合、指定した辞書に追加されます。

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 (複数パスワードを追加)

カテゴリ