Форум программистов, компьютерный форум CyberForum.ru

Хакинг. Искусство эксплойта - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.79
TagaBenz
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 21
25.03.2013, 00:58     Хакинг. Искусство эксплойта #1
Прежде исложить свою проблему хочу спросить, читал ли кто-нибудь и пробовал на практике задачи описанные в книге Джона Эриксона: "Хакинг. Искусство эксплойта" ?
ссылка на книгу: http://www.ozon.ru/context/detail/id...abenz&from=bar
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 00:58     Хакинг. Искусство эксплойта
Посмотрите здесь:

Вранье как искусство
Графити как искусство
в искусство вложен не малый программный код)))
Компьютерное искусство Pascal
Ремесло или искусство?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
chizz
 Аватар для chizz
975 / 489 / 54
Регистрация: 19.03.2013
Сообщений: 3,049
Записей в блоге: 18
Завершенные тесты: 1
26.03.2013, 18:24     Хакинг. Искусство эксплойта #21
Ошибку..
Ты хотел вызвать переполнение буфера - ты его вызвал. Теперь надо что-то с адресами делать, чтобы адрес возврата на шелкод указывал. Как это сделать - без понятия
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
27.03.2013, 06:02     Хакинг. Искусство эксплойта #22
Цитата Сообщение от TagaBenz Посмотреть сообщение
Как я понял шелкод прописывает команду в терминале, которая выводит владельца уязвимой программы, а именно команду whoami
По идее шеллкод грузит системную оболочку от имени владельца уязвимой программы, всё остальное - иные варианты эксплойнтов.
TagaBenz
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 21
27.03.2013, 11:32  [ТС]     Хакинг. Искусство эксплойта #23
Цитата Сообщение от taras atavin Посмотреть сообщение
По идее шеллкод грузит системную оболочку от имени владельца уязвимой программы, всё остальное - иные варианты эксплойнтов.
Крутяк))))
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
27.03.2013, 13:08     Хакинг. Искусство эксплойта #24
Чего крутяг? Он ведь называется шеллкод->shellcode->shell code->код shellа, а shell - это оболочка, а не мессага.

Добавлено через 1 час 24 минуты
Жил-был один парень, назовём его в целях конспирации Лёша. Году эдак в 2001–2002 Лёша очень сильно интересовался всяческим компьютерным хулиганством — началось это с прописывания в автозапуск разных пакостей, а вылилось в желание написать свой Первый Серьёзный Вирус. В качестве учебного пособия использовалось авторитетное печатное издание «Хакер».

Через неделю трудов Лёша написал-таки своего монстра. Задача была простая — убивать исполняемые файлы с расширением «exe». Способ убийства был весьма нехитрым: вирус откусывал определённое количество байтов от конца файла и переносил их в начало. Атакованный файл, разумеется, после этого при попытках запуска выдавал сообщения вроде «Кто я? Где я?», да и вообще вёл себя неадекватно.

Решил Лёша протестировать своё творение. Отключил антивирус и отдал на растерзание какой-то экзешник, который вирус моментально привёл в неработоспособнное состояние. Любопытство было удовлетворено. Лёша ушёл спать, оставив комп в рабочем состоянии с выключенным антивирусом.

Наутро обнаружилось, что вирус вышел из под контроля и поел все экзешники, до которых дотянулся. Каким-то чудом комп сохранял некоторую работоспособность, поэтому Лёша решил на скорую руку вылечить подобное подобным. На скорую руку в код вируса были внесены изменения; вторая версия переносила первые байты в конец.

Процесс пошёл — работоспособность некоторых экзешников вернулась. Но обрадовался Лёша крайне несвоевременно — в коде (анти)вируса не было никакого механизма, позволяющего определить, какие файлы он уже обработал, а какие — нет.

Закончилось всё тем, что совместными усилиями первый и второй вирус нашинковали все найденные *.exe в капусту. Как Лёша с этим справился — неизвестно, но меры наверняка были радикальными.
Надеюсь, не надо объяснять, что это и был новичок?
TagaBenz
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 21
27.03.2013, 14:42  [ТС]     Хакинг. Искусство эксплойта #25
Надеюсь, не надо объяснять, что это и был новичок?
К чему ты клонишь?)))
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
27.03.2013, 15:46     Хакинг. Искусство эксплойта #26
К тому, что даже новичку могут быть понятны некоторые защиты, но ни одному новичку не доступен качественный, вдумчивый взлом. Сначала надо изучить предметную область, похулиганить на своём вируталбоксе, до"расти" до эксперта и только тогда можно в серьёз ломать софт.
Avazart
 Аватар для Avazart
6905 / 5145 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
27.03.2013, 16:00     Хакинг. Искусство эксплойта #27
Цитата Сообщение от taras atavin Посмотреть сообщение
К тому, что даже новичку могут быть понятны некоторые защиты, но ни одному новичку не доступен качественный, вдумчивый взлом. Сначала надо изучить предметную область, похулиганить на своём вируталбоксе, до"расти" до эксперта и только тогда можно в серьёз ломать софт.
Я так не думаю области знаний разнятся и как говорится - "ломать не строить".
Tmin100
 Аватар для Tmin100
6 / 6 / 0
Регистрация: 12.10.2012
Сообщений: 71
27.03.2013, 16:03     Хакинг. Искусство эксплойта #28
Не думаю, что без знаний устройства защиты возможно её обойти...
TagaBenz
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 21
27.03.2013, 16:05  [ТС]     Хакинг. Искусство эксплойта #29
А по делу кто-инбудь хочет мне помочь?? На что ругается мой отладчик?
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
27.03.2013, 16:42     Хакинг. Искусство эксплойта #30
Цитата Сообщение от Avazart Посмотреть сообщение
Я так не думаю области знаний разнятся и как говорится - "ломать не строить".
А ты учёл, что не руками? Переполнение заткнуть - много ума не надо. А ты пробуй ломани даже не заткнутую прогу. Для взлома нужен асм, а защита делается походя на плюсах. И если вдруг есть защита от исполнения стека, или просто буфер, которым ты пытаешься ломануть адрес возврата вынесен из стека в кучу, а адрес возврата остался в стеке, или ломаешь кучу. Элементарные различия в прогах, начиная просто с размера буфера и у хакера проблемы, которые надо разбирать с дебагером. А для того, чтоб эксплойнты переполнения буфера отсечь на корню, достаточно сопоставлять размеры копируемых строк с размерами буферов. То есть всего то делов: переписать свой цикл копирования вместо strcpy и вводить/выводить потоками и целый класс эксплойтов становится полностью бесполезным.
TagaBenz
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 21
28.03.2013, 01:22  [ТС]     Хакинг. Искусство эксплойта #31
Цитата Сообщение от taras atavin Посмотреть сообщение
А ты учёл, что не руками? Переполнение заткнуть - много ума не надо. А ты пробуй ломани даже не заткнутую прогу. Для взлома нужен асм, а защита делается походя на плюсах. И если вдруг есть защита от исполнения стека, или просто буфер, которым ты пытаешься ломануть адрес возврата вынесен из стека в кучу, а адрес возврата остался в стеке, или ломаешь кучу. Элементарные различия в прогах, начиная просто с размера буфера и у хакера проблемы, которые надо разбирать с дебагером. А для того, чтоб эксплойнты переполнения буфера отсечь на корню, достаточно сопоставлять размеры копируемых строк с размерами буферов. То есть всего то делов: переписать свой цикл копирования вместо strcpy и вводить/выводить потоками и целый класс эксплойтов становится полностью бесполезным.
Я все это использую исключительно ради добра честно!))) Подкаскажи только мне в чем моя ошибка?)
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
28.03.2013, 05:34     Хакинг. Искусство эксплойта #32
Верю, но подсказать не могу, так как читай мой статус. Все мои хаки были по обезьяньим методам: искать байт со взятым с потолка значением и менять это значение без учёта соседних бюайт на другое потолочное, подсунуть цельнорандомный файл вместо файла, в который игра сохранила, чего налетал.
TagaBenz
0 / 0 / 0
Регистрация: 04.03.2013
Сообщений: 21
30.03.2013, 02:11  [ТС]     Хакинг. Искусство эксплойта #33
Всем спасибо за многочисленные ответы не по делу в моей теме)) разобрался в проблеме сам)
Ввел команду в терминале $ dmesg | less и увидел вот такую вот строку!: [ 0.000000] NX (Execute Disable) protection: active

Пояснение
Современные процессоры поддерживают функцию NX-защиты (NX - сокращение от No eXecute). Это защита областей памяти, которая используется для предотвращения распространения вирусов. Для более подробной информации гугл в помошь))))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.03.2013, 12:03     Хакинг. Искусство эксплойта
Еще ссылки по теме:

Татуировка, как искусство
Искусство передавать мысли

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
30.03.2013, 12:03     Хакинг. Искусство эксплойта #34
Шеллкод отработал? А теперь попробуй изменить уязвимую программу сначала так:
C++
1
2
3
4
5
6
7
8
9
#include <string.h>
#include <iostream>
int main(int argc, char *argv[])
{
 char buffer[500];
 strcpy(buffer, argv[1]);
 std::cout<<buffer;
 return 0;
}
, а потом так:
C++
1
2
3
4
5
6
7
8
#include <string.h>
int main(int argc, char *argv[])
{
 std::string buffer;
 buffer=argv[1];
 std::cout<<buffer;
 return 0;
}
. Эти две версии функционально идентичны, но первая и уязвима для эксплойта, и может просто сглючить при переполнении, а вторая для данного эксплойта не уязвима и не глючит. Попробуй на них и данные, и эксплойт.
Yandex
Объявления
30.03.2013, 12:03     Хакинг. Искусство эксплойта
Ответ Создать тему
Опции темы

Текущее время: 20:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru