Распаковываем Perl-скрипты, обработанные PerlApp

Как известно, для Perl, впрочем, как и для других скриптовых языков, существуют утилиты, позволяющие создавать из скрипта полноценный exe-файл, который можно переносить на другие компьютеры и запускать, даже если интерпретатор языка на них не установлен. В случае с perl'ом наиболее популярными утилитами являются Perl2Exe и PerlApp.
Принцип работы этих утилит довольно прост и состоит в упаковке внутрь результирующего exe-файла библиотеки перла, основного скрипта и зависимых модулей. Содержимое, естественно, сжимается, шифруется (с помощью XOR) и не хранится в открытом виде внутри файла. Исследуем чуть подробнее внутреннее устройство результирующих exe-файлов, которые получаются с помощью PerlApp.
Для начала, определим с помощью чего сжимаются данные. Это сделать довольно просто, например, с помощью PeID (с плагином Krypto Analyzer) или какого-нибудь hex-редактора. В случае с PeID все тривиально: указываем путь к файлу, запускаем плагин и получаем список найденных крипто-сигнатур.

С hex-редактором тоже просто: открываем нужный файл, нажимаем Alt+F6 (справедливо для Hiew), получаем список строковых ресурсов, гуглим эти строки.

Таким образом определяем, что для сжатия используется библиотека zlib, причем довольно старая версия - 1.1.4. Конечно, можно начать искать, где именно в файле хранятся сжатые данные, но мне захотелось пойти другим путем.
Читать далее «Распаковываем Perl-скрипты, обработанные PerlApp»

SSH Bruteforce

Написал небольшой брутфорс учетных записей SSH.

Возможности:
[+] Многопоточность
[+] Три режима перебора: по списку логинов, по списку паролей, по списку логин;пароль
[+] Перебор IP по диапазону или по списку из файла
[+] Возможность установки таймаута соединения при проверке порта

Подобранные данные сохраняются в файл brute_good.txt. Распараллеливание идет по IP-адресам, т.е. если в диапазоне 1 IP и в настройках стоит 100 потоков, то фактически перебор идет в 1 поток.

Скачать: sshb.zip (пароль на архив: kaimi-ru)
Говноисходники: sshb_src.zip

Update (22.01.14): Немного поправил код, устранил утечку памяти, добавил дополнительную проверку на успешную авторизацию, сделал сборку с libssh 0.6.0 и OpenSSL 1.0.1f.
Собранная версия
Проект для MSVC 2010+
GitHub: ssh-bruteforce