Внедрение кода в ехе-файл в конец секции без добавления API-функций. Часть 5

22 мар 2019

Алгоритм внедрения кода Технология внедрения кода в ехе-файл применяется для изменения исходного функционирования программы при отсутствии исходного текста программы. При низкой подготовке хакера внедрение кода может вызвать проблемы и ошибки в приложениях. Эту технологию часто используют и вредоносные приложения. Фактически, внедрение кода – это грязный взлом. Но в учебных целях технологию внедрения знать необходимо хотя бы по тому, что необходимо представлять этот механизм и противостоять...
Читать далее
Лайков 0 Комментариев0 Просмотров5.245

Реверсинг программы с парольной защитой на С++. Часть 4

22 мар 2019

Рассмотрим пример исследования программного кода для анализа вводимого пароля и вывода сообщения о регистрации. Для начала рассмотрим очень простую консольную программу (программа 2.8). Программа 2.8. #include <iostream> #include <stdio.h> #include <process.h> #include <conio.h> using namespace std; void main() { cout << " Enter pssword " << endl; int pass; cin >> pass; if (pass==999) //пароль 999 { cout << " OKEY!!! ;) " << endl; getch(); } else { cout << " WRONG!!! "...
Читать далее
Лайков 0 Комментариев0 Просмотров3.636

Реверсинг программы с использованием строковых команд. Часть 3

22 мар 2019

Для сравнения вводимого пароля с эталонным значением чаще всего применяют строковые команды. Достоинством применения таких команд, в данном случае, является сокращение кода. Учитывать быстродействие при выполнении сравнения и медленном клавиатурном вводе как-то не уместно. В программе 2.5 применена процедура Pas1 proc, которая влияет только на оформление программы. Но если процедур будет достаточно много, то это сильно повлияет на поиск пароля. А если при этом предположить, что и сравнение...
Читать далее
Лайков 0 Комментариев0 Просмотров2.445

Реверсинг программы с использованием базовых команд. Часть 2

22 мар 2019

Применение базовых команд не дает никакого преимущества перед использованием API-функции lstrcmp. В этом случае достигается не только разнообразие вариантов программ с запросом пароля, но и детализация внутреннего алгоритма проверки вводимых символов пароля. Особенностью программы можно считать применение функции WriteConsole, которую так же надо было применить в программе 2.1. Эта функция выводит сообщение с просьбой ввести пароль в консольном окне. В связи с тем, что эта программа является...
Читать далее
Лайков 0 Комментариев0 Просмотров2.323

Реверсинг программы с использованием API-функции lstrcmp. Часть 1

22 мар 2019

Рассмотрим один из самых простых вариантов поиска пароля – пароль вводится в виде строки символов и при этом используется API-функция lstrcmp. Вводимый пароль должен быть сравнен с эталонным паролем, который хранится в программе, а по результату сравнения выведены соответствующие сообщения. Проще всего для сравнения строк использовать API-функцию lstrcmp. Для простоты рассмотрения механизма сравнения проанализируем в отладчике x64Dbg программу консольного ввода пароля, потому что при...
Читать далее
Лайков 0 Комментариев0 Просмотров2.362

Введение в реверсинг с нуля, используя IDA PRO. Часть 64. Часть 1.

6 янв 2019

Реверсинг задачи по SCADA В группе телеграмм мы поставили перед собой задачу, которая относится к реверсингу следующего CVE, чтобы практиковаться с реальным программным обеспечением. CVE-2013-0657 https://ics-cert.us-cert.gov/advisories/ICSA-13-018-01 Здесь есть ссылка. Все версии и 9 и 10 являются уязвимыми, за исключением тех версий, к которым был применен патч. [ATTACH] Уязвимую версию 9 можно загрузить отсюда: HTTPS://DRIVE.GOOGLE.COM/OPEN?ID=1V4DAVXWD6FYSMVK4UKRG-SHCJNXI55XN А...
Читать далее
Лайков +1 Комментариев0 Просмотров3.663

Введение в реверсинг с нуля, используя IDA PRO. Часть 63.

5 янв 2019

СЕГМЕНТАЦИЯ И ПЭЙДЖИНГ ПАМЯТИ ДЛЯ АРХИТЕКТУРЫ X86 В этой части туториала мы попытаемся увидеть управление памятью для архитектуры X86, а позже попытаемся актуализировать знания для X64. Это серьёзная тема. Она включает в себя таблицы, которые вы должны понять и научиться находить, поэтому мы будем идти медленно и верно. Давайте посмотрим, некоторые понятия полученные из Интернета. РЕАЛЬНАЯ ПАМЯТЬ ТАКЖЕ НАЗЫВАЕМАЯ ФИЗИЧЕСКАЯ ИЛИ ПАМЯТЬ RAM Эта память используется для хранения инструкций...
Читать далее
Лайков +3 Комментариев4 Просмотров6.623

Введение в реверсинг с нуля, используя IDA PRO. Часть 62.

21 дек 2018

Мы возвращаемся после праздников с новыми туториалами. В этом туториале мы увидим вариант эксплуатации того же самого драйвера, который мы видели для WINDOWS 7 32 бит. Только теперь сделаем для WINDOWS 10 32 бит. Разница, как мы сказали, состоит в SMEP. Это защита позволяет избежать перехода ядра на выполнение страниц, помеченных как пользовательские. Как мы делали в примерах, которые мы видели до сих пор, мы выделяли страницу в пользовательском режиме с разрешением на выполнение. Когда мы...
Читать далее
Лайков +1 Комментариев1 Просмотров4.728