Hashiranje datoteka — provjera integriteta
Kada preuzimeš datoteku s interneta, hash vrijednost dokazuje da datoteka nije promijenjena (ni slučajno, ni namjerno). Uspoređuješ hash koji je objavio autor s hashem koji sam izračunaš.
Naredbe za hashiranje na Linuxu
md5sum datoteka.iso— MD5 hash (128 bita)sha1sum datoteka.iso— SHA-1 hash (160 bita)sha256sum datoteka.iso— SHA-256 hash (256 bita)sha512sum datoteka.iso— SHA-512 hash (512 bita)md5sum datoteka >> provjera.txt— spremi u datoteku
Proces provjere integriteta
- Pronađi hash koji je objavio autor na web stranici
- Izračunaj hash preuzete datoteke lokalnom naredbom
- Usporedi oba hasha — moraju biti identični
- Ako se razlikuju — datoteka je oštećena ili izmjenjena
Algoritmi i duljine hasheva
Duljina hash vrijednosti (broj hex znakova) otkriva koji je algoritam korišten:
| Algoritam | Bitova | Hex znakova |
|---|---|---|
| MD5 | 128 | 32 |
| SHA-1 | 160 | 40 |
| SHA-224 | 224 | 56 |
| SHA-256 | 256 | 64 |
| SHA-384 | 384 | 96 |
| SHA-512 | 512 | 128 |
Formula: broj hex znakova × 4 = broj bita (jer 1 hex = 4 bita)
MetaDefender — pretraga hashem
Umjesto da uploaš sumnjivi file (čime ga javno objavljuješ), možeš potražiti samo hash vrijednost na metadefender.com. Ako je file već skeniran — dobit ćeš rezultate skeniranja.
Primjer iz laba
- Sumnjivi file:
nc.exe(netcat za Windows) - SHA-1:
57F0839433234285CC9DF96198A6CA58248A4707 - Pretraga na MetaDefender → file identificiran kao netcat
- Neki, ali ne svi AV engine-i flagaju file
Zašto hash umjesto filea?
- ✅ Ne otkriva sadržaj sumnjivog filea javnosti
- ✅ Brže — pretraga u bazi već skeniranih hasheva
- ⚠️ Radi samo za poznate fileove (ne za nove/nepoznate malware)
- ⚠️ Djelomična detekcija ne znači automatski da je file zlonamjeran — može biti PUP (Potentially Unwanted Program)
Salting — /etc/shadow
Linux automatski soli lozinke. U /etc/shadow datoteci, format pohranjene lozinke je:
$algoritam$parametri$SALT$HASH_VRIJEDNOST - $y$ — yescrypt algoritam (najčešći u modernom Linuxu)
- Vrijednost između 3. i 4. $ znaka je salt
- Vrijednost nakon 4. $ do dvotočke je salted hash lozinke
Naredba za prikaz: grep '$' /etc/shadow
John the Ripper — utjecaj salta
Generiranje hasheva (openssl)
openssl passwd -salt "" pass1— MD5 hash BEZ saltaopenssl passwd -salt SALT pass1— MD5 hash SA saltom "SALT"- Bez salta: između 2. i 3. $ znaka nema vrijednosti
- Sa saltom: između 2. i 3. $ znaka stoji "SALT"
John the Ripper — rezultati
john --incremental hash.txt— brute force bez salta → cracka za <10 sekundijohn --incremental salted-hash.txt— salt poznat JtR-u → <10 sekundi (salt u datoteci)john --incremental salt-secret-hash.txt— salt uklonjen → ~25.8 godina!- Formula: 10s × 95⁴ (4 znaka salta, 95 ASCII znakova) = 814.506.250 sekundi
Kviz — 12 pitanja
1. Preuzeo/la si ISO datoteku od 4 GB. Na web stranici distributer navodi MD5 hash. Koji je svrha usporedbe tog hasha s tvojim izračunom?
2. Koliko hex znakova ima SHA-256 hash?
3. Zašto se MD5 smatra deprecated kao algoritam za provjeru integriteta?
4. Pronašao/la si sumnjivi file nc.exe na klijentskom računalu. Zašto bi koristio/la MetaDefender s hash vrijednošću umjesto da uploaš file?
5. MetaDefender analiza nc.exe pokazuje da 8 od 40 AV engine-a flagaju file kao prijetnju. Što to znači?
6. Koji od sljedećih formata odgovara modernoj Linux lozinci iz /etc/shadow (yescrypt)?
7. Koja naredba kreira MD5 hash lozinke "pass1" BEZ salta i sprema ga u datoteku?
8. John the Ripper crackao je unsalted MD5 hash lozinke "pass1" za manje od 10 sekundi. Isti hash sa 4-znamkastim saltom (bez otkrivanja salta) crackao bi se za ~25.8 godina. Zašto?
9. Koji John the Ripper parametar se koristi za brute force napad (testiranje svih kombinacija)?
10. Naredbom cat hash.txt vidiš hash koji počinje s $1$$. Koji algoritam je korišten?
11. Koji od ovih prikaza dokazuje da hash IMA salt primijenjen?
12. Gledaš hash vrijednost od 40 hex znakova. Koji algoritam je najvjerojatnije korišten?