Compare commits
4 Commits
6fc53fe7af
...
10ad49476f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10ad49476f | ||
|
|
aba99ef0b4 | ||
|
|
276f65168e | ||
|
|
59f2b0567f |
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
**.docx
|
||||||
|
**.pdf
|
||||||
66
pentest/01-network/02-scanner/01-ftp/README.md
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
# Сканирование сетей. Лабораторная работа №1 (HW)
|
||||||
|
## Ход работы
|
||||||
|
1. Подготовим виртуальную машину с Linux Ubuntu 22.04
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2. Установим FTP-сервер командой `sudo apt install vsftpd`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
3. В файл конфигурации `/etc/vsftpd.conf` запишем следующие строки:
|
||||||
|
|
||||||
|
```
|
||||||
|
listen=YES
|
||||||
|
listen_ipv6=NO
|
||||||
|
anonymous_enable=NO
|
||||||
|
local_enable=YES
|
||||||
|
write_enable=YES
|
||||||
|
dirmessage_enable=YES
|
||||||
|
use_localtime=YES
|
||||||
|
xferlog_enable=YES
|
||||||
|
connect_from_port_20=YES
|
||||||
|
xferlog_std_format=YES
|
||||||
|
chroot_local_user=YES
|
||||||
|
secure_chroot_dir=/var/run/vsftpd/empty
|
||||||
|
pam_service_name=vsftpd
|
||||||
|
allow_writeable_chroot=YES
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
4. Перезапустим службу `sudo systemctl restart vsftpd`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
5. Создадим отдельного пользователя для дальнейшего подключения к FTP-серверу, последовательно выполняя следующие команды:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo useradd ftpuser
|
||||||
|
sudo mkhomedir_helper ftpuser
|
||||||
|
sudo passwd ftpuser
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
6. В директории /home/ftpuser создадим файл.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
7. Запустим на сервере `tcpdump` с записью в файл
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
8. Проанализируем полученный файл `ftp.pcap` в Wireshark
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## Выводы
|
||||||
|
|
||||||
|
Проанализировав PCAP-файл мы можем увидеть, что протокол FTP по умолчанию не использует шифрование, а значит вся сессия, в том числе чувствительные данные (логин, пароль, листинг директории) могут быть извлечены при прослушивании сессии.
|
||||||
|
Использовать FTP без шифрования за пределами доверенной сети крайне не рекомендуется, для этих целей лучше подойдут протоколы, обеспечивающие шифрование (FTPS, SCP, SFTP). При технической необходимости использовать FTP для передачи данных вне доверенной сети, необходимо как минимум использовать VPN для инкапсуляции открытого трафика в шифрованный.
|
||||||
|
|
||||||
|
**Выполнил:** Харитонов Марат Русланович, студенческий билет М235314.
|
||||||
BIN
pentest/01-network/02-scanner/01-ftp/ftp.pcap
Normal file
BIN
pentest/01-network/02-scanner/01-ftp/img/image01.png
Normal file
|
After Width: | Height: | Size: 138 KiB |
BIN
pentest/01-network/02-scanner/01-ftp/img/image02.png
Normal file
|
After Width: | Height: | Size: 139 KiB |
BIN
pentest/01-network/02-scanner/01-ftp/img/image03.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
pentest/01-network/02-scanner/01-ftp/img/image04.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
pentest/01-network/02-scanner/01-ftp/img/image05.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
pentest/01-network/02-scanner/01-ftp/img/image06.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
pentest/01-network/02-scanner/01-ftp/img/image07.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
pentest/01-network/02-scanner/01-ftp/img/image08.png
Normal file
|
After Width: | Height: | Size: 246 KiB |
BIN
pentest/01-network/02-scanner/01-ftp/img/image09.png
Normal file
|
After Width: | Height: | Size: 269 KiB |
14
pentest/01-network/02-scanner/01-ftp/vsftpd.conf
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
listen=YES
|
||||||
|
listen_ipv6=NO
|
||||||
|
anonymous_enable=NO
|
||||||
|
local_enable=YES
|
||||||
|
write_enable=YES
|
||||||
|
dirmessage_enable=YES
|
||||||
|
use_localtime=YES
|
||||||
|
xferlog_enable=YES
|
||||||
|
connect_from_port_20=YES
|
||||||
|
xferlog_std_format=YES
|
||||||
|
chroot_local_user=YES
|
||||||
|
secure_chroot_dir=/var/run/vsftpd/empty
|
||||||
|
pam_service_name=vsftpd
|
||||||
|
allow_writeable_chroot=YES
|
||||||
90
pentest/01-network/02-scanner/02-nmap/README.md
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
# Сканирование сетей. Лабораторная работа №2 (HW)
|
||||||
|
|
||||||
|
## Ход работы
|
||||||
|
|
||||||
|
1. Подготовим 2 хоста с установленным nmap:
|
||||||
|
|
||||||
|
`kali` (`192.168.103.88`)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`ubuntu` (`192.168.103.100`)
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
2. Просканируем хост `ubuntu` с `kali` различными методами.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
3. Просканируем хост `kali` с `ubuntu` различными методами.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Результаты сканирований не отличаются, результат `Host seems down` мы получили только при использовании параметра `PM`, который использует netmask request discovery probe.
|
||||||
|
|
||||||
|
4. Просканируем машины с помощью команды `nmap <ip-адрес>`
|
||||||
|
|
||||||
|
`kali` -> `ubuntu`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`ubuntu` -> `kali`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
В таком виде команда выполняет сканирование доступности и портов (1000 популярных) указанного адреса. Видим, что на `kali` открыт только 22/tcp (служба SSH), а на `ubuntu` -- 21/tcp, 22/tcp, что соответствует службам FTP и SSH соответственно.
|
||||||
|
|
||||||
|
5. Выполним сканирование порта 21/tcp методами TCP SYN Scan, TCP Connect Scan, UDP Scan, TCP FIN Scan, TCP NULL Scan, TCP Xmas Scan и TCP ACK Scan.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nmap 192.168.103.100 -sS -p 21
|
||||||
|
nmap 192.168.103.100 -sT -p 21
|
||||||
|
nmap 192.168.103.100 -sA -p 21
|
||||||
|
nmap 192.168.103.100 -sU -p 21
|
||||||
|
nmap 192.168.103.100 -sN -p 21
|
||||||
|
nmap 192.168.103.100 -sF -p 21
|
||||||
|
nmap 192.168.103.100 -sX -p 21
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
6. На машине `ubuntu` с помощью `docker` запустим веб-сервер `nginx` на порту `2839/tcp`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
7. Снова просканируем машину с помощью команды `nmap 192.168.103.100`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Нового порта не видим в силу того, что `nmap` использует 1000 предопределенных портов, в которые `2839/tcp` не входит.
|
||||||
|
|
||||||
|
8. Просканируем порт указав его вручную.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Порт появился как открытый.
|
||||||
|
|
||||||
|
9. Выполним сканирование порта методами из п.5.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
nmap 192.168.103.100 -sS -p 2839
|
||||||
|
nmap 192.168.103.100 -sT -p 2839
|
||||||
|
nmap 192.168.103.100 -sA -p 2839
|
||||||
|
nmap 192.168.103.100 -sU -p 2839
|
||||||
|
nmap 192.168.103.100 -sN -p 2839
|
||||||
|
nmap 192.168.103.100 -sF -p 2839
|
||||||
|
nmap 192.168.103.100 -sX -p 2839
|
||||||
|
```
|
||||||
|

|
||||||
|
|
||||||
|
## Выводы
|
||||||
|
|
||||||
|
Мы рассмотрели работу утилиты `nmap`, которая позволяет определить доступность хоста различными методами, а также определить службы, запущенные на удаленном устройстве.
|
||||||
|
|
||||||
|
**Выполнил:** Харитонов Марат Русланович, студенческий билет М235314.
|
||||||
|
|
||||||
BIN
pentest/01-network/02-scanner/02-nmap/img/image01.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image02.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image03.png
Normal file
|
After Width: | Height: | Size: 191 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image04.png
Normal file
|
After Width: | Height: | Size: 224 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image05.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image06.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image07.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image08.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image09.png
Normal file
|
After Width: | Height: | Size: 145 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image10.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image11.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image12.png
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
pentest/01-network/02-scanner/02-nmap/img/image13.png
Normal file
|
After Width: | Height: | Size: 121 KiB |
86
pentest/01-network/02-scanner/03-postgresql/README.md
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
# Сканирование сетей. Лабораторная работа №3 (HW)
|
||||||
|
|
||||||
|
## Ход работы
|
||||||
|
|
||||||
|
1. Просканируем машину `ubuntu` с помощью команды `nmap -sV 192.168.103.100`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Мы обнаружили 2 сервиса на `21/tcp` и `22/tcp`, определили их тип `FTP` и `SSH` и обнаружили версию этих пакетов. Также мы смогли определить, что используется ОС Linux, о чем говорит следующее: `Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel`
|
||||||
|
|
||||||
|
2. С помощью `docker-compose` запустим на машине сервер `PostgreSQL`.
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
version: '3.3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: library/postgres:16.2
|
||||||
|
volumes:
|
||||||
|
- postgres-data:/var/lib/postgresql
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: 1337
|
||||||
|
ports:
|
||||||
|
- '5432:5432'
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres-data:
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
3. Снова просканируем машину `ubuntu` с помощью команды `nmap -sV 192.168.103.100`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
В этот раз мы обнаружили сервис `PostgreSQL`. Nmap попробовал определить его версию, но, судя по предупреждению, ему это не удалось. Также nmap сообщает, что якобы имеется ещё один нераспознанный сервис.
|
||||||
|
|
||||||
|
4. Просканируем нестандартный порт `2839/tcp` из лабораторной №2 и порт Postgresql `5432/tcp`, указывая уровни интенсивности от 1 до 9.
|
||||||
|
|
||||||
|
`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 1`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 2`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 3`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 4`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 5`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 6`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 7`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 8`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
`nmap -sV 192.168.103.100 -p 5432,2839 --version-intensity 9`
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
Как мы видим, при интенсивности 1-6, мы получаем информацию только о Nginx и Postgres. При 7-8, мы дополнительно видим информацию о несущствующем сервисе. При 10 Postgres начинает определяться как `Nagios NSCA 9.6.0 or later`, что не соответствует действительности.
|
||||||
|
|
||||||
|
|
||||||
|
## Выводы
|
||||||
|
|
||||||
|
Мы рассмотрели работу утилиты `nmap`, а конкретно функционал определения сервисов, который позволяет подробнее понять, что за сервис скрывается за портом. Также мы поняли, что `nmap` пытаться определить сервис с разной интенсивностью, что может как помочь, так и запутать при аудите хоста.
|
||||||
|
|
||||||
|
**Выполнил:** Харитонов Марат Русланович, студенческий билет М235314.
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
version: '3.3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
postgres:
|
||||||
|
image: library/postgres:16.2
|
||||||
|
volumes:
|
||||||
|
- postgres-data:/var/lib/postgresql
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: postgres
|
||||||
|
POSTGRES_PASSWORD: 1337
|
||||||
|
ports:
|
||||||
|
- '5432:5432'
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres-data:
|
||||||
BIN
pentest/01-network/02-scanner/03-postgresql/img/1.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/2.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/3.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/4.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/5.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/6.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/7.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/8.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/9.png
Normal file
|
After Width: | Height: | Size: 55 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/image01.png
Normal file
|
After Width: | Height: | Size: 59 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/image02.png
Normal file
|
After Width: | Height: | Size: 122 KiB |
BIN
pentest/01-network/02-scanner/03-postgresql/img/image03.png
Normal file
|
After Width: | Height: | Size: 110 KiB |