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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Starlink-FI — Starlink 터미널의 블랙박스 보안 평가를 위한 전압 오류 주입 모드칩으로, 부트로더 서명 검증을 우회하여 임의의 펌웨어를 실행합니다. | Kitploit
도구/GitHubGitHub/kuleuven-cosic/starlink-fi
Embedded Systems SecurityExploitationReverse EngineeringHardware HackingHardware SecurityBinary AnalysisFirmware Analysis
GitHubkuleuven-cosic/starlink-fi

Starlink-FI

Starlink 터미널의 블랙박스 보안 평가를 위한 전압 오류 주입 모드칩으로, 부트로더 서명 검증을 우회하여 임의의 펌웨어를 실행합니다.

저장소 보기
1.0k13653년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

스타링크 사용자 단말기 모드칩

이 저장소는 "Glitched on Earth by Humans: A Black-Box Security Evaluation of the SpaceX Starlink User Terminal"라는 제목의 발표 자료와 함께 제공됩니다. 슬라이드 자료는 여기에서 확인할 수 있으며, 발표 녹화 영상도 곧 공개될 예정입니다.

이 발표는 커스텀 모드칩을 사용하여 전압 오류 주입(voltage fault injection)을 수행함으로써 스타링크 사용자 단말기에서 임의 코드를 실행한 방법을 다룹니다. 이 모드칩은 시스템온칩(SoC) ROM 부트로더(BL1) 실행 중 서명 검증을 우회하는 데 사용할 수 있습니다. 이를 통해 BL2 이후부터 SoC에서 임의 코드를 실행할 수 있으며, 스타링크 사용자 단말기와 시스템의 네트워킹 측면을 더 깊이 탐색할 수 있게 됩니다. 다른 연구자들이 우리의 작업을 기반으로 확장할 수 있도록 모드칩 설계를 공개합니다.

🚨 사용 시 위험 부담은 본인에게 있습니다 🚨

제공된 모드칩 설계를 테스트하고 사용했지만, 이 모드칩을 사용하여 사용자 단말기에 영구적인 손상을 초래할 수 있습니다. 마찬가지로, 사용자 단말기를 분해하면 영구적인 손상이 발생할 수 있으며 보증이 무효화될 가능성이 높습니다.

모드칩 설계 개요

모드칩은 RP2040 마이크로컨트롤러로 제어되며, eMMC D0 라인에서 트리거되어 MOSFET 드라이버에 대해 (프로그래밍 가능한) 지연과 오프셋을 가진 두 개의 펄스를 생성합니다. 이 펄스 중 하나는 글리치(glitch) MOSFET을 제어하며, 이 MOSFET의 게이트가 하이로 구동되면 SoC 코어 전압 공급이 접지로 단락됩니다. RP2040이 생성하는 두 번째 펄스는 두 개의 커패시터 뱅크를 활성화/비활성화할 수 있는 두 개의 MOSFET을 제어합니다. 이 커패시터는 UT가 완전히 부팅하는 데 필요하지만, 전압 글리치 중에는 커패시터 뱅크를 활성화할 수 없습니다. 그렇게 하면 원하는 오류를 얻을 수 없기 때문입니다.

자체 모드칩을 제작하기 위한 회로도와 거버(Gerber) 파일은 여기에서 제공됩니다.

모드칩 개요

사전 요구 사항

  • UT를 분해하세요. UT 보증이 무효화되는 것을 원하지 않거나 영구적인 손상 위험을 감수할 의사가 없다면 여기서 중단하세요.
    • 여러 동영상 에서 YouTube가 해당 과정을 보여줍니다.
  • eMMC 칩의 내용을 읽으세요. 백업을 만들어 두세요!
    • eMMC 칩은 CMD, CLK 및 D0 테스트 포인트에 연결하여 회로 내 상태에서 읽을 수 있습니다. eMMC 핀아웃
    • eMMC는 1V8 로직 레벨을 요구합니다!
    • eMMC 칩을 읽을 수 있는 여러 도구가 있으며, 좋고 저렴한($12) 옵션으로는 exploitee.rs의 저전압 eMMC 어댑터가 있습니다.
  • 서명 검증을 비활성화하려면 다양한 부트 스테이지를 추출, 패치 및 다시 패키징해야 합니다.
    • eMMC 레이아웃은 U-Boot GPL 릴리스의 spacex_catson_boot.h 파일에 문서화되어 있습니다.
    • 펌웨어 추출에 대한 자세한 내용은 블로그 게시물에서 확인할 수 있습니다.
    • 초기 부트 스테이지는 모두 ARM Trusted Firmware-A 프로젝트를 기반으로 합니다.
      • TF fiptool을 사용하여 펌웨어 이미지 패키지(Firmware Image Package)를 개별 부품으로 언패킹할 수 있습니다.
      • 기본적인 정적 분석 후 Ghidra를 사용하여 이러한 부트 스테이지를 패치할 수 있습니다(오픈 소스 TF-A 코드를 참고하세요).
      • 서명 검증을 비활성화하고 UART 출력을 다시 활성화해야 합니다.
      • 인증서의 펌웨어 해시를 업데이트하세요. 우리는 서명 검증을 글리치하지만 해시는 여전히 유효해야 합니다.
    • 마찬가지로, 서명 검증을 비활성화하려면 U-Boot 이미지에 몇 가지 변경을 가해야 합니다.
      • bootdelay 매개변수를 늘릴 수도 있습니다.
    • Flattened uImage Tree는 U-Boot 프로젝트의 일부로 제공되는 dumpimage를 사용하여 언패킹할 수 있습니다.
      • 원하는 변경을 수행한 후 다시 패키징하세요.
  • 패치된 펌웨어를 eMMC 칩에 다시 기록하세요.

스타링크 UT PCB에 모드칩 장착하기

  • 조립한 모드칩이 제자리에 납땜되기 전에 제대로 작동하는지 확인하십시오.

  • 빨간색 사각형 안의 디커플링 커패시터를 제거하세요. 이 커패시터는 일반적으로 SoC 코어 전압 공급을 안정화하는 데 사용됩니다. 디커플링 커패시터

  • 조립된 모드칩을 UT PCB에 정렬하고 캐슬레이티드 홀(castellated holes)을 사용하여 제자리에 납땜하세요. 코어 전압 공급과 접지 사이에 단락이 발생하지 않도록 주의하십시오.

    • 가장 오른쪽의 캐슬레이티드 홀은 올바른 위치에 있지 않습니다. PCB를 재설계하거나 UT PCB의 노출된 패드를 마스킹하고 캐슬레이티드 홀을 근처의 접지 패드에 연결하면 됩니다(사진 참조).
  • UT RST로 표시된 테스트 포인트를 코어 전압 레귤레이터의 인에이블 핀에 연결하세요.

  • 12V로 표시된 테스트 포인트를 UT PCB에서 가까운 12V 소스에 연결하세요.

  • 가장 오른쪽 점퍼 패드(버튼 아래)를 eMMC D0 테스트 포인트에 연결하세요.

    • UART 출력을 비활성화하는 펌웨어 업데이트 때문에 이렇게 해야 했습니다.
  • 1V8로 표시된 테스트 포인트를 UT PCB에서 가까운 1.8V 소스에 연결하세요(eMMC 옆에 1V8에 연결된 디커플링 커패시터가 있습니다).

이제 글리칭을 시작할 준비가 되었습니다. 행운을 빕니다! Python 폴더에는 모드칩을 실험에 사용하기 시작하는 방법을 보여주는 예제가 포함되어 있습니다.

UT에 장착된 모드칩.

알려진 문제 및 제한 사항

  • 이 모드칩은 SpaceX가 모든 UART 출력을 비활성화하기 위해 퓨즈를 차단하는 펌웨어 업데이트를 도입하기 전에 설계되었습니다. 모드칩은 처음에 UART 출력에서 트리거하도록 설계되었지만, eMMC D0 신호에서 트리거하도록 조정할 수 있습니다. 최신 개정판에서는 eMMC D0 데이터에서 트리거하는 것뿐만 아니라 UART 출력을 읽을 수 있는 기능도 있으면 유용할 것입니다. UART는 BL2에서 다시 활성화할 수 있으며 글리치가 성공했는지 확인하는 쉬운 방법을 제공할 수 있습니다.
  • 이 모드칩은 원형 사용자 단말기를 위해 설계되었습니다. 동일한 공격이 사각형 사용자 단말기에서도 작동해야 하지만 새 PCB 설계가 필요할 것입니다.
  • 캐슬레이티드 홀의 한 섹션이 잘못된 위치에 있습니다. 설계를 그대로 사용할 때 주의하고 장착 지침을 그에 따라 따르십시오.
  • 글리치가 성공한 후 제어 PC에서 모드칩을 분리하면 접시(안테나)가 재부팅될 수 있습니다. 이는 MCP1405 MOSFET 드라이버의 IN A 핀에 풀다운 저항이 없기 때문일 가능성이 높습니다.
  • 제공된 펌웨어는 오류 주입 시도를 조율하기 위해 외부 제어 PC가 필요합니다. (현재 사용되지 않는) 두 번째 RP2040 Cortex-M0 코어를 사용하여 이를 독립형 모드칩으로 전환하는 것은 비교적 간단할 것입니다.

자주 묻는 질문(FAQ)

  • 완성된 모드칩을 판매하지 않습니다.
  • (패치된) 스타링크 사용자 단말기 펌웨어를 제공하지 않습니다.
  • 정확한 글리치 매개변수를 제공하지 않습니다. 발표 슬라이드에 다양한 힌트가 포함되어 있으며, 매개변수는 펌웨어를 패치하는 방법에 따라 달라집니다.
도구 다운로드