PE-формат. Часть 2 — Немного практики: выводим информацию о секциях исполняемого файла

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

Читать далее «PE-формат. Часть 2 — Немного практики: выводим информацию о секциях исполняемого файла»

Класс-инжектор на C++

Давеча наелся всяких плацебо"витаминчиков" и захотелось странного, а именно - выучить C++ за неделю. Начинание примечательно тем, что это первый раз, когда я изучаю что-то, связанное с программированием, по книге (обычно руководствовался примерами из гугла). Да и подобные языки мне до этого не приходилось изучать, в общем-то. Книжку выбрал первую попавшуюся на Amazon - Herbert Schildt "C++: The Complete Reference".
Результат своего непродолжительного изучения оформил в следующий класс, который позволяет грузить DLL или произвольный код в 32- и 64- разрядные процессы. Код, правда, написан не в соответствии с модным стандартом C++0x, и в нем не используется такая мощная вещь как шаблоны (хотя сомневаюсь, что они тут серьезно пригодились бы), но, тем не менее, базовые возможности языка я постарался задействовать.
Использовать класс довольно просто, например:

Доступные методы:

Для работы с 64-разрядными процессами достаточно просто скомпилировать класс под соответствующую архитектуру.

Скачать: cpp-injector-class
GitHub: cpp-injector-class

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