
Эксплуатация CVE-2023-44604. Использование Kali Linux VM (атакующий) и Debian 11 server VM (жертва)
[ПРЕДУПРЕЖДЕНИЕ]
Этот проект предназначен только для образовательных и лабораторных целей. Используйте эти методы только в средах, которыми вы владеете или на тестирование которых у вас есть разрешение.
Эта лабораторная работа будет моделировать эксплуатацию CVE-2023-46604 с использованием виртуальной машины Kali Linux (атакующий) и серверной виртуальной машины Debian 11 (жертва).
Эта лабораторная работа работает только если ваша хостовая ОС — Windows!
--> Если вы используете Linux, эта работа не будет работать!
ПРЕДУПРЕЖДЕНИЕ
Программное обеспечение Apache и Java будет автоматически установлено (с помощью скриптов) на виртуальные машины. Не устанавливайте их вручную на вашем хост-компьютере!
Мы используем следующее программное обеспечение в этом упражнении:
Установите VBoxManage и сделайте команду переменной окружения:
Клонируйте или загрузите репозиторий в выбранное вами место. (команды vboxmanage должны иметь возможность работать в этой папке)
C:\Users\<user_name>\CVE-2023-46604\После того как вы клонировали репозиторий на локальную систему, добавьте в эту папку (\CVE-2023-46604\) новую папку VDI\.
Ваша структура папок теперь должна выглядеть так:
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
Скрипты в этой лабораторной работе используют VDI для создания и удаления виртуальных машин. Сейчас мы загрузим следующие VDI:
CVE-2023-46604\VDI\.Debian-original.vdiCVE-2023-46604\VDI\.Kali-original.vdiВаша структура папок теперь должна выглядеть так:
CVE-2023-46604\
│
├── .gitignore
│
├── LICENSE
│
├── README.md
│
├── scripts\
│ ├── DebCreate.ps1
│ ├── DebDelete.ps1
│ ├── KalCreate.ps1
│ ├── KalDelete.ps1
│ ├── sshDebian.ps1
│ ├── sshKali.ps1
│ ├── softwareInstallDebian.sh
│ └── softwareInstallKali.sh
│
└── VDI\
├── Debian-original.vdi
└── Kali-original.vdi
Имя пользователя: osboxes
Пароль: osboxes.org
cd scripts
.\DebCreate.ps1
.\sshDebian.ps1
[ПРИМЕЧАНИЕ]
При первом SSH-подключении вы можете увидеть сообщение:The authenticity of host '[127.0.0.1]:2220' can't be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?Это нормально. SSH предупреждает, что ключ хоста виртуальной машины ещё не сохранён в вашем файле
.ssh/known_hosts.
Если вы хотите проверить вашу Debian VM, вы можете подключиться к ней по SSH:
ssh -p2220 [email protected]
Имя пользователя: osboxes
Пароль: osboxes.org
cd scripts
.\KalCreate.ps1
vboxmanage startvm "Kali Linux"
# При включении ssh сервер будет запускаться при загрузке.
sudo systemctl enable ssh
# Выключить виртуальную машину.
sudo poweroff
Начиная с этого момента SSH будет автоматически запускаться при загрузке виртуальной машины.
Если вы хотите проверить вашу Kali VM, вы можете подключиться к ней по SSH:
ssh -p2225 [email protected]
.\sshKali.ps1
[ПРИМЕЧАНИЕ]
При первом SSH-подключении вы можете увидеть сообщение:The authenticity of host '[127.0.0.1]:2225' cant be established. ED25519 key fingerprint is SHA256:... Are you sure you want to continue connecting (yes/no/[fingerprint])?Это нормально. SSH предупреждает, что ключ хоста виртуальной машины ещё не сохранён в вашем файле
.ssh/known_hosts.
Теперь у вас есть доступ удалённого выполнения команд (RCE) к виртуальной машине-жертве Debian.
Вы можете выполнить несколько команд Linux, чтобы убедиться, что у вас есть удалённый доступ к Debian11 VM:
# Показать текущую директорию
pwd
# Проверить операционную систему
cat /etc/os-release
# Проверить текущего пользователя
whoami
# Проверить информацию о ядре
uname -a
После успешной эксплуатации:
┌─────────────────────┐
│ Host System │
│ (VirtualBox Host) │
└─────────┬───────────┘
│
┌────────────────┴────────────────┐
│ │
NAT + Port Forwarding NAT + Port Forwarding
SSH: localhost:2225 SSH: localhost:2220
│ │
┌───────────┴───────────┐ ┌───────────┴───────────┐
│ Kali Linux VM │ │ Debian 11 Server │
│ (Attacker) │ │ (Victim) │
│ │ │ │
│ NIC1: NAT │ │ NIC1: NAT │
│ NIC2: Internal Net │<───────>│ NIC2: Internal Net │
│ "inet" │ │ "inet" │
└───────────────────────┘ └───────────────────────┘
Когда вы хотите создать виртуальную машину, просто выполните следующую команду в папке scripts/:
.\DebCreate.ps1.\KaliCreate.ps1Когда создаётся новая виртуальная машина, скрипты DebCreate.ps1 и KalCreate.ps1 сначала делают копию исходного VDI-файла (например, Debian-original.vdi). Затем VBoxManage использует эту копию для создания виртуальной машины.
Это гарантирует, что любые установки программного обеспечения или изменения конфигурации, сделанные внутри виртуальной машины, не сохраняются для будущих созданий, что позволяет каждой новой виртуальной машине начинать с чистого VDI.
После выхода из виртуальной машины вы можете ввести одну из 2 команд для удаления виртуальной машины (и копии VDI). Выполните следующую команду в папке scripts/:
.\DebDelete.ps1.\KaliDelete.ps1Когда виртуальные машины создаются, они работают с копии исходного VDI. Таким образом, при удалении виртуальной машины ранее установленное программное обеспечение не останется на новой виртуальной машине.