- Khoảng 30 tệp Web UI quản trị trong firmware camera Hanwha Vision chứa cùng một token GitHub, và token này có quyền quản trị đối với hàng trăm repository trong tổ chức
fwupgradertrong firmware khôi phục khóa AES được hard-code bằng cách XOR với một bảng tĩnh rồi dùngopensslđể giải mã hệ thống tệp gốc; khóa và IV được dùng chung trong cùng dòng model- Do biến build của Vite được đặt thành toàn bộ
process.env, các biến môi trường của job CI đã bị ghi vào artifact, vàGITHUB_NPM_TOKENcùng nhiều cấu hình nội bộ cũng bị đưa vào firmware camera - Khảo sát khoảng 500 firmware theo cùng cách và trích xuất được 62%; 3 firmware có phát hiện token GitHub đều chứa cùng một token
- Hanwha đã thu hồi token trong vòng 12 giờ sau khi nhận báo cáo, nhưng cấu hình chèn toàn bộ môi trường CI vào artifact phía client có thể làm lộ thông tin xác thực và hạ tầng nội bộ trong sản phẩm
Thu thập firmware và lớp mã hóa đầu tiên
- Website Hanwha Vision công khai image firmware theo từng model camera, nên có thể tải tệp về để phân tích
- Khi kiểm tra image bằng
binwalk, phát hiện một tarball riêng chứa các thành phần AI cho camera và mộtfwimage.tgzđã được mã hóa - Theo phân tích giải mã firmware Hanwha của Matt Brown, mật khẩu được tạo bằng cách kết hợp
HTWvới số model- Trong đối tượng phân tích,
HTWXNP-9300RWhoạt động
- Trong đối tượng phân tích,
- Bên trong tarball đã giải nén có thêm một
fwimage.tgzkhác được mã hóa theo cách khác, nên không thể tái sử dụng nguyên quy trình giải mã cũ
Khôi phục phương thức giải mã từ fwupgrader
- Phân tích binary
fwupgradercó trong tarball bên ngoài bằng Ghidra và Claude Code để trích xuất hệ thống tệp gốc thực sự fwupgradercó áp dụng obfuscation để che giấu phương thức giải mã- Khóa AES được XOR với một bảng khóa tĩnh nhỏ bên trong binary rồi được lắp ráp lại khi chạy
- IV nằm trong binary dưới dạng plaintext
- Các mảnh lệnh
opensslcũng được obfuscate bằng XOR theo cách tương tự
- Lệnh được khôi phục có dạng sau, sử dụng SHA-256 và AES-256-CBC
openssl enc -md sha256 -aes-256-cbc -d \\ -K <KEY> -iv <IV> -in <INPUT> -out <OUTPUT> - Khóa và IV được hard-code và dùng chung trong cùng dòng model
KEY = dfa049bb922e63e2decc764af5628068e5b7a2662e479a615b14643e567579b0 IV = 53f926801b81454a4f889c9a390db6e6
Token quản trị GitHub nằm trong firmware
- Khi kiểm tra hệ thống tệp gốc đã trích xuất bằng
trufflehog, cùng một token GitHub được phát hiện lặp lại trong khoảng 30 tệp - Token này có quyền quản trị đối với hàng trăm repository thuộc tổ chức GitHub của Hanwha
- UI camera được build bằng Vite, và xác nhận rằng một biến build được đặt thành toàn bộ
process.env, khiến toàn bộ môi trường của job CI bị ghi vào các tệp kết quảvar W = { DATAPORT: "9090", GIT_LFS_SKIP_SMUDGE: "1", npm_command: "run-script", KUBERNETES_SERVICE_PORT_HTTPS: "443", GITHUB_NPM_TOKEN: "<snip>:ghp_…REDACTED…", npm_config_userconfig: "/home/docker/.npmrc", // etc } - Do không có camera thực tế, chưa thể xác minh liệu nó có hoạt động hay không
- Có khả năng token đã được truyền qua mạng tới người dùng truy cập UI quản trị
- Cũng vẫn có khả năng tệp chỉ tồn tại trên đĩa và không thực sự được phục vụ
Địa chỉ DoD trong môi trường CI
- Các biến môi trường bị lộ cũng chứa địa chỉ IP được cấp cho Bộ Quốc phòng Mỹ
SWARM_MASTER_NFS_ADDRESS:55.101.212.23OTEL_ELASTIC_URL:http://55.101.212.21:5601/<snip>CIMIP:55.101.211.213
- Chưa xác nhận được liệu các địa chỉ này được dùng tùy ý cho dịch vụ nội bộ không giao tiếp với bên ngoài, hay bắt nguồn từ quan hệ giữa Hanwha và Bộ Quốc phòng Mỹ
- Hanwha Vision là công ty giám sát video được thành lập với tên Samsung Techwin và là công ty con của Hanwha Group
- Các sản phẩm trước đây bao gồm pháo tự hành K9 Thunder, xe bọc thép chở đạn K10, các hệ thống con của K2 Black Panther, và robot canh gác SGR-A1
- SGR-A1 là robot canh gác có vũ trang
- Có thể CI do tổ chức trung tâm của Hanwha cung cấp và các biến liên quan được chia sẻ theo nhu cầu của công ty liên kết Hanwha Aerospace hoặc Hanwha Defense USA, nhưng đây là suy đoán chưa được xác nhận
Khảo sát toàn bộ firmware
- Để kiểm tra đây có phải một trường hợp đơn lẻ tình cờ hay còn có các token khác, firmware camera có thể tải từ website Hanwha đã được thu thập
- Trong khoảng 600 camera, thu thập được khoảng 500 firmware cho các model có cung cấp firmware
- Có thể trích xuất 62% bằng cùng phương pháp; chưa xác định được lý do phần còn lại thất bại
- Có 3 firmware chứa token GitHub, và tất cả đều chứa cùng một token
Báo cáo và phản hồi
- Thông tin tối thiểu đủ để xác định vị trí token đã được gửi tới email báo cáo bảo mật công khai của Hanwha
- Hanwha đã phản hồi trong vòng 12 giờ sau khi nhận báo cáo và thu hồi token đó
- Việc token GitHub bị đưa vào firmware là sai sót, nhưng quá trình tiếp nhận báo cáo và xử lý diễn ra rất nhanh
1 bình luận
Ý kiến trên Hacker News
Đang tìm camera IP white-label hoặc sản phẩm gần như plug-and-play được nhà sản xuất hỗ trợ nhưng vẫn có thể gỡ rootfs khi cần
Trước đây chỉ có các bộ kit phát triển đắt tiền thậm chí không có cả vỏ, nhưng giờ dường như đã có lựa chọn như GoodCam
Camera ONVIF tương thích với hầu hết các đầu ghi hình mạng (NVR), và cũng có nhiều NVR mã nguồn mở
Nếu không để camera PoE giá rẻ lộ ra ngoài Internet thì bảo mật của firmware nhà sản xuất bớt quan trọng hơn, nhưng VLAN và tách mạng phải được cấu hình thật cẩn thận
Độ ổn định tương tự Apple HomeKit, tức là không mấy xuất sắc
Tôi đã nâng cấp hai chiếc Sonoff Slim Gen2 mà không gặp vấn đề gì
Stránka nenalezena,There's been a glitch...Việc firmware nhúng sẵn địa chỉ IP của Bộ Quốc phòng Mỹ có vẻ là vấn đề lớn hơn, và khiến tôi thấy nên tránh các sản phẩm bảo mật của Hàn Quốc
Nhiều nhà cung cấp dùng mặc định nguy hiểm, bảo mật hỏng, và các giá trị hard-code
Dù không đặt bảo mật lên hàng đầu, ít nhất cũng cần các kiểm tra cơ bản như kiểm tra thông tin xác thực hard-code
Biện pháp tối thiểu là đặt camera vào VLAN riêng và chặn hoàn toàn truy cập Internet của VLAN đó
Trước đây tôi từng kiểm tra và thấy nhiều dongle OBD-II được xuất xưởng với cùng một địa chỉ MAC, kết quả là có thể truy cập toàn bộ thông tin trên nhiều website
Những vấn đề kiểu này dù muốn tránh cũng sẽ tiếp tục xảy ra
Nếu website dùng địa chỉ MAC do client cung cấp làm phương thức xác thực thì đó là thất bại IoT điển hình
Có lẽ nên bỏ chữ an ninh khỏi tên sản phẩm và chỉ gọi là camera thôi
Điều gây khó chịu là blog này dùng sai biểu tượng liên kết ngoài
a[href*="://"]::aftergiả định liên kết nội bộ là đường dẫn tương đối nhưhref="/about", nhưng site này dùng URL tuyệt đối như[https://hhh.hn/about](https://hhh.hn/about)ngay cả cho liên kết điều hướng, nên mọi liên kết đều bị gắn biểu tượngCó thể sửa bằng cách loại trừ các liên kết bắt đầu bằng địa chỉ site:
a[href*="://"]:not([href^="https://hhh.hn"])::afterĐèn trang trí trong nhà tôi mua gần đây không thể điều khiển nếu không có app riêng
Tôi lấy APK từ Google Store về phân tích thì thấy API key cho backend, Shopify, v.v. gần như nằm nguyên trong đó, nhưng vẫn chưa dùng chúng để làm gì
Nếu là nhà phát triển quan tâm đến bảo mật, họ sẽ dùng App Attest hoặc chức năng tương đương của Google Store
Tuy nhiên, từ kinh nghiệm tư vấn cho cửa hàng Shopify, chất lượng code do các consultant hoặc designer giá rẻ cung cấp thường rất thảm, nên cũng không ngạc nhiên
Từng có một công ty bảo vệ nhà nghiên cứu khỏi hậu quả pháp lý, nhưng tôi không nhớ tên
Vì LLM, làm rối mã nguồn trên thực tế đã bị vô hiệu hóa
Obfuscation vốn chỉ cản trở bằng cách khiến công việc trở nên nhàm chán, còn AI thì không bận tâm đến công sức đó
Các tổ chức nhà nước hoặc nhóm hacker tội phạm hoàn toàn sẵn sàng bỏ công sức đó
Tôi từng thấy những hệ thống như vậy tại triển lãm công nghiệp quốc phòng Mỹ, nên khả năng cao là chúng đang được dùng ở đâu đó