Zarejestruj się na BitBay.net
Home > Bezpieczeństwo, Linux > Słowniki profilowane

Słowniki profilowane

dictionaryW dobie portali społecznościowych zdobycie podstawowych informacji o danej osobie nie stanowi większego problemu. Kto dzisiaj nie ma konta na Facebooku czy Google+ czy innym portalu społecznościowym? Do tego dochodzą jeszcze serwisy udostępniające nasze CV, drzewa genealogiczne itd. Rzadko kto zdaje sobie sprawy, że za pomocą danych zebranych w ten sposób można w prosty sposób budować słowniki przeznaczone do łamania hasła konkretnej osoby, czyli tak zwane „słowniki profilowane”. Profilować oznacz nadawać czemuś określony charakter, zakres, kierunek. Poniżej trzy proste sposoby na zbudowanie takiego słownika:

1) Crunch
Program Crunch jest generatorem słowników, który umożliwia określenie zestawu znaków na podstawie którego może zostać stworzony plik zawierający wszystkie możliwe kombinacje i permutacje znaków wchodzących w dany zestaw. Możemy bez problemu podzielić nasze generowane słowniki na podstawie ilości linii lub wielkości pliku, czy wznowić ich tworzenie od momentu przerwania procesu. Jednym słowem – daje on nam możliwość stworzenia spersonalizowanych i dopasowanych do charakterystyki haseł zestawów do ich testowania.

Instalacja:

download http://sourceforge.net/projects/crunch-wordlist/
# tar -zxvf crunch-3.4.tgz
# cd crunch-3.5/
# make
# sudo make install

Przykłady użycia:

– Tworzenie słownik do łamania 6 znakowego kodu PIN + podziel go po 100MB i spakuj .bzip2:

# crunch 6 6 -f /usr/share/crunch/charset.lst numeric -b 100mb -o START -z bzip2

– Słownik profilowany czyli tworzenie wszystkie możliwe układy z wyrazów: Adam, 1971, Niebieski, Ewa

# crunch 4 5 -p adam 1971 niebieski ewa

Crunch will now generate approximately the following amount of data: 504 bytes
0 MB
0 GB
0 TB
0 PB
Crunch will now generate the following number of lines: 24
1971adamewaniebieski
1971adamniebieskiewa
1971ewaadamniebieski
1971ewaniebieskiadam
1971niebieskiadamewa
1971niebieskiewaadam
adam1971ewaniebieski
adam1971niebieskiewa
adamewa1971niebieski
adamewaniebieski1971
adamniebieski1971ewa
adamniebieskiewa1971
ewa1971adamniebieski
ewa1971niebieskiadam
ewaadam1971niebieski
ewaadamniebieski1971
ewaniebieski1971adam
ewaniebieskiadam1971
niebieski1971adamewa
niebieski1971ewaadam
niebieskiadam1971ewa
niebieskiadamewa1971
niebieskiewa1971adam
niebieskiewaadam1971

 

2) Bash – własny skrypt
Jednym z prostszych sposobów na wygenerowanie słownika profilowanego na danego użytkownika jest napisanie prostego skryptu w bashu. Zaletą tego typu rozwiązania jest możliwość zastosowania własnych kombinacji mutacji słów. Przykładowy skrypt http://pastebin.com/wzuUYPve:

#!/usr/bin/env bash

echo "Please Enter First Name"
read fname

echo "Please Enter Last Name"
read lname

echo "Please Enter birthdate in ddmmyyyy"
read bdate

echo "${fname}${lname}"
echo "${fname}.${lname}"
echo "${lname}${fname}"
echo "${lname}.${fname}"
echo "${fname:0:1}${lname}"
echo "${lname:0:1}${fname}"
echo "${fname:0:1}.${lname}"
echo "${lname:0:1}.${fname}"
echo "${fname}${lname}${bdate:0:2}"
echo "${fname}${lname}${bdate:0:4}"
echo "${fname}${lname}${bdate:4:7}"
echo "${fname}.${lname}${bdate:0:2}"
echo "${fname}.${lname}${bdate:0:4}"
echo "${fname}.${lname}${bdate:4:7}"
echo "${lname}${fname}${bdate:0:2}"
echo "${lname}${fname}${bdate:0:4}"
echo "${lname}${fname}${bdate:4:7}"
echo "${lname}.${fname}${bdate:0:2}"
echo "${lname}.${fname}${bdate:0:4}"
echo "${lname}.${fname}${bdate:4:7}"
echo "${fname}.${lname}${bdate:6:7}"
echo "${lname}.${fname}${bdate:6:7}"

 

Przykład:

# ./gen1_pass.sh
Please Enter First Name
Adam
Please Enter Last Name
mrchudy
Please Enter birthdate in ddmmyyyy
20121981
Adammrchudy
Adam.mrchudy
mrchudyAdam
mrchudy.Adam
Amrchudy
mAdam
A.mrchudy
m.Adam
Adammrchudy20
Adammrchudy2012
Adammrchudy1981
Adam.mrchudy20
Adam.mrchudy2012
Adam.mrchudy1981
mrchudyAdam20
mrchudyAdam2012
mrchudyAdam1981
mrchudy.Adam20
mrchudy.Adam2012
mrchudy.Adam1981
Adam.mrchudy81
mrchudy.Adam81

3) CUPP
Common User Passwords Profiler to jedno z najlepszych narzędzi służących do generowania list popularnych haseł do ataków skierowanych na hasło konkretnego użytkownika.
CUPP wykorzystuje informacje takie jak imiona, nazwiska, daty urodzin, nazwiska członków rodziny, pseudonimy, zainteresowania i wiele innych. Dane te bardzo latwo pozyckać z portali społecznościowych takich jak Facebook. Wszystkie informacje podajemy na wejściu programu, aby otrzymać specjalny słownik przystosowany do konkretnego celu. CUPP standardowo dołaczony jest do dystrybucji Backtrack.

Instalacja:

# wget http://www.remote-exploit.org/content/cupp-3.0.tar.gz
# tar -zxvf cupp-3.0.tar.gz
# cd cupp/
# python cupp.py –h
___________
cupp.py! # Common
\ # User
\ ,__, # Passwords
\ (oo)____ # Profiler
(__) )\
||--|| * [ Muris Kurgas | j0rgan@remote-exploit.org ]

[ Options ]

-h You are looking at it baby! 🙂
For more help take a look in docs/README
Global configuration file is cupp.cfg

-i Interactive questions for user password profiling

-w Use this option to improve existing dictionary,
or WyD.pl output to make some pwnsauce

-l Download huge wordlists from repository

-a Parse default usernames and passwords directly from Alecto DB.
Project Alecto uses purified databases of Phenoelit and CIRT
which where merged and enhanced.

-v Version of the program

Przykład:

# python cupp.py -i

[+] Insert the informations about the victim to make a dictionary
[+] If you don't know all the info, just hit enter when asked! 😉

> Name: Adam
> Surname: Nowak
> Nickname: chudy
> Birthdate (DDMMYYYY): 10121975

> Wife's(husband's) name: Ania
> Wife's(husband's) nickname: kotek
> Wife's(husband's) birthdate (DDMMYYYY): 23101979

> Child's name: Janek
> Child's nickname: janas
> Child's birthdate (DDMMYYYY): 19091989

> Pet's name: ola
> Company name: domkam

> Do you want to add some key words about the victim? Y/[N]:
> Do you want to add special chars at the end of words? Y/[N]:
> Do you want to add some random numbers at the end of words? Y/[N]
> Leet mode? (i.e. leet = 1337) Y/[N]:

[+] Now making a dictionary...
[+] Sorting list and removing duplicates...
[+] Saving dictionary to adam.txt, counting 4574 words.
[+] Now load your pistolero with adam.txt and shoot! Good luck!
# cat adam.txt
Adam010
Adam01012
Adam0101975
Adam0102
Adam01075
Adam010975
Adam012
….

 

Dictionary Attack to nadal najbardziej skuteczna forma łamania haseł. Mając odpowiednie słowniki wystarczy już tylko skorzystać z docelowych narzędzi np.: THC Hydra, BruteSSH czy Hashcat, a wybór jest naprawdę duży. Powodzenia.

W sieci: http://kaoticcreations.blogspot.com/2011/06/wordlists-password-profiling-with.html

Kategorie:Bezpieczeństwo, Linux Tagi:
  1. Brak komentarzy
  1. Brak jeszcze trackbacków

*