Totul a inceput de la o banala conversatie pe WhatsApp. Cineva apropiat mi-a mentionat la un momentdat ca a primit un fisier pe care nu il poate deschide. Sursa era de incredere, nu suspectam probleme cu fisierul in sine. In incercarea de a ajuta persoana am cerut mai multe detalii. Am aflat ca este vorba despre o arhiva *.7z.
Dorind sa evit a complica situatia, am rugat persoana sa imi trimita arhiva pe mail pentru a o deschide, urmand sa ii raspund cu fisierele dezarhivate. Imediat dupa primirea arhivei am primit suplimentar si informatia ca exista o parola care protejeaza arhiva.
Pentru a nu risca, am deschis repede un VM si am incercat dezarhivarea folosind parola primita. Initial am incercat cu WinRAR. Acesta mi-a generat o eroare care m-a facut sa cred ca arhiva e corupta, dar nu eram inca pregatit sa depun armele.
So, game on!
Dupa o scurta consultare cu amicul Google ajung la urmatorul link:
Prima linie mi-a atras imediat atentia.
M-am conformat, iar next step a fost sa descarc ultima versiune 7-zip si am repetat incercarea.
Nici de aceasta data nu a functionat, dar 7-zip a fost mai generos in informatii.
Mai specific, ma ‘intreba’ daca nu cumva am gresit parola.
In acest punct am ales sa fiu sceptic cu privire la corectitudinea informatiilor pe care le aveam si am pornit de la ipoteza ca parola este gresita. Totusi, fiind vorba despre o parola rezultata in urma unei proceduri am considerat corecte informatiile despre structura ei.
Mi-am zis: "Inspiram adanc si evaluam situatia.
Ce stim ? Stim ca avem un fisier protejat de o parola formata din 4 cifre."
So lame, I know. :)
"Ce optiuni avem ?"
Unul dintre cele mai bune sfaturi pe care le-am primit lucrand in domeniul tehnic a fost ca atunci cand am o problema, exista foarte mari sanse ca cineva sa se fi confruntat cu ea inaintea mea si sa fi lasat urme pe internet. In concluzie, urmatorul pas a fost sa apelez la Google (iar).
Rezultatul ?
Am gasit cateva executabile, dar nimic care sa livreze ce promitea, iar unele erau contra cost.
Sa fim seriosi, where is the fun in that ? :)
"OK, stop! Reevaluam situatia si pornim cu o abordare noua!"
Avand in vedere ca structura parolei era una simpla, m-am gandit la un script care sa incerce toate combinatiile posibile de patru cifre de la ‘0000’ pana la ‘9999’ pentru a deschide arhiva.
Am pus mai jos, un script scris in Python care face fix acest lucru.
#!/usr/bin/env python3
import itertools
import os
import sys
numere = '0123456789'
n = ''
for c in itertools.product(numere, repeat=4):
parola = n+''.join(c)
x = os.system('7z e {0} -aoa -p{1}'.format(sys.argv[1],parola))
if x == 0:
print('Parola este: {0}'.format(parola))
exit(1)
print('Nu am gasit parola.')
Game over!
Niciun comentariu :
Trimiteți un comentariu