Как найти и обойти защитные механизмы в программах?
Любому хакеру, который хочет научиться взламывать программы, необходимо уметь обнаруживать различные схемы и системы, защищающие эти программы. Обычно начинающие учатся на тестовых программах. Данный метод – это модернизированный способ взлома пароля известного специалиста КрисаКасперски.
Фундаментальные основы хакерства
Одной из самых значительных и фундаментальных произведений в сфере хакерства и компьютерной безопасности считается книга Криса Касперски «Фундаментальные основы хакерства». Она была издана 15 лет назад и сразу обрела широкую популярность среди специалистов и любителей в данной сфере. Но технологии не стоят на месте, и со временем работа Касперски стала неактуальной. Современные исследователи пытаются восстановить её, подводя под новые реалии и технологии. В частности, Касперскипомогает современным хакерам обнаруживать скрытые пароли в программах.
Как обнаружить пароль в памяти?
Разработчики программ всяко пытаются скрыть пароли от каждого. Если бы все пароли были на виду, хакерам и специалистам по безопасности нечего было бы делать. Хотя, если учесть то, какие сейчас большие пакеты программ, можно без проблем спрятать пароль в одном из файлов, замаскировав похожими на пароль строчками. При наличии тысяч таких строчек угадать и подобрать реальный пароль практически нереально.
Метод от обратного
Специалисты и исследователи работ Касперски предлагают метод от обратного – не угадывать пока что скрытый от хакера пароль, а совершить такие действия:
найти строчку, которую взломщик вводит в программу как пароль;
поместить на эту строчку бряк;
обнаружить данный бряк, который проявится от обращения по сравнению;
выйти из процедуры сравнения;
подправить JMP.
Суть схемы в том, что, когда взломщик вводит неправильный пароль, система автоматически сравнивает его с правильным, чтобы проверить. Даже после того, как программа выводит пользователю сообщение «Wrongpassword», она не очищает buff. Соответственно, программа, сравнив правильный пароль с неправильным, вывела этот оригинальный, нужный хакеру пароль в память, по которой можно поискать и обнаружить заветный пароль. Чтобы осуществить это, необходимо ввести любой набор знаков, выдаваемый как пароль, вызвать отладчик и задать команду Break. Благодаря заданному бряку хакер может найти нужные ему строчки.