2 poin oleh GN⁺ 2024-05-26 | 1 komentar | Bagikan ke WhatsApp

Rekayasa Balik Firmware Samsung WB850F

WB850F_FW_210086.zip - Kontainer eksternal

  • WB850F adalah salah satu dari sedikit model yang tetap menyediakan firmware dan file dukungan bahkan setelah Samsung menghentikan aplikasi iLauncher.
  • Arsip WB850F_FW_210086.zip berisi beberapa file:
    • GPS_FW/BASEBAND_FW_Flash.mbin: data
    • GPS_FW/BASEBAND_FW_Ram.mbin: data
    • GPS_FW/Config.BIN: data
    • GPS_FW/flashBurner.mbin: data
    • FWUP: teks ASCII, dengan terminator baris CRLF
    • partialImage.o.map: teks ASCII
    • WB850-FW-SR-210086.bin: data
    • wb850f_adj.txt: teks ASCII, dengan terminator baris CRLF
  • File FWUP berisi string "upgrade all", sebuah skrip untuk modul pengujian/otomasi firmware.
  • File wb850f_adj.txt adalah skrip kompleks untuk meningkatkan firmware GPS dan menghapus file tersebut.

partialImage.o.map - Dump linker

  • partialImage.o.map adalah file teks dengan lebih dari 300 ribu baris, yang berisi output linker dari partialImage.o dan peta memori lengkap:
    • Contoh:
      • output input virtual section section address size file
      • .text 00000000 01301444 .text 00000000 000001a4 sysALib.o
      • DevHTTPResponseStart 00321a84 000002a4
      • DevHTTPResponseData 00321d28 00000100
      • DevHTTPResponseEnd 00321e28 00000170
  • File ini memberikan informasi yang sangat berguna untuk analisis firmware.

WB850-FW-SR-210086.bin - Analisis header

  • Hasil analisis file WB850-FW-SR-210086.bin dengan binwalk menemukan header file (HTML, PNG, JPEG, dll.), header VxWorks, dan beberapa path Unix, tetapi tidak menemukan partisi atau file system.
  • Hasil hex dump untuk 1KB pertama:
    • 00000000: 3231 3030 3836 0006 4657 5f55 502f 4f4e 210086..FW_UP/ON
    • 00000010: 424c 312e 6269 6e00 0000 0000 0000 0000 BL1.bin.........
    • 00000020: 0000 0000 0000 0000 c400 0000 0008 0000 ................
    • 00000030: 4f4e 424c 3100 0000 0000 0000 0000 0000 ONBL1...........
    • 00000040: 0000 0000 4657 5f55 502f 4f4e 424c 322e ....FW_UP/ONBL2.
    • 00000050: 6269 6e00 0000 0000 0000 0000 0000 0000 bin.............
  • Dari sini, tabel partisi yang mencakup nama file dan nama partisi bisa direkonstruksi:
    • File name size offset partition name
    • FW_UP/ONBL1.bin 196 (0xc4) 0x0000800 ONBL1
    • FW_UP/ONBL2.bin 46 KB (0xb630) 0x00008c4 ONBL2
    • [WB850]DSC_5KEY_WB850 30 MB (0x1d1f438) 0x000bef4 Main_Image
    • RomFS/SPID.Rom 48 MB (0x2f4ac00) 0x1d2b32c Resource
    • FW_UP/WB850.HEX 19 KB (0x4d86) 0x4c75f2c OIS
    • FW_UP/skin.bin 36 MB (0x22fd048) 0x4c7acb2 SKIN

WB850-FW-SR-210086.bin - Partisi kode dan data

  • Hasil ekstraksi partisi menggunakan alat ekstraksi partisi:
    • ONBL1.bin: data
    • ONBL2.bin: data
    • Main_Image.bin: kunci rahasia OpenPGP (false positive)
    • Resource.bin: executable MIPSEB-LE MIPS-III ECOFF
    • OIS.bin: data
    • SKIN.bin: data
  • ONBL1 dan ONBL2 diduga merupakan tahap 1 dan tahap 2 bootloader.
  • Main_Image adalah firmware sebenarnya, dan berisi banyak prolog fungsi ARM.
  • Resource dan SKIN kemungkinan adalah skin UI yang disediakan produsen SoC.
  • OIS kemungkinan adalah firmware untuk perangkat optical image stabilization.

Memuat kode ke Ghidra

  • Partisi ONBL1, ONBL2, dan Main_Image berisi kode ARM yang sebenarnya.
  • Analisis dimulai di Ghidra untuk memetakan Main_Image ke alamat memori yang benar.
  • Nama fungsi dari partialImage.o.map dimuat dan dipetakan ke Ghidra.

Rekayasa balik DevHTTPResponseStart

  • Fungsi DevHTTPResponseStart melakukan deteksi hotspot.
  • Ringkasan:
    • Untuk respons HTTP 200 OK, server harus menetapkan cookie pada domain "yahoo.something" atau "kr.yahoo.something".
    • Untuk redirect HTTP 301/302/307, URL harus mengandung string "yahoo.".
  • Untuk melewati deteksi hotspot, record DNS harus diarahkan ke server lain, atau cookie harus ditetapkan menggunakan redirect HTTP.

Ringkasan: harta karun yang sesungguhnya

  • Analisis ini memungkinkan pemahaman dan bypass terhadap deteksi hotspot pada kamera WiFi Samsung WB850F.
  • Hasilnya, dengan patch kecil, kamera benar-benar bisa terhubung dan mengunggah foto.
  • Main_Image berisi lebih dari 77.000 fungsi, sehingga layak dijelajahi untuk memahami lebih dalam cara kerja kamera digital.

Pendapat GN⁺

  1. Tantangan teknis dan peluang belajar: Artikel ini memberikan contoh nyata rekayasa balik firmware, sehingga menawarkan tantangan teknis sekaligus peluang belajar. Sangat bermanfaat bagi insinyur perangkat lunak pemula.
  2. Pertimbangan keamanan dan privasi: Bypass deteksi hotspot adalah hal penting dari sisi keamanan dan privasi. Saat menggunakan teknik seperti ini, aspek etika harus selalu dipertimbangkan.
  3. Cara menggunakan Ghidra: Kita bisa mempelajari cara menganalisis firmware yang kompleks menggunakan alat seperti Ghidra. Ini sangat berguna untuk rekayasa balik dan analisis keamanan.
  4. Pentingnya pembaruan firmware: Pembaruan firmware penting untuk menjaga fungsi dan keamanan perangkat. Artikel ini menunjukkan kompleksitas pembaruan firmware dengan baik.
  5. Kemungkinan diterapkan ke model kamera lain: Teknik ini juga dapat diterapkan ke model kamera Samsung lainnya, yang dapat membantu menyelesaikan masalah serupa pada berbagai perangkat.

1 komentar

 
GN⁺ 2024-05-26
Komentar Hacker News

Kumpulan komentar Hacker News

  • Saya lebih menyukai tautan ini. Kegagalan "kripto" firmware yang benar-benar mencengangkan

    • Menyukai tautan yang membahas kasus kegagalan enkripsi firmware pada kamera Samsung NX.
  • Keren sekali! Apakah Anda pernah terpikir untuk membuat tutorial tentang cara melakukan reverse engineering?

    • Pekerjaan yang luar biasa. Bertanya-tanya apakah ada rencana membuat tutorial reverse engineering.
  • Yang saya inginkan hanyalah sebuah dSLR yang, ketika saya mengambil foto di kamera dengan tombolnya, beberapa saat kemudian, gambar itu ada di Apple Photos.

    • Menginginkan kamera DSLR yang langsung menyimpan gambar ke Apple Photos setelah foto diambil.
  • [deleted]

    • Komentar telah dihapus.