hacktricks/generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md

13 KiB
Raw Blame History

Nmap Summary (ESP)

ゼロからヒーローまでのAWSハッキングを学ぶ htARTEHackTricks AWS Red Team Expert

HackTricksをサポートする他の方法

``` nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24 ``` ## パラメータ

スキャンするIPアドレス

  • <ip>,<net/mask>: 直接IPを指定
  • -iL <ips_file>: IPリスト
  • -iR <number>: ランダムなIPの数、--exclude <Ips>または--excludefile <file>で除外可能。

機器の発見

Nmapはデフォルトで次のフェーズを実行します: -PA80 -PS443 -PE -PP

  • -sL: 侵入しないで、ターゲットをリストアップし、名前を解決するためのDNSリクエストを行います。例えば、www.prueba.es/24のすべてのIPがターゲットであるかどうかを知るのに役立ちます。
  • -Pn: ピングなし。すべてがアクティブであることを知っている場合に便利です(そうでない場合、多くの時間を無駄にする可能性がありますが、このオプションはアクティブでないと言って誤った否定を生じます)、これにより発見フェーズが防止されます。
  • -sn : ポートスキャンなし。偵察フェーズを完了した後、ポートをスキャンしません。比較的ステルス性が高く、小規模なネットワークスキャンを許可します。特権を持っている場合、80にACK(-PA)、443にSYN(-PS)、エコーリクエストとタイムスタンプリクエストを送信し、特権を持っていない場合は常に接続を完了します。ターゲットがネットワークの場合、ARP(-PR)のみを使用します。他のオプションと一緒に使用すると、他のオプションのパケットのみが破棄されます。
  • -PR: ARPへのPing。ネットワーク内のコンピュータを分析する際にデフォルトで使用され、pingを使用するよりも高速です。ARPパケットを使用したくない場合は--send-ipを使用します。
  • -PS <ports>: SYNパケットを送信し、SYN/ACKで応答すれば開いている接続を終了させないようにRSTで応答、RSTで応答すれば閉じており、応答がない場合は到達不能です。特権がない場合、自動的に総接続が使用されます。ポートが指定されていない場合、80に送信されます。
  • -PA <ports>: 前述のものと同様ですが、ACKを使用し、両方を組み合わせるとより良い結果が得られます。
  • -PU <ports>: 目的は逆で、閉じていると予想されるポートに送信されます。一部のファイアウォールはTCP接続のみをチェックします。閉じている場合はポート到達不能で応答され、他のICMPで応答されるか、応答がない場合は到達不能として残されます。
  • -PE, -PP, -PM : ICMP PINGS: エコーリプライ、タイムスタンプ、アドレスマスク。ターゲットがアクティブかどうかを調べるために送信されます。
  • -PY<ports>: デフォルトで80にSCTP INITプローブを送信し、INIT-ACK開いているまたはABORT閉じているまたは何も応答しないかICMP到達不能非アクティブで応答される可能性があります。
  • -PO <protocols>: ヘッダーにプロトコルが指定されます。デフォルトでは1ICMP、2IGMP、4Encap IP。 ICMP、IGMP、TCP6およびUDP17プロトコルの場合、プロトコルヘッダーが送信され、残りの場合はIPヘッダーのみが送信されます。目的は、ヘッダーの不正形式により、プロトコル到達不能または同じプロトコルの応答が返され、アップかどうかを知るためです。
  • -n: DNSなし
  • -R: 常にDNS

ポートスキャン技術

  • -sS: 接続を完了せず、トレースを残さないため、使用できる場合に非常に優れています(特権)。デフォルトで使用されるものです。
  • -sT: 接続を完了するため、トレースが残りますが、確実に使用できます。デフォルトでは特権がありません。
  • -sU: より遅く、UDP用。主に: DNS53、SNMP161,162、DHCP67および68-sU53,161,162,67,68: 開いている応答、閉じているポート到達不能、フィルタリングされている他のICMP、開いている/フィルタリングされている(何もなし)。開いている/フィルタリングされている場合、-sVは、nmapがサポートするバージョンのいずれかを検出し、実際の状態を検出できるように多数のリクエストを送信します。時間がかかります。
  • -sY: SCTPプロトコルは接続を確立できないため、ログが残りません。-PYと同様に機能します。
  • -sN,-sX,-sF: Null、Fin、Xmas、一部のファイアウォールを突破し、情報を抽出できます。標準に準拠したマシンは、SYN、RST、ACKフラグのないすべてのリクエストにRSTで応答するはずであるという考えに基づいています: 開いている/フィルタリング何もなし、閉じているRST、フィルタリングICMP到達不能。Windows、CIsco、BSDI、OS/400では信頼性がありません。Unixでははい。
  • -sM: Maimonスキャン: FINとACKフラグを送信し、BSD用に使用され、現在はすべてを閉じたと返します。
  • -sA, sW: ACKとWindow、ファイアウォールを検出するために使用され、ポートがフィルタリングされているかどうかを知るためです。-sWは開いている/閉じているを区別します。開いているポートは異なるウィンドウ値で応答します: 開いているウィンドウが0以外のRST、閉じているRSTウィンドウ=0、フィルタリングICMP到達不能または何もなし。すべてのコンピュータがこの方法で動作するわけではないため、すべてが閉じている場合は動作していないこと、いくつかが開いている場合は正常に動作していること、そして多くが開いていて少数が閉じている場合は逆に動作していることがわかります。
  • -sI: アイドルスキャン。アクティブなファイアウォールがある場合でも、特定のIPにフィルタリングされないことを知っている場合または単に匿名性を望む場合は、ゾンビスキャナーすべてのポートで機能しますを使用できます。可能なゾンビを探すには、スクリプトipidseqまたはexploit auxiliary/scanner/ip/ipidseqを使用できます。このスキャナーは、IPパケットのIPID番号に基づいています。
  • --badsum: サムを誤って送信し、コンピュータはパケットを破棄しますが、ファイアウォールは何かを返信する可能性があります。ファイアウォールを検出するために使用されます。
  • -sZ: "奇妙な" SCTPスキャナー、クッキーエコーフラグメントを送信すると、開いている場合は破棄され、閉じている場合はABORTで応答されるはずです。initを通過できないファイアウォールを通過できますが、フィルタリングされたものと開いたものを区別しません。
  • -sO: プロトコルIPスキャン。時々プロトコルさえ区別できない空のヘッダーを送信します。ICMP到達不能プロトコルが到着すると閉じており、到達不能ポートが到着すると開いており、他のエラーが到着するとフィルタリングされ、何も到着しない場合は開いている|フィルタリングされています。
  • -b <server>: FTPhost-->他のホストからホストをスキャンするために使用され、他のマシンのFTPに接続して、他のマシンからスキャンしたいポートにファイルを送信するように要求します。応答に応じて、ポートが開いているかどうかを知ることができます。[<user>:<password>@]<server>[:<port>] ほとんどのFTPサーバーはこれを許可しなくなっているため、実用的な用途はほとんどありません。

分析を中心に

-p: スキャンするポートを指定するために使用されます。65335を選択するには: -p-または-p all。 Nmapには、その人気に応じた内部分類があります。デフォルトでは、主要な1000ポートが使用されます。 -F高速スキャンでは、主要な100ポートが分析されます。 --top-ports <number> 指定された主要ポート数1から65335までが分析されます。ポートはランダムな順序でチェックされるため、これを防ぐために**-r**を使用します。また、ポートを選択することができます: 20-30,80,443,1024- これは1024以降を見ることを意味します。また、プロトコルごとにポートをグループ化することもできます: U:53,T:21-25,80,139,S:9。 Nmapの一般的なポート範囲からポートを選択することもできます: -p [-1024] nmap-servicesに含まれる1024までを分析します。 --port-ratio <ratio> 指定された比率が0から1の間である最も一般的なポートを分析します。

-sV バージョンスキャン、強度を0から9まで調整できます。デフォルトは7です。

--version-intensity <number> 強度を調整でき、より低い場合は最も可能性の高いプローブのみが送信されますが、すべてが送信されません。これにより、UDPスキャンの時間を大幅に短縮できます。

-O OS検出

--osscan-limit ホストを適切にスキャンするには、少なくとも1つのポートが開いており、もう1つが閉じている必要があります。この条件が満たされていない場合、このオプションを設定している場合、OSの予測を試みません時間を節約します

--osscan-guess OSの検出が完璧でない場合、これによりより多くの努力が行われます。

スクリプト

--script <filename>|<category>|<directory>|<expression>[,...]

デフォルトのスクリプトを使用するには、-sCまたは--script=defaultを使用します。

使用可能なタイプは次のとおりです: auth、broadcast、default、discovery、dos、exploit、external、fuzzer、intrusive、malware、safe、version、およびvuln

  • Auth: 利用可能なすべての認証スクリプトを実行します
  • Default: ツールのデフォルトの基本スクリプトを実行します
  • Discovery: ターゲットまたは被害者から情報を取得します
  • External: 外部リソースを使用するスクリプト
  • Intrusive: 被害者またはターゲットに対して侵入的と見なされるスクリプトを使用します
  • Malware: 悪意のあるコードやバックドアによるオープンポートをチェックします
  • Safe: 侵入的でないスクリプトを実行します
  • Vuln: 最も一般的な脆弱性を発見します
  • All: NSE拡張子を持つすべてのスクリプトを実行します

スクリプトを検索するには:

nmap --script-help="http-*" -> http-で始まるもの

nmap --script-help="not intrusive" -> それ以外のすべて

nmap --script-help="default or safe" -> どちらかにあるもの

nmap --script-help="default and safe" --> 両方にあるもの

nmap --script-help="(default or safe or intrusive) and not http-*"

--script-args <n1>=<v1>,<n2>={<n3>=_<