Cryptography

◀ Back

Взлом хешей (любые, кроме WiFi Handshake)

Author: SelF • 2006-04-17T17:32:35+0000 • Replies: 5K • Views: 6M
Предлагаю в этом разделе постить хеши, которые необходимо взломать. Хеши могут
быть любого типа. Взломавшему хеш - "+" к репутации.
ВАЖНО!!! При вбиве хеша позаботьтесь об окружающих - **выложите тип хеша**



**Изменения в правилах!** ​

**В связи с сомнениями администрации форума о возможности накрутки репутации
хеши, которые рассчитаны от простых сочетаний (любой набор символов длиной до
6 знаком и буквенно-цифровой набор длиной до 7 знаков) взломавшим его
засчитываться не будут.
Повышение репутации будет производиться только АКТИВНЫМ пользователям,
постоянно расшифровываюзих чужие хеши.**

**=============================================================
Внимание!**
**Брутфорс паролей WiFi (wpa/wpa2) Handshake только
здесь<https://xss.is/threads/65030/>**
**=============================================================**
В теме есть пользователи которые выкладывают на расшифровку платные хеши.
**Если у вас появились хоть малейшие сомнения в честности исполнителя или
заказчика.**
Обращайтесь за верификацией, и подтверждением об оплате к модератору раздела.
Старайтесь не платить до тех пор, пока модератор не проверит пароль.


There are users in the topic who post hashes for decryption for a fee.
**If you have any doubts about the honesty of the contractor or the
customer.**
Please contact the moderator of the section to verify the password and confirm
the payment.
Try not to pay until the moderator checks the password.

Словари для брутфорса

Author: WindowsME • 2006-05-09T17:01:18+0000 • Replies: 140 • Views: 105K
Народ подкиньте плз словарик для брутуса
[mod][SelF:] Тема закреплена. Сюда выкладываем линки на словари.[/mod]

Аналоги TrueCrypt

Author: lukas • 2019-01-30T20:50:49+0000 • Replies: 27 • Views: 73K
TrueCrypt помер, даже если найти старые еще оригинальные и чистые сборки, все
равно в нем вылезла куча багов
что юзать вместо? VeraCrypt? или есть что-то надежнее?

Книги по криптографии

Author: SelF • 2006-04-10T13:38:59+0000 • Replies: 24 • Views: 34K
Здесь будут размещаться линки на книги по криптографии

**1\. Шеннон. Теория связи в секретных системах**
Материал, изложенный в данной статье, первоначально составлял содержание
секретного доклада «Математическая теория криптографии», датированного 1
сентября 1945 г, который в настоящее время рассекречен
[Шеннон. Теория связи в секретных
системах.](http://rapidshare.de/files/16093955/shannon.rar)
Формат - pdf
Размер - 727 kB.
страниц - 49


**2\. Брассар. Современная криптография**
Эта сравнительно небольшая книжка отражает многочисленные, как теоретические,
так и практические аспекты современной криптологии, которые уже стали или
становятся частью повседневной жизни. Информационно очень емкая, она написана
на концептуальном уровне,неформально и с большим мастерством. Автор книги -
известнейший специалист в области криптологии, член совета директоров
Международной ассоциации криптологических исследований, главный редактор
журнала `Journal of Cryptology`, один из основоположников квантовой
криптографии и соавтор открытия квантовой телепортации профессор Монреальского
университета Жиль Брассар. Оригинальная английская версия книги была
опубликована в серии `Lecture Notes in Computer Science`, где печатаются труды
основных ежегодных конференций по криптологии - CRYPTO и EUROCRYPT. Для
широкого круга читателей, интересующихся проблемами криптографии и ее
применений
Весит ~ 1,5 Мб
[Брассар. Современная
криптография](http://rapidshare.de/files/7884120/brassar_sovremenaiy_kripto.rar.html)


**3\. Коутинхо. Введение в теорию чисел. Алгоритм RSA**
Это книга для математиков и криптографов. К тому же весит достаточно много -
40,5 Мб
[Файл 1](http://rapidshare.de/files/16117788/000405_pdf.part1.rar.html)
[Файл 2](http://rapidshare.de/files/16119256/000405_pdf.part2.rar.html)
[Файл 3](http://rapidshare.de/files/16120674/000405_pdf.part3.rar.html)

Исходники криптоалгоритмов

Author: Mr.Di • 2009-03-16T20:14:06+0000 • Replies: 6 • Views: 20K
Как всегда ночь, нефиг делать, решил взяться за реализацию некоторых
криптоалгоритмов. Для начала это будет шифр Вернама более известный многим как
XOR (или исключающее или).
Реализация будет на двух языкак, PHP и JS.
PHP:

Code:Copy to clipboard



function xor_php($text, $key){
$str = '';
for ($i = 0; $i < strlen($text); $i++) {
 $str .= chr(ord($text[$i]) ^ ord($key[$i % strlen($key)]));
   }
return $str;
}

JS:

Code:Copy to clipboard



function xor_js(text, key){
var enc = '';
for (var i = 0; i < text.length; i++) {
 enc += String.fromCharCode(text.charCodeAt(i) ^ key.charCodeAt(i % key.length));
   }
   return enc;
}

Как будет время, буду дополнять топ по мере свободного времени и отковыривании
в свои старых сорца разных алгоритмов.

Хэш коллизии md5

Author: Winux • 2005-11-17T17:00:48+0000 • Replies: 43 • Views: 20K
**Программа для поиска хэш коллизий md5**
Сначала введу в суть дела. Один и тот же мд5 хэш может шифровать несколько
разных слов. Предположим админ поставил пасс, который не взбрутить в МД5
вжизнь. Тут на помощь нам идет та самая программка.

Использовать программу надо следующим образом:
Берется хэш md5, разбивается на 4 части, и передается в качестве аргументов
программе:


Code:Copy to clipboard



./md5coll b136ee6c 797c1a85 1260b9c1 ab5ff414


У программы открыты исходники и скачать их можно
[тут](http://www.securityinfo.ru/www/upload/tools/md5coll.c)

А вот и сам бинарник проги:
![:zns5:](/styles/default/xenforo/smilies/emojione/software.png)
[Скачать|Download](http://www.securityinfo.ru/www/upload/tools/md5coll.zip)

Помощь с определением типа хеша

Author: DezMond • 2008-11-25T11:26:53+0000 • Replies: 44 • Views: 14K
Помогите узнать, что за способ шифрования пароля используется, срочно нужно!!!
Shadow(Login)::5fcc735428e45938(pas)

личный криптер

Author: ceancorp • 2019-08-22T03:21:36+0000 • Replies: 31 • Views: 14K
было бы возможно создать собственный криптор ??

Всем советую переходить с OTR на ОМЕМО!!!!

Author: kerberos • 2019-02-24T19:26:43+0000 • Replies: 36 • Views: 13K
Долго расписывать не буду, выдерну из википедии:

> OMEMO is an extension to the Extensible Messaging and Presence Protocol
> (XMPP, "Jabber") for multi-client end-to-end encryption developed by Andreas
> Straub. According to Straub, OMEMO uses the Double Ratchet Algorithm "to
> provide multi-end to multi-end encryption, allowing messages to be
> synchronized securely across multiple clients, even if some of them are
> offline".[1] The name "OMEMO" is a recursive acronym for "OMEMO Multi-End
> Message and Object Encryption". It is an open standard based on the Double
> Ratchet Algorithm and the Personal Eventing Protocol (PEP, XEP-0163).[2]
> OMEMO offers future and forward secrecy and deniability with message
> synchronization and offline delivery.
>
> Click to expand...

от себя добавлю ряд плюшек в ОМЕМО чего нет в ОТР


1. врубается автоматом
2. можно слать зашифрованные мессаги в офлайн
3. можно передавать файло на прямую
4. написано челом кто написал Signal


Плагины есть под (почти) все джабер клинты

Почитать что оно такое можно здесь:
conversations.im/omemo/
en.wikipedia.org/wiki/OMEMO

Безопасность превыше всего!!!!!!!!!!!!!!!!!

Соль и хеш

Author: Robin Gud • 2006-04-04T12:43:54+0000 • Replies: 37 • Views: 13K
Тут я вижу возникает много вопросов о том, что такое Соль и с чем собственно
её едят =).
Хотелось бы немного прояснить ситуацию.
Что необходимо понять в первую очередь...
В первую очередь необходимо хотя бы поверхностно понять алгоритм хеширования.
Будем разбираться на примере форумов IPB => 2.0.*
В этих форумах алгоритм следующий : md5(md5($salt).md5($pass)).
Для справки,в форумах IPB <= 2.0.* алгоритм такой : md5.
Теперь разберём всё на примере.
Допустим у нас есть пароль: 123.
При регистрации в форумах IPB <= 2.0.* наш пароль хешируется алгоритмом md5 и
преобразуется в такую строку: 202cb962ac59075b964b07152d234b70. Таким
образом,поимев этот хеш, стырив Cookies жертвы,мы можем эту строку
расшифровать благодаря множеству существующих программ и т.д. Всё просто.(Лишь
бы пароль был не сильно мудрёный).
Теперь переходим к IPB => 2.0.* .
Что мы видим: md5(md5($salt).md5($pass))

PHP:Copy to clipboard



[/color].
Даю определение [color=orange]Salt[/color] - она-же [color=orange]Соль[/color].
[color=orange]Salt[/color] - это сгенерированные скриптом данные, которые усложняют подбор пароля после хеширования.А как она усложняет мы сейчас разберёмся.
В IPB соль состоит из пяти случайно сгенерированных символов.
Пример: [color=orange]kHa$+[/color] или [color=orange]@pBuc[/color]
Теперь по порядку:
Допустим мы регистрируемся в форуме IPB => 2.0.* всё с тем-же паролем: [color=red]123[/color]. Что происходит...
1)Скрипт генерирует нам случайным образом соль(у всех пользователей она будет разная) и заносит её в базу данных.
Допустим нам сгенерировал вот такую : [color=orange]XzNaX[/color].
2)Скрипт берёт нашу соль и хеширует её методом md5.
Получилось вот так: [color=orange]b9b91789bc2f1b3735e67f77d46053fa[/color].Это у нас и есть [color=orange]md5($salt)[/color].
3)Скрипт берёт наш пароль (у нас он [color=red]123[/color]) и тоже хеширует его методом md5.
Получилось вот так: [color=red]202cb962ac59075b964b07152d234b70[/color].Это у нас и есть [color=red]md5($pass)[/color].
4)Скрипт берёт нашу хешированную соль и наш хешированный пароль,и снова хеширует их методом md5.
Если подставить в нашу формулу: md5([color=orange]md5($salt).[/color][color=red]md5($pass[/color]))[PHP] полученные два хеша,увидим следующее:
md5([color=orange]b9b91789bc2f1b3735e67f77d46053fa[/color].[color=red]202cb962ac59075b964b07152d234b70[/color]) Где точка в PHP означает продолжение строки.А значит скрипт берёт эти два хеша без точки([color=orange]b9b91789bc2f1b3735e67f77d46053fa[/color][color=red]202cb962ac59075b964b07152d234b70[/color]) и хеширует их методом md5.
Получаем хеш : [color=green]e509e1f6df1450279ec37dd253bd5b1e[/color].
Вот это и есть [color=green]солёный хеш[/color].
Авторизация пользователя происходит следующим образом.
Наш пользователь вводит свой ID(ник) и пароль.
Скрипт подставит соль соответствующую введенному ID,и пароль,который вы ввели.
В нашем примере получится так : md5(md5([color=orange]XzNaX[/color]).md5([color=red]123[/color]))[PHP]
Потом он обработает эти данные и сверит их с нашим [color=green]солёным[/color] хешем.
Если данные совпадают,то вы авторизированы.Если нет,то вам напишут...
Теперь о том что, где хранится в IPB => 2.0.*
В разных форумах по разному.Но в дефолтовых версиях в базе данных можно найти:
Директория forummembers: тут хранится "legacy_password". Это не [color=green]солёный[/color],простой md5 хеш.
Директория forummembers_converge:тут хранится "converge_pass_hash" .Это солёный,итоговый md5 хеш,с которым скрипт сверяется при авторизации.И в этой-же дирректории хранится "converge_pass_salt" .Это та самая соль,которую все желают поиметь =).
Теперь делаем выводы.
При XSS атаке мы получаем на сниффер [color=green]солёный хеш[/color] .Что он нам даёт?Да вообщем-то ничего,кроме того,что мы можем подменив Cookies зайти на форум от имени жертвы.Получить пароль из этого хеша не представляется возможным,потому как мы не знаем Соль.
Вы спросите,а как получить соль?
Только не через Cookies жертвы! В Cookies она не хранится.
Соль можно добыть сплойтами,SQL иньекциями и т.д.(Смотрим видео Coyl'a: [url=http://video.antichat.ru/file25.html]http://video.antichat.ru/file25.html[/url] ,читаем форум).Вообщем для того что-бы её получить нужно попасть в базу данных форума.Там же в базе данных можно подсмотреть "legacy_password" ,тот самый не солёный хеш,который можно расшифровать без Соли.
Ну вот,пока всё...

====================================================
Статья не моя, но жутко полезная...Лично мне она очень помогла...

Алгоритмы хэширования в веб-движках

Author: tabac • 2018-10-09T14:03:38+0000 • Replies: 1 • Views: 10K
**Алгоритмы хэширования в веб-движках (cms, форумы, блоги, журналы,
оболочки)**

Предлагаю в этой теме рассматривать и собирать алгоритмы хеширования в
существующих веб-движках. Дополнения приветствуются.


**1024cms**
md5($pass)

**1C Битрикс**
md5($pass)

**4images**
md5($pass)

**ABO CMS**
md5($pass)

**AdaptCMS Lite 1.5**
md5($pass)

**Adrevenue**
md5($pass)

**AEF**
md5($salt.$pass)

**AIOCP**
md5($pass)

**Artiphp**
md5($pass)

**AVE CMS**
md5(md5($pass))

**Aqua CMS**
plaintext

**b2evolution**
md5($pass)

**Basecmp**
md5($pass)

**bbPress**
md5($pass)

**beContent**
md5($pass)

**Beehive**
md5($pass)

**BIGACE**
md5($pass)

**Bitrix**
md5($pass)

**bitweaver**
md5($pass)

**bloofoxCMS**
md5($pass)

**Cambio 0.5a**
md5($pass)

**ClanTiger**
md5($pass)

**ClanSphere**
md5($pass) or sha1($pass)

**CMScout**
md5($pass)

**CMS Made Simple**
md5($pass)

**Contenido**
md5($pass)

**Cotonti 0.6.8**
md5($pass)

**CPG-Nuke**
md5($pass)

**CruxCMS**
md5($pass)

**daisy**
sha1

**Danneo CMS**
md5($pass)

**DataLife Engine (DLE)**
md5(md5($pass))

**DBHcms**
md5($pass)

**DeluxeBB**
md5($pass)

**Diferior**
md5(md5($pass))

**Digitalus 1.8.1**
md5($pass)

**DotNetNuke default**
sha1($pass)

**e107**
md5(md5($pass))

**eazyPortal**
md5($pass)

**ecshoprus**
md5($pass)

**eFront 3.6.4**
md5($pass.'cDWQR#$Rcxsc')

**eliteCMS**
sha1($pass)

**Elxis**
md5($pass)

**Enano CMS**
md5($pass)

**eoCMS**
md5($pass)

**Etomite**
md5($pass)

**Explay**
md5($pass)

**Exponent**
md5($pass)

**Flux CMS**
md5($pass)

**Frog**
sha1($pass)

**FUDforum**
md5($pass)

**Fundanemt**
md5($pass)

**glFusion**
md5($pass)

**GeekLog**
md5($pass)

**Icy Phoenix**
md5($pass)

**iDevAffiliate**
sha1 ('idev_secret' . $password);

**iGaming CMS**
md5($pass)

**Injader**
md5($pass)

**Intellect Board**
md5($pass)

**ImpressCMS**
md5($pass)

**IPB 1.x.x**
md5($pass)

**IPB 1.3-2.17 (IPB 2.x.x.):**
md5(md5($salt).md5($pass))

**ITA Forum**
md5($pass)

**Jaws CMS**
md5($pass)

**Joomla <=1.0.12 **
md5($pass)

**Joomla >=1.0.13 **
md5($pass.$salt)

**Kajona**
sha1($pass)

**Koobi CMS**
md5($pass)

**Koobi CMS >=6 **
md5(md5($pass))

**Lanius CMS**
md5($pass)

**LifeType**
md5($pass)

**lyceum 1.0.3**
md5($pass)

**MDPro**
md5($pass)

**Mambo**
md5($pass)

**MercuryBoard**
md5($pass)

**MiaCMS**
md5($pass)

**MigasCMS**
md5($pass)

**miniBB**
md5($pass)

**MODx CMS**
md5($pass)

**MyBB 1.2.x**
md5(md5($salt).md5($pass))

**Nucleus 3.50**
md5($pass)

**osCommerce**
md5($salt.$pass)

**PBLang**
md5($pass)

**pecio cms**
sha1($pass)

**PHP-Fusion**
md5($pass)

**PHP-Nuke**
md5($pass)

**PhpBB 2.0.x**
md5($pass)

**PhpBB >=3 **
md5($phpbb3)

**PhpMyForum**
md5($pass)

**PhpMySport**
md5($pass)

**phpWebThings**
md5($pass)

**PHPX CMS**
md5($pass)

**phpwcms**
md5($pass)

**PLUME CMS**
md5($pass)

**PunBB 1.2.x**
md5($pass) или SHA-1

**PostNuke**
md5($pass)

**QuickSilver Forum**
md5($pass)

**radiant**
sha1(sha1($pass))

**Refbase (Web Reference Database)**
DES(Password, $salt) $salt = substr(email, 0, 2)

**RunCMS**
sha1($username.$pass) или md5($pass)

**Scripteen Free Image Hosting Script**
md5($pass)

**Seditio**
md5($pass)

**Serendipity <=1.4.1 **
md5($pass)

**Serendipity >= 1.5.x **
sha1($pass)

**SilverStripe**
md5($pass)

**Slaed CMS**
md5($pass)

**SmallNuke 2.0.4**
md5($pass)

**SMF 1.0.x.:**
md5(HMAC)

**SMF 1.1.x.**
sha1($username.$pass)

**sNews**
md5($pass)

**Snitz Forums 2000**
SHA-256

**Subrion v 1.1.0.0**
md5($pass)

**Tinypug**
md5($pass)

**TangoCMS 2.3.x**
md5($pass)

**Triton CMS**
md5($pass)

**Typo3**
md5($pass)

**Tribiq CMS**
md5($pass)

**UMI.CMS**
md5($pass)

**UseBB**
md5($pass)

**Vanilla**
md5($pass)

**vBulletin 3.54 (vBulletin 3.x.x):**
md5(md5($pass).$salt)

**VikingBoard**
md5($pass)

**Voodoo chat**
md5($pass)

**W-Agora**
md5($pass)

**Website Baker**
md5($pass)

**webSPELL CMS v4.0**
md5($pass)

**whCMS v0.115 alpha**
md5($pass)

**Wordpress**
md5($pass)

**Wordpress 2.6.0\2.6.1**
md5($phpbb3)

**Wordpress >=2.6.2 **
md5($wordpress)

**WWWThreads**
des($pass)

**Xaraya**
md5($pass)

**XMB Forum**
md5($pass)

**XOOPS**
md5($pass)

**YaBB**
md5(HMAC)

**Voodoo chat**
md5($pass)

**Добавлено в [time]1539093482[/time]**
**Распространенные CMS:**

Code:Copy to clipboard



------------------------------------------------------
| Название               | Алгоритм хеширования      
------------------------------------------------------
| Joomla >=1.0.13        | md5($pass.$salt)        
| IPB 2.x.x.:            | md5(md5($salt).md5($pass))  
| vBulletin 3.x.x:       | md5(md5($pass).$salt)  
| DataLife Engine        | md5(md5($pass))      
| osCommerce             | md5($salt.$pass)
| SMF 1.1.x.:            | sha1($username.$pass)
| Wordpress >=2.6.2      | md5($wordpress)  
| PhpBB >=3              | md5($phpbb3)

**Примеры хэшей из распространенных CMS:**

Code:Copy to clipboard



------------------------------------------------------------------------------
| Название               |               Пример хэша  
------------------------------------------------------------------------------
| Joomla >=1.0.13        | b990ea9d8705a2e1561fa9ebf5052d5a:Hqawg6vlrq3nqI4i
| IPB 2.x.x.:            | 3ee8b35f9a15b0f257c79ded73d28cb5:gEA_Z  
| vBulletin 3.x.x:       | cc8e4f14b0b016006261a53013526987:*|/  
| osCommerce             | a0e41c3f2453bca43a9fa7cd2374ce08:7b
| SMF 1.1.x.:            | user:2d6b9ec9a105e2dc771a95bd0d855e570a765469:bf76
| Wordpress >=2.6.2      | $P$BHUnawZ54ZdpoZOm4sbVAK0
| PhpBB >=3              | $H$95MMFvTU4Lm1sASItv4J5HWXk18HW70


**Все CMS, для которых известны алгоритмы хэширования:**


Code:Copy to clipboard



1024cms [SIZE=1]md5($pass)[/SIZE]
ABO CMS [SIZE=1]md5($pass)[/SIZE]
AdaptCMS Lite 1.5 [SIZE=1]md5($pass)[/SIZE]
AEF [SIZE=1]md5($salt.$pass)[/SIZE]
AIOCP [SIZE=1]md5($pass)[/SIZE]
Artiphp [SIZE=1]md5($pass)[/SIZE]
Atlassian JIRA [SIZE=1]SHA-512(Base64)[/SIZE]
AVE CMS [SIZE=1]md5(md5($pass))[/SIZE]
b2evolution [SIZE=1]md5($pass)[/SIZE]
beContent [SIZE=1]md5($pass)[/SIZE]
Beehive [SIZE=1]md5($pass)[/SIZE]
BIGACE [SIZE=1]md5($pass)[/SIZE]
Bitrix [SIZE=1]md5($pass)[/SIZE]
bitweaver [SIZE=1]md5($pass)[/SIZE]
bloofoxCMS [SIZE=1]md5($pass)[/SIZE]
ClanTiger [SIZE=1]md5($pass)[/SIZE]
ClanSphere [SIZE=1]md5($pass) or sha1($pass)[/SIZE]
CMScout [SIZE=1]md5($pass)[/SIZE]
CMS Made Simple [SIZE=1]md5($pass)[/SIZE]
Contenido [SIZE=1]md5($pass)[/SIZE]
CPG-Nuke [SIZE=1]md5($pass)[/SIZE]
CruxCMS [SIZE=1]md5($pass)[/SIZE]
Danneo CMS [SIZE=1]md5($pass)[/SIZE]
DataLife Engine [SIZE=1]md5(md5($pass))[/SIZE]
DeluxeBB [SIZE=1]md5($pass)[/SIZE]
Diferior [SIZE=1]md5(md5($pass))[/SIZE]
Digitalus 1.8.1 [SIZE=1]md5($pass)[/SIZE]
DotNetNuke [SIZE=1]default - sha1($pass)[/SIZE]
e107 [SIZE=1]md5(md5($pass))[/SIZE]
eazyPortal [SIZE=1]md5($pass)[/SIZE]
ecshoprus [SIZE=1]md5($pass)[/SIZE]
eliteCMS [SIZE=1]sha1($pass)[/SIZE]
Elxis [SIZE=1]md5($pass)[/SIZE]
eoCMS [SIZE=1]md5($pass)[/SIZE]
Etomite [SIZE=1]md5($pass)[/SIZE]
Exponent [SIZE=1]md5($pass)[/SIZE]
Flux CMS [SIZE=1]md5($pass)[/SIZE]
Frog [SIZE=1]sha1($pass)[/SIZE]
FUDforum [SIZE=1]md5($pass)[/SIZE]
Fundanemt [SIZE=1]md5($pass)[/SIZE]
glFusion [SIZE=1]md5($pass)[/SIZE]
GeekLog [SIZE=1]md5($pass)[/SIZE]
Icy Phoenix [SIZE=1]md5($pass)[/SIZE]
iDevAffiliate [SIZE=1]$pass= sha1 ('idev_secret' . $password);[/SIZE]
iGaming CMS [SIZE=1]md5($pass)[/SIZE]
Injader [SIZE=1]md5($pass)[/SIZE]
Intellect Board [SIZE=1]md5($pass)[/SIZE]
IPB 1.x.x [SIZE=1]md5($pass)[/SIZE]    
IPB 1.3-2.17 (IPB 2.x.x.): [SIZE=1]md5(md5($salt).md5($pass))[/SIZE]
ITA Forum [SIZE=1]md5($pass)[/SIZE]
Jaws CMS [SIZE=1]md5($pass)[/SIZE]
Joomla <=1.0.12 [SIZE=1]md5($pass)[/SIZE]
Joomla >=1.0.13 [SIZE=1]md5($pass.$salt)[/SIZE]
Kajona [SIZE=1]sha1($pass)[/SIZE]
Koobi CMS [SIZE=1]md5($pass)[/SIZE]
Koobi CMS >=6 [SIZE=1]md5(md5($pass))[/SIZE]
Lanius CMS [SIZE=1]md5($pass)[/SIZE]
LifeType [SIZE=1]md5($pass)[/SIZE]
MDPro [SIZE=1]md5($pass)[/SIZE]
MercuryBoard [SIZE=1]md5($pass)[/SIZE]
MiaCMS [SIZE=1]md5($pass)[/SIZE]
MigasCMS [SIZE=1]md5($pass)[/SIZE]
miniBB [SIZE=1]md5($pass)[/SIZE]
MODx CMS [SIZE=1]md5($pass)[/SIZE]
MyBB 1.2.x [SIZE=1]md5(md5($salt).md5($pass))[/SIZE]
Nucleus 3.50 [SIZE=1]md5($pass)[/SIZE]
osCommerce [SIZE=1]md5($salt.$pass)[/SIZE]
PBLang [SIZE=1]md5($pass)[/SIZE]
pecio cms [SIZE=1]sha1($pass)[/SIZE]
PHP-Fusion [SIZE=1]md5($pass)[/SIZE]
PHP-Nuke [SIZE=1]md5($pass)[/SIZE]
PhpBB 2.0.x [SIZE=1]md5($pass)[/SIZE]
PhpBB >=3 [SIZE=1]md5($phpbb3)[/SIZE]
PhpMyForum [SIZE=1]md5($pass)[/SIZE]
PhpMySport [SIZE=1]md5($pass)[/SIZE]
phpWebThings [SIZE=1]md5($pass)[/SIZE]
PHPX CMS [SIZE=1]md5($pass)[/SIZE]
phpwcms [SIZE=1]md5($pass)[/SIZE]
PLUME CMS [SIZE=1]md5($pass)[/SIZE]
PunBB 1.2.x [SIZE=1]md5($pass) or an SHA-1[/SIZE]
QuickSilver Forum [SIZE=1]md5($pass)[/SIZE]
radiant [SIZE=1]sha1(sha1($pass))[/SIZE]
Refbase (Web Reference Database) [SIZE=1]DES(Password, $salt) $salt = substr(email, 0, 2)[/SIZE]
RunCMS sha1($username.$pass) or [SIZE=1]md5($pass)[/SIZE]
Scripteen Free Image Hosting Script [SIZE=1]md5($pass)[/SIZE]
Seditio [SIZE=1]md5($pass)[/SIZE]
Serendipity <=1.4.1 [SIZE=1]md5($pass)[/SIZE]
Serendipity >= 1.5.x [SIZE=1]sha1($pass)[/SIZE]
Slaed CMS [SIZE=1]md5($pass)[/SIZE]
SMF 1.0.x.: [SIZE=1]md5(HMAC)[/SIZE]
SMF 1.1.x.: [SIZE=1]sha1($username.$pass)[/SIZE]
sNews [SIZE=1]md5($pass)[/SIZE]
Snitz Forums 2000 [SIZE=1]SHA-256[/SIZE]
Subrion v 1.1.0.0 [SIZE=1]md5($pass)[/SIZE]
Tinypug [SIZE=1]md5($pass)[/SIZE]
TangoCMS 2.3.x [SIZE=1]md5($pass)[/SIZE]
Triton CMS [SIZE=1]md5($pass)[/SIZE]
Typo3 [SIZE=1]md5($pass)[/SIZE]
UseBB [SIZE=1]md5($pass)[/SIZE]
Vanilla [SIZE=1]md5($pass)[/SIZE]
vBulletin 3.54 (vBulletin 3.x.x): [SIZE=1]md5(md5($pass).$salt)[/SIZE]
VikingBoard [SIZE=1]md5($pass)[/SIZE]
W-Agora [SIZE=1]md5($pass)[/SIZE]
Website Baker [SIZE=1]md5($pass)[/SIZE]
webSPELL CMS v4.0 [SIZE=1]md5($pass)[/SIZE]
Wordpress [SIZE=1]md5($pass)[/SIZE]
Wordpress 2.6.0\2.6.1 [SIZE=1]md5($phpbb3)[/SIZE]
Wordpress >=2.6.2 [SIZE=1]md5($wordpress)[/SIZE]
WWWThreads [SIZE=1]des($pass)[/SIZE]
Xaraya [SIZE=1]md5($pass)[/SIZE]
XMB Forum [SIZE=1]md5($pass)[/SIZE]
XOOPS [SIZE=1]md5($pass)[/SIZE]
YaBB [SIZE=1]md5(HMAC)[/SIZE]


**CMS, для которых неизвестны алгоритмы хэширования:**

Code:Copy to clipboard



[COLOR=Red]Платные:[/COLOR]
abcOnline-CMS
ProFusion Ultra IS
Powerfront CMS
LaunchPoint CMS
lemoon CMS
COMSHARP CMS
EIBS EasySite CMS
Immediacy
Jadu
Sitekit CMS
EPiServer
Sitecore
OnBase (Hyland Software)
Microsoft Office SharePoint Server (Services)
AlterFiction
Community Server
Kentico CMS
MonoX
OrangeLogix
RelationshipList - Work by Referral
Adobe Contribute Publishing Server (CPS)
Day Communiqué WCM
Traction TeamPage
Jalios JCMS
Blue Light CMS
Cascade Server
TerminalFour Site Manager
Noodle
FatWire Content Server
CoreMedia CMS
Vignette
Lotus Web Content Management
Refresh Software - SR2 (Component Content Management)
Clickability
Cubic Compass
Site Masher

[COLOR=Red]Бесплатные[/COLOR]
jAPS
Jahia
OpenCms
Liferay
Fedora
DotCMS
Nuxeo EP
Alfresco
Magnolia
Apache Lenya
Daisy
blosxom
Bricolage
Socialtext Open
TWiki
Scoop
Slash
WebGUI
Cyclone3
Movable Type
Aqua CMS
BLOG:CMS
Cambio
CivicSpace
Drupal
eFront
GCMS
ImpressCMS
Jojo CMS
KnowledgeTree Document Management System
Lyceum
Mambo
OneCMS
Opus
PHPSlash
SilverStripe
SPIP
TangoCMS
Textpattern
TGS Content Management
The System
Tribiq CMS
TYPO3
whCMS
Midgard CMS
MediaWiki
Merlintalk
phpWebSite
Dotclear
Habari
eZ Publish
CMSimple
Dokuwiki
phpCMS
PmWiki
razorCMS
Quick.Cms.Lite
TikiWiki CMS/Groupware
phpWiki
MoinMoin
Nuxeo CPS
Plone
PyLucid
Byteflow
Zena
Nooto
Typo
DotNetNuke
Xaraya
XOOPS Cube
Serendipity
OpenACS


**Добавлено в [time]1539093524[/time]**
**А так же..**

AdaptCMS Lite 1.5 md5($pass)
./admin.php
./dbinfo.php
....[prefix]_users (default prefix adaptcms_):
.......username
.......password
.......email
.......level


Digitalus 1.8.1 md5($pass)
/admin/
/application/data/config.xml
....users
.......first_name
.......email
.......password


Nucleus 3.50 md5($pass)
./config.php
....nucleus_member:
.......mname
.......mpassword
.......memail
.......mcanlogin
.......mcookiekey


PhpWebSite 1 6 3 md5($pass)
/admin/index.php
/setup/config.php
....user_authorization
.......username
.......password


Subrion v 1.1.0.0 md5($pass)
/admin/index.php
/install/config.inc.php.sample
....prefix_accounts (default prefix SBR_):
.......username
.......password
.......email
.......sec_key

....prefix_admins:
.......username
.......password
.......email
.......sec_key

**Добавлено в [time]1539093818[/time]**
**MODX Evolution <= 1.0.6**: md5($pass)
**MODX Revolution <= 2.1.0-rc-1**: md5($pass)
**MODX Revolution >= 2.1.0-rc-1: PBKDF2** (есть возможность задать любой
алгоритм)


**XenForo 1**
sha256(sha256($pass).$salt)
**или же XenForo**
'sha256', hash('sha256', $password) . $salt

data-cfemail

Author: likaku • 2020-12-28T01:51:41+0000 • Replies: 3 • Views: 10K
Начал парсить один сайт, а там вместо почт вот такое <a href="/cdn-
cgi/l/email-protection" class="__cf_email__" data-
cfemail="b4d4d8d9d9d9c5f7dad6dedb99c5c2">[email&#160;protected]</a>

Видел онлайн сервисы по расшифровке, но это совсем не вариант.
Есть ли какая-то утилита, которой можно скормить этот файл, и она расшифрует
все эти строки на выходе?

[Game] Who is smart here?

Author: Joynses • 2020-03-11T01:38:09+0000 • Replies: 35 • Views: 10K
Добрый день, дорогие форумчане!

В этой теме будут публиковаться задания, которые вам нужно будет решить.

Spoiler: Правила

1) Напишите в комментариях "Я в игре".
2) Если вы решили задание - пишите ответ мне в лс **(именно в личные
сообщения).**
3) Тех, кто ответит правильно буду помечать лайком. Удачи.


[Первое задание](https://yadi.sk/i/gO_xyI2whL8QnA)
(<https://yadi.sk/i/gO_xyI2whL8QnA>)
Какой пароль спрятан в этой картинке?

[Второе задание](https://yadi.sk/i/DPBbNJJOw1iP0A)
(<https://yadi.sk/i/DPBbNJJOw1iP0A>)
Какой пароль спрятан в этой картинке?

Как вытягивать хеш

Author: hawk2000 • 2006-06-10T21:24:19+0000 • Replies: 26 • Views: 10K
Объясните мне пожалуйста: Как витянуть хеш от пароля. Ато ломать хешы научился
а как их вытянуть не знаю.

Брут MD5

Author: Winux • 2006-01-05T21:35:54+0000 • Replies: 19 • Views: 9K
Много слов сказано в пользу алгоритма МД5. Что мол расшифровать его нельза,
только брутить. Брутить приходится целую вечность. Как только кодеры не
извращались, дабы ускорить процесс брута. Вот как раз еще одно творение
мастера кодинга на ассемблере. почетного пользователя нашего форума, господина
под ником BUG(O)R :crazy:
**Advances MD5 Recovery 1.0**
Ничем оригинальным данная программа не отличается, это брут md5 хешей по
словарю, писался на камне AMD, под него и был оптимизирован, поэтому по
скоростьи на этих камнях не уступает последним версиям passwordpro и обходит в
два раза последнюю версию md5insade. Как заверяет автор, интерфейс программы
не богат, так как основной целью было сделать компактный и легкий брутер по
словарю.
**Ахтунг! Прога весит всего 3 кб!**[New$paN]
![:zns5:](/styles/default/xenforo/smilies/emojione/software.png)
[Скачать|Download](http://xss.is/dl/passwords/Amd5R.rar)

Ломаем крипт анубис бота за 3000$

Author: Hirurg • 2020-04-05T05:49:50+0000 • Replies: 31 • Views: 8K
Ломаем громко сказано! Декомпилируем бота и наблюдаем следующую картину

[CLIKE]
Так и знал что ананируешь на анубиса?
Тогда получи код:
package dsehiqshfdrhb.dypadwxhqmvc.nivztjt;

import android.app.Application;
import android.content.Context;
import android.util.Base64;
import android.util.Log;
import dalvik.system.DexClassLoader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Map;

public class Protector extends Application {
private static final int SBOX_LENGTH = 256;
String KeyDecryptFile = "lvqfaazdsgdgc";
String LOGD_TAG_DBG = "(Protector)Debug";
String META_KEY_APP_CLASS = "efbznkkwfjpicoed";
String NAME_DIR_LIB = "DynamicLib";
String NAME_DIR_OPT_DEX = "DynamicOptDex";
String NAME_SRC_APK = strDecRC4("MDQ1Zjk3OGNjZDNhYjM5M2ZkZWFhMDIxZGIwOTNl",
"zaqvkapmmxecwhoq");
int SIZE_BUF = 1024;
private int i = 0;
private int j = 0;
Context mCtxBase = null;
private int[] sbox;
[/CLIKE]

Кто в теме все понял расходимся

Полный код на сколько это возможно
[CLIKE]
Опять попался дрочер мелкий=)

package dsehiqshfdrhb.dypadwxhqmvc.nivztjt;

import android.app.Application;
import android.content.Context;
import android.util.Base64;
import android.util.Log;
import dalvik.system.DexClassLoader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.lang.ref.WeakReference;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Map;

public class Protector extends Application {
private static final int SBOX_LENGTH = 256;
String KeyDecryptFile = "lvqfaazdsgdgc";
String LOGD_TAG_DBG = "(Protector)Debug";
String META_KEY_APP_CLASS = "efbznkkwfjpicoed";
String NAME_DIR_LIB = "DynamicLib";
String NAME_DIR_OPT_DEX = "DynamicOptDex";
String NAME_SRC_APK = strDecRC4("MDQ1Zjk3OGNjZDNhYjM5M2ZkZWFhMDIxZGIwOTNl",
"zaqvkapmmxecwhoq");
int SIZE_BUF = 1024;
private int i = 0;
private int j = 0;
Context mCtxBase = null;
private int[] sbox;

public byte[] encrypt(byte[] bArr) {
this.sbox = initSBox(this.KeyDecryptFile.getBytes());
byte[] bArr2 = new byte[bArr.length];
for (int i2 = 0; i2 < bArr.length; i2++) {
this.i = (this.i + 1) % 256;
int i3 = this.j;
int[] iArr = this.sbox;
int i4 = this.i;
this.j = (i3 + iArr[i4]) % 256;
swap(i4, this.j, iArr);
int[] iArr2 = this.sbox;
bArr2[i2] = (byte) (iArr2[(iArr2[this.i] + iArr2[this.j]) % 256] ^ bArr[i2]);
}
return bArr2;
}

private int[] initSBox(byte[] bArr) {
int[] iArr = new int[256];
for (int i2 = 0; i2 < 256; i2++) {
iArr[i2] = i2;
}
int i3 = 0;
for (int i4 = 0; i4 < 256; i4++) {
i3 = (((i3 + iArr[i4]) + bArr[i4 % bArr.length]) + 256) % 256;
swap(i4, i3, iArr);
}
return iArr;
}

private void swap(int i2, int i3, int[] iArr) {
int i4 = iArr[i2];
iArr[i2] = iArr[i3];
iArr[i3] = i4;
}

public byte[] FileDecrypt(byte[] bArr) throws IOException {
return encrypt(bArr);
}

public String strDecRC4(String str, String str2) {
try {
return new String(new RC4(str2.getBytes()).decrypt(hexStringToByteArray(new
String(Base64.decode(str, 0), "UTF-8"))));
} catch (Exception unused) {
return BuildConfig.FLAVOR;
}
}

public byte[] hexStringToByteArray(String str) {
int length = str.length();
byte[] bArr = new byte[(length / 2)];
for (int i2 = 0; i2 < length; i2 += 2) {
bArr[i2 / 2] = (byte) ((Character.digit(str.charAt(i2), 16) << 4) +
Character.digit(str.charAt(i2 + 1), 16));
}
return bArr;
}

/* access modifiers changed from: protected */
public void attachBaseContext(Context context) {
super.attachBaseContext(context);
Log.d(this.LOGD_TAG_DBG, context.toString());
this.mCtxBase = context;
File dir = context.getDir(this.NAME_DIR_OPT_DEX, 0);
File dir2 = context.getDir(this.NAME_DIR_LIB, 0);
String absolutePath = dir.getAbsolutePath();
dir2.getAbsolutePath();
String absolutePath2 = new File(absolutePath,
this.NAME_SRC_APK).getAbsolutePath();
boolean prepareSrcApk = prepareSrcApk(absolutePath2);
if (prepareSrcApk) {
StringBuffer stringBuffer = new StringBuffer();
if (prepareSrcApk) {
replaceClassLoader(absolutePath2, absolutePath, stringBuffer.toString());
}
}
}

public void onCreate() {
super.onCreate();
StringBuffer stringBuffer = new StringBuffer();
if (stringBuffer.length() <= 0 ||
!replaceApplicationClass(stringBuffer.toString())) {
}
}

public void writeToFile(byte[] bArr, String str) throws IOException {
FileOutputStream fileOutputStream = new FileOutputStream(str);
fileOutputStream.write(bArr);
fileOutputStream.close();
}

/* JADX WARNING: Code restructure failed: missing block: B:12:0x003b, code
lost:
r4 = move-exception;
*/
/* JADX WARNING: Code restructure failed: missing block: B:14:?, code lost:
r4.printStackTrace();
*/
/* JADX WARNING: Code restructure failed: missing block: B:15:0x0040, code
lost:
r4 = move-exception;
*/
/* JADX WARNING: Code restructure failed: missing block: B:16:0x0041, code
lost:
r4.printStackTrace();
*/
/* JADX WARNING: Code restructure failed: missing block: B:29:0x0065, code
lost:
r0 = th;
*/
/* JADX WARNING: Code restructure failed: missing block: B:56:?, code lost:
r7.close();
*/
/* JADX WARNING: Code restructure failed: missing block: B:57:0x0096, code
lost:
r7 = move-exception;
*/
/* JADX WARNING: Code restructure failed: missing block: B:58:0x0097, code
lost:
r7.printStackTrace();
*/
/* JADX WARNING: Code restructure failed: missing block: B:61:?, code lost:
r3.close();
*/
/* JADX WARNING: Code restructure failed: missing block: B:62:0x00a0, code
lost:
r7 = move-exception;
*/
/* JADX WARNING: Code restructure failed: missing block: B:63:0x00a1, code
lost:
r7.printStackTrace();
*/
/* JADX WARNING: Failed to process nested try/catch */
/* JADX WARNING: Removed duplicated region for block: B:29:0x0065
A[ExcHandler: all (th java.lang.Throwable), Splitter:B:5:0x0018] */
/* JADX WARNING: Removed duplicated region for block: B:43:0x007b A[SYNTHETIC,
Splitter:B:43:0x007b] */
/* JADX WARNING: Removed duplicated region for block: B:48:0x0085 A[SYNTHETIC,
Splitter:B:48:0x0085] */
/* JADX WARNING: Removed duplicated region for block: B:55:0x0092 A[SYNTHETIC,
Splitter:B:55:0x0092] */
/* JADX WARNING: Removed duplicated region for block: B:60:0x009c A[SYNTHETIC,
Splitter:B:60:0x009c] */
/* JADX WARNING: Removed duplicated region for block: B:68:? A[RETURN,
SYNTHETIC] */
/* Code decompiled incorrectly, please refer to instructions dump. */
private boolean prepareSrcApk(java.lang.String r7) {
/*
r6 = this;
java.io.File r0 = new java.io.File
r0.<init>(r7)
android.content.Context r7 = r6.mCtxBase
android.content.res.AssetManager r7 = r7.getAssets()
r1 = 0
r2 = 0
java.lang.String r3 = r6.NAME_SRC_APK // Catch:{ IOException -> 0x0074, all ->
0x0070 }
java.io.InputStream r7 = r7.open(r3) // Catch:{ IOException -> 0x0074, all ->
0x0070 }
java.io.FileOutputStream r3 = new java.io.FileOutputStream // Catch:{
IOException -> 0x006c, all -> 0x0069 }
r3.<init>(r0) // Catch:{ IOException -> 0x006c, all -> 0x0069 }
int r1 = r6.SIZE_BUF // Catch:{ IOException -> 0x0067, all -> 0x0065 }
byte[] r1 = new byte[r1] // Catch:{ IOException -> 0x0067, all -> 0x0065 }
L_0x001c:
int r4 = r7.read(r1) // Catch:{ IOException -> 0x0067, all -> 0x0065 }
if (r4 >= 0) goto L_0x0061
long r4 = r0.length() // Catch:{ IOException -> 0x0067, all -> 0x0065 }
int r1 = (int) r4 // Catch:{ IOException -> 0x0067, all -> 0x0065 }
byte[] r1 = new byte[r1] // Catch:{ IOException -> 0x0067, all -> 0x0065 }
java.io.BufferedInputStream r4 = new java.io.BufferedInputStream // Catch:{
FileNotFoundException -> 0x0040, IOException -> 0x003b, all -> 0x0065 }
java.io.FileInputStream r5 = new java.io.FileInputStream // Catch:{
FileNotFoundException -> 0x0040, IOException -> 0x003b, all -> 0x0065 }
r5.<init>(r0) // Catch:{ FileNotFoundException -> 0x0040, IOException ->
0x003b, all -> 0x0065 }
r4.<init>(r5) // Catch:{ FileNotFoundException -> 0x0040, IOException ->
0x003b, all -> 0x0065 }
int r5 = r1.length // Catch:{ FileNotFoundException -> 0x0040, IOException ->
0x003b, all -> 0x0065 }
r4.read(r1, r2, r5) // Catch:{ FileNotFoundException -> 0x0040, IOException ->
0x003b, all -> 0x0065 }
r4.close() // Catch:{ FileNotFoundException -> 0x0040, IOException -> 0x003b,
all -> 0x0065 }
goto L_0x0044
L_0x003b:
r4 = move-exception
r4.printStackTrace() // Catch:{ IOException -> 0x0067, all -> 0x0065 }
goto L_0x0044
L_0x0040:
r4 = move-exception
r4.printStackTrace() // Catch:{ IOException -> 0x0067, all -> 0x0065 }
L_0x0044:
byte[] r1 = r6.FileDecrypt(r1) // Catch:{ IOException -> 0x0067, all -> 0x0065
}
java.lang.String r0 = r0.getAbsolutePath() // Catch:{ IOException -> 0x0067,
all -> 0x0065 }
r6.writeToFile(r1, r0) // Catch:{ IOException -> 0x0067, all -> 0x0065 }
if (r7 == 0) goto L_0x005b
r7.close() // Catch:{ IOException -> 0x0055 }
goto L_0x005b
L_0x0055:
r7 = move-exception
r7.printStackTrace()
r7 = 0
goto L_0x005c
L_0x005b:
r7 = 1
L_0x005c:
r3.close() // Catch:{ IOException -> 0x0089 }
r2 = r7
goto L_0x008d
L_0x0061:
r3.write(r1, r2, r4) // Catch:{ IOException -> 0x0067, all -> 0x0065 }
goto L_0x001c
L_0x0065:
r0 = move-exception
goto L_0x0090
L_0x0067:
r0 = move-exception
goto L_0x006e
L_0x0069:
r0 = move-exception
r3 = r1
goto L_0x0090
L_0x006c:
r0 = move-exception
r3 = r1
L_0x006e:
r1 = r7
goto L_0x0076
L_0x0070:
r0 = move-exception
r7 = r1
r3 = r7
goto L_0x0090
L_0x0074:
r0 = move-exception
r3 = r1
L_0x0076:
r0.printStackTrace() // Catch:{ all -> 0x008e }
if (r1 == 0) goto L_0x0083
r1.close() // Catch:{ IOException -> 0x007f }
goto L_0x0083
L_0x007f:
r7 = move-exception
r7.printStackTrace()
L_0x0083:
if (r3 == 0) goto L_0x008d
r3.close() // Catch:{ IOException -> 0x0089 }
goto L_0x008d
L_0x0089:
r7 = move-exception
r7.printStackTrace()
L_0x008d:
return r2
L_0x008e:
r0 = move-exception
r7 = r1
L_0x0090:
if (r7 == 0) goto L_0x009a
r7.close() // Catch:{ IOException -> 0x0096 }
goto L_0x009a
L_0x0096:
r7 = move-exception
r7.printStackTrace()
L_0x009a:
if (r3 == 0) goto L_0x00a4
r3.close() // Catch:{ IOException -> 0x00a0 }
goto L_0x00a4
L_0x00a0:
r7 = move-exception
r7.printStackTrace()
L_0x00a4:
throw r0
*/
throw new UnsupportedOperationException("Method not decompiled:
dsehiqshfdrhb.dypadwxhqmvc.nivztjt.Protector.prepareSrcApk(java.lang.String):boolean");
}

/* access modifiers changed from: package-private */
public void replaceClassLoader(String str, String str2, String str3) {
try {
Class<?> cls = Class.forName("android.app.ActivityThread");
Class<?> cls2 = Class.forName("android.app.LoadedApk");
Object invoke = cls.getMethod("currentActivityThread", new
Class[0]).invoke((Object) null, new Object[0]);
Field declaredField = cls.getDeclaredField("mPackages");
declaredField.setAccessible(true);
WeakReference weakReference = (WeakReference) ((Map)
declaredField.get(invoke)).get(this.mCtxBase.getPackageName());
Field declaredField2 = cls2.getDeclaredField("mClassLoader");
declaredField2.setAccessible(true);
declaredField2.set(weakReference.get(), new DexClassLoader(str, str2, str3,
(ClassLoader) declaredField2.get(weakReference.get())));
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e2) {
e2.printStackTrace();
} catch (InvocationTargetException e3) {
e3.printStackTrace();
} catch (IllegalAccessException e4) {
e4.printStackTrace();
} catch (NullPointerException e5) {
e5.printStackTrace();
} catch (NoSuchFieldException e6) {
e6.printStackTrace();
}
}

private boolean replaceApplicationClass(String str) {
try {
Log.d(this.LOGD_TAG_DBG, getClassLoader().toString());
Application application = (Application) Class.forName(str, true,
getClassLoader()).newInstance();
Class<?> cls = Class.forName("android.app.ContextImpl");
Field declaredField = cls.getDeclaredField("mOuterContext");
declaredField.setAccessible(true);
declaredField.set(this.mCtxBase, application);
Field declaredField2 = cls.getDeclaredField("mPackageInfo");
declaredField2.setAccessible(true);
Object obj = declaredField2.get(this.mCtxBase);
Class<?> cls2 = Class.forName("android.app.LoadedApk");
Field declaredField3 = cls2.getDeclaredField("mApplication");
declaredField3.setAccessible(true);
declaredField3.set(obj, application);
Field declaredField4 = cls2.getDeclaredField("mActivityThread");
declaredField4.setAccessible(true);
Object obj2 = declaredField4.get(obj);
Class<?> cls3 = Class.forName("android.app.ActivityThread");
Field declaredField5 = cls3.getDeclaredField("mInitialApplication");
declaredField5.setAccessible(true);
declaredField5.set(obj2, application);
Field declaredField6 = cls3.getDeclaredField("mAllApplications");
declaredField6.setAccessible(true);
ArrayList arrayList = (ArrayList) declaredField6.get(obj2);
arrayList.add(application);
arrayList.remove((Application) getApplicationContext());
Method declaredMethod = Application.class.getDeclaredMethod("attach", new
Class[]{Context.class});
declaredMethod.setAccessible(true);
declaredMethod.invoke(application, new Object[]{this.mCtxBase});
application.onCreate();
Log.d(this.LOGD_TAG_DBG, application.toString());
} catch (ClassNotFoundException e) {
e.printStackTrace();
return false;
} catch (InstantiationException e2) {
e2.printStackTrace();
return false;
} catch (IllegalAccessException e3) {
e3.printStackTrace();
return false;
} catch (NoSuchFieldException e4) {
e4.printStackTrace();
return false;
} catch (NoSuchMethodException e5) {
e5.printStackTrace();
} catch (InvocationTargetException e6) {
e6.printStackTrace();
return false;
}
return true;
}
}


[/CLIKE]

Чтобы расшифровать этот гений мысли не нужно даже что то писать, после
установки приложения на телефон файл из папки assets расшифровывается и
дропается на телефон, в дерикторию приложения.

Квест для самых маленьких:
В старых версиях андроид есть доступ к приватным дерикториям и файлам, знаете
другой способ мне глубоко пох я не фанатик андроидов. Ставим андроид студию
устанавливаем эмулятор 4-5 андроида ставим бота на эмуль что прикрепил и идем
в раздел Device File Explorer и ищем наше приложение по названию
lxvnwwtfv.jiogxenwz.jwtxud находим жмем save, сохранили идем в папку
resources-assets и видим файл gtnfznugtfjyrhc это и есть наш апк даем ему
соответствующие расширение и радуемся жизни. Меняем адрес панели и делаем то
что я писал в сполере. Сказали что стоит он 3к$, за паблик даже
дописанный........ ну не мне судить.

что за шифрование

Author: durito • 2006-09-27T04:39:52+0000 • Replies: 34 • Views: 8K
вот сталкнулся с таким пасами:

s$3pbIc1GPcLw
p$lgA189RApBg
a$sfwQiDahbEI

скрипт шифрует следующим образом:

> // this stuff should go below the above stuff (needs $thisDocumentFile)
> function makepwd($pwd){
> //writefile ($albumRootDir.$strPathSeparator."pwd.txt");
> //$_SESSION['pwd'] = $pwd;
> }
> function setpwd($pwd){
> session_register('pwd');
> $_SESSION['pwd'] = $pwd;
> }
> function unsetpwd(){
> session_unregister('pwd');
> $_SESSION['pwd'] = "";
> }
> function getpwd(){
> global $albumRootDir, $strPathSeparator;
> $pwdfile = readonly2array ($albumRootDir.$strPathSeparator."pwd.txt");
> return $pwdfile[0];
> }
> function authenticate($pwdtry){
> //echo ("<p>get pwd = ".getpwd());
> //echo ("<p>try = ".crypt ($pwdtry));
> //print "<p>My system salt size is: ". CRYPT_SALT_LENGTH;
> $salt = substr($pwdtry, 0, 1);
> //$incomingpwd = $pwdtry;
> $incomingpwd = crypt ($pwdtry, $salt);
> //echo "<p>incomming pwd: $incomingpwd
> ";
> //echo ("<p>from file: ".getpwd()."<p>");
> //echo ("<p>from funk: $incomingpwd<p>");
> if($incomingpwd == getpwd()){
> return TRUE;
> } else {
> return FALSE;
>
> Click to expand...


если я правильно понял
salt идет до символа $

самое главное чем это можно расшифровать?

Может кто знает?

Author: xeal • 2006-04-12T17:39:14+0000 • Replies: 21 • Views: 8K
Попалась под руку БД с такими хешами от паролей:
d95e8fa7f20a009372eb3477473fcd34:1c
Может кто-нибудь знает, каким алгоритмом это зашифровано? Вроде похоже на МД5
( с майсола), но что означает ":1c"? (в разных хешах это значение тоже
разное).

Старый но рабочий обфускатор C# (детекты прячет).

Author: ViCode • 2019-10-12T13:06:02+0000 • Replies: 32 • Views: 7K
Старый, работает, хорошо малварь прячет. советую в связке с другими
обфускаторами.
Склеек нет. Ручаюсь своей головой.

![1570885460391.png](https://xss.is/attachments/5840/)


You must have at least 1 reaction(s) to view the content.

Инструкция по использованию VeraCrypt (достойная альтернатива TrueCrypt)

Author: tabac • 2019-03-28T17:35:52+0000 • Replies: 18 • Views: 7K
**VeraCrypt — достойная альтернатива TrueCrypt**


**Будучи ответвлением (форком) кода TrueCrypt, VeraCrypt поднимает на новый
уровень защиту с помощью программ шифрования с открытым кодом, а также
устраняет слабые места.**
Если вы с неохотой продолжаете использовать заброшенный TrueCrypt, и вы не
хотите ждать пока созреет CipherShed, очень полезным для вас станет изучение
альтернативы — [VeraCrypt](https://sourceforge.net/projects/veracrypt/)
(второй [официальный сайт проекта
VeraCrypt](https://archive.codeplex.com/?p=veracrypt)).

VeraCrypt это также форк оригинального кода TrueCrypt, и эта программа была
запущена в июне 2013. Консультант по безопасности в сфере информационных
технологий Мунир Идрасси (Mounir Idrassi), который располагается во Франции,
запустил проект и является его основным донором.

Инновации г-на Идрасси в развитии VeraCrypt восходят к 2012 году, когда его
попросили интегрировать TrueCrypt с продуктом клиента. Перед выполнением этой
задачи был проведёт аудит безопасности кода и выявлены некоторые вопросы. «Там
не было никаких больших проблем, ни бэкдоров или чего-нибудь вроде этого. Но
там были некоторые мелочи, поэтому мы решили начать VeraCrypt», сказал он.

Г-н Идрасси сказал, что главная слабость в TrueCrypt была в том, по его
мнению, что он был не безопасен против атаки брут форсом (перебором
вариантов). Особенно тот способ, которым программа трансформировала пароль для
получения ключа был недостаточно хорош, скзал он. «TrueCrypt использует
трансформации, которые не являются очень сложными. Это недостаточно, особенно
сейчас с облачными системами взлома», объяснил он.


**Слабость TrueCrypt**

В технических терминах, когда системный раздел зашифрован, TrueCrypt
использует PBKDF2-RIPEMD160 с 1000 итерациями. Для стандартных контейнеров и
для других (например, не системных) разделов, TrueCrypt использует самое
большее 2000 итераций.

Что г-н Идрасси сделал, так это налёг на процесс трансформации. VeraCrypt
использует 327,661 итераций алгоритма PBKDF2-RIPEMD160 для системных разделов,
и для стандартных контейнеров и для других разделов она использует 655,331
итераций RIPEMD160 и 500,000 итераций SHA-2 и Whirlpool, сказал он.

В то время как это делает VeraCrypt слегка медленнее в процессе открытия
зашифрованных разделов, это делает эту программу минимум в 10 раз и максимум в
примерно 300 раз труднее для взлома посредством перебора вариантов. «По сути
то, что может занять месяц на взлом защифрованного TrueCrypt’ом может занять
год на зашифрованное VeraCrypt’ом», говорит г-н Идрасси.

Как результат этих изменений, формат контейнеров VeraCrypt несовместим с
форматом TrueCrypt. Т.е. это может стать проблемой для каждого, кто собирается
перебраться с TrueCrypt на VeraCrypt, г-н Идрасси сказал, что он работает над
инструментом конвертации, который будет доступен в ближайшие три месяца.


**Лучше чем TrueCrypt**

Также как над увеличением числа итераций, которое уже выполнено, Идрасси
сказал, что он обратился к слабостям в API и драйверов и к проверке
параметров. Этот код также уведён от возможностей инструментов для
статического анализа, и изменения сделаны для корректировки дефектов, которые
выявил анализ.

«До этого наше внимание было сосредоточено на безопасности, следующим шагом
будет добавление новых функций», сказал Идрасси, добавление новых функций
будет включать совместимость с UEFI (чтобы эта программа работала, к примеру,
с Windows 8 и 10) и совместимостью со стенографией — используемой для сокрытия
информации в таких вещах как цифровые файлы изображений.

Очевидный вопрос, рассматривает ли Идрасси возможность объединения усилий с
командой проекта CipherShed. Он сказал, что он связывался с Биллом Коксом
(Bill Cox), членом комитета по управлению проектом CipherShed ещё в июне и
спрашивал помощи, но он слишком занят. «У меня нет много времени, но я,
конечно, могу способствовать патчами и вещами вроде этого», сказал он.

Но есть и другие причины, почему Идрасси неохотно вмешивается.

«Главная особенность, которая у меня есть и по которой мы не нашли согласия:
CipherShed думает, что это нормально продолжать использовать формат TrueCrypt
(использующий меньшее количество итераций). Но мы не рассматриваем его
достаточно безопасным — не для обеспечения высокого уровня безопасности против
людей или организаций с громадными ресурсами», сказал он.


**Эффект АНБ**

Идрасси намекнул, что нарушение совместимости с TrueCrypt является хорошей
идеей также и по другой причине. «В течение более чем 10 лет
правоохранительные органы развивали инфраструктуру и инструменты для судебной
экспертизы томов TrueCrypt», сказал он.

Изменение формата и добавление сложности, следовательно, это не то, что
приветствуют специальные органы, которые, мы предполагаем, делают проблемной
внедрение этого и участие в развитии VeraCrypt для любых базирующихся в США
разработчиков. «Если вы принимаете участие в проекте вроде этого, тогда вы
будете «на карандаше» Соединённых Штатов. Мы базируемся во Франции,
следовательно, для нас это не проблема», сказал он.

Как результат, у VeraCrypt есть немного доноров, кроме самого Идрасси. «Это не
игра», сказал он. «Это очень серьёзно и мы делаем это как профессионалы. Мы
очень прозрачны: проект публичный, власти Франции уведомлены о нём. Но
поэтому-то и не много людей участвуют».


**Без конспирологии TrueCrypt**

В том, что TrueCrypt была покинута её разработчиками, Идраси не видит причин
для беспокойства. «Я уверен, что люди вовлечённые в TrueCrypt не были
анонимными и специальные органы знали, кто они», сказал он. «Но когда вы
смотрите в этот код, появляется мысль, что этим людям было 40 лет в 1995.
Следовательно, сейчас им по 60, и они возможно устали или ушли на пенсию.

«Когда они остановили проект они знали, это вызовет новые инициативы. Я
безусловно не верю, что в этом есть что-то подозрительное», сказал Идрасси.


**Что такое VeraCrypt**

VeraCrypt — это программа для шифрования данных. Ключевыми особенностями
шифрования являются надёжность — в программе нет «закладок» — и используемые
асимметричные алгоритмы шифрования; они делают невозможными расшифровку данных
кем бы то ни было кроме собственника.

У этой программы есть своя история, свои особенности, свои цели. Я не буду
останавливаться на этом в данном мануале.


**Что такое контейнер**

Тем не менее, необходима совсем краткое теоретическое отступление. На
протяжении всей инструкции я буду использовать слово «**контейнер** ».
Применительно к VeraCrypt, контейнер — это оболочка, в которой в зашифрованном
виде хранятся все файлы. Физически контенер — это единичный файл. Получить
доступ к файлам, которые лежат внутри контейнера-оболочки можно только одним
способом — введя правильный пароль. Процедура ввода пароля и подключения
контейнера называется «**монтированием** ».

Файлы в VeraCrypt шифруются не по одному, а контейнерами. Возможно, для вас
это ново, но это действительно очень удобно. Когда программа подключает
контейнер (монтирует его), то контейнер выглядит как флешка — появляется новый
диск. И с этим диском можно делать любые операции — копировать туда файлы,
открывать файлы, удалять файлы, редактировать файлы. При этом не нужно думать
о шифровании — всё, что внутри контейнера, уже надёжно зашифровано и
сохраняется/шифруется в реальном времени. И как только вы отключите контейнер,
то вход в него надёжно закроется.


**Установка VeraCrypt**

Установка на Windows очень проста — точно так же, как и для любой другой
программы. Поэтому я совсем не буду останавливаться на этом процессе, только
дам [ссылку на скачивание](https://sourceforge.net/projects/veracrypt/).


**Шифрование данных в VeraCrypt**
Запустите программу. В первую очередь, поменяйте язык программы на русский.
Для этого щёлкните на меню ‘Settings’ там выберите ‘Language…’ и далее
выберите «Русский».

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FDjV5G6N.png&hash=4d4c1f9511427315c19b3570cc35f16c)

Теперь нажмите «Создать том» (том — это то же самое что и контейнер).

В открывшемся окне выбрана опция «Создать зашифрованный файловый контейнер» –
именно это нам и нужно. Можно просто нажать далее.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FJGzdhbE.png&hash=cc4ca29a969ff65cf92006fe6a2c82e4)

А для любопытных небольшое разъяснение. Опция «Зашифровать несистемный раздел
/ диск». Это на тот случай, если вы хотите полностью зашифровать жёсткий диск
или флешку.

Опция «Зашифровать раздел или весь диск с системой» означает то же самое, что
и вторая опция, т. е. шифрование диска целиком, но для того случая, когда вы
хотите зашифровать диск, на котором установлен Windows. Это, кстати говоря,
интересный вариант. Даже если кто-либо получит доступ к вашему компьютеру, он
не сможет воспользоваться никакими данными — даже не сможет его включить. Это
значительно отличается от пароля БИОС или от пароля Windows. Поскольку оба
этих пароля можно с лёгкостью сбросить. Или ещё проще — ничего не сбрасывать,
просто вынуть жёсткий диск и скопировать с него данные на другой компьютер, и
уже в спокойной обстановке поизучать: вытянуть все пароли от всех веб-сайтов,
FTP, просмотреть все данные и т. д. Это хороший вариант, но пока на нём
останавливаться не буду — пока мы просто научимся шифровать отдельные файлы.

Ко второму и третьему варианту ещё предлагаются такие опции, как,
соответственно, **создать скрытый том и создать скрытую ОС**. Это очень хитрый
и очень мудрый подход. Смысл его заключается в том, что создаётся два
контейнера (хотя файл по прежнему будет один). Эти контейнеры открываются в
зависимости от введённого пароля. Например, вас силой принуждают выдать
пароль, тогда вы действительно сообщаете пароль, но пароль от контейнера, в
котором лежит не очень важная информация. Все довольны: вы остались целы,
недруги получили пароль и смогли открыть контейнер и даже нашли там какие-то
файлы, которые вы предварительно туда поместили.

Точно также со скрытой операционной системой: одна настоящая, в которой и
содержаться важные сведения, а вторая — та, которая установлена просто для
прикрытия. Загрузка будет происходить в первую или во вторую — в зависимости
от введённого пароля.

Эти опции интересные, но, напомню, мы просто учимся шифровать файлы. Поэтому
нажимаем далее, ничего не меняя.

На следующем экране нам предлагают выбрать, создавать ли скрытый том. Эта
опция на ваше усмотрение, мне достаточного обычного тома.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2F3JUJlHV.png&hash=8750f51f5bfc1198f929ab94b5bcc3bb)

Теперь выберите, где будет расположен том и какое у него будет название.
Название и расширение файла может быть любое — всё на ваше усмотрение. Можете
даже выбрать расширение которое используется другими программами, например
.mp4, .mkv, mp3 и т. д., можете вообще оставить файл без расширения.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FlYvL8uO.png&hash=1258f76bf0265eceea4c635fc9494d9c)

Важно понимать, что если вы выберите существующий файл, то это не значит, что
вы его сейчас зашифруете. Это значит, что файл будет удалён, а на его место
записан контейнер VeraCrypt. Чтобы зашифровать файлы, мы их чуть позже
разместим в созданный контейнер.

Алгоритмы шифрования и алгоритмы хеширования. По умолчанию уже сделан хороший
выбор. Вы можете выбрать другой алгоритм, или выбрать сразу несколько
алгоритмов, которые последовательно будут шифровать одни и те же данные — всё
на ваше усмотрение.

Далее выбираем размер — всё очень просто, чем больше размер, тем больше
сможете записывать в зашифрованный контейнер. Следовательно, чем больше
выбранный размер, тем больше зашифрованный контейнер будет занимать место на
реальном жёстком диске.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FxiuuMmW.png&hash=82bd34b478f6beaceb240a78088dab9a)

Пожалуй, самый ответственный этап — придумывание пароля. Если пароль простой
или короткий, представляет собой осмысленное слово, то его довольно быстро
смогут подобрать — и ваши данные без вашего желания попадут в руки тех, для
кого они не предназначались. В то же самое время, если вы придумаете очень
сложный и очень длинный пароль, а потом его забудете — то данные станут
безвозвратно утерянными. Даже не знаю, что хуже. В общем пароль должен быть
сложным, но вы ни в коем случае не должны его забыть — иначе это будет
равносильно удалению зашифрованного контейнера.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FOMycCDF.png&hash=000c0da92e28f69533a7077a3a655aed)

В следующем окне нам предлагают поиграть в занимательную игру — хаотически
перемещать указатель мыши. Когда вам это надоест, посмотрите на дополнительные
настройки. Можно выбрать файловую систему, можно поменять кластер, можно
сделать том динамическим. Динамический — этот тот, который будет растягиваться
по мере добавления новых данных. Динамический том сэкономит вам место, по
крайней мере пока данных внутри контейнера мало. Но при этом динамический том
не рекомендуется по целому ряду причин: понижается криптостойкость, появляется
возможность повреждения тома и т. д. В общем, это не рекомендуется.

Нажимаем «Разметить».

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2F2n1erpE.png&hash=c94dbb995cd1c5f2bbd54933d7dc11c4)

После окончания форматирования, в следующем окне нас сообщат, что том успешно
создан — нажимаем Выход.


**Как пользоваться VeraCrypt**

Опять, запустите программу VeraCrypt

Выберите любую незанятую букву, нажмите кнопку Файл, найдите ваш контейнер,
который мы только что создали и нажмите Смонтировать.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FNhEvRnS.png&hash=b7a0c20070c90ec4a9e38f2c13f6679f)

Теперь нам нужно ввести пароль и нажать ОК.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FcUhnUum.png&hash=48c90234898f4f3b0e5b983c3f7f1b47)

Появится окошечко, которое предупреждает, что этот процесс (монтирования)
может занять долгое время и может показаться, что программа не отвечает. На
самом деле, процесс не такой уж и долгий — лично я не успел даже сделать
скриншот.

Вот так выглядит окно программы после монтирования.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FF45l9Iv.png&hash=2bd5d6d51e884828b1e2c7a733b253d3)

Откройте любой файловый менеджер и посмотрите — у вас появился новый диск. Он
выглядит как флешка.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FQBm1B8h.png&hash=35982d3310c6abfaee05c8b8be77f818)

Вот и всё: просто копируйте на этот контейнер свои ценные данные. Вы можете их
открывать прямо в контейнере, изменять, удалять, добавлять новые и т. д. – всё
как на обычном диске или флешке.

Когда завершите работу с VeraCrypt, нажмите кнопку Размонтировать. Вы закроете
доступ во внутрь вашего контейнера и уже никто не сможет получить ваши файлы.
Когда они вам вновь понадобятся — смонтируйте том точно также, как это было
показано чуть выше.


**Настройка VeraCrypt**

Самых разных настроек VeraCrypt очень много. Но я расскажу всего лишь о двух
(я другими не пользуюсь — и они не такие уж сложные для понимания) — с
остальными вы можете ознакомиться самостоятельно или я чуть позже напишу более
подробную инструкцию с продвинутыми и необычными трюками по использованию
VeraCrypt.

В верхнем меню выберите «**Настройки** », а затем «**Параметры** ». Поставьте
галочку напротив «**Автоматически размонтировать тома при неактивности в
течение** » и выберите желаемое количество минут. Я, например, задал 30 минут.
Т.е. если вы отлучились по делам от компьютера, но забыли размонтировать
зашифрованные тома, то по истечении определённого срока, программа это сделает
за вас. Чтобы никто случайно не получил к ним доступ.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FjoUwpQF.png&hash=376eb8578743bc73337d3e00a09e7238)

Теперь переходим в «**Настройка** », далее «**Горячие клавиши** ». Теперь
выберите «**Размонтировать всё** » и придумайте для этого действия сочетание
клавиш. Т.е. если кто-то ворвётся в офис, то вы одним сочетанием клавиш
размонтируете все контейнеры, т. е. закроете к ним доступ. Это может
пригодиться чаще, чем вы думаете.

![](/proxy.php?image=https%3A%2F%2Fi.imgur.com%2FRQupbOn.png&hash=f3f3c71ae6ea80666267e1aa4b4ea7c8)


**Заключение**

Теперь вы можете шифровать файлы так, что никто не способен их расшифровать.
Даже современным суперкомпьютерам понадобиться очень много времени, чтобы
подобрать пароль. VeraCrypt — бесплатная программа, которая занимает совсем
немного места на жёстком диске. Пусть вас не обманывает эта кажущаяся
простота. В ваших руках инструмент колоссальной силы — если что-то зашифровано
этой программой, то нет никакой возможности это расшифровать, если отсутствует
пароль.


Автор: WebWare Team

cmd5.ru

Author: Ar3s • 2010-09-07T20:32:20+0000 • Replies: 4 • Views: 7K
![](/proxy.php?image=http%3A%2F%2Fimg816.imageshack.us%2Fimg816%2F1769%2Flogojrw.png&hash=fa785cfd19e1fc951d48b17172ae563c)​

Здравствуйте уважаемые мемберы xss.is/!
Вновь я взялся за перо написания. Вынул его из далекого ящика, стряхнул "пыль
веков", макнул в чернильницу и началось.

**\---===Описательная часть===---**

Собственно, вопрос повестки дня - рассмотрение нового на нашем форуме сервиса
<http://www.cmd5.ru/>

Итак приступим.
Заходим на <http://www.cmd5.ru>, оцениваем. Интерфейс не фонтан, но нам с вами
рюшечки и не нужны.
В первую очередь я по старой привычке лезу в раздел Тарифы
<http://www.cmd5.ru/password.aspx>
Что мы с вами видим - видим два варианта развития событий.
1\. Online Service - чек по существующим базам паролей.
Поддерживаются следующие виды хэш кодов: md5, md5(md5($pass)), sha1, md4,
mysql, mysql5, qq hash, serv-u,
md5($pass.$salt), md5($salt.$pass), md5(md5($pass).$salt),
md5(md5($salt).$pass), md5($salt.$pass.$salt),
md5($salt.md5($pass)), md5(md5($pass).md5($salt)), md5(md5($salt).md5($pass)),
sha1($username.$pass)

2\. Background Service - брут заданного вами хэша на заявленном кластере.
Громко сказано насчет кластера. Мы позже попробуем уточнить так ли это?
Поддерживаются различные варианты md5 mysql sha1.
[Рис.3](http://img248.imageshack.us/img248/4817/89566165.png)

Смотрим цены:
Online Service для некоторых видов хэшей бесплатен. Оплата не взимается для
следующих комбинаций:

1\. Длина 1-5 бит. Символы: [0-9a-zA-Z]
2\. Длина 6 бит. Символы: [a-z]
3\. Длина 7 бит. Символы: [0-9]
4\. Длина 8 бит. Символы: [0-9]

Это конечно же приятно. Но всего 5 символов на пароли в базах
![:\(](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
Жаль.
Далее:
Online Service
4 hash 1000 hash 50000 hash 1000000 hash
4$ 20$ 200$ 1000$

Background Service
2 hash 50 hash 1000 hash
2$ 20$ 100$

Ну, тут все ясно. Цены вполне приятные. Самый хилый расклад - 1 пасс = 1$ для
любого типа услуг, но с поправкой на то, что при использовании брута нет
гарантий на успех.
Разница в скидках тоже ясна и политика сервиса тоже. Чек по базе - это одно, а
нагрузка на серваки для брута - это совсем другое. Вообщем вполне приемлемо.
т.к. при бруте локальной машиной больше бабла заплатишь за электричество. Да и
комп постоянно занят будет.

Но политика сервиса неоднозначна в плане платежей. Ну, нужно мне, допустим, 5
паролей подобрать (допустим все с первого раза), получается я должен за них
20$ заплатить? При таком раскладе цена пароля не один бакс, а четыре!!!
Неправильно на мой взгляд. "Скок хочу - сток ложу" \- это правильнее было бы,
на мой взгляд + система бонусов.

Далее мы регистрируемся. Регистрация занимает ровно 20 секунд. Никаких
подтверждений и сложных паролей. Я зарегился с пассом 123123.
Ну да и пофиг. Я же надеюсь, что никто не будет брутить мой акк? Ну или будут?
Вот интересный вопрос, а как скрипт авторизации относится к бруту?

Лезу проверять все что заявлено и тут же нахожу парадокс:
на главной странице можно чекать хэши поштучно, и есть групповой чек.
А типы хэшей разнятся.
[Рис.1](http://img821.imageshack.us/img821/8375/69137377.png) и
[Рис.2](http://img204.imageshack.us/img204/3634/32011262.png)
Ну почему руками я могу пробить хэш практически любого формата, а копипастом
листа нет?

Ладно, на все эти мелочи можно закрыть глаза, если сервис покажет себя с
лучшей стороны в работе.
Приступим ка мы лучше к тестам.


**\---===Тесты===---**
Для анализа мы возьмем пароли различного уровня сложности и разных форматов:
root - самый простой (4 символа в нижнем регистре)
12227000 - цифровой (8 цифр)
t00r mega - смешанный букво-циферный + пробел, 9 символов. (1 пробел, 2 цифры,
6 символов нижнего регистра)
AdM1ncH3gg1247 - смешанный букво-циферный 14 символов в разном регистре (5
цифр, 3 буквы в верхнем регистре, 5 букв в нижнем регистре)
$aL0 BbIl0 TUT* - смешанный букво-циферный, со спецсимволами. 15 символов (2
спецсимвола, 2 пробела, 2 цифры, 2 символа в нижнем регистре, 6 символов в
верхнем регистре)
адидас - простой пароль, но на русском языке.

Итак конвертить будем при помощи passwords pro. Тестить будем на md5, double
md5, sha1, mysql5 массовым чеком.

md5
63a9f0ea7bb98050796b649e85481845 - найден
bfac3193e9e16cbe8605350433999c1a - найден
6cf1cc8d94add3f076f069643b48dc73 - не найден
882ee12fe082589a9441ffef69fa34db - не найден
dba976f5c4c5bd66fca0b8e5531c086a - не найден
df64dc2eb4a0b85091dd31eb4923eaac - найден*
[Рис.4](http://img525.imageshack.us/img525/3161/42374249.png)

* Пароль на кириллице был найден, но вместо ответа были выданы вопросики. Решил протестить через главную страницу. Ввел пароль, мне сказали что пароль в базе найден и предложили купить его. Нажал кнопку купить и вновь увидел вопросики... Это что за приколы?

double md5
b9be11166d72e9e3ae7fd407165e4bd2 - найден*
1f3b36e025b5c356463f586def7ed403 - не найден
606bc8d3451b40a4d6c5adcbccf1119e - не найден
ba3d71b14d4d63ab745721f3c1a97247 - не найден
781dbd0e6f8bbc0d8e68c4d316012a84 - не найден
0a24a3c37af9b1abe5b157d7082c0af0 - не найден
[Рис.5](http://img409.imageshack.us/img409/6991/23327320.png)

* вместо пароля мне показало его хэш первого уровня... Взял хэш, перекинул его в первое поле и изменил условие поиска, только после этого получил результат... [Рис.6](http://img251.imageshack.us/img251/5128/89536148.png)

sha1
dc76e9f0c0006e8f919e0c515c66dbba3982f785 - не найден
28a7df57d0cd745decfefe396b8884256ecc03a6 - не найден
5c35190c23dc2fafac8a9d551e45c95b4e881361 - не найден
aece4055e2ac9a9a61b52c0f2f8009eb1794667b - не найден
7cb891cc0ad556a88685970290d4e475a1bf885b - не найден
00026b85ea15a4c308623a853ece6a5211a2f731 - не найден
[Рис.7](http://img26.imageshack.us/img26/7356/99334443.png)

mysql5
81f5e21e35407d884a6cd4a731aebfb6af209e1b - найден
fac48d7e572c78d4aaf44711832af1b482e67968 - найден
a1b5dfe04a6fc76d669ff63bfc5cfcc6932fad5b - не найден
25e5903bd16fd4db6ff69fe939276440dbe5b0e8 - не найден
d135a257f91faad97092bd94b255f3d0abc07f81 - не найден
ce6b71f2c47b3051c478398503905cb6be7da47e - найден
[Рис.8](http://img521.imageshack.us/img521/6264/54478624.png)

Походу теста возник вопрос, если я брутил пароль, и сбрутил его, в их базы
добавляются все возможные хэши пароля или только искомый? Спросим позднее об
этом представителя сервиса...

Ладно. Осталась надежда на "кластер". Попробуем сбрутить.
Берем не найденные пароли из каждого захода:
md5 - принято к бруту 3 пароля.
[Рис.9](http://img832.imageshack.us/img832/8916/71550095.png)
double md5 - к бруту принято лишь три пароля.
[Рис.10](http://img237.imageshack.us/img237/5604/101rx.png) Предложили два
проверить на главной. И о чудо!!! С главной я получил результат за $. Почему
тогда при массовом чеке результата не было???
sha1 - -//- [Рис.11](http://img835.imageshack.us/img835/1605/111it.png)
mysql5 - -//- [Рис.12](http://img411.imageshack.us/img411/6461/121t.png)

Я тут в одном тесте промазал и вместо mysql оставил sha1. Сервис не говоря ни
слова принял их к бруту и скушал деньги с баланса. И тут я начал считать длину
хэшей. В обоих случаях по 40 символов. Но в описании есть строки о том, что
SHA1 пишется только в нижнем регистре, а mysql5 только в верхнем. Поиск по
хэш-генераторам в сети четкого ответа не принес т.к. при генерации оба хэша
показывались в нижнем регистре. И как различить два вида хэша я в данном
случае не знаю.
Ждем итогов брута...

Результаты плачевны. Пароли не подобрало.
[Рис.13](http://img710.imageshack.us/img710/1520/131ch.png)

И тут вылез еще один косяк. Мой любимый passwords pro оказался муда**м. Он
оказывается с великим и могучим не дружит ни разу.
Слово адидас по онлайн сервисам <http://xss.is/index.php?act=toolz> и
<http://fredomkb.free.fr/testdirlist/text2md5.php> имеет совершенно другой
хэш.
69a11ac70caf7427c78ec34d21c5d313. А хэш использованный ранее реально
принадлежит "?????" (пяти вопросам подряд), таким образом придется начинать
этот тест сначала.
Пришлось перечекать это слово заново. Итог изменился не в лучшую сторону.
Такого слова в базах нет.
[Рис.14](http://img248.imageshack.us/img248/9374/141ix.png)
Поставил на брут новый хэш. А вдруг сбрутит...

Результаты брута ничего не изменили. Искомые пароли не найдены. Ни в
латинских, ни в кириллической раскладке.
[Рис.13](http://img710.imageshack.us/img710/1520/131ch.png)

**\---===Тест2===---**
Ну бог с ним. Допустим во мне где-то живет злой админ и генерит страшные и
сложные пароли. Лезем в сеть и находит самые часто используемые пароли:
letmein - top100
ncc1701 - top200
jasper - top300
redskins - top400
mistress - top500
(по статистике сайта <http://qtxt.ru/500passwords)>


md5 - Найдены все. [Рис.15](http://img153.imageshack.us/img153/4565/151yo.png)
double md5 - 1 и 3 пароли типа были в базе, но вместо пароля мне показало хэш
первого уровня.
sha1 - совпадений при групповом чеке найдено не было.
mysql5 - совпадений при групповом чеке найдено не было.

Проверяем с учетом найденной баги через главную эти же пароли:
letmein - md5 - найдено
ncc1701 - sha1 - найдено
jasper - MySQL5 - найдено
redskins - double md5 - найдено
mistress - md4 - не найдено. Отправляем на перебор - успешно!
[Рис.16](http://img843.imageshack.us/img843/8995/161w.png)


**\---===Тест3===---**
Я достаточно требователен был к этому сервису. Мне все хотелось магического
исполнения моих желаний и никоим образом не облома.
Перечитав более внимательно параметры брута я сократил сгенеренные мной пароли
до 8 циферно-буквенных, но они не массовые, я их сгенерил слепым двухпальцевым
методом.
![:\)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
А то из всех возможностей системы я использовал только эту:
"1-15 бит другие данные Частично включено >28000 миллиардов и 1-20 бит
Уникальный словарь 900G > 910 миллиардов"

Покурил условия еще раз. Поматерился. Потребовал у представителя выделить их
красным и жирным...
Для 32-бит MD5 перебор осуществляется по комбинациям случайных символов длиной
1-7 бит, символов нижнего и верхнего регистра из 1-8 бит, символов нижнего
регистра и цифр из 1-9 бит, а также комбинаций цифр длиной 12 бит.
Для всех остальных типов хэшей перебор осуществляется по комбинациям символов
нижнего регистра и цифр длиной 1-9 бит с использованием уникального словаря
объемом 200Gb.
т.к. я юзал double md5 и SHA1 - пришлось еще и верхний регистр убрать.


Проверяем повторно брутилку.
ставим 2 пароля в md5, два в double md5 и два в sha1.

md5
h8g6fg0h7 - 2db4e3a3bdf3b3b7e81fe5df04034941 - подобрало
Wq64aU08 - fefd5b8c678ac57558635087c50ef1f0 - подобрало
247500854976 - 2bbe31ca8697161ca2eab34a9d6ee9c8 - подобрало (я ради
эксперимента поставил этот же пасс брутиться на своей локальной машине.
Использовал passwords pro. Заведомо зная что там только цифры - поставил в
условиях брутить только цифры. Длина пароля 1 -12 бит. В иттоге на рабочем
семпроне-8450 время брута чуть больше двух суток показало. Сервис же справился
минут за 5. Очень даже неплохо.)

SHA1
4i50sq06h (генерированный) - dd79d461fecc01d363964fee3100dbcf85cec18f - не
подобрало
lalarab6 (человекоподобный) - 47e69b5552142bd7bebe6446c4b1da19cac9f087 - не
подобрало

MySQL5
mn8s7258 (генерированный) - a24987b7e87de0e3ff77e959619a2dabd1f9343a - не
подобрало
jafopox1 (человекоподобный) - 88cb5e70e92b3c1aed988647c0fe63de7048d57f - не
подобрало

**\---===Часть моей переписки с автором:===----**
**Вопрос:** Сколько вы уже "на рынке"?
**Ответ:** На Российском нисколько. На Европейском и Китайском с 2006.

**Вопрос:** Сколько человек трудится над проектом?
**Ответ:** Над проектом работает 4 человека.

**Вопрос:** Вы писали про кластер. Что имеется ввиду? Несколько компов у вас
дома, несколько серверов в одном дата-центре или несколько серверов по всему
миру разбросанных? Раскройте секрет ПО используемого на ваших серверах, это
самописный софт или хитрым образом объединенные наработки opensource? Брутится
за счет CPU/GPU?
**Ответ:** Проект русско-немецко-китайский. Вычислительный центр расположен в
Китае. Кластер построен на 10 серверах с использованием open-source технологий
apache hadoop. Расположен в одном ДЦ. В Online service ключевую роль играет
HBase, позволяющая быстро работать с такими объемами данных. В Background
service используется самописное ПО использующее возможности GPU.

**Вопрос:** Почему в групповой отбаботке типов хэшей меньше чем в одиночной?
**Ответ:** В групповую обработку были добавлены часто используемые типы хэшей.
Но в вашем вопросе вижу смысл, можно и добавить. Правда мне кажется мало кто
группой обрабатывает md5(md5($salt).md5($pass)).

**Вопрос:** Почему политика именно на определенное количество проверок и
оплат? Если мне хочется закинуть 27$ - я не могу этого ессно сделать.
**Ответ:** Чисто маркетинговый ход.

**Вопрос:** Как только сбрутили пасс, его хэши сразу попадают в вашу базу? Во
всех различных вариантах или только в том, в котором был сбручен?
**Ответ:** Да сразу.
**Вопрос:** Меня больше интересует вторая часть вопроса. Все возможные хэши
попадают в ваши базы или только тот, который брутился.
**Ответ:** Нет. В данный момент только одного типа, который искали.

**Вопрос:** Используются ли кирилические символы при бруте?
**Ответ:** Нет. Мы не поддерживаем кириллицу ввиду различных видов кодировок.
Также как и все крупные проекты, использующие хэширование.

**Вопрос:** Зачем было писать отдельный софт под net framework? Это можно было
на php все оформить.
**Ответ:** Ну если я правильно вас понял, то на серверной стороне групповой
взлом хэшей и так реальзован в виде групповой обработки. А framework сделан
для того, чтобы предоставить пользователю, при необходимости, возможность
удаленной работы. Я согласен с тем что софт вызывает подозрение, но система
без него самодостаточна и не обязывает им пользоваться. Я считаю что со
временем постоянным пользователям будет удобно им пользоваться.

**\---===Вместо эпилога===---**
Сервис очень хорош в поиске md5. База довольно обширна, 200GB лист - это
впечатляет. Цены приятные. Брут очень шустрый и подбирает правильно.

Что же касается НЕ md5 - тут все несколько хуже. Брут крайне ограничен длиной
и сложностью пароля. Базы не особо помогают в этом деле.

Что касается ошибок в работе интерфейса - о них было сообщено представителю
сервиса. В настоящее время все они были оперативно исправлены и сервис
работает как нужно. Что можно посчитать плюсом в отношении оперативности
персонала.

p.s. А вообще - остался в принципе доволен работой сервиса. Основную функцию
он тянет на ура. А вот уже всякие мои закидоны не удастся уместить ни в одной
базе данных. Пользователям сервиса и читателям этой статьи хочу напомнить, что
брут вашего замысловатого пароля штатным компом затянется очень надолго, а
зайдя на сервис вы можете бесплатно узнать есть ли такой пароль в их базе и
только после этого оплатить покупку. Разве не удобно? (А сам сижу и вспоминаю
как ночами брутил пароли, а комп мешал спать... Киловатты потраченного
электричества...)
Хочется так же отметить высокую реакцию саппорта и хорошее самообладание. Я в
процессе тестов часто провоцировал нестандартные ситуации. Результат реакции
всегда был доброжелательным и подробным.

Алгоритм хэширования MD5

Author: SelF • 2006-04-03T21:04:19+0000 • Replies: 4 • Views: 7K
Предлагаю на суд общественности мою статью об алгоритме MD5, напечатанную в
xakepy.ru ez!n3 #1:

**

Алгоритм хэширования MD5 ​

**
**Введение**

Функция хэширования H представляет собой отображение, на вход которого
подаётся сообщение M произвольной длины, а на выходе получается значение h
конечной длины, где h = H(M).
В общем случае хэш-значение h гораздо меньше исходного сообщения M. Так для
MD5 h=128 бит. Хэш-функция должна обладать следующими свойствами:
1По достаточно большому сообщению M хэш-функция должна быстро вычислить h
значение, которое должно зависеть от каждого бита сообщения M
2Необратимость: по h значению невозможно восстановить исходный текст M
3Вычислительно очень трудно (почти невозможно) найти два сообщения M и M1,
которые дают два одинаковых h-значения
Хэш-значение является контрольной суммой исходного сообщения M и называется
MDC (Manipulation Detection Code - код обнаружения изменений) или MIC (Message
Integrity Check - проверка целостности сообщения). Если хэш-функция использует
для своей работы ключ (пароль), то получаемое значение называется MAC (Message
Authentication Code - код аутентичности сообщения)

**Описание алгоритма MD5**

Подробное официальное описание MD5 даётся в RFC 1321 (The MD5 Message-Digest
Algorithm). Ниже приводиться наиболее важные детали русского перевода:
MD5 алгоритм используется в приложениях криптографии и электронно-цифровых
подписей для генерации ключа шифрования. Алгоритм разработан, что бы быть
достаточно быстрым на 32-битных системах и не требовать больших объемов
памяти. MD5 является чуть более медленным, чем MD4, но является более
устойчивым к криптографическим атакам. Далее под "словом" будет
подразумеваться количество информации в 32 бита, а под "байтом" \- 8 бит.
Последовательность бит интерпретируется в естественной форме - как
последовательность байт, где каждая группа из 8 бит является отдельным байтом,
причём старший бит байта идет первым. Аналогично представляется
последовательность байт, как последовательность слов, только младший байт идет
первым. Предполагается, что в качестве входного потока имеется поток данных N
бит. N - неотрицательное целое (возможно 0), не обязательно кратное 8. Для
вычисления MD5 хэш-функции необходимо выполнить следующие 5 шагов.

Шаг 1: выравнивание потока.
Входной поток выравнивается так, что бы его длина стала конгруэнтной
(сравнимой) с 448 по модулю 512. Выравнивание происходит следующим образом: к
потоку добавляется один бит '1', а затем биты '0' до тех пор, пока длина
потока не будет сравнима с 448 по модулю 512. Выравнивание происходит всегда,
даже если длина потока была уже сравнима с 448 по модулю 512. Таким образом к
потоку добавляется минимум 1 бит, максимум - 512.

Шаг 2: добавление длины.
64 битное представление длины входного потока (длины потока до выравниваия)
добавляется к результату предидущего шага. Если длина потока превосходит 2^64,
то добавляются младшие 64 бит. Эти биты добавляются как 2 32-битных слова,
младшее слово добавляется первым. Таким образом на этом шаге длина потока
становится кратной 512 битам или 16 32-битным словам. Далее будем
рассматривать входной поток как массив M[0 ... N-1] слов длиной N.

Шаг 3: инициализация MD буфера.
Буфер из 4 слов {A, B, C, D} используется для вычисления хэш функции, который
инициализируется в следующие значения:

A = 0x67452301
B = 0xEFCDAB89
C = 0x98BADCFE
D = 0x10325476


Шаг 4: обработка потока блоками по 16 слов.
Определим четыре вспомогательные функции, каждая из которых принимает три
параметра размеров в слово и производит результат - слово.

F(x, y, z) = (x & y) | (~x & z)
G(x, y, z) = (x & z) | (y & ~z)
H(x, y, z) = x ^ y ^ z
I(x, y, z) = y ^ (x | ~z)

Напомним, что & \- побитовое И, | - побитовое ИЛИ, ^ - побитовое исключающее ИЛИ, ~ - побитовое отрицание. Функция F для каждого бита дает следующий результат: если X, то Y, иначе Z.
На этом шаге также используется таблица T[1..64], которая построена с помощью
функции синуса:
T<i> = int(4294967296 * abs(sin(i))), где int() - целая часть. Например:
T[1] = int(4294967296 * abs(sin(i))) = int(3614090360,282...) = 3614090360.
Также следует определить операцию x <<< y, как циклический сдвиг x влево на y
бит. Теперь рассмотрим сам алгоритм вычисления MD5 хэш функции.


// обработать входной поток блоками по 16 слов

for i = 0 to N/16 - 1 do
{

// копировать блок i в X

for j = 0 to 15 do
X[j] = M[i * 16 + j]

// Сохранить значения A, B, C, D

AA = A
BB = B
CC = C
DD = D

// проход 1
// пусть [abcd k s i] обозначает операцию
// a = b + ((a + F(b, c, d) + X[k] + T<i>) <<< s)
// исполнить 16 следующих операций

[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4]
[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8]
[ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12]
[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]

// проход 2
// пусть [abcd k s i] обозначает операцию
// a = b + ((a + G(b, c, d) + X[k] + T<i>) <<< s)
// исполнить 16 следующих операций

[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20]
[ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24]
[ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28]
[ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32]

// проход 3
// пусть [abcd k s i] обозначает операцию
// a = b + ((a + H(b, c, d) + X[k] + T<i>) <<< s)
// исполнить 16 следующих операций

[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36]
[ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40]
[ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44]
[ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48]

// проход 4
// пусть [abcd k s i] обозначает операцию
// a = b + ((a + I(b, c, d) + X[k] + T<i>) <<< s)
// исполнить 16 следующих операций

[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52]
[ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56]
[ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60]
[ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]

A += AA
B += BB
C += CC
D += DD
}


Шаг 5: вывод MD5.
Результат вычисления (хэш) представлен четырьмя 32 битными словами -A, B, C, D
(младшим записывается A, старшим - D). 128-битный MD5 хэш готов!
Примеры:
"a" \- cc175b9c0f1b6a831c399e269772661
"abc" \- 90150983cd24fb0d6963f7d28e17f72
"123456789012345678901234567890123456789012345678901234567890123456
78901234567890" \- 57edf4a22be3c955ac49da2e217b67a

**Разновидности MD5**

На сайте www.insidepro.com представлен генератор хэшей. Здесь же описаны
разновидности MD5:
\- MD5
\- MD5 (HMAC)
\- MD5 (Base64)
\- MD5 (Unix)
\- MD5 (APR)
Теперь коротко о каждом их них:
MD5 - собственно статья ему посвящена.

MD5 (HMAC) - открываем RFC 2104 и читаем:
HMAC - Keyed-Hashing for Message Authentication (хэширование с ключом для
аутентификации сообщения) - то есть это хеширование входного сообщения M с
некоторым ключём K, что позволяет аутентифицировать подпись.
Общая формула HMAC:
HMAC = h (K XOR opad, H(K XOR ipad, text))
Здесь:
ipad - строка-константа, представляющая собой байт 0x36, написанный 64 раза
подряд
opad - строка-константа, представляющая собой байт 0x5c, написанный 64 раза
подряд

MD5 (Base64) - хеш MD5 закодированный алгоритмом Base64

MD5 (Unix) - это цикл на тысячу вызовов стандартного MD5. В своё время авторы
Unix решили немного изменить формат записи хэша, вследствие чего в нём
появились символы "$", "." и "/"

MD5 (APR) - фактически тот же MD5 (UNIX), только с дрогой привязкой (SALT-ом)
и другим форматом - $apr.

**Программы и исходные коды для генерации MD5**


Платформа Ссылка
Apple IIgs <http://hashtool.gwlink.net/>
C
[http://src.openresources.com/debian/src/ba....0.23.2/md5sum/](http://src.openresources.com/debian/src/base/dpkg_1.4.0.23.2/dpkg-1.4.0.23.2/md5sum/)
<http://sourceforge.net/project/showfiles.php?group_id=42360>
С#/.NET
[http://msdn.microsoft.com/library/default....ryptography.asp](http://msdn.microsoft.com/library/default.asp?url=/library/en-
us/cpref/html/frlrfSystemSecurityCryptography.asp)
Delphi
[http://www.fortunecity.com/skyscraper/true...iComponents.htm](http://www.fortunecity.com/skyscraper/true/882/DelphiComponents.htm)
Java
[http://java.sun.com/j2se/1.4.2/docs/api/ja...sageDigest.html](http://java.sun.com/j2se/1.4.2/docs/api/java/security/MessageDigest.html)
<http://www.freevbcode.com/ShowCode.Asp?ID=741>
Javascript <http://pajhome.org.uk/crypt/md5/md5src.html>
<http://www.frez.co.uk/freecode.htm#md5>
Lua <http://www.inf.puc-rio.br/%7Eroberto/md5/md5-5/md5.html>
Lotus Script <http://wwwendt.de/tech/md5/index.html>
Macromedia Director <http://www.mediamacros.com/item/item-1006687189/>
masm32 <http://spiff.tripnet.se/%7Eiczelion/files/md5asm.zip>
Miva <http://mivo.truxoft.com/art0037.htm>
MySQL <http://dev.mysql.com/doc/mysql/en/encryption-functions.html>
Perl5 <http://www.perldoc.com/perl5.8.0/lib/Digest/MD5.html>
PHP <http://www.php.net/manual/en/function.md5.php>
PostgreSQL [http://www.postgresql.org/docs/current/sta...ons-
string.html](http://www.postgresql.org/docs/current/static/functions-
string.html)
Python <http://www.python.org/doc/current/lib/module-md5.html>
REBOL <http://www.rebol.com/docs/words/wchecksum.html>
REXX <http://www.srehttp.org/apps/rexx_md5/>
Scheme <http://www.scheme.dk/md5/>
TCL <http://tcllib.sourceforge.net/doc/md5.html>
Visual Basic <http://www.esquadro.com.br/md5bas.zip>


**Программы**

PasswordsPro - возможно, лучшая программа для генерации и восстановления MD5 и
других хешей. Поддерживает работу с 23 видами хэш-функций.
<http://www.insidepro.com/rus/passwordspro.shtml>

HashCalc - это приложение для Microsoft Windows 9x, NT, ME, 2000 и XP,
позволяющее генерировать 13 видов хэшей как от файла, так и от текстового
сообщения
<http://www.slavasoft.com/hashcalc/index.htm>

MD5summer - это приложение для Microsoft Windows 9x, NT, ME, 2000 и XP,
позволяющее генерировать и проверять контрольные суммы md5. Выходной файл
программы совместим с выводом Linux GNU MD5Sum, MD5summer также может читать
файлы, сгенерированные в Linux. Программа выпущена под лицензией General
Public License, доступен исходный код.
<http://ftp.citkit.ru/pub/sourceforge/m/md/md5summer/?M=D>

RapidCRC - это Windows-программа для проверки и расчета контрольных сумм CRC32
и MD5, поддерживающая файлы SFV и MD5. Имеется механизм включения суммы CRC32
в имя файла (распространено в выпусках аниме, например "MyFile
[45DEF3A0].avi"). Разработчики ставили цель создать наиболее быстрые
реализации алгоритмов контрольных сумм (на ассемблере) с открытым исходным
кодом. В пакет RapidCRC входят:
CRC32: реализация на ассемблере для i386 (побайтовый табличный поиск)
MD5: реализация OpenSSL MD5 на ассемблере для i386
MD5: точная реализация описания RFC (работает медленно, доступна для
компиляции, но не входит в релиз RapidCRC)
<http://rapidcrc.sourceforge.net/>

dupliFinder - это графическая утилита для поиска дублирующихся файлов в
директориях на компьютере путем сравнения их контрольных сумм MD5. Это
означает, что сравнивается содержимое файлов, а не имя. Когда одинаковые файлы
найдены, их можно просмотреть и удалить. Хорошо подходит для поиска одинаковых
MP3, картинок или фильмов. Программа написана на Java 1.5 и работает под
Windows и Linux.
<http://mwynwood.com/blog/?p=99>

**Взлом MD5**

На данный момент доступны три вида взлома хэшей MD5:
Метод перебора по словарю
Brute-force
RainbowCrack

Для перебора по словарю или брутфорса подойдут программы PasswordsPro
(http://ftp.citkit.ru/pub/sourceforge/m/md/md5summer/?M=D)
MD5BFCPF (http://md5bfcpf.sourceforge.net/)
Join The Ripper (http://www.openwall.com/john/)

Словари для брутфорса можно взять отсюда:
<http://www.phreak.com/html/wordlists.shtml>
<ftp://ftp.cerias.purdue.edu/pub/dict/>
<ftp://ftp.funet.fi/pub/unix/security/dictionaries/>
<ftp://ftp.ox.ac.uk/pub/wordlists/>

Относительно новый вариант взлома хэша - RainbowCrack - основан на том, что
генерируется большое количество хешей от заданного надора символа и потом
произваодится поиск заданного хэша по вычисленной базе. Как правило даже на
мощных машинах генерация хэшей занимает недели, зато последующий взлом
производится за считанные минуты. Примерами использования Rainbow-таблиц
служат следующие сайты: <http://passcrack.spb.ru>
<http://passcracking.ru>
<http://Ahazu.com>
<http://md5crack.it-helpnet.de>
<http://cmho.tk>
<http://Plain-Text.info>
<http://gdataonline.com>
<http://hashchecker.com>
<http://gdataonline.com/seekhash.php>
Однако можно и самому сгенерировать Rainbow-таблицы. Проект находиться по
адресу: <http://www.antsight.com/zsl/rainbowcrack/> Здесь же есть и подробное
описание на английском о том как всё это сделать.

**Заключение**

Что ж, алгоритм MD5 служивший верой и правдой в течении долгих лет теперь не
оправдывает себя, и любой желающий может взломать пароли длиной 8 символов и
состоящих из алфавита [A-Z], [a-z], [0-9] и спецсимволов методом Rainbow-
таблиц на проектах, ссылки на которые даны выше. При большей длине пароля
можно сгенерировать соответствующих размеров Rainbow-таблицу и пользоваться
ею. Поэтому так и хочется прокричать: ПОЛЬЗУЙТЕСЬ ДЛИННЫМИ ПАРОЛЯМИ!! И вас не
поломают. =)


Автор: SelF | 98897789

Нужна помощь в решении нестандартной задачи, оплата хорошая

Author: exk8p • 2024-09-21T00:30:41+0000 • Replies: 42 • Views: 6K
Приветствую.
Есть самодельная задача, в которой зашифрован пароль от ключа gpg. Тут можно
посмотреть обсуждение чего-то похожего по смыслу (клир):

![crypto.stackexchange.com](/proxy.php?image=https%3A%2F%2Fcdn.sstatic.net%2FSites%2Fcrypto%2FImg%2Fapple-
touch-
icon%402.png%3Fv%3Dfff48bebc5fd&hash=711aa15300bd7265edcff88c6f4fc77e&return_error=1)

### [ Encrypt password for oneself on paper
](https://crypto.stackexchange.com/questions/54318/encrypt-password-for-
oneself-on-paper)

Assume the following: You have to encrypt a file (ZIP-file) containing import
information. This file should be password-protected and you want to leave
yourself the password encrypted (on paper, m...

![crypto.stackexchange.com](/proxy.php?image=https%3A%2F%2Fcdn.sstatic.net%2FSites%2Fcrypto%2FImg%2Ffavicon.ico%3Fv%3De5444c0e7c0b&hash=a61aee81a8b71bc5c319974ee79656df&return_error=1)
crypto.stackexchange.com


Полное описание достаточно объемное, поэтому вкратце: в задаче используются
хэши, полученные в консоли linux (sha512sum|base64; вывод в консоли на 3
строки). Определено, что значение имеют определенные позиции на этих хэшах.
Часть этих позиций определена. Во вложении изображение одного из шагов для
наглядности.
Все необходимые для решения вводные есть, т.е. нет неизвестных деталей,
проблема только в определении дальнейшей логики. Логика должна быть
определяема и восстановима.

Оплата за решение 50к$, гарант. Оплата обсуждается, также можно обсудить такие
варианты как частичное решение, помощь в определении следующего шага и т.п.
Полное описание задачи пришлю в ЛС.

Ускорение криптоанализа при помощи вычислительных систем на ПЛИС

Author: gliderexpert • 2023-03-11T22:29:31+0000 • Replies: 34 • Views: 6K
Прямо сейчас ведется война в информационном пространстве, затрагивающая
каждого пользователя, участвующего в обмене данными. По одну сторону находятся
шифровальщики, эксперты по защите данных — которые работают над обеспечением
конфиденциальности - начиная с личных данных и заканчивая «закрытием»
информации, представляющей интерес в рамках национальной безопасности.

С другой стороны — хакеры, политическая оппозиция и недружественные
государства — используют все более сложные методы получения доступа к казалось
бы, хорошо защищенным данным.
Оружием в этой войне, для обеих сторон - является вычислительная мощность —
берущая начало с электромеханических компьютеров наподобие Энигмы времен
второй Мировой, проходящее через эпохи вычислений на CPU, графических
адаптерах - и заканчивающаяся решениями 21 века - аналогичными по силе атомной
бомбе — реконфигурируемыми вычислителями на микросхемах ПЛИС.

Криптография — требующая большой скорости обработки данных для создания и
взлома устойчивых математических алгоритмов — была одной из важнейших движущих
сил в развитии вычислительных машин на протяжении более 70 лет . На самом
деле, технология — применяющаяся в современных компьютерах — основана на
исследованиях, проведенными пионерами в вычислительном криптоанализе, такими
как Алан Тьюринг, Клод Шеннон, и их коллегами — во время Второй мировой войны.
В современную эпоху проводной и беспроводной связи, криптографические
исследования вновь приводят к ускорению прогресса в вычислительной технике.
Чем больше передается через средства коммуникаций «чувствительных» данных —
тем больше интерес к ней по обе стороны баррикад — хакеры стремятся
расшифровывать информацию быстрее, а специалисты по информационной
безопасности — применяют все более ухищренные алгоритмы шифрования. Как
результат — и тем, и другим — требуются мощные вычислители для решения их
задач.

Сегодня я расскажу, как криптографические вычисления могут быть ускорены при
помощи кластеров, собираемых из широко доступных программируемых логических
микросхем — сокращенно ПЛИС или FPGA по англ.
Алгоритмы, которые используются для взлома большинства механизмой защиты
данных — требуют больших вычислительных мощностей и длительного времени,
посколько фактически решают задачу перебором пароля методом «грубой силы». И,
если короткий пароль — можно взломать за несколько минут на обычном
персональном компьютере, то перебор длинного пароля, может занять десятки и
даже сотни лет итеративных вычислений.
В последние годы получило широкое развитие использование видеокарт в качестве
ускорителей для криптоанализа. Эти устройства, благодаря своим структурам —
могут обеспечить параллельный запуск множества n расчетных модулей, что
ускоряет взлом пароля так же в n раз.
Благодаря наличию таких средств разработки как OpenCL и CUDA — использование
мощности графического адаптера для вычислений, доступно любому программисту.

Но — видеокарты изначально разработаны для обработки графики, поэтому довольно
плохо оптимизированы для параллельных вычислений, таких как перебор хешей.
В частности, многие алгоритмы потокового (побитового) шифрования — DES, SAFER
(используется в bluetooth), семейство A5 — A5/1, A5/3 (шифрование мобильной
телефонии) и другие - не поддаются эффективной реализации ни на CPU, ни на
GPU.
Второй существенный недостаток GPU — высокое энергопотребление. Графические
процессоры обеспечивают существенное ускорение вычислений, но обратная сторона
— киловатты потребляемой мощности.

Вычислительные кластеры на ПЛИС — альтернативное решение, лишенное этих
недостатков.

ПЛИС — это программируемая микросхема для создания цифровых логических схем.
При этом логическая структура не заложена на заводе, как в cpu или gpu — а
задается программистом в специальных средствах проектирования, таких как ISE
или Vivado.

Одна микросхема может вмещать в себя десятки программных модулей, работающих
параллельно над взломом одного и того же пароля. Несколько таких микросхем
можно установить на печатную плату. Печатные платы — объединить к серверные
корпуса, а корпуса — в стойки (и целые машинные залы).
Таким образом мы получаем так называемый **реконфигурируемую вычислительную
систему (РВС)** — суперкомпьютер, решающий только одну узкоспециализированную
задачу (например подбор хеша) — но в миллионы параллельных потоков на высокой
скорости.
При необходимости — РВС можно реконфигурировать для решения другой задачи
(например перенастроить с алгоритма DES на A5), но это занимает довольно
длительное время — секунды, т. к. фактически требуется одновременная
«перепрошивка» сотен микросхем в составе компьютера.

Одна из первых таких систем называется COPACOBANA. На фотографиях представлены
отдельные вычислительные модули, собираемые при помощи некой «материнской
платы» в законченный unit-корпус.
![cobana1.jpg](https://xss.is/attachments/52985/)![photo_b4.jpg](https://xss.is/attachments/52984/)![photo_2.jpg](https://xss.is/attachments/52986/)

Это устройство довольно старое, собрано на медленных компонентах (fpga xilinx
spartan3) и представляет разве что историческую ценность.
Более новый вычислитель собран уже на Virtex 4.

![photo_v1.jpg](https://xss.is/attachments/52987/)

Существуют и "гибридные" варианты - например, вычислитель, состоящий из плат
Pico SC3 (77 штук микросхем Xilinx Virtex-5 ), SC4 (176шт spartan3), SC5 (72шт
Spartan6). Эти платы умещаются в стандартном серверном корпусе размерностью 4U
и суммарно потребляют всего 1.4кВт электрической мощности (не сильно больше
чем обычный компьютер с быстрым GPU ускорителем типа Теслы).

![cluster1.jpg](https://xss.is/attachments/52988/)

Используя такое оборудование, были проведены сравнения скорости взлома
следующих алгоритмов:

FileVault

Базируется на алгоритме AES и используется для шифрования файловой системе в
компьютерах Apple. Восстановление пароля для FileVault требует вычисления хеша
от предполагаемого пароля при помощи функции SHA-1, тысячи раз. В данном
бенчмарке использовался метод восстановления ключа, называемый PBKDF2. При
использовании всего 72шт микросхем из РВС, достигнуто уменьшение времени
расшифровки ключа доступа к файловой системе более чем в 498 раз по сравнению
с процессором Intel Core i7 с частотой 2,93ГГц. Как результат — уменьшение
времени взлома с 21 часа до 2.5 минут.

![vault.jpg](https://xss.is/attachments/52989/)


Wifi — WPA2
Так же использует SHA-1 для создания хешей. Соответственно, результат по
производительности — аналогичен предыдущему — 498 раз.
Ну а результаты для более старого алгоритма WEP Вы можете увидеть на
изображении:

![wep.jpg](https://xss.is/attachments/52990/)



Кластеры на FPGA могут быть использованы для взлома множества стойких
алгоритмов.

Как пример — на системе всего из 176 ПЛИС, с суммарным потреблением в 1.5кВт -
достигается скорость перебора в 280 биллионов ключей DES за секунду, тогда как
на довольно современный GPU Nvidia Tesla «выдает» всего лишь 16 миллионов
ключей в секунду.
Таким образом, по сравнению с аналогичным по габаритам и потребляемой мощности
компьютером — мы получаем колоссальное увеличение скорости.
**Тот пароль, взлом которого на видеокарте потребует несколько лет — при
помощи ПЛИС вычислителя размером с обычный 4U сервер, займет всего 2...3
дня.**

Причем, при сборке РВС-вычислителей в кластеры — скорость растет почти
линейно, т. к. существует возможность использования таких скоростных шин
обмена данными как Infiniband, PciExpress, RocketIO и других. Тут уместно
напомнить, что "нет пределов совершенству" \- и на базе РВС может быть
построен не только машинный зал, но и целый датацентр...

Отдельную нишу РВС занимают в атаках типа MiTM — когда длина ключа
относительно небольшая (64...128бит), но взломать его нужно быстро — за время
пока не истек таймаут аутентификации. Так, абсолютно все комплексы перехвата
мобильной связи — используют дешифраторы, построенные на ПЛИС — по причине
известного, стабильного и прогнозируемого времени взлома ключа сессии. Ведь,
реконфигурируемый вычислитель - это не обязательно датацентр и мегаватты
мощности, а иногда и маленькая плата размером не больше ладони, питающаяся от
lipo аккумулятора...

Как пример производительности - российская вычислительная система Орфей,
созданная в 2011 году - состоит из 850шт fpga, занимает одну серверную стойку
и потребляет 50квт мощности (плис старые...). 50 квт кажется много, но... по
производительности эта стойка равна суперкомпьютеру "Ломоносов",
установленному в МГУ - машзал на 250кв м площади с потреблением примерно
3мегаВатт !
И это разработка 2011 года, сделанная на чипах 2006 года!

По некоторым причинам, в данном обзоре я показал сравнение с вычислителем,
построенном на медленных FPGA более чем 10и летней давности… И оставил за
кадром некоторые современные, более чем интересные - разработки российского
оборонно-промышленного комплекса, в частности ФГУП "Квант" (их учредитель
кстати ФСБ). Кому будет сильно интересно и нужно - гугл в помощь, я - не хочу
заниматься "сбором, анализом и систематизированием информации, составляющей
гостайну"
![:\)](data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)
А если таки решите собрать информацию - поверьте, это не сложно и более чем
интересно.

Оставлю читателю простор для фантазии — попробуйте самостоятельно оценить, за
какое время можно взломать Ваш «стойкий» 20и значный пароль для контейнера
TrueCrypt, используя РВС, построенную например с использованием скажем 1000шт
Xilinx UltraScale ? А ведь это всего лишь одна серверная стойка, которая -
возможно, прямо сейчас занимает почетное место на кухне рядом с холодильником
какого-нибудь old-school ~~хакера~~ специалиста и питается от вполне бытовой
3ф сети для электроплит...
![stoika.png](https://xss.is/attachments/52991/)

Джошуа Пикколет Hash Crack: Password Cracking Manual v3 на русском языке [2023].

Author: handersen • 2023-02-17T17:31:28+0000 • Replies: 18 • Views: 6K
**Перевод 3 издания книги Джошуа Пикколета, Hash Crack: Password Cracking
Manual.**

Специально для XSS.IS.
[Сайт оригинальной книги](https://www.amazon.com/gp/product/1793458618).
Благодарю пользователя **Eject** за [исходник](https://xss.is/threads/43694/)
для перевода, иначе я бы просто не узнал об этой книге.

[Скачать](https://drive.google.com/file/d/1AFGRu75SleieEtDZi8K_hktS_VHr1mI5/view?usp=sharing)
Пароль к архиву: **Ut7e%.**
Точка это часть пароля, пробелов в нем нет!

По ссылке скачается **grindcore-concepts.7z**
**sha-256 26e1379d34f8b88be9fb18d0805b97a85f6ed49e8a615090bb29cc1af728e079**
Содержимое архива: **hash_crack_2023_ru.pdf**
**sha-256 230efe31bf0efb2bc02f22368cbceef54ba576bbe9a7fc47d1b56ec4ea32ae55**

Скачать без пароля с DamageLiB:
<http://damaga377vyvydeqeuigxvl6g5sbmipoxb5nne6gpj3sisbnslbhvrqd.onion/b/3JK94aw6UagcM3EH3vnudg>

Автор перевода [**handersen**](https://xss.is/members/245549/).

Нашли опечатки, неточности в переводе или другие недоработки? Пишите в
комментариях.


Spoiler: Оглавление

ВВЕДЕНИЕ..................................................................................................................7
НЕОБХОДИМОЕ ПРОГРАММНОЕ
ОБЕСПЕЧЕНИЕ...............................................8
ОСНОВНЫЕ ТЕРМИНЫ И
ПОНЯТИЯ......................................................................9
МЕТОДИКА
ВЗЛОМА...............................................................................................10
СТАНДАРТНЫЕ ТАКТИКИ ВЗЛОМА
..................................................................... 11
ШПАРГАЛКИ.............................................................................................................13
ШПАРГАЛКИ ПО JOHN THE RIPPER
...............................................................................
14
ШПАРГАЛКИ ПО HASHCAT
..............................................................................................
16
ШПАРГАЛКА ПО ТЕРМИНАЛУ
.........................................................................................
22
ШПАРГАЛКА ПО МАНИПУЛЯЦИЯМ С
ФАЙЛАМИ.........................................................22
ИЗВЛЕЧЕНИЕ
ХЕШЕЙ.............................................................................................25
ХЕШИ ЛОКАЛЬНЫХ ПАРОЛЕЙ
WINDOWS.....................................................................26
ХЕШИ ПАРОЛЕЙ ДОМЕНА WINDOWS
............................................................................
30
*NIX.......................................................................................................................................36
ХЕШИ ЛОКАЛЬНЫХ ПАРОЛЕЙ MacOS /
OSX................................................................37
LDAP ХЕШИ
FREEIPA........................................................................................................38
PCAP & БЕСПРОВОДНАЯ
СВЯЗЬ...................................................................................39
СЕТЕВЫЕ ХЕШИ
................................................................................................................
40
ПОЛНОДИСКОВОЕ ШИФРОВАНИЕ
................................................................................
44
ВИРТУАЛЬНЫЕ МАШИНЫ
...............................................................................................
47
DEVOPS
..............................................................................................................................
48
ОБЛАЧНЫЕ СЕРВИСЫ
.....................................................................................................
51
УГОН NetNTLMv1/v2
ХЕШЕЙ.............................................................................................52
ИЗВЛЕЧЕНИЕ ХЕШЕЙ ИЗ СУБД
......................................................................................
57
ИЗВЛЕЧЕНИЕ РАЗЛИЧНЫХ
ХЕШЕЙ...............................................................................57
ЗАБЛОКИРОВАННАЯ WINDOWS
МАШИНА...................................................................58
АНАЛИЗ
ПАРОЛЕЙ..................................................................................................59
ИСТОРИЧЕСКИ СЛОЖИВШИЕСЯ РЕКОМЕНДАЦИИ ПО АНАЛИЗУ ПАРОЛЕЙ ........ 60
ПРАВИЛО 20 – 60 – 20
.......................................................................................................
60
ПРИМЕРЫ ХЕШЕЙ И
ПАРОЛЕЙ.......................................................................................61
ПОДСКАЗКИ ПО ВЗЛОМУ КАЖДОГО
ПАРОЛЯ.............................................................61
АНАЛИЗ СТРУКТУРЫ ПАРОЛЕЙ
.....................................................................................
62
АНАЛИЗ ПАРОЛЕЙ ЗАПАДНЫХ
СТРАН.........................................................................62
АНАЛИЗ ПАРОЛЕЙ ВОСТОЧНЫХ
СТРАН......................................................................63
АНАЛИЗ МЕНЕДЖЕРОВ
ПАРОЛЕЙ.................................................................................64
PACK (Password Analysis And Cracking
Kit)..................................................................65
ZXCVBN (ЛЕГКАЯ ОЦЕНКА СТОЙКОСТИ
ПАРОЛЯ)......................................................65
PIPAL (АНАЛИЗАТОР ПАРОЛЕЙ)
....................................................................................
65
PASSPAT (ИДЕНТИФИКАТОР ШАБЛОНА ПАРОЛЯ)
.................................................... 65
ЧАСТОТНЫЙ АНАЛИЗ
СИМВОЛОВ................................................................................66
АНАЛИЗ ЗАКОДИРОВАННЫХ
СТРОК.............................................................................66
ОНЛАЙН РЕСУРСЫ ПО АНАЛИЗУ
ПАРОЛЕЙ................................................................66
ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ ПО АНАЛИЗУ
ПАРОЛЕЙ...........................................67
СЛОВАРИ / СПИСКИ
СЛОВ....................................................................................68
РЕСУРСЫ ДЛЯ
СКАЧИВАНИЯ.........................................................................................69
ФОРМИРОВАНИЕ СПИСКОВ
СЛОВ................................................................................69
УТИЛИТЫ
HASHCAT..........................................................................................................70
ТЕМАТИЧЕСКИЕ СПИСКИ
СЛОВ.....................................................................................72
ГЕНЕРАЦИЯ ХЕШЕЙ
ПАРОЛЕЙ.......................................................................................72
LYRICPASS (Генератор паролей из текстов
песен).....................................................72
ПРЕОБРАЗОВАНИЕ КОДИРОВКИ СПИСКА СЛОВ
....................................................... 73
ПРИМЕР СОЗДАНИЯ ОРИГИНАЛЬНОГО СЛОВАРЯ
.................................................... 73
ПРАВИЛА И
МАСКИ.................................................................................................74
НАЗНАЧЕНИЕ
ПРАВИЛ.....................................................................................................75
ПРАВИЛА ДЛЯ ОТБРАСЫВАНИЯ СЛОВ ИЗ СПИСКОВ В ВИДЕ ОТКРЫТОГО
ТЕКСТА
................................................................................................................................
76
ВСТРОЕННЫЕ СПЕЦИФИЧЕСКИЕ ФУНКЦИИ
............................................................... 77
СОСТАВЛЕНИЕ ПРАВИЛ
АТАКИ.....................................................................................78
ОТПРАВКА РЕЗУЛЬТАТОВ ПРИМЕНЕНИЯ ПРАВИЛА В STDOUT / ВИЗУАЛЬНАЯ
ПРОВЕРКА...........................................................................................................................78
PACK (Password Analysis And Cracking Kit). СОЗДАНИЕ
ПРАВИЛ...........................79
ВСТРОЕННЫЕ ПРАВИЛА
HASHCAT...............................................................................80
ВСТРОЕННЫЕ ПРАВИЛА JOHN
......................................................................................
80
ПРИМЕРЫ ПРОИЗВОЛЬНЫХ
ПРАВИЛ...........................................................................81
СОЗДАНИЕ АТАКИ ПО
МАСКЕ.........................................................................................81
ОТЛАДКА / ПРОВЕРКА, РЕЗУЛЬТАТА ПРИМЕНЕНИЯ МАСКИ
................................... 81
СОЗДАНИЕ АТАКИ ПО МАСКЕ В
HASHCAT...................................................................81
ПОЛЬЗОВАТЕЛЬСКИЕ НАБОРЫ СИМВОЛОВ В
HASHCAT........................................82
СОЗДАНИЕ АТАКИ ПО МАСКЕ В JOHN THE
RIPPER....................................................82
ПОЛЬЗОВАТЕЛЬСКИЕ НАБОРЫ СИМВОЛОВ В
JOHN................................................82
ШПАРГАЛКА ПО МАСКАМ HASHCAT
.............................................................................
83
ШПАРГАЛКА ПО МАСКАМ
JOHN.....................................................................................83
ФАЙЛЫ
МАСОК..................................................................................................................83
ТОП МАСОК ЗАПАДНЫХ
СТРАН.....................................................................................84
ТОП МАСОК ВОСТОЧНЫХ СТРАН
..................................................................................
84
PACK (Password Analysis And Cracking Kit). СОЗДАНИЕ МАСОК
............................. 84
ПРИМЕРЫ ПРОИЗВОЛЬНЫХ
МАСОК.............................................................................86
ИНОСТРАННЫЕ НАБОРЫ
СИМВОЛОВ...............................................................87
UTF8 ПОПУЛЯРНЫХ ЯЗЫКОВ
.........................................................................................
88
ВСТРОЕННЫЕ НАБОРЫ СИМВОЛОВ
HASHCAT..........................................................88
ВСТРОЕННЫЕ НАБОРЫ СИМВОЛОВ И UTF8 В
JOHN................................................89
НАБОР СИМВОЛОВ BYTE "?b" В HASHCAT
................................................................. 89
ПРЕОБРАЗОВАНИЕ
КОДИРОВКИ...................................................................................90
ПРОДВИНУТЫЕ АТАКИ
..........................................................................................
91
АТАКА
PRINCE....................................................................................................................92
HASHCAT
BRAIN.................................................................................................................93
МАСКОПРОЦЕССОР..........................................................................................................93
ПОЛЬЗОВАТЕЛЬСКАЯ АТАКА МАРКОВА /
СТАТПРОЦЕССОР..................................94
ПРОЦЕССОР KEYBOARD
WALK......................................................................................95
MXFIND /
MDSPLIT..............................................................................................................96
ПЕРЕТАСОВКА...................................................................................................................99
ЭКСТРЕМУМЫ
ХЕШЕЙ......................................................................................................99
РАСПРЕДЕЛЕННЫЙ ВЗЛОМ /
РАСПАРАЛЛЕЛИВАНИЕ............................................100
ДРУГИЕ НАРАБОТКИ ПО ПРОДВИНУТЫМ
АТАКАМ..................................................100
СОФТ ДЛЯ РАСПРЕДЕЛЕННОГО
ВЗЛОМА..................................................................101
ОНЛАЙН РЕСУРСЫ ПО ВЗЛОМУ ХЕШЕЙ
.................................................................... 101
КОНЦЕПЦИИ
ВЗЛОМА..........................................................................................103
ЭНТРОПИЯ ПАРОЛЯ – ПРОТИВ ВРЕМЕНИ
ВЗЛОМА.................................................104
ЧТО ТАКОЕ КРИПТОГРАФИЧЕСКИЙ
ХЕШ...................................................................105
ЦЕПОЧКИ
МАРКОВА........................................................................................................105
ВЕРОЯТНОСТНАЯ ГРАММАТИКА СВОБОДНАЯ ОТ КОНТЕКСТА (PCFG) .............. 106
НЕЙРОННЫЕ
СЕТИ..........................................................................................................106
ПРИМЕРЫ РАСПРОСТРАНЕННЫХ ХЕШЕЙ И АТАК НА НИХ ......................... 108
ПРИЛОЖЕНИЕ........................................................................................................126
ТЕРМИНЫ..........................................................................................................................127
ВРЕМЕННАЯ
ТАБЛИЦА...................................................................................................128
ОНЛАЙН
РЕСУРСЫ..........................................................................................................128
10 ЗАПОВЕДЕЙ
КРЭКЕРА...............................................................................................129
СРАВНИТЕЛЬНОЕ ТЕСТИРОВАНИЕ ВЗЛОМА ХЕШЕЙ
............................................. 130
СКОРОСТЬ ВЗЛОМА (ОТ МЕДЛЕННОЙ К
БЫСТРОЙ)................................................136
ИСТОРИЧЕСКИЕ ДАННЫЕ ТЕСТОВ ПО ВЗЛОМУ ХЕШЕЙ НА GPU .........................
139