
CVE-2023-44604 악용. Kali Linux VM (공격자) 및 Debian 11 서버 VM (피해자) 사용
[경고]
이 프로젝트는 교육 및 실습 목적으로만 사용됩니다.
소유한 환경이나 테스트 권한이 있는 환경에서만 이 기술을 사용하십시오.
이 실습은 Kali Linux VM(공격자)과 Debian 11 서버 VM(피해자)을 사용하여 CVE-2023-46604의 악용을 시뮬레이션합니다.
이 실습은 호스트 운영 체제가 Windows인 경우에만 작동합니다!
--> Linux를 사용하는 경우 이 실습은 작동하지 않습니다!
경고
Apache 및 Java 소프트웨어는 VM에서 (스크립트를 사용하여) 자동 설치됩니다. 호스트 PC에 수동으로 설치하지 마십시오!
이 실습에서는 다음 소프트웨어를 사용합니다:
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\
이 실습의 스크립트는 VM을 생성 및 삭제하기 위해 VDI를 사용합니다. 이제 다음 VDI를 다운로드하겠습니다:
.vdi 파일을 CVE-2023-46604\VDI\ 폴더에 넣습니다..vdi를 Debian-original.vdi로 저장합니다..vdi 파일을 CVE-2023-46604\VDI\ 폴더에 넣습니다..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는 VM의 호스트 키가 아직
.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
# VM을 종료합니다.
sudo poweroff
이 시점부터 SSH는 VM이 부팅될 때 자동으로 시작됩니다.
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는 VM의 호스트 키가 아직
.ssh/known_hosts파일에 저장되지 않았음을 알리는 것입니다.
이제 Debian 피해자 VM에 대한 원격 명령 실행(RCE) 접근 권한이 있습니다.
다음 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" │
└───────────────────────┘ └───────────────────────┘
VM을 생성하려면 scripts/ 폴더에서 다음 명령어를 실행하세요:
.\DebCreate.ps1.\KaliCreate.ps1새 VM이 생성되면 DebCreate.ps1 및 KalCreate.ps1 스크립트는 먼저 원본 VDI 파일(예: Debian-original.vdi)의 복사본을 만듭니다. 그런 다음 VBoxManage는 이 복사본을 사용하여 VM을 생성합니다.
이렇게 하면 VM 내에서 이루어진 소프트웨어 설치 또는 구성 변경 사항이 향후 VM 생성에 저장되지 않아 각각의 새 VM이 깨끗한 VDI에서 시작됩니다.
VM을 종료한 후, VM(및 VDI 복사본)을 삭제하는 2개의 명령어 중 하나를 입력할 수 있습니다. scripts/ 폴더에서 다음 명령어를 실행하세요:
.\DebDelete.ps1.\KaliDelete.ps1VM이 생성될 때 원본 VDI의 복사본을 사용하여 작동합니다. 이렇게 하면 VM을 삭제할 때 이전에 설치된 소프트웨어가 새 VM에 남아 있지 않습니다.