Zamontuj / przeczytaj zawartość zrzutu binarnego z eepromu BIOS?

0

Badam ten temat już od około 2 dni, ale nie udało mi się znaleźć rozwiązania dla moich wymagań.

Niektóre tło:

Jestem właścicielem taniego chińskiego rejestratora CCTV, który uruchamia naprawdę wyciętą wersję Linuksa. Po skonfigurowaniu hasła administratora w tych polach zostanie on zapisany w eepromie BIOS. Jeśli zapomnisz hasła, jesteś bardzo ograniczony; albo próbujesz użyć narzędzia do odzyskiwania hasła (z którego żadne nie działało dla mnie), albo próbujesz zastąpić plik BIOS .bin nowym, i masz nadzieję, że masz taki, który poprawnie uruchomi sprzęt i rozpozna wszystkie komponenty na płyta główna. Byłem tam, zrobiłem to, nie działałem (długa historia!) Próbowałem 3x różnych obrazów BIOS-u, które były bardzo podobne, ale nie w pełni rozpoznałem cały sprzęt mojego MB.

Muszę dowiedzieć się, gdzie w oryginalnym systemie plików BIOS zostało zapisane hasło, aby sprawdzić, czy mogę je odzyskać.

Więc....

Mam zrzut .bin z tego układu BIOS. Zrobiłem zrzut bin przy użyciu programatora USB CH341. Odlutowałem chip z płyty głównej i przeczytałem jego zawartość. „Myślę” (zakładam?), Że zawiera MBR i inne partycje.

Chciałbym „zamontować” ten plik .bin i móc odczytać zawartość systemów plików.

Dotychczas próbowałem:

  1. Przeczytaj zawartość pliku za pomocą edytora HxD Hex. Co pokazuje mi „niektóre” informacje, ale nie jest to całkowicie przydatne.
  2. Użyłem DD do zapisania pliku .bin na kluczu USB
  3. Następnie użyłem 2x różnych narzędzi do odzyskiwania plików do odczytu zawartości klucza USB.
  4. Niestety, i chociaż nauczyłem się tego w procesie, to po prostu spowodowało, że narzędzia do odzyskiwania plików odzyskały wcześniej usunięte zdjęcia i filmy z klucza USB. W przeciwieństwie do rzeczywistego czytania plików, które napisałem z DD.
  5. Próbowałem uruchomić GParted i odczytać zawartość klucza USB. Nie rozpoznał żadnych partycji.

Więc,

Jak mogę zrobić ten zrzut .bin i zapisać go na dysku lub w pliku dysku wirtualnego i przeczytać zawartość? Jak montowanie partycji Linuksa?

Możesz znaleźć plik .bin tutaj, jeśli chcesz się nim pobawić. Nie ma na nim żadnych wrażliwych danych: https://drive.google.com/file/d/19epXpqNXnw5TfAj3lQKDtSYABqXgOM86/view?usp=sharing

Mich
źródło
Chociaż jest to interesujący problem, jestem na ogrodzeniu, jeśli to pytanie jest odpowiednie dla SU.
Keltari
Jeśli nie jest to dobre rozwiązanie dla SU, czy mógłbyś zasugerować alternatywne forum, na którym mógłbym poruszyć to pytanie? Przyniosłem to tutaj, ponieważ podejrzewałem, że członkowie społeczności będą mieli sporo wiedzy, jeśli chodzi o montowanie i czytanie różnych typów systemów plików pod Linuksem. Bo w zasadzie to wszystko to jest; naprawdę odcięta dystrybucja Linuksa. (który musi zmieścić się na chipie 16 MB!)
Mich
dlatego nie głosowałem za zamknięciem
Keltari
Jest reverseengineering.stackexchange.com , i binwalk jest tam dobrze znany. Należy również zauważyć, że nie jest to „BIOS”, wbudowane systemy Linux mają pamięć flash ROM z różnymi częściami oprogramowania układowego (zazwyczaj bootloader, system plików R / O, np. Squash-fs, system plików nakładek R / W). Wszystko, co możesz zmodyfikować, takie jak hasło roota, prawdopodobnie będzie w systemie plików nakładki.
dirkt

Odpowiedzi:

0

OK, więc po dalszych badaniach i konsultacjach z innymi ekspertami w zakresie systemów plików ustaliliśmy, że ten obraz .bin zawiera niektóre skompresowane partycje cramfs i squashfs.

Po kolejnych kopaniach i wypróbowaniu różnych narzędzi kryminalistycznych, w końcu znalazłem to, co pozwoliło mi wyodrębnić cramfy i zamontować je w Ubuntu. Narzędzie jest wywoływane https://github.com/ReFirmLabs/binwalk

Teraz mogę odczytać system plików i uważam, że znalazłem plik zawierający hasło interfejsu internetowego. Wygląda na to, że jest to plik /squashfs-root-0/etc/auth.dat. Prawdopodobnie token sieciowy java json, ale jeszcze nie w 100%!

Mich
źródło
Świetny postęp! Chciałem zasugerować, abyś porozmawiał z ludźmi z coreboot / linuxboot. Cały czas robią takie rzeczy. Może jeśli wpadniesz na ich kanał IRC, mogą pomóc. #coreboot i #libreboot na freenode.
Diagon