Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/nicholasaleks/infected-drones
Embedded Systems SecurityVulnerability AnalysisExploitationReverse EngineeringPenetration TestingHardware & IoT SecurityPapers & ResearchLearning & Education
GitHubnicholasaleks/infected-drones

infected-drones

현대 GCS에 대한 취약점 및 익스플로잇 모음

저장소 보기
1171일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

감염된 드론

드론-지상 통제국 공격 벡터, 취약점 및 익스플로잇

오늘날 드론 군집은 한 명의 운영자가 단일 지상국에서 수십 또는 수백 대의 드론을 비행하는 형태입니다. 이로 인해 지상 통제국은 적에게 가치 있는 표적이 됩니다. 조종사가 일반적으로 위치한 곳이며, 임무 데이터를 자주 저장하고, UxS 네트워크와 군집 내 다른 드론으로 측면 이동하기 위한 주요 벡터입니다.

Infected Drone

대부분의 드론 보안 연구는 드론 자체를 표적으로 삼는 데 집중해 왔습니다. Infected Drone 연구는 대안적 접근 방식을 취하며, 단일 감염된 드론이 자신에게 연결되는 지상국을 어떻게 공격할 수 있는지 강조합니다. 대부분의 지상 통제 소프트웨어가 드론이 보내는 모든 것을 신뢰하기 때문에, 인증, 검증, 정제가 부족하여 감염된 드론의 데이터가 운영자 머신에서 파일 CRUD, 코드 실행 또는 충돌로 이어질 수 있습니다.


책임 있는 사용

이 저장소는 지상 통제국 소프트웨어의 취약점을 문서화하고 이에 대한 작동하는 개념 증명 코드를 제공합니다. 이는 교육 목적으로만, 그리고 운영자가 자신의 노출을 이해하고 유지관리자가 이러한 문제를 재현하고 수정할 수 있도록 게시됩니다.

PoC는 자신이 소유하거나 테스트에 대한 서면 허가를 받은 시스템에 대해서만 실행하십시오. 모든 PoC는 벤치용으로 작성되었습니다: 페이로드는 무해한 마커이며, 여기에 있는 어떤 것도 다른 사람의 항공기나 지상국에 대해 사용하도록 패키징되지 않았습니다. 자신이 통제하지 않는 시스템에 이 자료를 사용하는 것은 어디서든 불법일 가능성이 높습니다.

각 발견 사항의 재현 섹션은 필요한 것과 수행하는 작업을 명시합니다. 무엇이든 실행하기 전에 읽어보십시오.


발견 사항

범례:

  • ✅ 해당 벡터로 신뢰 가능
  • ⚠️ 가능하지만 조건부, 경쟁 상태, 또는 추가 단계 필요
  • ❌ 해당 벡터를 통한 이 발견 사항에는 적용되지 않음

전달 클래스는 공격자가 링크에서 해야 하는 작업이며, 어떤 벡터가 작동하는지를 결정합니다. 푸시 발견 사항은 GCS에 도착하는 프레임만 필요하므로, 주입 가능한 모든 벡터로 충분합니다. 핸드셰이크 및 요청/응답 발견 사항은 공격자가 대화 상대가 되거나 완전히 통제해야 하며, 이는 온버스 주변기기, 감염된 컴패니언, 공급망, 또는 완전한 MITM을 선호합니다.

Fix 열은 제출된 업스트림 풀 리퀘스트를 연결합니다. 15개 발견 사항 중 10개는 벤더 자체 저장소에 패치가 제출된 상태로 제공됩니다.


전달 벡터

매트릭스는 발견 사항당 7개 열을 점수화합니다: 아래 5개 벡터와, 주입 대 MITM의 미묘함을 고려하여 아래에 별도로 설명하는 두 가지 SiK 라디오(RF 텔레메트리) 모드입니다.

  1. 감염된 비행 컨트롤러, 시리얼 연결, 또는 공급망. 로컬 공격자 또는 악성 비행 컨트롤러가 GCS 호스트나 라디오에 물리적으로 연결됩니다. 기체 또는 펌웨어는 운영자가 직접 만든 것이 아닙니다: 데모 유닛, 렌탈, 압수된 기체, 또는 중고 기체로, GCS가 연결되는 순간 적대적 MAVLink를 방출하도록 펌웨어가 이식되어 있습니다. 운영자의 자신의 GCS가 피해자입니다; "기체"는 전원이 켜지기 전부터 적대적이었습니다. 모든 발견 사항에 적용되며, 연결 시점 핸드셰이크 익스플로잇을 전달하는 가장 깔끔한 방법입니다. 이는 감염된 기체에 직접 연결하거나 데이터를 추출할 수 있는 포렌식 분석가에게도 확장됩니다. 이러한 아티팩트가 적절히 처리되지 않으면 분석가의 컴퓨터와 네트워크에 감염되거나 확산될 수 있습니다.

  2. 기체 자체 버스 상의 악성 / 위조 MAVLink 주변기기. 서드파티 카메라, 짐벌, ADSB-in, 거리계, 또는 MAVLink를 말하고 그 자체가 공격자인 모든 장치. 이는 링크 상의 정당한 참여자로서 적대적 프레임을 방출합니다. 오염된 메시지를 광고하는 위조 "스마트 카메라"는 실제 카메라가 하는 일을 그대로 수행하되, 적대적 값으로 수행합니다.

  3. 온보드 감염된 컴패니언 컴퓨터 (mavlink-router / MAVProxy를 실행하는 Raspberry Pi / Jetson). 일단 감염되면 기체 엔드포인트가 되어, 링크에 대한 완전한 양방향 접근과 실시간 상태 가시성을 갖습니다. 모든 핸드셰이크에 응답하고 모든 푸시 프레임을 방출할 수 있어, 이 세트의 모든 발견 사항에 실행 가능합니다.

  4. WiFi / UDP 텔레메트리 브리지 (ESP8266 / ESP32 "wifi telemetry"). 액세스 포인트나 LAN 상의 누구든 MAVLink 데이터를 주입할 수 있습니다. 이는 주입 벡터의 비용을 거의 0으로 낮추고, 가로챌 수도 있는 공격자(ARP/AP MITM)에게는 완전한 핸드셰이크 통제도 가능하게 합니다.

  5. TCP / 클라우드 릴레이 (SITL, mavlink-router TCP, mavp2p, 상용 UAV-클라우드 서비스와 같은 4G/LTE 클라우드 GCS). 릴레이에서의 MITM, 또는 노출된 TCP 포트에 도달할 수 있는 누구든 스트림을 재작성할 수 있습니다. 클라우드/4G 링크는 지리적 폭발 반경을 막대하게 넓히며 종종 상호 인증이 부족합니다.

SiK 라디오 (RF 텔레메트리 링크)

ArduPilot/PX4 취미 및 프로슈머 기체의 지배적인 실제 RF 텔레메트리 경로는 SiK 라디오 쌍으로, MAVLink를 파싱하거나 검증하지 않는 투명 시리얼 브리지이므로 GCS에 적대적 콘텐츠에 대한 보호를 전혀 제공하지 않습니다. 악성 SiK 모듈은 sikw00f를 사용하여 기존 링크에 참여하거나 브리지합니다. 매우 다른 신뢰성을 가진 두 가지 공격 모드:

  • 주입 (악성 라디오 하나). sikw00f는 링크에 동기화되면 공유 채널에 적대적 프레임을 전송할 수 있습니다. 원샷 푸시/스트림 메시지(STATUSTEXT, PARAM_VALUE, CAMERA_INFORMATION 등)에는 신뢰 가능하며 응답이 필요 없습니다. 핸드셰이크 프로토콜(MAVFTP, 파라미터/로그 다운로드)에는 신뢰할 수 없는데, 주입기가 에어타임 경쟁에서 이기고 자신이 통제하지 않는 세션/시퀀스를 맞춰야 하기 때문입니다.
  • 전체-MITM (악성 쌍). 두 개의 sikw00f 라디오, 하나는 GCS를 향하고 하나는 기체를 향하여 비행 중인 프레임을 브리지하고 재작성합니다 (선택적으로 재결합을 강제하기 위해 재밍 후). 이는 전체 대화를 소유하므로 핸드셰이크도 안정적으로 충족합니다.

참고: SiK 암호화(AES-128, 지원되는 경우)는 정적 공유 키와 함께 기본적으로 꺼져 있습니다.

도구 다운로드
ID제품심각도CWE싱크 클래스전달 클래스감염된 FC / 공급망?악성 온버스 주변기기?감염된 컴패니언?WiFi/UDP 주입?TCP/클라우드 MITM?SiKW00F 주입?SiK 전체-MITM?Fix
QGC-01QGroundControl🟠 HIGH22/73/170CAMERA_INFORMATION → 경로 순회 쓰기 (연결 시 제로클릭 쓰기)푸시 (CAMERA_INFORMATION) + cam_definition_uri를 통한 콘텐츠✅✅ 가장 자연스러움 (카메라)✅✅✅✅ 트리거는 푸시; 이름 필드는 인라인✅PR #15083
QGC-02QGroundControl🔴 CRITICAL22/73/494/918COMPONENT_METADATA uri → 임의 파일 쓰기 → 연결 시 제로클릭 RCE요청/응답 (IP를 통한 URI 가져오기)✅✅ 메타데이터 uri 방출✅✅ 트리거용✅⚠️ 푸시 트리거 가능; 가져오기는 IP를 통해✅PR #15084
QGC-03QGroundControl🟠 HIGH22/770FTP 목록 → 순회 쓰기 + 오프셋 디스크 채우기핸드셰이크 (MAVFTP 목록/다운로드)✅✅ 피어가 FTP 응답✅⚠️ 주입 가능, 자체 핸드셰이크는 더 어려움✅⚠️ 경쟁 상태 세션/시퀀스✅ 브리지가 목록 제공PR #15085
QGC-04QGroundControl🟡 MED191/125DataFlash .bin 파서 OOB 읽기 + 언더플로우핸드셰이크 (악성 .bin 로그 다운로드)✅✅ 피어가 DataFlash 제공✅⚠️✅⚠️ 로그 청크를 제공해야 함✅ 브리지가 .bin 공급PR #15086
MP-01Mission Planner🟠 HIGH22→94MAVFTP 순회 → 플러그인 로더 RCE핸드셰이크 (MAVFTP req/ack → RCE)✅✅ 피어가 목록 응답✅ 전체 링크 통제⚠️ 주입은 쉬움, 하지만 핸드셰이크를 소유해야 함✅ 릴레이에서 재작성⚠️ 경쟁에서 이기고 세션/시퀀스를 맞춰야 함✅ 브리지가 FTP 대화 소유PR #3774
MP-02Mission Planner🟠 HIGH94/78gst:// → gst_parse_launch (파일 r/w + 유출)푸시 (VIDEO_STREAM_INFORMATION → gst)✅✅ 카메라가 uri 알림✅✅ UDP 데이터그램✅✅ 원샷 스트림 프레임✅ 간단히PR #3775
MP-03Mission Planner🟠 HIGH74/601STATUSTEXT 마크업 → Process.Start푸시 (STATUSTEXT → ShellExecute)✅✅ 모든 컴포넌트가 방출✅✅✅✅ 발사 후 망각 텍스트✅PR #3776
MP-04Mission Planner🟡 MED248/20/1050RALLY_TOTAL/FENCE_TOTAL → 검증되지 않은 int.Parse + UI 스레드에서 O(n²) (연결 시 제로클릭)푸시 (PARAM_VALUE, 연결 후 자동)✅✅ PARAM_VALUE 방출✅✅✅⚠️ MP의 딕셔너리에 파라미터를 넣어야 함✅PR #3777
MAVSDK-01MAVSDK🟡 MED918/749컴포넌트 메타데이터 curl SSRF + file:// (프로토콜 허용 목록 없음)요청/응답 (IP를 통한 COMPONENT_METADATA.uri 가져오기)✅✅ 메타데이터 uri 방출✅✅ 트리거용✅⚠️ 푸시 트리거 가능; 가져오기는 IP를 통해✅없음
MAVSDK-02MAVSDK🟠 HIGH22/73/918cam-definition SSRF + mftp:// 순회 → 샌드박스 외부 파일의 제로클릭 파괴푸시 (CAMERA_INFORMATION.cam_definition_uri, 자동)✅✅ 가장 자연스러움 (카메라)✅✅✅✅ 자동 소비 푸시✅PR #3073
MAVSDK-03MAVSDK🟠 HIGH409/400/770/459.xz cam-definition 또는 COMPONENT_METADATA → 무제한 압축 해제 → 지속적 디스크 고갈푸시 (CAMERA_INFORMATION.cam_definition_uri, 자동) — 단순 HEARTBEAT로 시작됨✅✅ 가장 자연스러움 (카메라)✅✅✅✅ 자동 소비 푸시; 2 GiB당 57.6 kbps 에어타임 약 50초✅PR #3074
MAVPROXY-01MAVProxy🟠 HIGH502UDP를 통한 asterix pickle.loads → RCEIP 사이드채널 (UDP, MAVLink RF 링크가 아님)❌ MAVLink 링크 상이 아님❌ 별도 UDP 소켓⚠️ :45454에 도달할 수 있는 경우에만✅ 호스트:45454로 UDP❌ 자체 UDP 소켓, 릴레이 아님❌ RF/MAVLink 링크 상이 아님❌ RF/MAVLink 링크 상이 아님업스트림 #1728로 수정됨, 미출시
MAVROS-01mavros🟡 MED345/770PARAM_VALUE → 위조된 전역 /parameter_events + 무제한 맵푸시/스트림 (PARAM_VALUE 주입, 핸드셰이크 없음)✅✅ PARAM_VALUE 방출✅✅ UDP 플러드✅✅ PARAM_VALUE 플러드✅없음
MAVROS-02mavros🟠 HIGH125/617/248FTP 쓰기-ack → 무제한 std::advance → 힙 노출 + 프로세스 중단핸드셰이크 (FTP 응답 오염 → 충돌)✅✅ 피어가 잘못된 FTP 전송✅⚠️✅⚠️ 잘못된 형식의 응답을 넣어야 함✅ 브리지가 잘못된 응답 주입없음
DRONEKIT-01DroneKit⚪ INFO20신뢰 경계 핸드오프 (param_id / STATUSTEXT)푸시 (텔레메트리 → 앱 콜백; 설계상 핸드오프)✅✅ 모든 컴포넌트✅✅✅✅ 모든 푸시 프레임이 콜백에 도달✅n/a