このチュートリアルでは、まずUDPスキャンを実行し、RDDOS(Reflective Denial of Service)攻撃を実行する脆弱な候補を特定する方法を示します。 このチュートリアルは、高速な実装を探している読者のために最適化されています。 UDPプロトコルに関する少し理論的な情報については、記事の最後を確認してください。nmapフラグと続行する前に何をするかを読むこともできます。
RDDOS攻撃は、パケット転送への以前の接続を確立しないUDPプロトコルの信頼性の欠如を利用しています。 この攻撃は、被害者のIPアドレス、つまりRDDOSへの返信を促すことによって帯域幅を悪用する脆弱なUDPサービスにパケットを送信するときに被害者のIPア
脆弱なサービスの一部には、次のものが含まれる場合があります:
- CLDAP(Connection-less Lightweight Directory Access Protocol)
- NetBIOS
- Character Generator Protocol(CharGEN)
- SSDP(Simple Service Discovery Protocol)
- TFTP(Trivial File Transfer Protocol)
- DNS(ドメインネームシステム)
- NTP(Network Time Protocol)
- Snmpv2(Simple Network Management Protocol version2)
- rpc(portmap/remote procedure call)
- Qotd(quote of the day)
- mdns(マルチキャストドメインネームシステム),
- steamプロトコル
- ルーティング情報プロトコルバージョン1(ripv1),
- lightweight ディレクトリアクセスプロトコル(LDAP)
- Memcached、
- Webサービス動的検出(WS-Discovery)。
Nmapスキャン特定のUDPポート
デフォルトでは、NMAPはUDPスキャンを省略し、Nmapフラグ-sUを追加することで有効にすることができます。 UDPポートを無視することにより、上記のように既知の脆弱性は、ユーザーに無視されたまま UDPスキャンのNmap出力は、オープン、オープン|フィルタリング、クローズ、フィルタリングされます。
オープン:UDP応答。
open|filtered:no response.
閉鎖:ICMPポートに到達できないエラーコード3.
フィルタリングされた: その他のICMP到達不能エラー(タイプ3、コード1、2、9、10または13)
次の例は、UDP仕様と冗長性以外の追加フラグなしの単純なUDPスキャンを示しています。
上記のUDPスキャンは、オープン/フィルタリングされ、オープン結果になりました。 Open/filteredの意味は、nmapがopenポートとfilteredポートを区別できないことです。 Open|filteredとは対照的に、open resultは指定されたポートが応答を送信したことを意味します。
nmapを使用して特定のポートをスキャンするには、-p<port>フラグを使用してポートを定義し、ターゲットを指定する前にUDPスキャンを有効にし、123UDP NTPポートのLinuxHintをスキャンするには、次のように実行します。
注意:フラグ-T4でスキャン強度の追加情報については、https://books.google.com.ar/books?id=iOAQBgAAQBAJ&pg=PA106&lpg=PA106&dをチェックしてください。
UDPスキャンはスキャンタスクを非常に遅くし、スキャン速度を向上させるのに役立ついくつかのフラグがあります。 –F(Fast),-version-intensityフラグはその一例です。
次の例は、LinuxHintをスキャンするときにこれらのフラグを追加することによるスキャン速度の増加を示しています。NMAPを使用したUDPスキャンの高速化:
RDDOSまたは反射的なサービス拒否候補のスキャン:
次のコマンドには、Nse(Nmapスクリプトエンジン)スクリプトntp-monlist、dns-recursion、snmp-sysdescr 次の例では、単一の特定のターゲットに対してスキャンが開始されます(linuxhint.com#nmap-sU-A-PN-n-pU:19,53,123,161-script=ntp-monlist,
dns-recursion,snmp-sysdescr linuxhint.com
次の例では、64.91.238.100から64.91.238.150までの50ホスト、最後のオクテットから50ホストをスキャンし、ハイフンで範囲を定義します。
snmp-sysdescr64.91.238.100-150
そして、反射攻撃に使用できるシステムの出力は次のように見えます:UDP(User Datagram Protocol)プロトコルはインターネットプロトコルスイートの一部であり、TCP(Transmission Control Protocol)と比較すると高速ですが信頼性がありません。UDPプロトコルがTCPよりも高速なのはなぜですか?
TCPプロトコルは、パケットを送信するための接続を確立し、接続確立プロセスは、ハンドシェイクと呼ばれています。 それはnmapステルススキャンで明確に説明されました:
“この二つのデバイスの接続接続によって成立過程という三つの方にハンドシェークの3つの初期相互作用の接続要求を、クライアントまたはデバイスを求めの接続、および確認をされるデバイスの接続を要請し、第三の場所に最終の確認、デバイスの接続のようなもの。
-“こんにちはで聴きますか? 会ってもいい?”(SYNパケットの同期が要求する)
-“こんにちは! 見えたぞ!,we can meet”(”i see you”はACKパケット、”we can meet”はSYNパケット)
-“Great!”(ACK packet)”
Source:https://linuxhint.com/nmap_stealth_scan/
これとは対照的に、UDPプロトコルは宛先との以前の通信なしでパケットを送信し、送信されるのを待つ必要がないため、パケ それは高速がVoIP、流出、賭博、等のような、必要なとき行方不明のデータ、選択による議定書を再送するための再送信の遅れなしに最小主義の議定書です。 このプロトコルは信頼性に欠けており、パケット損失が致命的でない場合にのみ使用されます。