Pagina 1 di 1

Come criptare files e cartelle

Inviato: 12/06/2024, 10:28
da FrancyDotNet
:mrgreen:

Re: Come criptare files e cartelle

Inviato: 12/06/2024, 10:28
da FrancyDotNet
:msg_offtopic: Questo post è quasi off-topic, :P però effettivamente manca un metodo per generare password casuali:

Codice: Seleziona tutto

date +%s | sha256sum | base64 | head -c 12 ; echo

Codice: Seleziona tutto

date +%s | md5sum | base64 | head -c 12 ; echo

Codice: Seleziona tutto

openssl rand -base64 12 | head -c 12 ; echo

Codice: Seleziona tutto

openssl rand -hex 12 | head -c 12 ; echo

Codice: Seleziona tutto

< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c 12 ; echo



Prendo spunto dal post di Spark per sviluppare alcune tecniche di crittografia utilizzando un software abbastanza diffuso si in ambito Windows che Linux, ovvero OpenSSL.

Encrypt:

Codice: Seleziona tutto

openssl enc -aes-256-cbc -in documento.txt -out documento.txt.enc
Decrypt:

Codice: Seleziona tutto

openssl enc -d -aes-256-cbc -in documento.txt.enc -out documento.txt
:sign_quest: Vi consiglio di visitare il forum sulla crittografia dove potete trovare alcuni di nostri consigli sui programmi per crittografare files e cartelle.

Re: Come criptare files e cartelle

Inviato: 12/06/2024, 10:30
da FrancyDotNet
CRAKING / HASHING DELLE PASSWORD SU LINUX

Puoi facilmente estrarre la password crittografata con awk. È quindi necessario estrarre il prefisso $algorithm$salt$ (presumendo che questo sistema non stia usando il tradizionale DES, di cui è fortemente sconsigliato l'utilizzo perché può essere forzato con un attacco di forza bruta).

Codice: Seleziona tutto

correct=$(</etc/shadow awk -v user=bob -F : 'user == $1 {print $2}')
prefix=${correct%"${correct#\$*\$*\$}"}
Per verificare una password puoi usare la funzione crypt (altro metodo deprecato al giorno d'oggi) tramite Perl, poichè purtroppo non esiste un comando shell standard per accedervi. Per l'esecuzione di questa funzione basta eseguire questo script dalla riga di comando:

Codice: Seleziona tutto

supplied=$(echo "$password" |
           perl -e '$_ = <STDIN>; chomp; print crypt($_, $ARGV[0])' "$prefix")
if [ "$supplied" = "$correct" ]; then …

==========================================================================================
==========================================================================================


Dai un'occhiata man 5 shadow e man 3 crypt . Da quest'ultimo, è possibile apprendere che gli hash delle password in /etc/shadow hanno il seguente formato:

Codice: Seleziona tutto

$id$salt$encrypted
dove id definisce il tipo di crittografia e, leggendo ulteriormente, può essere uno di

ID | Method
---------------------------------------------------------
1 | MD5
2a | Blowfish (not in mainline glibc; added in some
| Linux distributions)
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)

A seconda del tipo di hash, è necessario utilizzare la funzione / lo strumento appropriato per generare e verificare la password "a mano". Se il sistema contiene il programma mkpasswd , puoi usarlo come suggerito qui . (Prendi il sale dal file shadow, se non fosse ovvio.) Ad esempio, con le password md5 :

Codice: Seleziona tutto

mkpasswd -5 <the_salt> <the_password>
genererà la stringa che dovrebbe corrispondere alla voce /etc/shadow .


==========================================================================================
==========================================================================================


Il nome utente e le password sono scritti nel /etc/shadow . basta avere l'utente e l'hash della password da lì ( sed sarebbe d'aiuto), cancellare la tua password e controllare.

usa mkpasswd per generare l'hash. devi vedere quale sale sta usando la tua versione. l'ombra più recente utilizza sha-512 così:

mkpasswd -m sha-512 password salt

le manpage possono aiutarti molto.

Più facile sarebbe usare php e il modulo pam-aut. lì puoi controllare vie php su utente di accesso di gruppo pwd.