맞춤형 Linux 펌웨어를 실행하는 라우터에 텔넷으로 연결할 수 있었습니다. "buildroot"를 사용하여 컴파일됩니다.
라우터에 대한 몇 가지 사양을 파헤칠 수 있었습니다. 추가 조사를 위해 라우터의 펌웨어를 복제할 계획입니다. "dd"를 사용할 수 없었기 때문에 cat을 사용하여 netcat을 통해 플래시 드라이브(mtdblock0)의 전체 내용을 내 컴퓨터에 드롭해 보았습니다.
라우터:
cat /dev/mtdblock0 | nc ip port
개인용 컴퓨터:
nc -lp port > routerFirmware
그런 다음 내 컴퓨터에서 "binwalk"를 사용하여 다운로드된 파일을 확인합니다. 결과 :
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 Squashfs filesystem, little endian, non-standard signature, version 4.0, compression:gzip, size: xxxxxxx bytes, xxx inodes, blocksize: xxxxxx bytes, created: xxxx-xx-xx xx:xx:xx
지금까지는 좋아 보인다. 그러나 "#unsquash routerFlash" 결과는 다음과 같습니다.
Can't find a SQUASHFS superblock on routerFlash
가장 유력한 이유는 "cat"과 "nc"가 의도한 대로 전체 플래시 메모리를 복제할 수 없기 때문이라고 생각합니다. 나는 여기에 갇혀있다. 어떤 도움이라도 대단히 감사하겠습니다!
답변1
"복제" 단계는 문제가 아닌 것으로 나타났습니다. 내 라우터 공급업체는 비표준 "매직 넘버"를 사용하여 squashfs 시스템을 만듭니다. 나는 조언을 받았다.새 스콰 치한 번의 기회. 다행스럽게도 sasquatch는 파일 압축 및 기타 세부 사항을 올바르게 읽고 이해하지만 unsquash는 이를 올바르게 보고하지 않습니다.
결과: 내 컴퓨터에 라우터 펌웨어 사본이 있고 원하는 대로 이를 연구하고 분석할 수 있습니다. 지금까지는 좋아 보인다.