Prolomení hesla pomocí Johna Rozparovače v systému Linux

  • Vovich Masterovich
  • 0
  • 1781
  • 437
>

Úvod

Pro ty z vás, kteří ještě neslyšeli o Johnu Rozparovači (dále jen John pro stručnost), je to bezplatný nástroj na prolomení hesel napsaný většinou v jazyce C. Než půjdeme dále, musíme vám říci, že i když našim čtenářům důvěřujeme, nepodporujeme ani nepřijímáme žádné škodlivé aktivity, které mohou být prováděny pomocí tohoto nástroje nebo jiných nástrojů, o kterých jsme mluvili v minulosti. Bezpečnostní nástroje jsou často jako meč s dvojitým ostřím, protože je lze použít k dobrým i špatným věcem. Ačkoli by to mohlo znít lákavě, doporučujeme vám zdržet se jakýchkoli škodlivých činností, i když pro nic jiného, ​​jen proto, že máte velkou šanci přistát ve vězení.. Tento článek se bude zabývat Johnem z pohledu správce systému, takže očekáváme, že budete mít středně pokročilé znalosti o vašem systému Linux, bez ohledu na distribuci, která může být, a že jste osoba zaměřená na zabezpečení se základními znalostmi zabezpečení. Tento článek vás však může oslovit také v případě, že jste domácím uživatelem, který se chce o těchto věcech dozvědět, ale upozorňujeme: některé z níže uvedených příkazů budou vyžadovat velkou část vašeho CPU času, takže by to mohlo být lepší pokud jste měli testovací stroj a / nebo spoustu času a trpělivosti, protože pokusy o prolomení hesla mohou trvat dny, a to i na relativně novém stroji. Další pomoc nebo informace najdete jako obvykle na našem novém fóru pro Linux.

Instalace Johna

Ačkoli, alespoň v distribucích, které jsme zkoušeli, balíček v pojmenovaném jednoduše „john“ s tím, že Gentoo udělá výjimku a pojmenuje ji „johntheripper“, usnadníme vám to a ukážeme vám, jak jej nainstalovat na několik známých distribucí.

Debian

Debian se liší od ostatních distribucí, které nabízejí Johna ve svých úložištích, protože nabízí pěknou manuální stránku, ačkoli upstream ji nemá. Chcete-li nainstalovat, jednoduše zadejte

 # aptitude install john 

Fedora

Ve Fedoře je to také tak jednoduché jako dělat

 # yum install john 

Arch Linux

 # pacman -S john 

OpenSuse Linux

# zypper install john 

Gentoo

Jak jsme řekli, balíček Gentoo je pojmenován odlišně od toho, co nabízejí ostatní, takže zde budete muset běžet

 # objeví se johntheripper

Slackware

Ačkoli se zdá, že v oficiálních úložištích není balíček john, existuje slackbuild, který nainstaluje Johna do vašeho systému (toto bylo testováno na Slackware 13.37).

I když jsme vám dali jen několik příkladů, jak můžete získat Johna ve vašem systému Linux, mnoho z uvedených příkladů se spustí, pokud máte nainstalovaný jiný OS: kromě zdrojového kódu projekt nabízí program pro BeOS, Microsoft Windows, Solaris MacOS X. Ale pro náš článek, jak říká název, jsme testovali příklady na Linuxu.

Pomocí Johna Rozparovače

Nemusíte si dělat starosti s tajnými konfiguračními soubory, protože John je připraven k použití s ​​příslušnými příznaky příkazového řádku bez dalšího úsilí z vaší strany. Jedno varovné slovo: jak jste si již všimli, řekneme našim čtenářům, kdy by měli používat oprávnění root a kdy by neměli. Pokud není uvedeno jinak, důrazně se doporučuje používat běžného běžného uživatele (nebo jiného, ​​pokud chcete, ale neměl by mít superuživatelská práva). V mém systému Debian je John k dispozici jako / usr / sbin / john, takže pokud jej nenajdete, doporučujeme použít whereis a zadat celou cestu při spuštění john bez oprávnění (nebo můžete jednoduše vytvořit alias).



Nejjednodušší způsob, jak si namočit nohy, je psaní

 $ / usr / sbin / john - test 

za provedení některých testů a srovnávacích testů na Johnovy schopnosti. Pokud nevíte, co jsou Kerberos, MD5, DES nebo Blowfish, doporučujeme vám začít číst některé základní bezpečnostní knihy, protože, jak jsme již řekli, potřebujete určité bezpečnostní / administrační pozadí. Nyní vytvořme textový soubor ve formátu hesla (:) samozřejmě s platným hashem a nechte Johna pracovat. Můžete jednoduše zkopírovat uživatele z / etc / shadow, ale doporučujeme něco jednoduššího, protože předpokládáme, že chcete vidět výsledky co nejrychleji. Vytvořte tedy soubor s názvem password.txt někde uvnitř / home a vložte jej do něj:

myuser: AZl.zWwxIh15Q

Uložte soubor a poté jej jednoduše vložte do Johna bez argumentů (prozatím):

 $ / usr / sbin / john heslo.txt 

Musíme zopakovat naše varování: prolomení hesla je proces náročný na CPU a dlouhý proces, takže v závislosti na vašem systému to může chvíli trvat. To však také záleží na tom, čeho chcete dosáhnout, protože pokud váš výkonný procesor chrlí heslo (hesla) několik dní bez výsledku, lze s jistotou říci, že je to dobré heslo. Pokud je ale heslo opravdu kritické, nechte systém, dokud John nedokončí svou práci, aby se ujistil, že je vše v pořádku. Jak jsme řekli dříve, mohlo by to trvat mnoho dní.

Nyní, pokud máte výkonnou schránku s jediným účelem testování hesel, což je vzhledem k prostředkům vždy dobré, můžete si vyzkoušet svá reálná hesla s Johnem. Jedním ze způsobů je přímé použití souboru / etc / shadow, ale doporučujeme vám zvolit trochu jiný kurz. To platí pro systémy používající stínová hesla a platí to i pro všechny moderní distribuce Linuxu. John nabízí šikovný nástroj s názvem unshadow, který použijeme k vytvoření souboru z našich souborů passwd a shadow:

 # unshadow / etc / passwd / etc / shadow> mypasswd.txt 

Nyní se ujistěte, že je soubor mypasswd.txt k dispozici vašemu běžnému uživateli, a udělejte to

 $ / usr / sbin / john mypasswd.txt 

John nejprve vyzkouší režim jednoho crackování, poté režim seznamů slov, poté přírůstkový. Z Johnova hlediska je režim metoda, kterou používá k prolomení hesel. Jak víte, existuje mnoho druhů útoků: útoky slovníků, útoky hrubou silou atd. To je zhruba to, co jsou Johnovy režimy. Jak si možná někteří z vás uvědomili, režim seznamů slov je v podstatě slovníkový útok. Kromě těchto tří výše vyjmenovaných režimů podporuje John také další režim zvaný externí. Můžete si vybrat, jaký režim se má použít, například --single, --external a tak dále. Doporučujeme vám prohlédnout si dokumentaci na openwall.com, kde najdete dobrý, ale stručný popis každého režimu. Ale samozřejmě vám řekneme, stručně, co každý režim dělá.

Dokumentace Johna Rozparovače doporučuje začít s režimem jednoho crackování, hlavně proto, že je rychlejší a ještě rychlejší, pokud používáte více souborů hesel najednou. Inkrementální režim je nejvýkonnějším dostupným režimem, protože při crackování vyzkouší různé kombinace a můžete si vybrat, jaký druh režimu (režim aplikovaný na přírůstkovou možnost) použít, včetně vašeho vlastního. Externí režim, jak název napovídá, bude používat vlastní funkce, které si sami napíšete, zatímco režim seznamu slov přebírá seznam slov určený jako argument možnosti (může to být soubor se seznamem slov zapsaných po jednom na řádek nebo stdin) a pokusí se o jednoduchý slovníkový útok na hesla.

Pokud John úspěšně prolomí jedno z hesel, zapíše se na ~ / .john / john.pot. Tento soubor však není čitelný člověkem, takže můžete číst prolomená hesla pomocí

 $ / usr / sbin / john --show mypasswd.txt

Chcete-li zkontrolovat, zda nedošlo k prolomení hesla root, filtrujte podle UID:

 $ / usr / sbin / john --show --users = 0 mypasswd.txt

John samozřejmě ví o zástupných znacích a více souborech:

 $ / usr / sbin / john --show --users = 0 * heslo *


Stejně jako můžete filtrovat podle uživatele, můžete také filtrovat podle skupiny pomocí příznaku --groups a toto filtrování je k dispozici také při praskání. V režimu seznamů slov přejdete dále, můžete jej použít se zapnutými integrovanými pravidly pro manipulaci:

 $ / usr / sbin / john --wordlist = passwd.lst --rules passwd.txt

John vám také umožňuje vytvořit více pojmenovaných relací, což je praktické, protože protože John může dokončení úkolu zabrat spoustu času, můžete později zobrazit všechny spuštěné relace a rozhodnout, kterou z nich zabít. Možnost pro pojmenované relace je --session = název úkolu a pro zobrazení všech nebo určitých relací můžete použít --status nebo --status = název úkolu. Ale je toho víc: relace nebo konkrétní můžete obnovit podle názvu pomocí --restore nebo --restore = taskname. Několik příkladů:

 $ / usr / sbin / john --session = allrules --wordlist = all.lst --rules mypasswd.txt $ / usr / sbin / john --status = allrules $ ps aux | grep john #get PID john relace, kterou chcete zabít $ kill HUP $ PID_of_john_session_to_kill $ / usr / sbin / john --restore = allrules 

Zde je několik příkladů použití přírůstkového režimu s Johnem:

 $ / usr / sbin / john --incremental mypasswd.txt $ / usr / sbin / john --incremental = alpha mypasswd.txt 

Samozřejmě to není náhrada Johnovy dokumentace. Ačkoli, jak jsme řekli, nenabízí manuální stránku, na její stránce najdete spoustu dokumentace a také užitečnou wiki. Například si všimnete, že i když používáte Johna na víceprocesorovém počítači, bude používat pouze jedno jádro, obvykle první. Tento problém můžete vyřešit přečtením dokumentace a podle pokynů v této příručce.

Závěr

Cítíme, že by mohlo být nejlepší, zakončíme tento článek krátkým slovem o etice. I když to nemusí být váš případ, je pár těch, kteří hackery viděli už mnohokrát a přemýšleli o crackování (na rozdíl od hackování) jako o skvělé aktivitě. Doporučujeme vám pouze zkusit využít své znalosti k dobrému, ne k něčemu, co selhalo na 99,8% a získat vám pěkný trestní rejstřík. Bavte se.




Zatím žádné komentáře

Sbírka užitečných informací o operačním systému Linux a nových technologiích
Nejnovější články, praktické tipy, podrobné recenze a průvodci. Ve světě operačního systému Linux se budete cítit jako doma