Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
chaos — ChatGPTを用いて開発されたオリジンIPスキャンユーティリティ | Kitploit
ツール/GitHubGitHub/r57-labs/chaos
偵察ネットワークマッピング情報収集ウェブセキュリティペネトレーションテスト
GitHubr57-labs/chaos

chaos

ChatGPTを用いて開発されたオリジンIPスキャンユーティリティ

リポジトリを見る
7083年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

chaos

chaosは、RSTがChatGPTと協力して開発した「オリジン」IPスキャナーです。主にペネトレーションテスターやバグハンターを対象としたニッチなユーティリティです。

オリジンIPとは、サードパーティ経由で公開されているWebサイトの最終的な公開IPアドレスを指す業界用語です。オリジンIPに関心を持つ理由について詳しく知りたい場合は、こちらのブログ記事をご覧ください。

chaosは、ChatGPTを用いたDevOpsの原則に従い、アイデアから機能するProof-of-Conceptまでを24時間未満で迅速にプロトタイプ化しました。

root@kitploit:~
usage: chaos.py [-h] -f FQDN -i IP [-a AGENT] [-C] [-D] [-j JITTER] [-o OUTPUT] [-p PORTS] [-P] [-r] [-s SLEEP] [-t TIMEOUT] [-T] [-v] [-x] 
         _..._
     .-'`     `'-.
   __|___________|__ 
   \               /
    `._  CHAOS _.'
       `-------`
         /   \\
        /     \\
       /       \\
      /         \\
     /           \\
    /             \\
   /               \\
  /                 \\
 /                   \\
/_____________________\\
CHAtgpt Origin-ip Scanner
 _______ _______ _______ _______ _______
|\\     /|\\     /|\\     /|\\     /|\\/|
| +---+ | +---+ | +---+ | +---+ | +---+ |
| |H  | | |U  | | |M  | | |A  | | |N  | |
| |U  | | |S  | | |A  | | |N  | | |C  | |
| |M  | | |E  | | |N  | | |D  | | |O  | |
| |A  | | |R  | | |C  | | |   | | |L  | |
| +---+ | +---+ | +---+ | +---+ | +---+ |
|/_____|\\_____|\\_____|\\_____|\\_____\\

 Origin IP Scanner developed with ChatGPT
 cha*os (n): 完全な無秩序と混乱
 (ver: 0.9.4)

v94_csv

機能

  • スレッド化によるパフォーマンス向上
  • リアルタイムのステータス更新とプログレスバー(大規模スキャンに便利)
  • 様々なシナリオや制約に対応する柔軟なユーザーオプション
  • スキャン時間短縮のためのデータセット削減
  • 使いやすいCSV出力

インストール

  1. ダウンロード / クローン / 解凍 / など
  2. cd path/to/chaos
  3. pip3 install -U pip setuptools virtualenv
  4. virtualenv env
  5. source env/bin/activate
  6. (env) pip3 install -U -r ./requirements.txt
  7. (env) ./chaos.py -h

オプション

root@kitploit:~
-h, --help            このヘルプメッセージを表示して終了
-f FQDN, --fqdn FQDN  FQDNファイルへのパス(1行に1つのFQDN)
-i IP, --ip IP        HTTPリクエストのIPアドレス(カンマ区切りのIP、IPネットワーク、および/またはIP/ネットワークを1行に記述したファイル)
-a AGENT, --agent AGENT
                      リクエストのUser-Agentヘッダー値
-C, --csv             CSV出力をOUTPUT_FILE.csvに追記
-D, --dns             リクエスト前にFQDN/IP値に対して前方/逆引きDNSルックアップを実行(テストキューには影響なし)
-j JITTER, --jitter JITTER
                      sleep値に0~N秒のランダム遅延を追加
-o OUTPUT, --output OUTPUT
                      コンソール出力をFILEに追記
-p PORTS, --ports PORTS
                      使用するTCPポートのカンマ区切りリスト(デフォルト:"80,443")
-P, --no-prep         各IP/ポートに対して`GET /`(`Host: {IP:Port}`ヘッダー)による事前スキャンを実行しない(応答しないホストを除外しない)
-r, --randomize       IP/ポートのテスト順序を(ある程度)ランダム化
-s SLEEP, --sleep SLEEP
                      スレッド完了前にN秒追加
-t TIMEOUT, --timeout TIMEOUT
                      応答しないホストのタイムアウトまでN秒待機
-T, --test            テストモード;リクエストを送信しない
-v, --verbose         詳細出力を有効化
-x, --singlethread    シングルスレッド実行(1~2コアシステム向け);デフォルトスレッド数=(コア数-1)(コア数>2の場合)

使用例

ローカルホストでのテスト

Python HTTPサーバーを起動

root@kitploit:~
% python3 -u -m http.server 8001
Serving HTTP on :: port 8001 (http://[::]:8001/) ...

SSLとして検出されるポートでHTTPとしてncatを起動(--keep-openがハングする可能性があるためループ使用)

root@kitploit:~
% while true; do ncat -lvp 8443 -c 'printf "HTTP/1.0 204 Plaintext OK\n\n<html></html>\n"'; done
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Listening on [::]:8443
Ncat: Listening on 0.0.0.0:8443

また、デフォルトでHTTP検出されるポートでSSLとしてncatを起動

root@kitploit:~
% while true; do ncat --ssl -lvp 8444 -c 'printf "HTTP/1.0 202 OK\n\n<html></html>\n"'; done    
Ncat: Version 7.94 ( https://nmap.org/ncat )
Ncat: Generating a temporary 2048-bit RSA key. Use --ssl-key and --ssl-cert to use a permanent one.
Ncat: SHA-1 fingerprint: 0208 1991 FA0D 65F0 608A 9DAB A793 78CB A6EC 27B8
Ncat: Listening on [::]:8444
Ncat: Listening on 0.0.0.0:8444

FQDNファイルを準備:

root@kitploit:~
% cat ../test_localhost_fqdn.txt 
www.example.com
localhost.example.com
localhost.local
localhost
notreally.arealdomain

IPファイル / リストを準備:

root@kitploit:~
% cat ../test_localhost_ips.txt 
127.0.0.1
127.0.0.0/29
not_an_ip_addr
-6.a
=4.2
::1

スキャンを実行

  • 注意:CLIでIPにIPv6ネットワークを追加
  • -p でリッスンするポートを指定
  • -x でシングルスレッド実行(ncatサーバー再起動の時間を確保)
  • -s0.2 でncatサーバー再起動のための短いスリープ
  • -t1 で1秒後にタイムアウト

test_local

root@kitploit:~
% ./chaos.py -f ../test_localhost_fqdn.txt -i ../test_localhost_ips.txt,::1/126 -p 8001,8443,8444 -x -s0.2 -t1   
2023-06-21 12:48:33 [WARN] Ignoring invalid FQDN value: localhost.local
2023-06-21 12:48:33 [WARN] Ignoring invalid FQDN value: localhost
2023-06-21 12:48:33 [WARN] Ignoring invalid FQDN value: notreally.arealdomain
2023-06-21 12:48:33 [WARN] Error: invalid IP address or CIDR block =4.2
2023-06-21 12:48:33 [WARN] Error: invalid IP address or CIDR block -6.a
2023-06-21 12:48:33 [WARN] Error: invalid IP address or CIDR block not_an_ip_addr
2023-06-21 12:48:33 [INFO] * ---- <META> ---- *
2023-06-21 12:48:33 [INFO] * Version: 0.9.4
2023-06-21 12:48:33 [INFO] * FQDN file: ../test_localhost_fqdn.txt
2023-06-21 12:48:33 [INFO] * FQDNs loaded: ['www.example.com', 'localhost.example.com']
2023-06-21 12:48:33 [INFO] * IP input value(s): ../test_localhost_ips.txt,::1/126
2023-06-21 12:48:33 [INFO] * Addresses parsed from IP inputs: 12
2023-06-21 12:48:33 [INFO] * Port(s): 8001,8443,8444
2023-06-21 12:48:33 [INFO] * Thread(s): 1
2023-06-21 12:48:33 [INFO] * Sleep value: 0.2
2023-06-21 12:48:33 [INFO] * Timeout: 1.0
2023-06-21 12:48:33 [INFO] * User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 ch4*0s/0.9.4
2023-06-21 12:48:33 [INFO] * ---- </META> ---- *
2023-06-21 12:48:33 [INFO] 36 unique address/port addresses for testing
Prep Tests: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 36/36 [00:29<00:00,  1.20it/s]
2023-06-21 12:49:03 [INFO] 9 IP/ports verified, reducing test dataset from 72 entries
2023-06-21 12:49:03 [INFO] 18 pending tests remain after pre-testing
2023-06-21 12:49:03 [INFO] Queuing 18 threads
  ++RCVD++ (200 OK) www.example.com @ :::8001                                                                                                                                                    
  ++RCVD++ (204 Plaintext OK) www.example.com @ :::8443                                                                                                                                          
  ++RCVD++ (202 OK) www.example.com @ :::8444                                                                                                                                                    
  ++RCVD++ (200 OK) www.example.com @ ::1:8001                                                                                                                                                   
  ++RCVD++ (204 Plaintext OK) www.example.com @ ::1:8443                                                                                                                                         
  ++RCVD++ (202 OK) www.example.com @ ::1:8444                                                                                                                                                   
  ++RCVD++ (200 OK) www.example.com @ 127.0.0.1:8001                                                                                                                                             
  ++RCVD++ (204 Plaintext OK) www.example.com @ 127.0.0.1:8443                                                                                                                                   
  ++RCVD++ (202 OK) www.example.com @ 127.0.0.1:8444                                                                                                                                             
  ++RCVD++ (200 OK) localhost.example.com @ :::8001                                                                                                                                              
  ++RCVD++ (204 Plaintext OK) localhost.example.com @ :::8443                                                                                                                                    
  ++RCVD++ (202 OK) localhost.example.com @ :::8444                                                                                                                                              
  ++RCVD++ (200 OK) localhost.example.com @ ::1:8001                                                                                                                                             
  ++RCVD++ (204 Plaintext OK) localhost.example.com @ ::1:8443                                                                                                                                   
  ++RCVD++ (202 OK) localhost.example.com @ ::1:8444                                                                                                                                             
  ++RCVD++ (200 OK) localhost.example.com @ 127.0.0.1:8001                                                                                                                                       
  ++RCVD++ (204 Plaintext OK) localhost.example.com @ 127.0.0.1:8443                                                                                                                             
  ++RCVD++ (202 OK) localhost.example.com @ 127.0.0.1:8444                                                                                                                                       
Origin Scan: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 18/18 [00:06<00:00,  2.76it/s]
2023-06-21 12:49:09 [RSLT] Results from 5 FQDNs:
  ::1
    ::1:8444 => (202 / OK)
    ::1:8443 => (204 / Plaintext OK)
    ::1:8001 => (200 / OK)

  127.0.0.1
    127.0.0.1:8001 => (200 / OK)
    127.0.0.1:8443 => (204 / Plaintext OK)
    127.0.0.1:8444 => (202 / OK)

  ::
    :::8001 => (200 / OK)
    :::8443 => (204 / Plaintext OK)
    :::8444 => (202 / OK)

  www.example.com
    :::8001 => (200 / OK)
    :::8443 => (204 / Plaintext OK)
    :::8444 => (202 / OK)
    ::1:8001 => (200 / OK)
    ::1:8443 => (204 / Plaintext OK)
    ::1:8444 => (202 / OK)
    127.0.0.1:8001 => (200 / OK)
    127.0.0.1:8443 => (204 / Plaintext OK)
    127.0.0.1:8444 => (202 / OK)

  localhost.example.com
    :::8001 => (200 / OK)
    :::8443 => (204 / Plaintext OK)
    :::8444 => (202 / OK)
    ::1:8001 => (200 / OK)
    ::1:8443 => (204 / Plaintext OK)
    ::1:8444 => (202 / OK)
    127.0.0.1:8001 => (200 / OK)
    127.0.0.1:8443 => (204 / Plaintext OK)
    127.0.0.1:8444 => (202 / OK)


rst@r57 chaos % 

テストと詳細出力(ローカルホスト)

-T はテストモードで実行(リクエスト送信以外すべてを実行)

-v 詳細オプションで追加出力

test_local_verbose

既知の不具合

  • HTTP/HTTPSの検出が理想的でない
  • CSVの改行区切り文字を調整するオプションが必要
  • 長い文字列や多数の行が切り詰められる箇所を調整するオプションが必要
  • なぜrequests v2.xを必須としているのか解明する;)
  • 非常に詳細/静音のオプション
  • sleep/jitter使用時にスレッド起動をずらす
  • 200レスポンス内のmeta-refreshを検索
  • 201レスポンスのContent-Locationヘッダー?
  • スレッド名生成を改善し、正しい数の一意な名前を持つように
  • IPv6ネットマスクのサニティチェック(太陽が寿命を迎える前にスキャンが終わるように?)
  • その他未定?

関連リンク

  • chaosブログ記事

免責事項

  • Copyright (C) 2023 RST
  • 本ソフトウェアは「現状のまま」で提供され、明示または黙示のいかなる種類の保証もありません
  • 本ソフトウェアは研究または許可されたテストを目的としています。本ソフトウェアを使用する権限があることを確認するのは利用者の責任です
  • 本ソフトウェアを使用することにより、利用者は自身の行動に責任を持ち、直接的、間接的、またはその他の損害に対するすべての責任を負うことを認めるものとします
ツールをダウンロード