IoT Hacking Part 1: Dump device firmware

Search for a command to run...

No comments yet. Be the first to comment.
I. Introduction Coolify is an open-source, self-hostable PaaS that lets you deploy apps, databases, and pre-baked services on your own servers — the "Vercel/Heroku/Netlify replacement, but you own the

I. Introduction Kestra is an open-source event-driven workflow orchestration platform written in Java on top of Micronaut. It lets teams declare "flows" — task graphs that move data, call APIs, run sc

Disclosure status: Reported to vendor and coordinated through a private fix path. I. Introduction Warp is an agentic development environment, born out of the terminal. Use Warp's built-in coding agent
![[CVE-2026-48731] AI-Assisted Discovery of Command Injection in Warp Terminal](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fuploads%2Fcovers%2F699fec8cc9015c37f6e5364f%2Fe7817cef-a8af-45ec-b931-4e08225edeb6.png&w=3840&q=75)
Author: Anhlt91, Thuanhn Date: May 2026Tags: AI Claude Bug Hunting Closed-Source Security Research Overview I used Claude AI to find real security vulnerabilities in a closed-source enterprise produc
I. Introduction Filament is an open-source full-stack UI framework for Laravel built on top of Livewire. It lets developers compose admin panels, forms, tables, infolists, actions, and notifications a

Night-Wolf Team
58 posts
FPT Cyber Security Assurance Service
Trong thời gian team mình có study về IoT Hacking. Sau đây là một số note mà team tích lũy được.
SPI – Serial Peripheral Interface – hay còn gọi là giao diện ngoại vi nối tiếp, được phát triển bởi hãng Motorola.
Chuẩn đồng bộ nối truyền dữ liệu ở chế độ full - duplex (hay gọi là "song công toàn phần". Nghĩa là tại 1 thời điểm có thể xảy ra đồng thời quá trình truyền và nhận.
Là giao tiếp đồng bộ, bất cứ quá trình nào cũng đều được đồng bộ với xung clock sinh ra bởi thiết bị Master. Không cần phải lo lắng về tốc độ truyền dữ liệu.
SPI thường được sử dụng giao tiếp với bộ nhớ EEPROM, RTC (Đồng hồ thời gian thực), IC âm thanh, các loại cảm biến như nhiệt độ và áp suất, thẻ nhớ như MMC hoặc thẻ SD hoặc thậm chí các bộ vi điều khiển khác.

EPROM: Erasable Programmable Read-Only Memory. Nó là loại ROM được thiết kế dựa trên các nguyên tắc phân cực tĩnh điện. Nội dung của nó có thể được viết vào hoặc xóa đi bằng tia cực tím.
EAROM: EAROM là chữ viết tắt của cụm từ tiếng Anh “Electrically Alterable Read-Only Memory”. Đặc trưng của nó là có thể thay đổi theo từng bit. Nhược điểm của loại ROM này là tốc độ ghi tương đối chậm và điện thế sử dụng không chuẩn.
PROM: PROM là viết tắt của cụm từ “Programmable Read-Only Memory”. Nó thuộc loại WORM (“Write-Once-Read-Many”), đặc trưng của nó là chỉ lập trình được 1 lần. Nó cũng là loại ROM có giá rẻ nhất thị trường hiện nay
EEPROM: Đây là chữ viết tắt của cụm từ “Electrically Erasable Programmable Read-Only Memory’. Nó được thiết kế thông qua việc sử dụng công nghệ bán dẫn. Nội dung của nó có thể được viết vào hoặc xóa đi bằng điện cực..
NOTE: Trong các thiết bị hiện tại đa phần sử dụng bộ nhớ EEPROM.
NOR thường được sử dụng trong các bộ modem router, hay các dòng camera thông dụng. Bộ nhớ NOR cũng thường được sử dụng để lưu trữ code và khi chạy sẽ load trực tiếp vào RAM để execute chương trình.
NAND thường được sử dụng trong các thiết bị có cấu hình cao hơn. Modem FPT sử dụng loại bộ nhớ này. Bộ nhớ NAND thường đc dùng để lưu trữ dữ liệu.
Các chíp nhớ sẽ có sử dụng các chuẩn chân IC khác nhau. Trong quá trình thực tế dump rom sẽ phải tra datasheet của chip nhớ và từ sơ đồ chân để nối vào các thiết bị dump rom.
Trong các thiết bị nhúng thường sử dụng 2 chuẩn chân IC chính là sop8 và wson8

SOP8: Là loại chíp dán smd. Gồm 8 chân nổi.

DIP8: Đây là chuẩn chip cho cách loại mạch 1 lớp. Trong quá trình dump firmware nó chủ yếu được sử dụng là chuẩn chân trung gian nối tiếp giữa chip và usb ch341a vì nó có thể dễ dàng tháo nắp với các chân kẹp trên usb ch341a.

Đối với các thiết bị như router, camera,.. chíp nhớ trên đó thường sử dụng chân SOP8. Nên ta sẽ cố gắng tìm các chip sử dụng chân này trên board mạch. Sau đó đọc tên chip và tra google để xác định lại đó đúng là chip nhớ.
Trên các IC nhớ sẽ có 1 dấu chấm ở góc. Nó sẽ giúp ta xác định chân đúng trên sơ đồ.

Như vị dụ trong hình là con chip XMC XM25QH128AHIG được sử dụng trong thiết bị TPLINK DECO E4R. DATASHEET ta tra được qua google: https://datasheet.lcsc.com/lcsc/1811072025_XMC-XM25QH128AHIG_C328463.pdf

Ta sẽ sử dụng thiết bị sau để kết nối chip nhớ với pc https://shopee.vn/Máy-nạp-rom-CH341A-combo-kèm-kẹp-nạp-nhanh-trực-tiếp-trên-main-board-(Giá-cả-bộ)-i.742046680.17645130912?sp_atk=d4b55e54-eb7f-415b-9932-cafeacc0c7f1&xptdk=d4b55e54-eb7f-415b-9932-cafeacc0c7f1:

Sử dụng kẹp để kẹp chip nhớ trên board mạch. Sau đó kết nối kẹp với socket để chuyển từ sop8 sang dip8. Sau đó kết nối với usb ch341a.

Lưu ý dây màu đỏ trên kẹp chính là tương ứng với chân được đánh dấu trên chip.
https://www.mediafire.com/file/ysp1w5jfill5x81/[Hshop.vn]+CH341A+Programmer+v1.01.zip/file

Lưu ý: Vì dòng chip này được hàn chết vào board mạch nên chúng ta không thể dùng kẹp để trích xuất các chân ra được. Mà ta cần phải dùng hàn khò nóng để làm chạy thiếc và gỡ chip ra khỏi board mạch.

Trong hình là chip flash của modem FPT đã được khò tách ra khỏi mạch.
Để kết nối được chip chuẩn chân SWON8 ta cần hàn lại vào 1 mạch chuyển. Hoặc có 1 cách đơn giản hơn là mua thêm 1 đế kẹp chuyển đổi từ WSON8 sang DIP8

Sau đó kẹp chip nhớ vào đế chuyển và cắm vào usb ch341a:

Đối với dòng chip NAND ta sẽ không dùng phần mềm cũ mà sẽ sử dụng phần mềm sau để dump: https://github.com/McMCCRU/SNANDer
