Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2018-08-03 09:45:00

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Jak naprawić dysk?

Mam kopie binarną zaszyfrowanego dysku w którym straciło się kilka miliardów bajtów na początku (tablica partycji, naglowek luks oraz pierwsze bloki szyfrogramu zawierajace system plikow i poczatek danych). Mam też klucz zrzucony z pamięci, ponieważ dysk był odblokowany w czasie nadpisania.

chce przemapować ten zaszyfrowany obszar a następnie odzyskiwać dane ktore nie zostaly nadpisane za pomocą narzędzi do odzyskiwania usuniętych plików z niezaalokowanej przestrzeni (photorec i foremost) lub wycinać manualnie za pomocą hexedytora

Czy to jest technicznie możliwe ?

Oto moj klucz, tryb operacyjny i rodzaj szyfru zrzucony dmsetup'em:

Kod:

0 195303985 crypt aes-xts-plain64 3e467673728dea29e13b6b8ff67973669463dea597492fafe3d6d0a05464e370d9295923a0f4c8c24f0bd4b91472ff22a4f0b3c307b71353ea63dc789580ebdf 0 8:33 65535

Czy może mi ktoś na początek powiedzieć co tutaj oznacza pierwsza i druga liczba oraz trzy ostatnie ?

Offline

 

#2  2018-08-03 10:19:54

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jak naprawić dysk?

Przeczytaj sobie pierw manual dmsetup

Offline

 

#3  2018-08-03 10:29:43

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Jak naprawić dysk?

[quote=morfik]Przeczytaj sobie pierw manual dmsetup[/quote]
A możesz mi przy okazji powiedzieć co to dokładnie te "backup superblocks" w EXT4 ?

https://www.cyberciti.biz/faq/linux-find-alternative-superblocks/

Czy to daje potencjalnie szanse na odzyskanie struktury katalogów i nazw plików w sytuacji gdy zostały stracone dane z początku partycji ?

Offline

 

#4  2018-08-03 11:06:14

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Jak naprawić dysk?

Tak to dokładnie wygląda, cały obraz dysku ma 0x174a500000 bajtów i stracone są bajty od 0x0 do 0xb3bfffff:

[img]https://cdn3.imggmi.com/uploads/2018/8/3/213b13a995006dd1016c796377bcbb2f-full.png[/img]

Czy można coś na to poradzić ?

Ostatnio edytowany przez 091619EE (2018-08-03 11:42:53)

Offline

 

#5  2018-08-03 18:50:48

  hi - Użytkownik

hi
Użytkownik
Zarejestrowany: 2016-03-24

Re: Jak naprawić dysk?

można, wyzerować do końca  albo nadpisać losowymi będzie ładniej w przekroju :)


"Jeśli wolność słowa w ogóle coś oznacza, to oznacza prawo do mówienia ludziom tego, czego nie chcą słyszeć."
Eric Arthur Blair

Offline

 

#6  2018-08-03 19:44:48

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jak naprawić dysk?

Masz kopię dysku, która ma wyczyszczony początek obszaru ~3GiB? I chcesz użyć jednego sektora (superbloku) do naprawy wszystkich danych na tym dysku, by je odzyskać? A co z pozostałą strukturą danych na dysku, tj. wszelkimi metadanymi opisującymi np. które bloki są przypisane pod jakie i-node?  Nie, superblok ci sam nic nie pomoże jak masz rozwaloną strukturę dysku albo losowo nadpisane bloki z pominięciem systemu plików -- te dane są stracone. Resztę można by pewnie odzyskać używając w fsck alternatywnego superbloku, który jest przechowywany w różnych miejscach dalej na dysku.

Offline

 

#7  2018-08-03 20:00:03

  hi - Użytkownik

hi
Użytkownik
Zarejestrowany: 2016-03-24

Re: Jak naprawić dysk?

czyli jednym słowem będziesz łapał losowy zapis pliczku na wyciągu, powodzenia. Gdyby struktura nie była piznięta zerami a tylko przykładowo tablica partycji to inna bajka z tym to możesz się pozdrowić bo nic z tego nie wyjdzie


"Jeśli wolność słowa w ogóle coś oznacza, to oznacza prawo do mówienia ludziom tego, czego nie chcą słyszeć."
Eric Arthur Blair

Offline

 

#8  2018-08-03 20:03:10

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jak naprawić dysk?

Z tego co ja rozumiem, to ext4 nie ma wszystkich metadanych ulokowanych na początku dysku. W zasadzie to są tego typu kawałki jak na tym obrazku.

[img]https://opensource.com/sites/default/files/images/life-uploads/cylindergroup-01_1.png[/img]

I każda taka grupa zawiera 128MiB (metadane + dane). Jak teraz sobie nadpiszesz zerami pierwsze 3GiB, to uszkodzisz tylko 24 grupy bloków, a nie wszystkie. I tylko dane w tych blokach szlag trafi, no chyba, że plik jest pofragmentowany i jego części znajdują się też w innych grupach, to też ten plik będzie do wywalenia. xD

Ostatnio edytowany przez morfik (2018-08-03 21:01:42)

Offline

 

#9  2018-08-03 20:28:53

  hi - Użytkownik

hi
Użytkownik
Zarejestrowany: 2016-03-24

Re: Jak naprawić dysk?

można bez problemu szereg plików odzyskać[/quote]
jakich? chyba jpegów i txt w dodatku częściowo uszkodzonych o skompresowanych plikach (zip,7z,rar,tar.gz,iso itp.) czy av (mp3,mp4,mkv,avi itp) nawet nie wspominam i to jeszcze z luźną strukturą, powodzenia w sklejaniu to tak jakbyś wypierdolił papier w niszczarce a jakiś pies by to próbował posklejać frendzel po frendzlu z całej torby frendzlów no origami z tego nie złoży :)

Ostatnio edytowany przez hi (2018-08-03 20:51:23)


"Jeśli wolność słowa w ogóle coś oznacza, to oznacza prawo do mówienia ludziom tego, czego nie chcą słyszeć."
Eric Arthur Blair

Offline

 

#10  2018-08-03 21:03:31

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jak naprawić dysk?

Każdy plik, który nie jest pofragmentowany i znane są wzory nagłówka i stopki (nie pamiętam czy stopka jest wymagana) można odzyskać z pominięciem systemu plików.

Offline

 

#11  2018-08-03 21:25:39

  hi - Użytkownik

hi
Użytkownik
Zarejestrowany: 2016-03-24

Re: Jak naprawić dysk?

[url=https://www.youtube.com/watch?v=4iKLtfoP-wk]Każdy plik, który nie jest pofragmentowany i znane są wzory nagłówka i stopki[/url]


"Jeśli wolność słowa w ogóle coś oznacza, to oznacza prawo do mówienia ludziom tego, czego nie chcą słyszeć."
Eric Arthur Blair

Offline

 

#12  2018-08-03 21:31:52

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jak naprawić dysk?

Widzę, że kompletnie nie masz pojęcia czym jest system plików. xD

Offline

 

#13  2018-08-03 21:35:03

  hi - Użytkownik

hi
Użytkownik
Zarejestrowany: 2016-03-24

Re: Jak naprawić dysk?

tak się składa, że jakieś mam i sam sobie odpowiedziałeś na pytanie o odzysk, które zwaldkowałem :)
ale ok może spytamy samego zainteresowanego czy coś zdziałał zamiast się wykłócać?

Ostatnio edytowany przez hi (2018-08-03 21:38:24)


"Jeśli wolność słowa w ogóle coś oznacza, to oznacza prawo do mówienia ludziom tego, czego nie chcą słyszeć."
Eric Arthur Blair

Offline

 

#14  2018-08-03 21:37:36

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jak naprawić dysk?

Nie masz.

Offline

 

#15  2018-08-03 21:38:49

  hi - Użytkownik

hi
Użytkownik
Zarejestrowany: 2016-03-24

Re: Jak naprawić dysk?

tak a dlaczego?


"Jeśli wolność słowa w ogóle coś oznacza, to oznacza prawo do mówienia ludziom tego, czego nie chcą słyszeć."
Eric Arthur Blair

Offline

 

#16  2018-08-03 21:47:43

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jak naprawić dysk?

Nie wiem, wróżką nie jestem. xD

Offline

 

#17  2018-08-03 21:58:34

  hi - Użytkownik

hi
Użytkownik
Zarejestrowany: 2016-03-24

Re: Jak naprawić dysk?

no ok zobaczymy co udało się odzyskać zainteresowanemu na moje nic z tego nie wydobędzie ale ok


"Jeśli wolność słowa w ogóle coś oznacza, to oznacza prawo do mówienia ludziom tego, czego nie chcą słyszeć."
Eric Arthur Blair

Offline

 

#18  2018-08-03 23:46:27

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Jak naprawić dysk?

jakich? chyba jpegów i txt w dodatku częściowo uszkodzonych o skompresowanych plikach (zip,7z,rar,tar.gz,iso itp.) czy av (mp3,mp4,mkv,avi itp) nawet nie wspominam i to jeszcze z luźną strukturą, powodzenia w sklejaniu to tak jakbyś wypierdolił papier w niszczarce a jakiś pies by to próbował posklejać frendzel po frendzlu z całej torby frendzlów no origami z tego nie złoży :)[/quote]
Próbowałeś kiedyś ? W moich testach dla niezaszyfrowanego dysku, PhotoRec i ForeMost bardzo ładnie odzyskują dane z kompletnie zniszonego systemu plików (początek dysku wyzerowany przez dd). Pobaw się to sobie sam zobaczysz i się zdziwisz. Trochę ciężej będzie z egzotycznymi typami plików, bo dla nich nie zawsze są gotowe narzędzia, ale "nie da się" to trochę za dużo powiedziane.

no ok zobaczymy co udało się odzyskać zainteresowanemu na moje nic z tego nie wydobędzie ale ok[/quote]
Jak tylko ogarnę jak przemapować to na surowy obszar odszyfrowany to odzyskam co najmniej luźne pliki.

Offline

 

#19  2018-08-04 11:55:36

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Jak naprawić dysk?

[b]morfik[/b] Jak najlepiej w takim wypadku jak u mnie odtworzyć tablice partycji ?

[b]Czy komenda fdisk działa całkowicie deterministycznie ?[/b]

Robię tak:

podłączam loop device do pliku tego obrazu:

Kod:

sudo losetup -P -f --show dimage.img

w lsblk est widoczny teraz jako [b]loop0[/b] ale jak można się spodziewać nie jest rozpoznawana tam żadna partycja.

Można jakoś przemapować te dane bez tworzenia tablicy partycji czy po prostu utworzyć ją fdisk'iem ?

Offline

 

#20  2018-08-04 12:07:32

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Jak naprawić dysk?

na wiki cryptsetupa piszą, że można odtworzyć nagłówek luksa z surowej postaci klucza wywołując luksformat z oryginalnymi paramerami i opcją --master-key-file przyjmującą postać binarną klucza:

Kod:

cryptsetup luksFormat --master-key-file=<master-key-file> <luks device>

https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions (rodział 6.10)

Ale <luks device> odnosi sie do partycji i nie moge tego wywolac jezeli tablica partycji tez jest nadpisana

Offline

 

#21  2018-08-04 12:32:52

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jak naprawić dysk?

Ja nie mam pojęcia jak wyglądał układ partycji na tym dysku, a to ma kluczowe znaczenie. Jak wiesz jak wyglądał to sobie ją stwórz na nowo w fdisk i bez problemu będzie działać.

Offline

 

#22  2018-08-04 13:56:43

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Jak naprawić dysk?

Układ partycji był najprostrzy jaki jest mozliwy czyli jedna partycja primary wypelaniajaca dostepną przestrzen. Oczywiscie nie pamietam jaka byla dokladnie pozycja pierwszego sektora itd ale pamietam ze byla wybrana ta domyslna. Dlatego pytam czy [b]fdisk[/b] dziala calkowicie deterministycznie, nawet na roznych werjsach systemu ?, na jakiej podstawie wybierana jest pozycja pierwszego sektora ?


I tak dzialam na kopii, wiec po prostu probuje tak:

Kod:

sudo fdisk /dev/loop0

wybieram proponowaną domyślnie pozycje pierwszego sektora: [b]2048[/b]

nastepnie konwertuje klucz do postaci binarnej:

Kod:

echo "3e467673728dea29e13b6b8ff67973669463dea597492fafe3d6d0a05464e370d9295923a0f4c8c24f0bd4b91472ff22a4f0b3c307b71353ea63dc789580ebdf" | xxd -r -p >~/masterkeyfile

Nastepnie tworze na tej utworzonej partycji zaczynajacej sie na [b]2048[/b] sektorze naglowek luksa z powyzszym kluczem:

Kod:

sudo cryptsetup -v -y -c aes-xts-plain64 -s 512 -h sha512 -i 5000 --master-key-file=~/masterkeyfile luksFormat /dev/loop0p1

otwieram:

Kod:

sudo cryptsetup luksOpen /dev/loop0p1 vol001

następnie próbuje wyszukiwać w przemapowanych bajtach spodziewane fragmenty plików tekstowych, ktore byly na tym dysku zapisane:

Kod:

sudo strings /dev/mapper/vol001 | grep "krotkie_czesto_wysepujace_spodziewane_slowo"

bezskutecznie

Czy ja coś źle robię ?

Offline

 

#23  2018-08-05 07:20:49

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Jak naprawić dysk?

Nie,

[b]kolejne eksperymenty potwierdzają, że wyżej opisany problem najprawdopodobniej nie wynika z błędnej pozycji pierwszego sektora tylko jak zwykle cryptsetup źle działa lub dokumentacja jest do kitu[/b]

jeżeli mamy przemapowany dysk i wyeksportujemy klucz z pamięci:

Kod:

dmsetup table --showkeys /dev/mapper/encrypted | awk '{ print $5 }' | xxd -r -p > /tmp/master_key

to zgodnie z dokumentacją nadpisanie nagłówka na tej partycji w ten sposób:

Kod:

cryptsetup luksFormat -v -y -c aes-xts-plain64 --master-key-file=/tmp/mkey /dev/sdd1

powinno prowadzić do takiej samej postaci przemapowanych danych czy o czymś nie wiem ?

U mnie tak nie jest,

jak zrobię luksFormat to te bajty po przemapowaniu są już inne pomimo że formatuje z opcją --master-key-file żeby używało tego poprzedniego klucza.

Offline

 

#24  2018-08-05 12:02:11

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Jak naprawić dysk?

Nie możesz zrobić czegoś na wzór w tym artykule?
https://morfikov.github.io/post/jak-odszyfrowac-zawartosc-karty-sd-w-smartfonie-z-androidem/

Offline

 

#25  2018-08-05 12:50:48

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Jak naprawić dysk?

co to jest [b]plain64[/b] w nazwie trybu operacyjnego ?

gdziesz piszą, że jest to metoda wyprowadzenia wektora inicjującego, ale w XTS wektor inicjujący nie jest wymagany, bo postać bloku szyfrogramu niie zależy od wartości poprzednich bloków a jedynie od pozycji szyfrowanego bloku i odpowiadającego bloku danych jawnych

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)

[ Generated in 0.019 seconds, 14 queries executed ]

Informacje debugowania

Time (s) Query
0.00019 SET CHARSET latin2
0.00007 SET NAMES latin2
0.00165 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='13.59.134.65' WHERE u.id=1
0.00121 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '13.59.134.65', 1732407779)
0.00054 SELECT * FROM punbb_online WHERE logged<1732407479
0.00092 DELETE FROM punbb_online WHERE ident='18.222.163.231'
0.00072 DELETE FROM punbb_online WHERE ident='3.137.178.122'
0.00116 DELETE FROM punbb_online WHERE ident='3.138.125.86'
0.00116 SELECT topic_id FROM punbb_posts WHERE id=320370
0.00008 SELECT id FROM punbb_posts WHERE topic_id=30566 ORDER BY posted
0.00077 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=30566 AND t.moved_to IS NULL
0.00009 SELECT search_for, replace_with FROM punbb_censoring
0.00316 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=30566 ORDER BY p.id LIMIT 0,25
0.00195 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=30566
Total query time: 0.01367 s