HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Как ускорить создание словарей с паролями
В одном из комментариев под статьёй о создании словарей у меня спросили: как сделать так, чтобы программа использовала видеокарту, чтобы создавать пароли ещё быстрее. Но это неправильный вопрос, дело в том, что скорость создания паролей в первую очередь ограничивается скоростью хранилища, то есть скоростью твердотельного или жёсткого диска. Вы можете заметить, что даже если создание словаря занимает долгое время, центральный процессор не очень сильно загружен — то есть скорость вычисления и так не является узким местом.
На самом деле, показанный далее метод уже начнёт упираться в производительность одного ядра процессора (или в скорость оперативной памяти), но он в разы быстрее обычного способа создания и если вам всё равно недостаточно скорости, то я пока не знаю, как это исправить.
На самом деле
Этот раздел я хотел поместить в Заключение, но решил передвинуть в самое начало — чтобы вы не говорили, что я вас обманул Да, словари будут создаваться быстрее, но сразу после создания они будут находиться в оперативной памяти. Затем, если вы хотите сохранить словарь после перезагрузки компьютера, его нужно скопировать в постоянное хранилище (твердотельный или жёсткий диск). Так вот, время копирования созданного словаря на диск будет ровно таким же, как если бы мы изначально создавали словарь на диске. Ну, то есть, выигрыша во времени нет. Поэтому данная статья это:
1. Доказательство того, что узким местом при создании словарей является именно диск, а не устройство вычисления
2. Ещё один пример использования файловой системы tmpfs
3. Вполне возможно, что вы найдёте применение показанному методу, так как снижает нагрузку на постоянное хранилище
И ещё можно добиться ускорения если нужно внести изменения данных, которые уже находятся в tmpfs. Например, нужно сделать сортировку большого словаря, или изменить его на основе Правил, или комбинировать с другими словарями. То есть если нужно сделать несколько операций со словарём, то tmpfs поможет ускорить все процессы, поскольку на каждой стадии будет экономиться время, которое бы затрачивалось на обычном диске для чтения и записи.
Создание словарей в tmpfs
tmpfs — это виртуальная файловая система, располагающаяся в оперативной памяти. Больше подробностей о ней в разделе «Файловая система в оперативной памяти».
Файловая система tmpfs имеет следующие свойства:
- Файловая система может использовать пространство подкачки, когда этого требует физическая нагрузка на память.
- Файловая система потребляет столько физической памяти и пространства подкачки, сколько требуется для хранения текущего содержимого файловой системы.
- Во время операции повторного монтирования (mount -o remount) размер файловой системы может быть изменён (без потери существующего содержимого файловой системы).
Если файловая система tmpfs размонтирована, её содержимое теряется (удаляется). Это очень важно — скопируйте из неё все данные перед тем как выключить компьютер, иначе всё будет потеряно.
Хотя это очевидно, но на всякий случай: поскольку все данные располагаются в оперативной памяти, у вашего компьютера должно быть достаточно ОЗУ, чтобы хранить те данные, которые вы хотите поместить в tmpfs.
Создадим точку монтирования:
mkdir /tmp/mytmpfs
Создадим виртуальную файловую систему размером 20 Гигабайт в оперативной памяти:
sudo mount -t tmpfs -o size=20g tmpfs /tmp/mytmpfs
Переходим в неё:
cd /tmp/mytmpfs
Для создания словаря воспользуемся программой maskprocessor. Следующей командой мы создаём словарь на 5 символов (большие и маленькие буквы, цифры):
time maskprocessor -1 ?l?u?d ?1?1?1?1?1 > dic.txt
Перед maskprocessor поставлена ещё одна команда — time, она измеряет время работы программы.
Создание словаря заняло около 6 секунд.
В Системном мониторе можно увидеть, что на время работы программы для создания словаря одно из ядер процессора было загружено полностью. Также видно, что выросло потребление оперативной памяти.
А теперь для примера создадим такой же словарь на жёстком диске:
time maskprocessor -1 ?l?u?d ?1?1?1?1?1 > dic.txt
На жёстком диске эта операция занимает от 20 секунд до одной минуты (видимо, зависит от занятости самого диска).
В качестве эксперимента, возьмём команду преобразования словаря по Правилу из этой статьи:
john --rules=lud5 --wordlist=dic.txt --stdout > lud5.txt
На жёстком диске она завершилась за 43 секунды, а в оперативной памяти за 41 секунду. Причина таких результатов в том, что в этом случае узким местом является производительность одного ядра процессора (процесс создания и преобразования словарей выполняется в один поток).
Связанные статьи:
- Как создать словари, соответствующие определённым политикам надёжности паролей (с помощью Атаки на основе правил) (68.6%)
- Продвинутые техники создания словарей (68.6%)
- Как генерировать кандидаты в пароли, соответствующих политикам надёжности паролей (фильтрация слов с помощью grep) (68.6%)
- Программы для создания словарей (63.3%)
- Генерация и модификация словарей по заданным правилам (63.3%)
- Использование Burp Suite в сценариях человек-посередине (MitM): сбор информации, перехват паролей, заражение бэкдорами (RANDOM — 50%)
факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!
Словарь Rockyou.txt где находится в Kali Linux и как скачать
Часто на форумах, среди новичков, появляются вопросы: «Что такое rockyou.txt», «Где находится rockyou.txt» и «Как скачать rockyou.txt». В этой статье я отвечу на все эти вопросы.
Что за файл rockyou.txt
Брутфорс (брут) — это техника взлома паролей методом перебора. Для брута используют специальные словари. Такие словари можно скачать (используйте поиск по сайту или поисковик) или самому создать (см. также Как создать словарь для брута в Kali Linux), используя утилиты типа Crunch и Cwel. Но если вы новичок, рекомендую начинать свою практику брута используя уже готовые словари.
Среди большинства словарей для брута, часто используется словарь rockyou. Это сборник наиболее популярных и потенциальных паролей. Он больше подходит для брута зарубежных пользователей, но может быть полезен и для подбора паролей русскоговорящих.
Где находится rockyou.txt в Kali Linux
В Kali Linux словарь находится в каталоге:
Словари для атак
Здесь публикуем ссылки на интересные словари. Каждый пост начинайте с заголовка краткой характеристикой словаря, пример заголовков:
- Wi-Fi словарь
- Словарь для веб
- Словарь для роутеров
- Сборник словарей
- Словарь для SSH
- и т.д.
В шапке будет сделан каталог словарей для удобного доступа и поиска.
Метки темы
Участник Admin
Присоединился: 5 лет назад
Записи: 267
Создатель темы 08/12/2018 9:44 дп
wordlistctl: большая база словарей [Сборник словарей]
wordlistctl — это программа, которая содержит большую базу словарей. На самом деле, именно эта база и вызывает интерес, словари можно скачивать напрямую, без этой программы — ссылки на базы данных я дам ниже, они в формате JSON, то есть вполне читаемые.
Как установить wordlistctl
Установка wordlistctl в Kali Linux:
sudo apt install python3-pip python3-libtorrent python3-coloredlogs
git clone https://github.com/BlackArch/wordlistctl
cd wordlistctl
Откройте файл requirements.txt
gedit requirements.txt
И удалите оттуда строку
libtorrent
sudo pip3 install -r requirements.txt
python3 ./wordlistctl.py
В BlackArch эта программа есть в стандартном репозитории — установите прямо оттуда.
sudo pacman -S wordlistctl
Как пользоваться wordlistctl
Все словари разбиты на 5 категорий:
Чтобы показать все словари, например, в категории password:
wordlistctl -F password
Чтобы посмотреть список всех категорий и доступных словарей, можно просто открыть базу данных: https://github.com/BlackArch/wordlistctl/blob/master/categories.json
С опцией -S можно искать по именам словарей, например, поиск «rus»:
wordlistctl -S rus
--==[ wordlistctl by blackarch.org ]==--
[*] searching for rus in urls.json
[+] wordlist russian_users found: wordlist rus_surnames_date099_fin found: wordlist rus_surnames_first_letter found: wordlist rus_surnames_fin found: wordlist rus_surnames_date19002020_fin found: wordlist rus_names_date099_fin found: wordlist rus_names_translit found: wordlist rus_cities_translit found: wordlist rus_names_date19002020_fin found: wordlist rus_eng found: wordlist rus_names_fin found: wordlist rus_mat found: wordlist rus_latin found: wordlist rus_names_kb_chage found: wordlist rus_cities_kbchange found: wordlist rus-mini found: wordlist russian found: wordlist russian2 found: wordlist russian_31799 found: wordlist russian_name found: wordlist russkie-maty found: wordlist rus_months_en found: wordlist rus_months_translit found: style=text-align:justify>Для скачивания словарей, создадим в текущей директории папку wordlists:
mkdir wordlists
И скачаем в эту папку (-d wordlists) словарь, имеющий идентификатор 1714 (-f 1714), распакуем его и удалим исходный архив (-Xr):
wordlistctl -f 1714 -d wordlists -Xr
Файловая система Кали Линукс: основные директории.
Понимание файловой структуры Кали Линукс — один из главных принципов, обеспечивающих осознание того, что вы делаете. Файловая система Кали Линукс основывается на Иерархическом Стандарте файловой системы Unix. Она же FHS. Зная её, вы будете ориентироваться во всех Unix-системах одинаково комфортно. Так что переходим к принципу организации файлов и директорий внутри Кали.
В России со школы нас всех знакомят прежде всего с семейством ОС Windows, в которой корневой (root) директорией всегда является С:\ (С-двоеточие-обратный слэш). В Кали root-директорией является «прямой слэш» — / . Важно сразу заострить разницу на понятиях root-директории и пользовательской папки /root. Последняя — именно домашняя папка root-пользователя, который является прямой аналогией супер-пользователя Windows с именем Администратор. И, начиная с релиза 2020.1, в Кали Линукс Offensive Security загружает пользователя в «не-root» учётную запись по умолчанию. Это означает, что всем командам, требующим привилегированных полномочий, должен предварять префикс sudo.
Чтобы получить общее представление о структуре директорий Кали Линукс, можно начать с команды отображения содержимого ls в терминале. По умолчанию — это нужно сразу запомнить — она покажет «внутренности» домашней директории вашей учётной записи. Для перехода в другую просто наберите команду перехода в родительский каталог cd / , что сродни кнопки «вверх» в панели инструментов Window-возного проводника:
От параллелей с Windows, однако, лучше всего сразу отказаться. Несмотря на всё более дружелюбный интерфейс Кали, фишка Unix и Linux состоит именно в опущении графического интерфейса. Команды, таким образом, исполняются гораздо быстрее, исключаются GUI ошибки, а большинство утилит, с которыми нам ещё только предстоит знакомство, вообще графического интерфейса лишены — только рукописные команды. И теперь знакомимся с каждой из папок.
Файловая система Кали Линукс: что внутри?
- /bin — бинарники. В папке находятся исполнительные файлы, на манер команды ls . Здесь можно провести условную аналогию с папками Programs и System32 в Windows. Здесь располагаются самые необходимые команды типа cp, mv, rm, cat и т.п. Её оригинальное призвание — хранить в себе те команды и утилиты, которых будет достаточно для работы системы до момента пока не будет смонтирована директория /usr. Сейчас же большинство дистрибутивов скидывает приложения в папку /usr/bin. Но наличие /bin придаёт уверенность системе в том, что та загрузится по-любому.
- /sbin — системные административные бинарники. В папке находятся системные бинарные файлы, служащие в качестве административных команд (типа fdisk ).
- /boot — здесь лежат статичные файлы загрузчика, необходимые для загрузки системы. Это файлы загрузчика GRUB, ядро Linux. Файлы конфигурации загрузчика, однако, здесь не ищите — для того есть папка /etc с остальными файлами «конфиг».
- /cdrom. У вас есть? У меня нет. Точка монтирования оптического привода. Почти канула в лету, стандартом системы FHS она не была, но на Ubuntu она ещё сохранилась. Короче — это временная локализация вставленного в привод диска. Однако все временные данные вы, скорее всего, найдёте в другой директории — /media.
- /dev — здесь находятся файлы устройств. Как вы помните, Linux относится ко всем устройствам как к файлам. И папка /dev содержит некое число специальных файлов, представляющих эти самые устройства. Конечно, это не файлы в том виде, как мы привыкли их видеть, но Linux их будет подсовывать вам именно как файлы. Так, например, первый в очереди загрузки SATA диск вы увидите как /dev/sda. И большинство операций, опять же, к дискам будет применяться именно как к файлам. Разделение на разделы диска одной из встроенных команд будет возможно командой edit /dev/sda . Эта директория также содержит информацию про псевдоустройства, которые с «железом» никак не соотносятся.
- /sys — файлы конфигурации устройств и драйверов к ним; содержимое перемежуется с содержимым директории /dev.
- /etc — здесь лежат административные системные файлы (типа /etc/passwd , отображающей системных пользователей Кали). Эти файлы конфигурации, к слову, можно отредактировать вручную в текстовом редакторе. Следует отметить, что здесь лежат файл, относимые к системе вцелом — файлы, принадлежащие настройкам конкретной учётной записи, лежат в домашней директории этого юзера.
- /lib — библиотеки. В директории находятся библиотечки совместного использования для бинарников папок /bin и /sbin. Библиотечки, используемые ими же из папки /usr/bin, лежат в папке /usr/lib.
- /proc — здесь располагаются файлы процессов и те, что относятся к информации по ядру системы.
- /lost+found — если таковая папка обнаружена, в ней будут находиться файлы, восстановленные после удаления. Такая папка лежит в каждой Линукс. Если система обрушится, проверка файловой системы начнётся при следующей загрузке. Повреждённые файлы помещаются в эту папку. Так что у вас будет возможность восстановить как можно больше данных.
- /mnt — сюда скидываются смонтированные директории (если Кали Линукс установлена виртуальной машиной, вам эта папка должна быть знакома).
- /media — папка содержит подключаемые (переносные, изымаемые) папки (диски DVD в DVD-Rom-e). Как только вы вставите в дисковод болванку с данными, внутри автоматически появится соответствующая подпапка.
- /opt — здесь будет лежать всё то, что вы доустановите потом, после установки самой Кали. Сюда попадут программы, скачиваемые со стороны.
- /tmp — папка для временных файлов; её содержимое после перезагрузки после перезагрузки удаляется.
- /usr — здесь лежит куча всяких других папок, создаваемых для файлов и приложений, используемых пользователями Кали. Всё, что не попадает в системных программ и файлов, будет находиться тут. Например, в противовес папкам /bin и /sbin здесь вы найдёте /usr/bin и /usr/sbin. Библиотеки для них — в /usr/lib. Одну из папок — /usr/share — можно сразу запомнить, так как «наиважнецкие» Nmap, Metasploit и т.п. хранятся именно здесь. Сюда чаще всего попадают словари для различных утилит (/usr/share/wordlists/).
- /home — папка профилей пользователей Кали Линукс. Если имя вашей учётки SuperUSr, после установки в Кали появится папка /home/SuperUser. Конфигурация и данные лежат именно тут. Каждый из пользователей обладает правами на запись к файлам только внутри собственной учётки. Для получения прав к остальным областям Кали Линукс вам понадобятся root-права.
- /root — профиль администратора.
- /srv — здесь будут лежат данные, касаемо функционирования системного сервера (например, информация по серверам FTP). Если будете использовать сервер Apache HTTP для обслуживания какого-то сайта, файлы для него окажутся здесь.
- /var — папка содержит переменные баз данных, логов (почти все к папке /usr — папка /var/log), веб-сайтов. Часто вы будете обращаться к содержимому /var/www/html/, в которой лежат файлы сервера Apache.
- /run — папка содержит системные данные, относимые только к текущей сессии (например, зарегистрировавшихся в системе пользователей).
В общих чертах всё. Успехов.