Cara Mengaudit Kata Sandi Unix

Untuk mengaudit kata sandi Unix, Anda harus membandingkan setiap kata sandi terenkripsi dalam file kata sandi Unix dengan serangkaian kata sandi terenkripsi potensial. Kata sandi terenkripsi potensial ini dibuat dengan mengenkripsi setiap kata sandi dalam daftar kata sandi teks biasa . Ini adalah contoh serangan kamus .

Lokasi File Unix passwd

Lokasi tradisional untuk file kata sandi Unix adalah /etc/passwd.

Format file kata sandi Unix

Entri dalam file kata sandi Unix terdiri dari tujuh bidang yang dibatasi titik dua:

Nama pengguna

Kata sandi Unix terenkripsi (Dan data penuaan kata sandi opsional)

Nomor pengguna

Nomor grup

Informasi GECOS

Direktori beranda

Kerang

Contoh entri dari /etc/passwd:

will:5fg63fhD3d5gh:9406:12:Will Spencer:/home/will:/bin/bash

Rusak, baris file passwd ini menunjukkan:

Nama pengguna

akan

Kata sandi Unix terenkripsi

5fg63fhD3d5gh

Nomor pengguna

9406

Nomor grup

12

Informasi GECOS

Will Spencer

Direktori beranda

/rumah/akan

Kerang

/bin/bash

Mengaudit kata sandi Unix

Berlawanan dengan kepercayaan populer, kata sandi Unix tidak dapat didekripsi. Kata sandi Unix dienkripsi dengan fungsi satu arah. Program login menerima teks yang Anda masukkan pada prompt “Kata Sandi:” dan kemudian menjalankannya melalui algoritme kriptografi. Hasil dari algoritma tersebut kemudian dibandingkan dengan bentuk terenkripsi dari kata sandi Unix Anda yang disimpan dalam file kata sandi.

Baca Juga  Cara Kerja Pelacakan Ponsel

Pada tingkat yang lebih teknis, kata sandi yang Anda masukkan digunakan sebagai kunci untuk mengenkripsi blok NULL 64-bit. Tujuh bit pertama dari setiap karakter diekstraksi untuk membentuk kunci 56-bit. Ini berarti bahwa hanya delapan karakter yang signifikan dalam kata sandi Unix standar. E-tabel kemudian dimodifikasi menggunakan garam, yang merupakan nilai 12-bit, dipaksa menjadi dua karakter pertama dari kata sandi yang disimpan. Tujuan garam adalah untuk membuat daftar kata sandi yang telah dikompilasi dan chip perangkat keras DES lebih memakan waktu untuk digunakan. DES kemudian dipanggil untuk 25 iterasi. Blok output 64-bit dan kemudian dipaksa menjadi alfabet 64-karakter (AZ,az,”.”,”/”). Ini melibatkan terjemahan di mana beberapa nilai berbeda diwakili oleh karakter yang sama, itulah sebabnya kata sandi Unix tidak dapat didekripsi.

Perangkat lunak pengauditan kata sandi Unix menggunakan daftar kata untuk menerapkan serangan kamus . Setiap kata dalam daftar kata dienkripsi menggunakan algoritma yang dijelaskan di atas dan garam dari file kata sandi. Hasilnya kemudian dibandingkan dengan bentuk terenkripsi dari kata sandi target.

Untuk mengaudit kata sandi Unix di bawah Unix atau DOS/Windows, coba John the Ripper . Untuk Macintosh, coba Killer Cracker atau Mac Krack.

Bayangan Kata Sandi

Pembayangan kata sandi adalah sistem keamanan di mana bidang kata sandi terenkripsi /etc/passwd diganti dengan token khusus dan kata sandi terenkripsi disimpan dalam file (atau file) terpisah yang tidak dapat dibaca
oleh pengguna sistem biasa.

Getpwent() Unix Password Shadowing Kerentanan

Pada sistem Unix yang lebih lama, password shadowing sering dikalahkan dengan menggunakan program yang membuat panggilan berturut-turut ke getpwent() untuk mendapatkan seluruh file password. Sistem Unix cararn tidak rentan terhadap serangan ini.

Baca Juga  Berikut skema kabel yang tepat untuk pengkabelan Crossover (konektor A - konektor B):

Contoh:

#include <pwd.h> main() { struct passwd *p; while(p=getpwent()) printf(“%s:%s:%d:%d:%s:%s:%sn”, p->pw_name, p->pw_passwd, p->pw_uid, p- >pw_gid, p->pw_gecos, p->pw_dir, p->pw_shell); }

Pembayangan Kata Sandi Unix pada Berbagai Implementasi Unix

Beberapa skema bayangan kata sandi Unix menyimpan kata sandi yang dibayangi dalam satu file, sementara yang lain menggunakan hierarki beberapa file.

Token adalah teks yang ditempatkan di bidang kedua file /etc/passwd.

Unix

Jalur

Token

AIX 3 dan AIX 4

/etc/security/passwd
atau
/tcb/auth/files/<huruf pertama nama pengguna>/<namapengguna>

!#

A/UX 3.0s

/tcb/files/auth/?/*

BSD4.3-Reno

/etc/master.passwd

*

Cembung OS 10

/etc/shadpw

*

ConvexOS 11

/etc/bayangan

*

DG/UX

/etc/tcb/aa/pengguna/

*

EP/IX

/etc/bayangan

x

HP-UX

/.secure/etc/passwd

*

IRIX 5

/etc/bayangan

x

Linux 1.1

/etc/bayangan

*

OSF/1

/etc/passwd[.dir|.pag]

*

SCO Unix 3.2.x

/tcb/auth/files/<huruf pertama nama pengguna>/<namapengguna>

*

SunOS4.1+c2

/etc/security/passwd.adjunct

##nama pengguna

SunOS 5.0 / Solaris 2.x

/etc/shadow
atau
peta aman pribadi NIS+ opsional

Sistem V Rilis 4.0

/etc/bayangan

x

Sistem V Rilis 4.2

/etc/security/* database

Ultrix 4

/etc/auth[.dir|.pag]

*

UNICOS

/etc/udb

*