web-dev-qa-db-ja.com

オープンソースの侵入テスト自動化

典型的なオープンソースの侵入テストはどのような順序で行われますか?最初に実行されるツール、2番目に実行されるツール、3番目に実行されるツール、およびそれらをどのように制御しますか?

Metasploit RCファイルを単に使用しますか?特別な方法でネットワーク脆弱性スキャナー?コマンドライン、カスタム、またはヘッドレスのWebアプリケーションセキュリティスキャナーですか?

あなたが共有したいと思う侵入テストをスピードアップする他の方法(またはアイデアさえ)?

このプロセスに役立つオープンソースプロジェクトはありますか(MSFコンソールの下のMetasploit RCファイルまたは `save 'コマンド以外に)?

48
atdre

Metasploitフレームワークは、今でもペンテスト自動化の主要ツールですが、CORE INSIGHTおよびImmunity Security SWARMで見たものと同じです。 Loki (または古いYersiniaツール)、intrace、 Chiron 、mana-toolkit、mitmf、bettercap、Responder.pyなど、実行する必要があるいくつかのツールがあります。 Metasploitフレームワークの外部にありますが、最近ではmsfconsoleの内部で多くのことができるようになります( `load kiwi 'が頭に浮かびます)。素晴らしいリソースを見たい場合は、Metasploitを使用して完全なPTESを実行する方法について説明している このドキュメント を確認してください。

Metasploitは、補助/サーバー(およびキャプチャー)モジュールなど、あちこちで(ほとんどすべてのツールとテクニックに存在します!)追いついています。ただし、auxiliary/spoof/arp/arp_poisoning、arpspoof、macof、arp-sk、nemesis、ettercapのパフォーマンス比較など、多くの疑問が残ります。補助/スニファー/ psnuffleの動作はdsniffとは異なりますか? Squirtle 、auxiliary/server/http_ntlmrelay、auxiliary/server/capture/http_ntlmの違いは何ですか? http_javascript_keyloggerは BeEF とどのように比較されますか?補助/スプーフ/ llmnr、補助/スプーフ/ nbs、補助/サーバー/ wpad、補助/サーバー/キャプチャ/ smbは、Responder.pyとどのように比較されますか?明らかに他の方が優れているだけですが、MSFの一部になるように再コーディング(または誰かがこれを行うことを確認)したいと思います。たとえば、 dns2proxysslstrip2 の作成者からの)機能がauxiliary/server/fakednsに存在してはいけませんか?

pbscan 、zmap、およびmasscanは近年多くの地盤を得ていますが、ネットワーク侵入テストの初期の作業の多くは、nmapまたはunicornscanのいずれかで行われています。特に、 dnmap は洗練されたアプローチです。 Minions と呼ばれるdnmapへのWebインターフェースさえあります。

Nmapに関して私が楽しんでいるいくつかのフラグを以下に示します。

スキャンが遅い(遅すぎない)、IDSを回避し、パケットが宛先に送信されなかった理由を示します。宛先のプロトコルまたはポートがnmapで認識されていない場合、データ長または文字列を設定して一度に1つのポートを実行するのが最適です。 robtexと csrecon を使用して、ターゲットIPプレフィックスを確認します。 Webサーバーではないが、これまでリモートコードの悪用に対して脆弱であった、利用できる1つまたは2つのポートを特定するようにしてください(このデータをcvedetails.comまたはexploitsearch.netと関連付ける必要がある場合があります)。この例では、TCPポート623(IPMI RMCP、これらの低速スキャンの恩恵を受ける、すでに応答が遅いサービス)を選択していますが、これは簡単に変更できます(ただし、 SSHやRDPなどの明らかなものはお勧めしません-少なくともこれらに挑戦する前に、Shodan HoneyScore を確認してください)。

-T1 --max-retries 0 --randomize-hosts --reason -n -Pn -sT -p 623

HTTPまたはTLSターゲットは通常、デフォルトのポートを実行するため、デフォルト以外のポートで他のHTTP/TLSターゲットをスキャンする前に、まずそれらをSYNスキャンするようにします。 2番目のコマンドは非常に遅くなりますが、レーダーの下に入る可能性があります(特に このパッチこのブログ投稿 から取得した場合)、Webへの完全なピボットを許可します層が検出されません。 Web関連のポートが開いているのにhttp-titleスクリプトが失敗する場合は、何か問題があります-潜在的な ハニーポット警告 !開いているポートと、サービス名と目的に一致する有効な対応するHTMLタイトル要素タグとの相関関係を探します。特定のIPが常に任意のポートに応答する場合は、nmapの--exclude <ip>ディレクティブを使用するか、IPのリストがある場合は--excludefile <filename>を使用します(nmapの-iLフラグと同様)。

-T1 --max-retries 0 --randomize-hosts --script http-title --reason -n -Pn -r -p 80,443

-T1 --max-retries 0 --randomize-hosts --script + http-title --open -n -Pn -p 81,457,902,995,1100,1128,1241,1581,1883,1944,2301,2375,2381,3010 、3037,3128,3780,3790,3872,4000-4002,4100,4567,4848,5000,5250,5800-5802,5814,5986,6060,6405,7000-7002,7080,7181,7272,7443,7510 、7770,7778,8000-8001,8008,8014,8028,8040,8081,8085,8088-8091,8095,8140,8161,8180,8200,8222,8300,8400,8443,8500,8776,8834,8880 、8883,8888,8980,8999-9000,9002,9060,9080,9084,9090,9191,9292,9389,9443,9495,9990,9999,30821,50000

すべてが正常な場合は、より高速なスキャンに切り替えて、IDS/IPSを確認します。すべてのスキャンが停止したときに問題が発生したことがわかりますが、nmapのtracerouteフラグを使用して(またはそれをfirewalkスクリプトと組み合わせて)、intrace、 lftttl-mon.py 、またはosstmm-afdを使用して、これらのシステムをマッピングしてください。通常、IPS/IDP機能、ネットワークベースのIPS/IDPアプライアンス、UTM、NGFW、および同様のネットワークスタックゲートウェイを含むファイアウォールは、8〜11秒ごとに分析されるトラフィックのみをサンプリングします。ポートスキャン間の長い遅延(nmap T1スキャンでの15秒のデフォルト、またはT2スキャンでの特定の12秒の遅延の設定による)と並列化の欠如は、通常、あらゆる種類の侵入検知によってこれらの低速のスキャンをこっそりします。 。単一のポートに向けられるトラフィックなど、トラフィックを繰り返すと、侵入検知ベルが鳴り、トラフィックを攻撃として識別したり、自動的に拒否したりする可能性があります。サンプリング期間中、侵入検知は連続したポートを探すこともあります。試したり、特定したり、遊んだりするには、さまざまな要因があります。したがって、以下に示す次のnmapフラグを変更して、この一連のIDS識別戦略をテストする必要があります。最初のテストケース(12秒の遅延を伴うT2スキャン、再試行なし、順次ポートなし)が成功したのに2番目が成功しない場合は、その理由を理解する必要があります。 Nmapのパケットトレースおよびtraceroute機能が強く推奨されますが、hping3やnpingなどの他のツールがこの取り組みをサポートするのに役立つ場合があります。

トラフィックがブロックされている(応答が完全に停止しているなど)場合は、送信元のパブリックIP(またはLAN IP)を切り替える必要がある可能性があるため、これらのほとんどをスターバックスまたはプライマリから実行することをお勧めします、通常の場所(dnmapもここで役立つでしょう)。どのハニーネット(フォーティネットFortiGate、TrapX DeceptionGridなど)もヒットしないようにするか、少なくともそれらを特定して、将来のスキャンで除外できるようにします。これらのトラップを回避する最善の方法は、そのscans.ioおよびSHODANデータ(およびターゲット環境に関する知識、使用中のテクノロジーの種類-内部ネットワークスキャンを実行する場合により有用)を利用して、多数のポート(nmapまたは増加する速度でdnmapを実行し、それぞれに20個ほどの一意のポートが含まれる)、潜在的なハニーポットである過度に光沢のあるサービス(21-23、25、53、110、135-139、445、1337、1433、1723、 3306、3389、5060-5061、5800、5900、8080、10000、31337、および44443(これらのポート番号はまだスキャンしないでください!).

-T2 --scan-delay 12s --max-retries 0 --randomize-hosts --open -n -Pn -p26,66,79,113,389,407,465

-T2 --scan-delay 9s --max-retries 1 --randomize-hosts --open -n -Pn -p512-514,523-524

-T2 --max-retries 3 --randomize-hosts --open -n -Pn -p548,554,587,593,873,993,1026,1050,1080,1099,1158,1344,1352,1521,1604,1720,2202,2302,2383

--max-rate 20 --max-parallelism 2 --max-retries 3 --randomize-hosts --open -n -Pn -p2628,2869,2947,3000,3031,3260,3478,3500,3632,3689 、4369,5019,5040,5222,5353,5357,5432,5560,5631-5632

--max-rate 40 --max-parallelism 4 --max-retries 3 --randomize-hosts --open -n -Pn -p5666,5672,5679,5850,5920,5984-5985,6000-6005,6379 、6481、6666、7019、7210、7634

--max-rate 80 --max-parallelism 8 --max-retries 3 --randomize-hosts --open -n -Pn -p8000,8009-8010,8834,9160,9999,11211,12000,17185,13722 、19150,27017,30718,35871,49152,50030,50060,50070,50075,50090,52822,52869,60010,60030,64623

以下に書かれているのは、nmapスキャンの次のレベル(デフォルトの速度、qscanレイテンシチェックのためにランダム化なし)であり、多くの詳細と移動の可能性を提供します。開いている可能性のあるポート番号を使用しますが、開いていない可能性のあるポート(特に、あいまいな結果となった過去のポート)を1つ選択します。 qscanスクリプトを壊すdnmapまたはその他の非効率性の使用は避けてください。 TCP(通常はHTTPまたはSSL/TLS)ポートは、リバースキャッシュプロキシ、ロードバランサーの背後にある、ネットワークレベルでリダイレクトされるなどの可能性があります。qscanスクリプトはこれらの状況を特定するのに役立ちますが、 halberd などのその他のツール(またはhttp-affiliate-idやhttp-faviconなどの追加のNSEスクリプト)でそれらを補足する可能性があります。このフェーズでは、IPプレフィックス、ホスト名、または組み合わせます。ここでは、blacksheepwallなどの強力なツールを1つ使用することをお勧めします。パッシブDNSセンサーは、あなたが思っているよりもはるかに簡単に場所や意図を伝えてしまうため、IPSまたはWAF(およびこの時点で、これらの3つと他の防御策を区別できるようにする必要があります。)すでに使い果たされるまで、上記の方法ですべてのポートをテストし続けます。ターゲットのネットワークとドメインについて知っています。ターゲットのSSL/TLSポートがある場合、d uplicatesスクリプトは、単一のホストが複数のIPまたはネットワーク(通常はマルチホーム)で話していることを理解するのに役立ちます。

--script qscan --max-retries 7 --reason -Pn --version-intensity 0 -sV -p80、(other found-TCP ports)--script qscan、duplicates、ssl-cert --max-retries 7- v --reason -Pn -sV --version-all -p80,443、(その他は以前に見つかりました)

悪いTCP=チェックサムを使用していくつかの単一ポートチェックを行うことで、この考え方に従ってください。過去の知識を活用し、それに基づいて構築してください。続行する前に、ネットワークについて十分な知識があることを確認してください送信するすべてのパケットのパスと内部、およびこの時点からの応答を予測します。この段階で少し追加の知識を構築したい場合は、pbscan、portbunny、masscan、zmapなどのさまざまなツールを使用できます。またはunicornscan(-w file.pcapフラグをここで転用して、MSFのpcap_logのようなパケットキャプチャ分析を可能にすることができますが、最初に聞こえるほどクールなアプローチを提案する必要はありません。方法がある場合(できれば)パケットキャプチャを実行するためにディスクI/O、CPU、およびメモリ使用量がスキャンに影響しないように、別のインラインシステム)、通常はpcapsを保存するためのnetsniff-ngなどのツール(または、 pcapngが必要です)、p0fやPRADSで結果を処理します。複雑になります。nmap以外にも、この段階で活用したいツールがいくつかあります。ポート固有のバージョンを対象とすることは、まだ必要ではありませんが、ここで実現できます。相関させるのに「ちょうど良い」サービスIDを使用して、OSレベルのフィンガープリントに重点を置くことをお勧めします。古い技術( cron-os と呼ばれるnmapのフォークなど)があり、fpデータベースを最新のプラットフォームに更新する新しいツールに移植する必要があります(これが、以前にp0fおよびPRADSを提案した理由です- -彼らはテクノロジーの絶え間ない変化に追いつく傾向がある)。 Rapid7には、サービスフィンガープリント用のビッグデータプロジェクト recog があります。 Nmapのサービスのバージョン管理は、amapなどのツールと比較した場合の平均であり、fpdns、ntp-fingerprint.pl、info2cpeなどの多くのポイントソリューションツールがあります。 NessusなどのVulnスキャナーにはhmap(HTTPフィンガープリント)が組み込まれていますが、その領域にも多くのツール(httprint、httprecon)があります。 OSフィンガープリントとサービスのバージョン管理に非常に問題があることは不愉快です。私が説明した方法とツールでできる限りのことをすることをお勧めします。

--script qscan --max-retries 7 --badsum -v -O --osscan-guess --max-os-tries 1 --reason --send-ip --version-intensity 0 -sV -p80、(少なくとも1つの閉じたポート)

もしそうするとき、あなたが明白なIPSまたは他のブロックに遭遇した場合、スニフジョークと他の高度な回避技術(AET)について言及している以下のセクションを参照してください。実際にシステムのフィンガープリントをとることができるならs)トラフィックをブロックする場合は、サーバーへのアクセス権がある別の同様の環境でスニフジョークのクライアント/サーバーのペアを実行するのが最善の策です(NB、これは以前のペンテストから、またはラボやモック環境からの可能性があります)。 badsumトリックは、ほとんどのシステムを先取りするはずですIPSシステム。これまでに行った他の手法でも、これらのブロッキングシステムが発見された可能性があります。良いAETを見つけた場合は、以前のポートをすべて実行することになるでしょう。もう一度スキャンして、同様の結果があるかどうかを確認します。SYNトラフィックが抑制されていると思われる場合(確認する1つの方法は、フルTCP接続の既知のオープンポートの束に対してnmapを使用することですおよび標準のSYNのみの同じポート)、SYN Cookie回避およびさらにそれ以上のこのような問題を検出するためのtcptraceの使用に関するセクション。

いくつかのUDPポートをスキャンしますが、いくつかの異なるツールで確認してください。 empty_udpなどのモジュールで hosts -R を活用するためにNmapデータをMSFにインポートする方法を学びます(ただし、スクリプトを1-1024,2049,5060,5061を削除します。ハニーポット、侵入検知、ログ記録、またはその他の不整合があるため、現在、低範囲のポートはチェックしていません。UDPポートが開いている場合、この知識により、ライブTCPポートについてはすでに知っています。ターゲットタイプ(OSまたはバージョン検出から)またはターゲット環境に関する過去の知識のために、より多くの知識を得ることができると感じた場合SCTP、ICMP、IGMPなどのIPプロトコルをスキャンすることにより、注意して結果を検討し、いくつかのプローブを送信してその知識を検証または構築します。

--max-rate 100 --max-retries 0 --randomize-hosts --reason -Pn -sUV --version-all -p500,523,623,1604,1645,1812,5353,5632,6481,6502,10080、 17185

unicornscan 10.0.0.0/24:500,523,1604,1701,1812,2000,3478,5353,5632,10080-10081 -Iv -mU

for i ike db2 citrix net-support netop; udp-proto-scanner.pl -p $ i 10.0.0.0/24を実行します。できた

-T2 --scan-delay 1s --max-retries 0 --randomize-hosts --reason -n -Pn -sO -p132

--max-rate 400 --max-retries 0 --randomize-hosts --reason -n -Pn -sY -p1167,1812,1813,2225,2427,2904,2905,2944,2945,3097,3565,3863 、3864,3868,4739,4740,5090,5091,5672,5675,6704,6705,6706,7626,8471,9082,9084,9900,9901,9902,14001,20049,29118,29168,29169,36412,36422

-T2 --scan-delay 1s --max-retries 0 --randomize-hosts --reason -n -Pn -sO -p1

-T2 --scan-delay 1s --max-retries 0 --randomize-hosts --send-ip -n -PM -sn

-T2 --scan-delay 1s --max-retries 0 --randomize-hosts --reason -n -Pn -sO -p2

-T2 --scan-delay 1s --max-retries 0 --randomize-hosts --send-ip -n -PP -sn

-T2 --scan-delay 1s --max-retries 0 --randomize-hosts --reason -n -Pn -sO -F --exclude-ports 1,2,6,17,132

-T2 --scan-delay 1s --max-retries 0 --randomize-hosts --reason -n -Pn -sO --exclude-ports 1,2,6,17,132 --data-length 3

絶対的な知識を得るには、過去のスキャンの結果に応答したすべてのアクティブなホストで以下を実行します。

-T2 --max-scan-delay 90ms --max-retries 9 -v -O --osscan-guess -n --send-ip -PE(または、成功した場合は-PP、および/または成功した場合は-PM)- sTUV -pT :(少なくとも1つの閉じたポートだけでなく、可能であれば1つの開いたポート)、U:(Tとして)--version-all

この最新の実行後、各ホスト、各ポートについて、ほぼすべてを把握する必要があります。ハニーポットまたはIDS/IPS/IDPなどがあるかどうかは明らかです。 「たぶんCisco」、「Unixの味」、「間違いなくIP電話または何らかの種類のソフトフォン」、または「不明なホストですが、これらは特定のプロファイルに一致します」など、確実ではない場合でも、それらをカテゴリにグループ化できます。異なるポートが開いている場合でも」あなたはこれらのホストとそれらの識別されたおよび/または識別されていないポートに対して脆弱性分析と悪用を開始する準備ができていると感じます。

Metasploitへのインポートまたは metasploitHelper でのクエリに適したNmap XMLファイルを取得するには、以前に見つかったポートを次のnmapポートリストに追加する必要があります。確認してください。 「T:」セクションにTCP/SCTPポートを追加し、「U:」セクションにUDPポートを追加します。

--min-rate 100 --max-rate 400 --min-parallelism 16 --max-retries 9 --defeat-rst-ratelimit -sUS -n -Pn -pT:0,1,19,42,49、 85,105,111,143,264,402,444,446,502,515,631,689,705,783,888,910,912,921,998,1000,1099,1211,1220,1533,1582,1617,1755,1811,1900,2000,2001,2067,2100,2103,2207,2362,2380,30,50,29,2940,2940,2947,2940 3200,3217,3299,3460,3465,3628,3690,3817,4322,4444,4659,4672,4679,5038,5051,5093,5168,5227,5466,5498,5554,5555,6050,6070,6080、 6101,6106,6112,6503,6504,6542,6660,6661,6905,6988,7021,7071,7144,7414,7426,7579,7580,7777,7787,8020,8023,8030,8082,8087,8503、 8787,8812,8899,9100,9200,9256,9390,9391,9788,9855,10001,10008,10050,10051,10202,10203,10616,10628,11000,11234,12174,12203,12221,12345,12397、 12401,13364,13500,16102,18881,19810,20010,20031,20034,20101,20111,20171,20222,22222,23472,26000,26122,27000,27960,28784,30000,31001,32764,34205,34443、 38080,38292,40007,41025,41080,41523,41524,44334,44818,46823,46824,50001,50013,55553,57772,62514,65535、U:19,42,49,69,111,161,631,1900,2049,2362、 777 7 -oX nmap_target1.xml

適切なターゲットを見つけた場合は、モジュール、その設定、およびそれらの実行方法に関するメモで構成されるカスタムMetasploitリソース(または「rc」)ファイルを利用できます。 ここにポート番号固有のrcファイル が見つかります。これにより、シェルへの高速パスを取得できます。いくつかのトラブルシューティングが必要になる場合がありますが、この初期のインフラストラクチャへの攻撃は、IPS(ネットワークまたはホスト)の存在または欠如を示している可能性があります。また、IPアドレスがブロックされる可能性があるため、注意して続行してください。また、これらの ポート固有のNSEスクリプト の一部を実行することもできます。これらの一部には、重要なスクリプト引数とその他の調整可能なパラメータがあります。ポートが開いているか、またはターゲットのOS /サービスの場合、ランタイム状態に関する詳細情報を取得するために何かを行うこともできます。ただし、この段階では、テストの自動化の段階で、意思決定のために利用できる情報を増やす必要があります。

別の可能性は、Webレイヤーにピボットすることです。これは、通常、少しのnmapおよびniktoアクションの後に carbonator を実行することを含みます(注、nikto.confを変更して、ユーザーエージェントを通常のウェブブラウザと、おそらく2つのmutate行をコメントアウトします)。また、この時点でより多くのホスト名とIPプレフィックスを検出する必要があります(domaincrawler.com、fierce、knock、dnsmap、およびsubbruteは subdomains に役立ち、dnsreconは残りのすべてを処理する必要があります)。ターゲットが大量にある場合は、 webshot を使用して画像をドロップし、ターゲットの選択を並べ替えたり、トリアージしたりできます。 IPSまたはWAFが導入されていることが確実にわかっている場合は、戦術を切り替えることができます。

-Pn -p 80 --version-all -sV --script "http-waf *"、http-devframework、http-enum、http-vhosts -oG nikto.pl -h--Tuning x04689c -D 1 -output nikto.xml

-Pn -p 443 --version-all -sV --script "http-waf *"、http-devframework、http-enum、http-vhosts -oG-| nikto.pl -h--ssl -Tuning x04689c -D 1 -output niktotls.xml

IDSメカニズム(例:sniffjoke、---(fragroute 、および Evader )を実行するか、土壇場で SYN-cookie を実行する時が来ました=、IDS、IPS、およびWAF検出チェック。最後に、それのために行きます!この時点で単一のポートまたは小さなポートのセットをスキャンしても意味がありません。

--script banner-plus --min-rate 450 --min-parallelism 20 --max-retries 5 --defeat-rst-ratelimit -n -Pn -p-

unicornscan 10.0.0.0/24:a -D -L 20 -r 450 -Iv -mU

unicornscan 10.0.0.0/24:9,42,49,67,88,135,139,162,213,259,260,407,445,464,514,517-523,546,631,657,826,829,1069,1194,1558,1645-1646,1900,1967,2055,2362,2427,2727,2746,3001,3283,3401,3544 、4045,4500,4665,5060,5350,5351,5355,5405,5432,6481,6502,8905,8906,9999,17185,18233,26198,27444,32822-32823,34555,41250,47545,49152,49599 、54321 -r 450 -Iv -mU

上記のレート(nmapの--min-rateおよびunicornscanの-r)は、1秒あたりのパケット数(pps)で測定され、ローカルネットワークまたはその他の理想的な条件の場合、最大10000まで変更できます。 nmapのスキャンレートを動的に(対話的に)変更するパッチがあります here (tcptrace.orgと組み合わせて再送信を探し、min-rate、max-rate、インタラクティブな同等物、min-parallelismのいずれかを変更するとすばらしいmin-hostgroup、または最大帯域幅が達成されるまでのmax-retries)。 pedantic min-hostgroup、min-parallelism、min-rateパラメータを使用している場合でも、nmapをSYNまたはUDPのバルクスキャンに最適なアプローチに組み込むことは困難です。これが、多くの人々がユニコーンスキャン、zmap、またはマスカンに頼る理由です。ターゲットのネットワークとサービスのサーバー応答に非常に信頼性の高い一貫した往復時間が存在する場合(またはネットワークの特性を把握する時間と忍耐力がある場合)、他に何もない場合、nmap/dnmapがツールの一貫性の最善の策になる可能性があります。 。

過去に見たことのない新しいIP、ホスト名、またはポート(-sYを使用したSCTPポート5060-5061を含む、以前に回避したハニーポットポートなど)を確認する必要がある場合があります。 qscanを実行した段階に戻り、新しい情報を使用してシナリオを再試行します。 Metasploitのdetect_kippoモジュールなどの追加の手法を使用して、ハニーポットを引き続きチェックします。該当する場合は、必ずmetasploitHelperを再実行してください。 Dradis、MagicTree、discover.sh XMLからCSVへの変換、Lunarline VSC、Prolific Solutions proVM Auditor、Cisco Kvasir、またはFishNet LAIRを使用して、すべての情報を追跡します。これらは侵入テストのデータを認識するため、メモ帳などのより良い代替手段です。以前と同様に、重複スクリプトがマルチホームホストの識別に役立つ場合があります。一般的なシナリオには、SSL/TLSのある、またはないWindowsマシン、またはSSHやSSL/TLS、あるいはその両方を実行しているWindows以外のマシンが含まれます(ただし、WindowsホストがSSHを実行している可能性もありますが、これは非常に奇妙なコーナーケースです。 )。

--script qscan、duplicates、nbstat、ssl-cert --max-retries 7 -v -O --osscan-guess --max-os-tries 1 --reason -Pn -sSUV --version-all -pT: 135、139、443、445、U:137

--script qscan、duplicates、nbstat --max-retries 7 -v -O --osscan-guess --max-os-tries 1 --reason -Pn -sSUV --version-all -pT:135,139,445、U: 137

--script qscan、duplicates、ssh-hostkey --max-retries 7 -v -O --osscan-guess --max-os-tries 1 --reason -Pn -sV --version-all -p22

--script qscan、duplicates、ssh-hostkey、ssl-cert --max-retries 7 -v -O --osscan-guess --max-os-tries 1 --reason -Pn -sV --version-all- p22,443

任意の形式の認証を必要とするサービス(または任意の種類のアプリ)で開いているポートを見つけた場合、プロトコル固有のスクリプトを読み取って構成する必要がありますが、一般的にnmap/dnmapコマンドライン引数は次のようになります。

--min-rate 100 --max-retries 5 -n -Pn --script brute、creds-summary --script-args unsafe、brute.mode = pass、userdb = usernames.lst、passdb = passwords.lst、brute .firstOnly、brute.guesses = 2 --version-all -sV(必要に応じて-sUVまたは-sUSV)

上記をdnmapを使用して、各サーバーで異なるpasswords.lstファイルを使用して実行して、試行回数を増やしたり、異なるIPアドレスからのブルート攻撃を行ったり、その他のシナリオに依存するさまざまなオプションを実行したりできます。

最後に、nmap/dnmapが実際にどのように優れているかについて話しましょう-SYNスキャンが機能していることがわかった後、それらをすべてまとめることで、UDPプローブがわかります(nmap-payloads、nmap-には以下の多くが欠落していることに注意してください) service-probes、Unicornscan etc/payloads.conf、およびudp-proto-scanner.confファイル-手動で作成する必要があるかもしれません!)そしてそのIDS/IPSは自動化の邪魔にはなりません。たとえば、コーヒーブレークだけではなく、「もう1つの昼寝」をすることはできません。その他の重要なことには、注意と通常の8時間の睡眠ルーチンが必要です。そうですね、nmap/dnmapをこの方法で起動すると、コンソールに戻ったときに素晴らしい結果が得られます。

--min-rate 100 --max-retries 5 --defeat-rst-ratelimit --randomize-hosts --open -Pn -v -O --osscan-guess --max-os-tries 1 -sUSV- version-all --script banner、duplicates、nbstat、ssh-hostkey、ssl-cert、vuln、vulscan、brute、creds-summary --script-args vulns.showall、unsafe、vulscanversiondetection = 0、brute.mode = pass、 userdb = usernames.lst、passdb = passwords.lst、brute.firstOnly -pT:0、1、19、26、42、49、66、79-81、85、105、111、113、135、139、143、264、389、402、407、443-446、457、465、500、502、512、99、96、1096、1096、96、1096、96、1096、96、1096 1099-1100,1128,1158,1167,1211,1220,1241,1337,1344,1352,1433,1521,1533,1581,1582,1604,1617,1720,1723,1755,1811-1813,1900,1944、 2000-2001,2067,2100,2103,2202,2207,2225,2301-2302,2362,2375,2380,2381,2383,2427,2525,2628,2869,2904,2905,2940,2944,2945,2947、 2967,3000,3010,3031,3037,3050,3057,3097,3128,3200,3217,3260,3299,3306,3389,3460,3465,3478,3500,3565,3628,3632,3689-3690,3780、 3790,3817,3863,3864,3868,3872,4000-4002,4100,4322,4369,44 44,4567,4659,4672,4679,4739,4740,4848,5000,5019,5038,5040,5051,5060-5061,5090-5091,5093,5168,5222,5227,5250,5353,5357,5432、 5466,5498,5554-5555,5560,5631,5632,5666,5672,5675,5679,5800-5802,5814,5850,5900,5920,5984,5985,5986,6000-6005,6050,6060,6070、 6080,6101,6106,6112,6346,6347,6379,6405,6481,6503,6504,6542,6660-6661,6666-6667,6704-6706,6905,6988,7000-7002,7019,7021,7071 7080,7144,7181,7210,7272,7414,7426,7443,7510,7579,7580,7626,7634,7770,7777-7778,7787,8000-8001,8008-8010,8014,8020,8023,8028、 8030,8040,8080-8082,8085,8087-8091,8095,8140,8161,8180,8200,8222,8300,8400,8443,8471,8500,8503,8776,8787,8812,8834,8880,8888、 8899,8980,8999,9000,9002,9060,9080,9082,9084,9090,9100,9160,9191,9200,9256,9292,9390,9391,9443,9495,9788,9855,9900,9901-9902、 9990,9999,10000-10001,10008,10050-10051,10202,10203,10616,10628,11000,11211,11234,12000,12174,12203,12221,12345,12397,12401,13364,13500,13722,14001、 16102,17185,18881,19150,19810,20010,20031,20034,20049,20101,20111,20171,20222,22222,23472,26000,26122,27 000,27017,27960,28784,29118,29168,29169,30000,30718,30821,31001,31337,32764,34205,34443,35871,36412,36422,38080,38292,40007,41025,41080,41523-41524、 44334,44443,44818,46823,46824,49152,50000-50001,50013,50030,50060,50070,50075,50090,52822,52869,55553,57772,60010,60030,62514,64623,65535、U:7 9,11,13,17,19,36-37,42,49,53,67,69,88,111,123,135,137,139,161-162,177,213,259,260,407,445,464,500,514,517-521,523,546,555,623,631,657,826,829,921,1069,1194,1434,1558,1701,1811164164460 1967,2000,2049,2055,2221,2302,2362,2427,2727,2746,3001,3283,3401,3478,3544,4045,4104,4500,4665,5060,5350,5351,5353,5355,5405、 5432,5555,5632,6481,6502,7001,7004,7777,7983,8905,8906,9999,10080-10081,17185,18233,26198,27444,27960,31337,32767-32774,32822-32823,34555、 41250,47545,49152,49599,54321

後で OpenVASまたはMetasploit を使用する場合は、nmapで少し作業するだけで多くの時間を節約できます。 msfconsole内からnmapとOpenVASを実行して、すべてのデータがMSFデータベースに入れられるようにします。ツールデータをMetasploit-consumable XMLにエクスポートするか、次のようなツールを使用することもできます。 nmap2nessus。脆弱性スキャナーについて学ぶべき重要な教訓は、実際の脆弱性の多くを見逃していることです。上記の方法でnmap/dnmapを一晩実行することにより、すべての脆弱性パスの可能性を確認できます。最初のショットでは機能しません-nmap/dnmapはそれらが失敗したことを通知します(ただし、その理由が有効であると考える場合でも、実際の「理由」ではありません)-脆弱性ができるかどうかを判断するのはあなた次第ですポート番号固有のMetasploitおよびNmap NSEファイルに関する以前の説明に戻ります。NSEファイルは今ではさらに重要です。これらのスクリプトの内部と、それぞれのトラブルシューティング方法を知ってください。それらが構成するコード行。少しのオフセット、小さいパラメータ、またはいくつかの組み合わせの微調整他のすべての侵入テスターが見逃していたであろうそのシェルを取得します。

35
atdre

上記の“A network vulnerability scanner in a special way?”の質問に関して、いくつかお話を伺います。

ジャンプする前に、ほとんどのスキャンツールの速度は正確さの正反対であることに注意したいと思います。 スピードキル

speed kills

ポートスキャン:

微調整 nmap ボールアウトスピード(a la –min-hostgroup, --min-parallelism, and friends)は、パケットカウンターを監視するのに最適です iptraf ぼやけてしまいますが、精度が低下することが保証されます。

私の高速化の典型的な垣根は、nmapスキャンを複数回実行することです。できれば、異なる日に異なる時間に実行してください。これは、帯域幅を飽和させるスケジュールされたバックアップのような精度を低下させる危険を最小限に抑えるのに役立ちます。

本当に大きなスキャンの場合は nicornscan を試してください。しばらく前ですが、前回、かなり大きなインターネットベースのポートスキャンを実行したことをメモしました。

要約すると、スキャンをフルIP TCP各ポートのポートスキャンを実行するように構成することにより、複数の大陸で400,000+のパブリックIPのスイープを実行し、3〜5を使用して〜55 Mビット/秒を維持しました。システム、そしてそれを数日で完了しました。

これは、ポートごとに2つのSYNプローブを送信することを考えるとかなり良いです。これは、約525億パケットを送信し、約3テラバイトのデータを生成することを意味します。

脆弱性スキャン:

これは今日ではそれほど真実ではないかもしれませんが、数年前に人気のある商業的な弱点をさかのぼります。スキャナーはすぐにスキャンを最適化して速度を向上させます。顧客が品質をスキャン結果の取得速度に結び付けているため、マーケティングと販売がそれを推進しました。

したがって、ベンダーとして(開示:以前は1人で作業していた)、ゲームはスピードを優先してチェックの数を減らすことでした。フルTCPまたはUDPスキャン?方法はありません。時間がかかる個々の脆弱性チェック?埋め込んでください。

あなたはこれがどこに向かっているのかを見ることができます-正確さが必要な場合は数分を費やし、正確さ(およびカバレッジ)のために好みの脆弱性スキャナーをカスタマイズしてください。あなたがスピードが欲しいなら、あなたはそれらの特性を犠牲にしていることを知っています。

上記の組み合わせ:

同じエンゲージメントでポートスキャン結果がツールごとに異なる頻度に飽き飽きしています。 IPごとの脆弱性スキャン(Qualysなど)の料金を支払うと、ツールが開いていることが確認されている開いているポートを繰り返し見逃すので、私はそれを嫌います。ポートスキャン(上記を参照)から結果を取得し、カスタムスキャンが開いていることが検出されたポートのみをヒットするために使用しているすべての脆弱性スキャンツールをカスタマイズします。これにより、TONの時間を節約できます。

クラウドブースティング:

インターネットベースのスキャンでは、ほとんどの場合クラウドVMのみを使用します。私のお気に入りは linode.com。Linode’s これまでのところ、AUPはポートスキャンを禁止していません(Amazonはそうです)。 30のVMをスピンアップして、非地域のデータセンター全体にスキャン作業を分散させると、ポートスキャンに楽しみを戻すことができます。レイテンシと帯域幅の条件が適切であれば、チューニングを積極的に行う方が簡単です。ここでの私のポイントは、クラウドVMはスキャン能力を高めるのに素晴らしいことです。

19
Tate Hansen

Social-Engineer.orgの [〜#〜] set [〜#〜] を試してください。サイト全体は素晴らしいリソースです。

10
Tim Troy

この質問を読んでいる間に私が思ったいくつかのこと...

侵入テストは状況に大きく依存します。はい、自動化されたツールがありますが、たとえそれが役に立ったとしても、すべてを行うことはできません。私の経験から、ペンテスト/監査プロセスの特定のステップに適用しない限り、自動化は邪魔になります。

OpenVAS に興味を持ちました。技術的には侵入テストツールではありませんが、偵察に非常に役立ちます。調べてみると、今朝リリースされた新しいバージョン(3.2.3)に注意してください。

これはオープンソースではありませんが、調査する別のツールは CoreInsight です。私はそれを試す機会を得ている最中ですが、Core Impactの機動性がないことは理解していますが、それは非常に興味深く、役立つツールになるはずです。

ペンテストの自動化については疑問がありますが、他のユーザーの意見に興味があります...(+1をあなたに)

4
Ormis

Webサイトをブルートフォースで実行し、JavaScriptを使用した実際のブラウザのように動作する必要がある場合は、 http://zombie.labnotes.org/ に数行を書き込むことができます。ユーザー列挙、ユーザー情報からのワードリスト生成、およびブルートフォーシングを同時に使用しました。

var zombie = require("zombie"); var assert = require("assert");

// Load the page from localhost zombie.visit("http://localhost:3000/", function (err, browser, status) {

  // Fill email, password and submit form   browser.
    fill("email", "[email protected]").
    fill("password", "eat-the-living").
    pressButton("Sign Me Up!", function(err, browser, status) {

      // Form submitted, new page loaded.
      assert.equal(browser.text("title"), "Welcome To Brains Depot");

    })

});

Javascript機能がなければ、Ruby-mechanizeを使用します。

3
baj