Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
терминология, как написать експлойт с шеллкодом 15.03.02 09:01 Число просмотров: 1519
Автор: vp016 Статус: Незарегистрированный пользователь
|
> Если он спрашивает про эксплойты, а не что-то типа "научите > меня хакерству" или "как взломать www-сервер" Вообще-то експлойт (стало быть по ихнему взрывчатка), как термин, появился из-за не здоровой американизации английского. Название ситуации в оригинале - срыв стека. Это происходит с тех времен, когда переполнений буфферов было как грязи (говорят порядка 40% cуидных прог в те времена тупо падали от аргумента ААА (и так много раз)). В данный момент, в связи сразвитием области програмного обеспечения :), появились ошибки не связанные с перезаписю адреса возврата в стеке. Например - перезапись секций для файлов скомпиленных gcc. Как оказалось там есть адреса фукций которые в какой-то момент выполняются. Смысл сводится к написанию так называемого Shellcoda (небольшой програмки на асме, которая запустит шелл из под суидной проги, или забиндит его на какой-то порт или сделает chmod a+w /etc/*, ну и т.д., кстати не обязательно шелл, тут есть большое поле для рассуждений:)). Подобные вещи под win32 вполне уместны, однако из-за кривизны архитектуры, дебильного до маразма колличества всевозможных апи, написание под вин32 с одной стороны несколько сложнее, с другой - гораздо проще. Смысл в том, что код должен не содержать абсолютных адресов. Апи для вин32 такого не совсем позоляет. А собственно системные вызовы (всевозможные инт 2f, 2e & etc) долбаный мс не публикует и держит в секрете, отладчиком там сложно разобратся:). По этой причине шеллкоды под вин32 иногда не работают а иногда работают (они завистят от паков, версии системы и т.д.). Перезапись адреса возврата стает возможна по следующего рода причинам - ошибка в размерах буффера, ошибки в преобразовании формата, а также перзапись секций данных с указателями на функции для gcc. "Работающие" шелкоды можно найти на любом сайте связанном с безопастностью - пакетшторм, секуритифокус, секуритибугваре. Можно написать самому - проблемы не представляет, надо просто знать асм платформы для которой пишется, ну и некоторые тонкости интерпретации конца строки в системе:).
PS. Cуществует множество ошибок не связанных с перезаписью адресов возврата - сумлинки, не правильная интерепретация входных параметров (в некоторых версиях ssh тупо можно вывести на екран содержимое master.passwd или shadow).
А также много других непредсказуемых ситуаций, типичный пример - уникод от дебилов с Микрософт (сами придумали сами и попали :)).
PPS. Обычно ошибки в системах находят конторы которые занимаются безопастностью, с отдельными личностями - это редкое явление. Раньше существовала повсеместная практика детального описания ошибки и представления тестового экземпляра експлойта. Однако, в последнее время, для борьбы с кульнми хацкерами, эти конторы публикуют лишь общее описание ошибки и естественно, дабы затруднить жизнь бедным хацкерам не публикуют эксплойт.
Ошибки в mod_ssl, mod_php (есть но не работает для всех версий, вероятно проблема с размером буффера или с форматом что-то не то) - существуют постоянно, однако описание на них весьма затрудняет "реализацию" этих уязвимостей на деле. Кстати, патчи на данные модули от апача, не закрывают всех проблем - апач падает с сигналом 11.
самый чесный в этом смысле сайт
|
|
|