
Damn Vulnerable Drone은 인기 있는 ArduPilot/MAVLink 아키텍처를 기반으로 한 의도적으로 취약하게 설계된 드론 해킹 시뮬레이터로, 실습형 드론 해킹을 위한 현실적인 환경을 제공합니다.
Damn Vulnerable Drone은 널리 사용되는 ArduPilot/MAVLink 아키텍처를 기반으로 한 의도적으로 취약하게 설계된 드론 해킹 시뮬레이터로, 실습 중심의 드론 해킹을 위한 현실적인 환경을 제공합니다.
Damn Vulnerable Drone은 공격적 보안 전문가가 드론 해킹 기술을 안전하게 배우고 연습할 수 있도록 설계된 가상 시뮬레이션 환경입니다. 실제 ArduPilot 및 MAVLink 드론 아키텍처와 취약점을 시뮬레이션하여 드론 시스템을 익스플로잇하는 실습 경험을 제공합니다.
Damn Vulnerable Drone은 통제된 환경에서 공격적 보안 기술을 향상시키는 것을 목표로 하며, 중급 수준의 보안 전문가, 펜테스터, 해킹 애호가에게 매우 유용한 도구입니다.
조종사가 훈련을 위해 비행 시뮬레이터를 활용하는 것과 마찬가지로, 우리는 Damn Vulnerable Drone 시뮬레이터를 사용하여 실제 드론 시스템에 대한 깊이 있는 지식을 습득하고, 그 취약점을 이해하며, 이를 효과적으로 익스플로잇하는 방법을 배울 수 있습니다.
Damn Vulnerable Drone 플랫폼은 오픈 소스이며 무료로 제공되며, 드론 하드웨어, 해킹 도구, 유지 관리에 종종 수반되는 상당한 비용 문제를 해결하기 위해 특별히 설계되었습니다. 무료라는 특성 덕분에 사용자는 재정적 부담 없이 드론 해킹에 몰입할 수 있습니다. 이러한 접근성은 Damn Vulnerable Drone을 정보 보안 및 침투 테스트 분야의 사람들에게 중요한 자원으로 만들어, 안전한 환경에서 공격적 사이버 보안 기술 개발을 촉진합니다.
Damn Vulnerable Drone 플랫폼은 Software-in-the-Loop (SITL) 원칙에 따라 작동합니다. 이는 사용자가 실제 드론에서 실행되는 것처럼 드론 소프트웨어를 실행할 수 있게 해주는 시뮬레이션 기법으로, 실제 드론의 동작과 응답을 재현합니다.
ArduPilot의 SITL은 물리적 하드웨어 없이도 실제 드론의 동작을 모방하여 가상 환경 내에서 드론의 펌웨어를 실행할 수 있게 해줍니다. 이 시뮬레이션은 동적 3D 로보틱스 시뮬레이터인 Gazebo로 더욱 강화되어, 드론이 상호작용할 수 있는 현실적인 환경과 물리 엔진을 제공합니다. ArduPilot의 SITL과 Gazebo는 함께 정교하고 사실적인 드론 시뮬레이션 경험의 기반을 마련합니다.
현재 Damn Vulnerable Drone 설정이 모든 드론 아키텍처나 구성을 그대로 반영하지는 않지만, 통합된 전술, 기법 및 시나리오는 다양한 드론 시스템, 모델 및 통신 프로토콜에 폭넓게 적용할 수 있습니다.
안정적이고 성능이 좋은 Damn Vulnerable Drone 랩 환경을 보장하기 위해 다음 지침을 주의 깊게 검토하십시오.
[!NOTE]
컴퓨터의 성능과 인터넷 속도에 따라 컨테이너 빌드 및 이미지 풀을 포함한 전체 설치 과정은 30-60분 정도 소요될 수 있습니다. 인내심을 가지고 각 단계가 완료된 후 다음으로 진행하십시오.
Damn Vulnerable Drone은 사용 가능한 하드웨어에 따라 두 가지 모드로 실행할 수 있습니다:
운영 체제:
하드웨어 (최소):
그래픽:
소프트웨어:
라이트 모드는 풀 모드의 GPU 요구 사항을 충족할 수 없거나 더 빠르고 가벼운 설정을 원하는 사용자에게 권장됩니다.
운영 체제:
하드웨어 (최소):
그래픽:
소프트웨어:
다음 지침은 최신 버전의 Kali Linux에서 실행하는 것을 전제로 하며, Docker 설치 방법에 대한 공식 Kali 가이드도 여기에서 따라 주십시오.
git clone https://github.com/nicholasaleks/Damn-Vulnerable-Drone.git && cd Damn-Vulnerable-Drone
Docker Hub에서 미리 빌드된 이미지를 풀하거나 로컬에서 빌드할 수 있습니다. 풀 모드 또는 라이트 모드 중 원하는 것에 따라 적절한 docker-compose 파일을 선택하십시오.
풀 모드 (Gazebo 3D 시뮬레이터 포함):``` docker compose -f docker-compose.yaml pull
**라이트 모드** (GPU 없음, 경량 2D 시뮬레이터):```
docker compose -f docker-compose-lite.yaml pull
이미지를 직접 빌드하려는 경우(가져오는 것보다 느림):
전체 모드 (Gazebo 3D 시뮬레이터 포함):``` docker compose -f docker-compose.yaml build
**라이트 모드** (GPU 없음, 경량 2D 시뮬레이터):```
docker compose -f docker-compose-lite.yaml build
Damn Vulnerable Drone에는 시뮬레이터의 상태를 관리하는 데 도움이 되는 세 가지 유용한 bash 스크립트가 포함되어 있습니다.
start 스크립트는 Damn Vulnerable Drone 시뮬레이터를 시작하는 데 사용됩니다. 이 스크립트는 프로젝트 디렉터리에 dvd.log 로그 파일을 자동으로 생성하며, 이를 통해 시뮬레이터 로그를 확인할 수 있습니다.
[!TIP]
아직 Damn Vulnerable Drone 이미지를 빌드하거나 가져오지 않았다면start.sh스크립트가 자동으로 이미지를 가져와 빌드합니다.``` sudo ./start.sh -h
Usage: sudo ./start.sh [OPTION] Start the Damn Vulnerable Drone simulator.
Options: --mode [full|lite] Choose simulator mode: - full: 3D environment (GPU + drivers required) - lite: no GPU, minimal requirements --wifi [wep|wpa2] Start the simulation with a virtual drone Wi-Fi network. --no-wifi Start the simulation with instant access to the drone network (default). -h, --help Display this help and exit.
Example: sudo ./start.sh --wifi wpa2 # Starts with virtual Wi-Fi in WPA2 mode sudo ./start.sh --no-wifi # Starts without virtual Wi-Fi
#### Stop
stop 스크립트는 Damn Vulnerable Drone 시뮬레이터와 모든 가상 인터페이스 아티팩트를 완전히 정리하는 데 사용됩니다. stop 로그 또한 `dvd.log` 로그 파일에 추가됩니다.
`sudo ./stop.sh`
#### Status
시뮬레이터의 상태를 확인하고 싶다면 아래와 같이 status 스크립트를 실행할 수 있습니다.
`sudo ./status.sh`
### Wi-Fi 모드
"Wi-Fi 모드"(`--wifi`)는 가장 현실적인 가상 드론 해킹 시뮬레이션을 가능하게 합니다. 이는 상호작용할 수 있는 가상으로 시뮬레이션된 무선 네트워크를 배포합니다. 이 가상 wifi 네트워크는 Ground Station과 Drone Companion Computer 사이의 데이터 링크 연결 역할을 하여 공격자 머신에서 흥미로운 시나리오를 가능하게 합니다. Wi-Fi 모드로 Damn Vulnerable Drone을 배포하면 "Drone_Wifi" SSID와 192.168.13.0/24 네트워크에 접근할 수 있습니다. 지원되는 wifi 모드는 WEP와 WPA2 두 가지입니다.
> [!WARNING]
> 10.13.0.0/24 네트워크는 시뮬레이터 인프라를 실행하는 데 사용됩니다. 이 네트워크를 공격할 경우, 특히 `10.13.0.5`의 시뮬레이터 컨테이너를 공격하면 Damn Vulnerable Drone 인스턴스가 충돌하여 잠재적으로 긴 재빌드가 필요할 수 있습니다.
### Non-Wi-Fi 모드