Compare commits

..

2 Commits

Author SHA1 Message Date
Marat Kharitonov
37b5fd1f40 03-wifi 2024-03-17 20:51:51 -04:00
Marat Kharitonov
63205dd718 02-port-knocking 2024-03-17 19:21:32 -04:00
24 changed files with 133 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
# Сетевая безопасность. Лабораторная работа №2 (HW)
## Ход работы
1. Установим пакет `knockd` на обе виртуальные машины
![alt text](img/01.png)
2. На машине `ubuntu` предварительно настроим `iptables`, разрешив только установленные соединения и SSH.
![alt text](img/02.png)
3. Проверим подключение c машины `ubuntu2`
![alt text](img/03.png)
Видим, что подключение отсутствует, при этом SSH сессия до машины не оборвалась, делаем вывод, что правила `iptables` настроены верно.
4. После настройки пакетного фильтра необходимо инициализировать службу knockd. Для этого в файле /etc/default/knockd изменим следующую опцию и присвоить ей значение “1”:
![alt text](img/04.png)
5. Создадим файл, заполненный `one-time sequence`, то есть набором одноразовых последовательностей, которые будут использовать для открытия порта.
![alt text](img/05.png)
6. Настроим демон `knockd` так, чтобы он использовал созданный файл для открытия доступа к порту.
`nano /etc/knockd.conf`
![alt text](img/06.png)
7. Сделаем автостарт службы и запустим её
```
systemctl enable knockd.service
systemctl start knockd.service
```
8. С помощью `nmap` проверим доступность порта `1194/tcp` на машине `ubuntu`
![alt text](img/10.png)
Видим, что `nmap` определяет порт как фильтрующийся.
9. На машине `ubuntu2` выполним команду `knock` и укажем адрес подключения и последовательность.
![alt text](img/07.png)
10. На машине `ubuntu` проверим наполнение `iptables` и содержимое файла `/etc/knockd/openvpn_ots`
![alt text](img/08.png)
Видим, что в `iptables` появилось разрешающее правило, а в `/etc/knockd/openvpn_ots` закомментировалась строка с использованной последовательностью.
11. Проверим подключение `openvpn` с `ubuntu2` к `ubuntu`
![alt text](img/09.png)
Видим, что подключение выполнилось успешно.
12. С помощью `nmap` ещё раз проверим доступность порта `1194/tcp` на машине `ubuntu`
![alt text](img/11.png)
Видим, что теперь порт доступен.
13. Воспользуемся второй последовательностью, и проанализируем лог `tcpdump`
![alt text](img/12.png)
Видим, что при использовании `knock` на адрес посылаются пакеты в указанной последовательности, на который целевой адрес не отвечает, но как мы видели ранее, в этот момент сервер делает запись в `iptables`, разрешающее подключение.
![alt text](img/13.png)
## Выводы
Port Knocking — это метод усиления защиты путем скрытия открытых портов от несанкционированного доступа с помощью сочетания «стуков» на определенные порты. Метод может обеспечиваться с помощью демона `knockd`, который имеет большое количество параметров, одним из которых является `one-time sequence`, то есть одноразовые последовательсти -- набор "стуков", который может быть использован для открытия портов только один раз.
**Выполнил:** Харитонов Марат Русланович, студенческий билет М235314.

Binary file not shown.

After

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 274 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

View File

@@ -0,0 +1,52 @@
# Сетевая безопасность. Лабораторная работа №3 (HW)
## Ход работы
1. Установим на нашей точке доступа тип защиты сети на WPA2-PSK.
![alt text](img/01.png)
2. С помощью команды `airmon-ng start wlan0` установим интерфейс в режим монитора и проверим работу с помощью `airodump-ng`
![alt text](img/02.png)
Мы видим информацию о нашей сети на 12 канале.
3. Запустим `bettercap` и начнём слушать wifi-соединения.
`sudo bettercap --iface wlan0mon`
`wifi.recon on`
![alt text](img/03.png)
4. Выполним `wifi.show`, чтобы посмотреть список обнаруженных точек доступа.
![alt text](img/04.png)
5. С помощью `wifi.deauth <mac_address_of_AP>` попробуем выполнять отмену аутентификации клиента точки доступа, пока не поймаем полный хендшейк.
![alt text](img/05.png)
6. Успешно поймав хендшейк, переведем интерфейс в режим `managed` и сгенерируем wordlist с помощью `crunch`
![alt text](img/06.png)
7. Добавим реальный пароль от сети в wordlist и запустим подбор пароля.
![alt text](img/07.png)
8. Результат не заставил себя долго ждать.
![alt text](img/08.png)
P.S. Позже я решил попробовать использовать для перебора `hashcat`, который может использовать видеокарту для перебора.
Задав маску пароля, я пришёл к выводу, что подбор пароля из 8 символов, по маске `?l?l?l?l?d?d?d?d`, где `?l` -- символ в нижнем регистре, а `?d` -- цифра, займёт максимум 40 минут.
![alt text](img/09.png)
## Выводы
Выполненная работа говорит нам о том, что не стоит без опасения относиться к своей Wifi-сети, ведь простой пароль может быть подобран достаточно быстро, поэтому стоит как минимум использовать стойкий пароль, а желательно дополнять это ещё и использованием защитных механизмов.
**Выполнил:** Харитонов Марат Русланович, студенческий билет М235314.

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 589 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 793 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 481 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB