Эриксон Д. Хакинг. Искусство эксплойтаКниги по IT. (24,7 МБ, pdf) При слове «хакер» в голове возникает стереотипный образ сетевого хулигана, шпиона с крашеными волосами и пирсингом. У людей, как правило, деятельность хакеров ассоциируется с нарушением закона, из-за этого сложился стереотип что человек, занимающийся хакерством, является преступником. Конечно, есть хакеры, нарушающие закон, но большинство из них законопослушные люди. Суть их работы — поиск не замеченных разработчиками вариантов использования неких правил и свойств, а также решение с их помощью существующих задач новыми и оригинальными способами.

 

Содержание
Предисловие 10
Благодарности 11
Ох100 Введение 12
Ох200 Программирование 17
0x210 Что такое программирование? 18
0x220 Псевдокод 19
0x230 Управляющие структуры 20
0x231 Конструкция if-then-else 20
0x232 Циклы while/until 22
0x233 Цикл for 22
0x240 Основные концепции программирования 24
0x241 Переменные 24
0x242 Арифметические операторы 25
0x243 Операторы сравнения 26
0x244 Функции 28
0x250 Практическое применение 32
0x251 Расширяем горизонты 33
0x252 Процессор х86 36
0x253 Язык ассемблера 38
0x260 Назад к основам 52
0x261 Строки 52
0x262 Базовые типы signed, unsigned, long и short 56
0x263 Указатели 58
0x264 Форматирующие строки 62
0x265 Приведение типов 66
0x266 Аргументы командной строки 73
0x267 Область видимости переменных 77
Ох270 Сегментация памяти 85
Ох271 Сегменты памяти в языке С 92
Ох272 Работа с кучей 94
Ох273 Функция malkx() с контролем ошибок 96
Ох280 Дополнение к основам 98
Ох281 Доступ к файлам 98
Ох282 Права доступа к файлам 103
Ох283 Идентификаторы пользователей 105
Ох284 Структуры 114
Ох285 Указатели на функции 117
Ох286 Псевдостучайные числа 118
Ох287 Азартные игры 120
Ох300 Эксплуатация уязвимостей 133
Ох310 Общий принцип эксплуатации уязвимостей 136
Ох320 Переполнение буфера 136
Ох321 Уязвимости переполнения буфера через стек 140
Ох330 Эксперименты с оболочкой BASH 152
Ох331 Работа с окружением 161
Ох340 Переполнение в других сегментах памяти 169
Ох341 Стандартное переполнение в куче 170
Ох342 Перезапись указателя на функцию 176
Ох350 Форматирующие строки 187
Ох351 Параметры форматирования 187
Ох352 Уязвимость строк форматирования 190
Ох353 Чтение из произвольного моста в памяти 192
Ох354 Запись в произвольное место в памяти 193
Ох355 Прямой доступ к параметрам 201
Ох356 Запись значений типа short 203
Ох357 Обход через секцию .dtors 205
Ох358 Еще одна уязвимость в программе notesearch 210
Ох359 Перезапись глобольной таблицы смещений 212
Ох400 Сетевые взаимодействия 216
Ох410 Сетевая модель OSI 216
Ох420 Сокеты 219
Ох421 Функции сокетов 220
Ох422 Адреса сокетов 222
Ох423 Сетевой порядок байтов 224
Ох424 Преобразование интернет-адресов 224
Ох425 Пример простого сервера 225
Ох426 Пример с веб-клиентом 229
Ох427 Маленький веб-сервер 235
0x430 Спускаемся к нижним слоям 239
0х431 Канальный уровень 240
0x432 Сетевой уровень 241
0x433 Транспортный уровень 243
0x440 Анализ сетевого трафика 246
0x441 Программа для перехвата raw-сокетов 248
0x442 Библиотека libpcap 250
0x443 Расшифровка уровней 253
0x444 Активный сниффинг 262
0x450 Отказ в обслуживании 275
0x451 SYN-флуд 275
0x452 Атака с помощью пингов смерти 280
0x453 Атака teardrop 280
0x454 Наводнение запросами 280
0x455 Атака с усилением 281
0x456 Распределенная DoS-атака 282
0x460 Перехват TCP/IP 282
0x461 Атака с добавлением бита RCT 283
0x462 Дополнительные варианты перехвата 288
0x470 Сканирование портов 288
0x471 Скрытое SYN-сканирование 289
0x472 Сканирование с помощью техник FIN, X-mas и Null 289
0x473 Фальшивые адреса 290
0x474 Метод idle san 290
0x475 Превентивная защита 292
0x480 Давайте взломаем что-нибудь 298
0x481 Анализ с помощью GDB 299
0x482 Почти успех 302
0x483 Шелл-код, привязывающий к порту 305
Ох500 Шелл-код 308
0x510 Сравнение ассемблера и С 308
0x511 Системные вызовы Linux на языке ассемблера 311
0x520 Путь к шелл-коду 314
0x521 Инструкции ассемблера для стека 314
0x522 Использование GDB 317
0x523 Удаление нулевых байтов 318
0x530 Код запуска оболочки 323
0x531 Вопрос привилегий 328
0x532 Дополнительная оптимизация 330
0x540 Шелл-код, привязывающий к порту 332
0x541 Дублирование стандартных файловых дескрипторов 337
0x542 Управляющие структуры ветвлений 339
0x550 Шелл-код с обратным подключением 344
0x600 Меры противодействия 350
Ох610 Средства обнаружения атак 351
0x620 Системные демоны 352
0x621 Обзор сигналов 353
0x622 Демон tinyweb 355
0x630 Инструментарий 360
0x631 Инструмент для эксплуатации уязвимости демона tinywebd 360
0x640 Файлы журналов 366
0x641 Затеряться в толпе 366
0x650 Не видя очевидного 368
0x651 Пошаговая инструкция 369
0x652 Функционирование демона 373
0x653 Дочерний процесс 379
0x660 Усиленная маскировка 381
0x661 Подделка регистрируемого IР-адреса 381
0x662 Остаться незарегистрированным 386
0x670 Инфраструктура в целом 389
0x671 Повторное использование сокетов 389
0x680 Контрабанда вредоносного кода 394
0x681 Шифрование строк 394
0x682 Как скрыть дорожку 397
0x690 Ограничения буфера 398
0x691 Полиморфный шелл-код из отображаемых символов ASCII 401
ОхбаО Усиление противодействия 412
ОхбЬО Неисполняемый стек 413
ОхбЫ Атака возврата в библиотеку 413
0х6Ь2 Возврат в функцию system() 413
ОхбсО Рандомизация стека 416
0х6с1 Анализ с помощью BASH и GDB 417
0х6с2 Возвращение из библиотеки linux-gate 421
ОхбсЗ Практическое применение знаний 425
0х6с4 Первая попытка 425
0х6с5 Уменьшаем риски 427
0x700 Криптология 430
0x710 Теория информации 431
0x711 Безусловная стойкость 431
0x712 Одноразовые блокноты 431
0x713 Квантовое распределение ключей 432
0x714 Вычислительная стойкость 433
0x720 Время работы алгоритма 434
0x721 Асимптотическая нотация 435
0x730 Симметричное шифрование 435
0x731 Алгоритм Гровера 437
0x740 Асимметричное шифрование 437
0x741 Алгоритм RSA 438
0x742 Алгоритм Шора 442
0x750 Гибридные шифры 443
0x751 Атака посредника 444
0x752 Разница цифровых отпечатков узлов в протоколе SSH 448
0x753 Нечеткие отпечатки 452
0x760 Взлом паролей 456
0x761 Перебор по словарю 458
0x762 Атаки с полным перебором 461
0x763 Поисковая таблица хэшей 462
0x764 Матрица вероятности паролей 463
0x770 Шифрование в протоколе беспроводной связи 802.11b 473
0x771 Протокол Wired Equivalent Privacy 473
0x772 Потоковый шифр RC4 475
0x780 Атаки на WEP 476
0x781 Полный перебор в автономном режиме 476
0x782 Повторное использование потока битов ключа 477
0x783 Дешифровка по словарным таблицам IV 478
0x784 Переадресация IP 478
0x785 Атака Флурера, Мантина, Шамира 480
0x800 Заключение 490
0x810 Ссылки 491
0x820 Источники 492