Learn & practice AWS Hacking:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Learn & practice GCP Hacking: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
SPI (Serial Peripheral Interface)는 IC(집적 회로) 간의 단거리 통신을 위해 임베디드 시스템에서 사용되는 동기식 직렬 통신 프로토콜입니다. SPI 통신 프로토콜은 클럭 및 칩 선택 신호에 의해 조정되는 마스터-슬레이브 아키텍처를 사용합니다. 마스터-슬레이브 아키텍처는 EEPROM, 센서, 제어 장치 등과 같은 외부 주변 장치를 관리하는 마스터(일반적으로 마이크로프로세서)로 구성되며, 이들은 슬레이브로 간주됩니다.
여러 슬레이브가 마스터에 연결될 수 있지만 슬레이브끼리는 서로 통신할 수 없습니다. 슬레이브는 클럭 및 칩 선택의 두 핀으로 관리됩니다. SPI는 동기식 통신 프로토콜이므로 입력 및 출력 핀은 클럭 신호를 따릅니다. 칩 선택은 마스터가 슬레이브를 선택하고 상호작용하는 데 사용됩니다. 칩 선택이 높을 때 슬레이브 장치는 선택되지 않으며, 낮을 때는 칩이 선택되어 마스터가 슬레이브와 상호작용하게 됩니다.
MOSI(마스터 아웃, 슬레이브 인) 및 MISO(마스터 인, 슬레이브 아웃)는 데이터 전송 및 수신을 담당합니다. 데이터는 MOSI 핀을 통해 슬레이브 장치로 전송되며, 이때 칩 선택은 낮게 유지됩니다. 입력 데이터는 슬레이브 장치 공급업체의 데이터 시트에 따라 명령, 메모리 주소 또는 데이터가 포함됩니다. 유효한 입력이 있을 경우 MISO 핀은 마스터로 데이터를 전송하는 역할을 합니다. 출력 데이터는 입력이 끝난 다음 클럭 주기에서 정확히 전송됩니다. MISO 핀은 데이터가 완전히 전송될 때까지 또는 마스터가 칩 선택 핀을 높게 설정할 때까지 데이터를 전송합니다(이 경우 슬레이브는 전송을 중단하고 마스터는 그 다음 클럭 주기 이후로는 듣지 않습니다).
펌웨어 덤프는 펌웨어를 분석하고 그 안의 취약점을 찾는 데 유용할 수 있습니다. 종종 펌웨어는 인터넷에서 사용할 수 없거나 모델 번호, 버전 등과 같은 다양한 요인으로 인해 관련성이 없습니다. 따라서 물리적 장치에서 직접 펌웨어를 추출하는 것이 위협을 탐색하는 데 구체적으로 도움이 될 수 있습니다.
직렬 콘솔을 얻는 것은 유용할 수 있지만, 종종 파일이 읽기 전용인 경우가 있습니다. 이는 다양한 이유로 분석을 제약합니다. 예를 들어, 패키지를 전송하고 수신하는 데 필요한 도구가 펌웨어에 없을 수 있습니다. 따라서 이진 파일을 추출하여 리버스 엔지니어링하는 것은 실현 가능하지 않습니다. 따라서 시스템에 전체 펌웨어를 덤프하고 분석을 위해 이진 파일을 추출하는 것이 매우 유용할 수 있습니다.
또한, 레드 팀 활동 중 장치에 물리적으로 접근할 때 펌웨어를 덤프하면 파일을 수정하거나 악성 파일을 주입한 다음 메모리에 다시 플래시하는 데 도움이 될 수 있으며, 이는 장치에 백도어를 심는 데 유용할 수 있습니다. 따라서 펌웨어 덤프를 통해 잠금 해제할 수 있는 수많은 가능성이 있습니다.
이 장치는 EEPROM에서 펌웨어를 덤프하고 펌웨어 파일로 다시 플래시하는 데 사용되는 저렴한 도구입니다. 이는 컴퓨터 BIOS 칩(단순히 EEPROM임) 작업에 인기 있는 선택입니다. 이 장치는 USB를 통해 연결되며 시작하는 데 최소한의 도구가 필요합니다. 또한 일반적으로 작업을 빠르게 완료하므로 물리적 장치 접근에도 유용할 수 있습니다.
CH341a 프로그래머와 EEPROM 메모리를 연결하고 장치를 컴퓨터에 연결합니다. 장치가 감지되지 않는 경우 컴퓨터에 드라이버를 설치해 보십시오. 또한 EEPROM이 올바른 방향으로 연결되어 있는지 확인하십시오(일반적으로 VCC 핀을 USB 커넥터와 반대 방향으로 배치) 그렇지 않으면 소프트웨어가 칩을 감지할 수 없습니다. 필요시 다이어그램을 참조하십시오:
AWS 해킹 배우기 및 연습하기:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
GCP 해킹 배우기 및 연습하기: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)