
USBCoercer는 네이티브 USB-OTG를 지원하는 ESP32 개발 보드를 WPAD를 통해 프록시 구성을 강제할 수 있는 Ethernet-over-USB 가젯으로 변환합니다.
| 지원 대상 | ESP32-S3 |
|---|
USBCoercer는 네이티브 USB-OTG를 갖춘 ESP32 개발 보드를 WPAD를 통해 프록시 구성을 강제할 수 있는 Ethernet-over-USB 가젯으로 전환합니다. 이 프로젝트는 TinyUSB Network Control Model (NCM) 예제를 기반으로 하며, DHCP 옵션 252(WPAD/PAC)를 주입하는 초소형 DHCP 서버를 추가하고, 필요 시 EDR 텔레메트리를 차단하기 위해 클래스리스 정적 경로(옵션 121)도 추가합니다.
이 프로젝트는 보안 테스트 및 실험실 데모를 위해 제작되었습니다. 사용하기 전에 항상 명시적인 승인을 받으십시오.
install.sh/export.sh 스크립트를 통해 설치된 ESP-IDF 툴체인 및 Python 환경. $HOME/esp/esp-idf/export.sh
idf.py menuconfig
USBCoercer Configuration 메뉴를 검토하여 로컬 IP, DHCP 풀, WPAD 설정 등을 조정합니다.idf.py build
idf.py flash
이 프로젝트는 idf.py menuconfig 안에 전용 USBCoercer Configuration 메뉴를 제공합니다:
destination/prefix,gateway 구문을 사용하여 세미콜론으로 구분된 경로 목록을 제공합니다(예: 3.121.6.180/32,192.168.7.1). 목록을 비워 두면 옵션이 생략됩니다.sdkconfig.defaults는 실험실에 적합한 설정을 제공합니다:
192.168.7.1/24, 기본 게이트웨이 없음192.168.7.2 – 192.168.7.4)badnethttp://192.168.7.1/wpad.dat를 가리킵니다. 구성된 오리진에서 PAC 파일을 호스팅하거나 필요에 따라 URL을 조정하십시오.테스트 환경에 맞게 sdkconfig.defaults를 조정하거나 menuconfig를 사용하십시오. 매개변수를 변경한 후 펌웨어를 다시 빌드(idf.py build)하십시오.
DISCOVER/REQUEST 메시지에 응답합니다.현재 배포는 NTLM 인증 프록시를 제공하고 인증을 강제하기 위해 외부 서버가 필요합니다. 이 작업에는 Responder가 유용합니다. WPAD.DAT 파일을 제공하는 외부 서버는 선택 사항입니다.
이 펌웨어는 M5Stack AtomS3U에서 테스트되었으며 정상적으로 작동했습니다.
즐겁고(그리고 책임 있는) 해킹 되세요!