Информационная безопасность - хакеры
Хакеры — это специалисты в области компьютерных систем, которые умеют находить и использовать уязвимости в программах и сетях. В зависимости от целей их деятельность может быть как законной, так и преступной.
В зависимости от мотивации и методов работы хакеров делят на три категории:
«Белые хакеры» (White Hat) — профессионалы в области информационной безопасности, работают на компании, государственные структуры или независимые организации. Их задача — находить уязвимости в системах и устранять их до того, как ими воспользуются злоумышленники. Некоторые виды деятельности:
тестирование на проникновение (Pentesting);
анализ защищённости сетей и приложений;
участие в программах Bug Bounty (поиск багов за вознаграждение);
разработка защитных механизмов (брандмауэры, системы обнаружения вторжений).
«Серые хакеры» (Gray Hat) — действуют без явного злого умысла, но и без разрешения. Часто взламывают системы из любопытства, а затем сообщают об уязвимостях владельцам (иногда требуя вознаграждение).
«Чёрные хакеры» (Black Hat) — киберпреступники, взламывают системы ради личной выгоды: кражи денег, данных, шпионажа или просто ради хаоса.
Некоторые методы, которые используют хакеры для взлома информационных систем:
Фишинг — жертва добровольно передаёт конфиденциальную информацию, считая, что взаимодействует с реальной компанией, менеджером или знакомым человеком. Для получения данных используют электронную почту с рассылками мошеннических сообщений от имени доверенных источников, фейковые сайты, которые содержат вредоносные коды.
Взлом пароля (брутфорс) — злоумышленники пытаются получить доступ к конфиденциальным сведениям с помощью специальных прикладных программ. Путем подбора различных комбинаций букв, цифр и символов они стремятся расшифровать защищённую информацию.
Вредоносное ПО — вирусы, черви, трояны, шпионские утилиты и программы-шифровальщики. Эти цифровые угрозы разрабатываются для заражения устройств, их блокировки и внедрения функций слежки, кражи информации, копирования либо удаления данных, а также вымогательства с требованием выкупа.
DDoS-атака — направление на веб-ресурс большого потока трафика, чтобы загрузить сервер, чтобы пользователи не смогли получить к нему доступ.
-
Хакеры. Герои компьютерной революции
По мере того как Хакерская Этика расходилась по стране, она изменялась. Ее посланниками были небольшие и недорогие компьютеры Apple, Radio Shack, Commodore PET и Atari. Каждый из них был настоящим компьютером, а существенный рост их количества создал потребность в более совершенных программах, которые не покрывались существовавшими методами их распространения
-
Хакеры
В этой книге предпринимается попытка проследить пути компьютерного андеграунда и воссоздать, основываясь на реальных фактах, квртану киберпанк-культуры. Это причудливая смесь современней- ших технических знаний с моралью изгоев
-
Компьютерный андеграунд
Облаченная в тяжелое подводное снаряжение 1939 года, чем-то напоминающее оборудование из "20000 лье под водой", Люси медленно погружалась под воду с палитрой, специальными красками и холстом в руках. Она исследовала океанскую флору, закрепившись к тяжелому мольберту, который позволял ей полностью окунуться в другой мир
Компьютерный андеграунд
Первая страница Нью-Йорк Таймс
Антракс - аутсайдер
-
Фундаментальные основы хакерства
Книга, которую вы сейчас держите в руках, открывает двери в удивительный мир защитных механизмов, рассказывая о том, как создаются и вскрываются защиты. Она адресована всем, кто любит захватывающие дух головоломки. Всем, кто проводит свободное (и несвободное) время за копанием в недрах программ и операционной системы. Наконец, всем, кто по роду своей деятельности занимается (постоянно и/или эпизодически) написанием защит и хочет узнать как грамотно и гарантированно противостоять вездесущим хакерам.
Настоящий том посвящен базовым основам хакерства – технике работы с отладчиком и дизассемблером. Подробно описаны приемы идентификации и реконструкции ключевых структур исходного языка – функций (в т.ч. виртуальных), локальных и глобальных переменных, ветвлений, циклов, объектов и их иерархий, математических операторов и т.д.
Аннотация
Предисловие редактора
Что нового во втором издании
Кто такие хакеры
Чем мы будем заниматься
Что нам понадобиться
Классификация защит
Философия стойкости
Шаг первый. Разминочный.
Шаг второй. Знакомство с дизассемблером
Шаг третий. Хирургический
Шаг четвертый. Знакомство с отладчиком
Способ 0. Бряк на оригинальный пароль.
Способ 1. Прямой поиск введенного пароля в памяти
Способ 2. Бряк на функции ввода пароля
Способ 3. Бряк на сообщения
Шаг пятый. На сцене появляется IDA
Шаг шестой. Дизассемблер отладчик в связке
Шаг седьмой. Идентификация ключевых структур языков высокого уровня
Идентификация функций
Идентификация стартовых функций
Идентификация конструктора и деструктора
Фундаментальные основы хакерства
Идентификация this
Идентификация new и delete
Идентификация библиотечных функций
Идентификация значения, возвращаемого функцией
Идентификация локальных стековых переменных
Идентификация регистровых и временных переменных
Идентификация глобальных переменных
Идентификация констант и смещений
Фундаментальные основы хакерства
Идентификация литералов и строк
Идентификация if – then – else
Идентификация switch – case – break
Идентификация циклов
Идентификация математических операторов
Способы затруднения анализа программ
Немного истории
Как работает отладчик
Обработка исключений в реальном и защищенном режимах
Как хакеры ломают программы
Как защитить свои программы
Как противостоять трассировке
Как противостоять контрольным точкам останова
Как обнаружить отладку средствами Windows
Самомодифицирующийся код в современных операционных системах
Архитектура памяти Windows
Использование WriteProcessMemory
Выполнение кода в стеке
"Подводные камни" перемещаемого кода
Елей и деготь оптимизирующих компиляторов
Самомодифицирующийся код как средство защиты приложений
Пара слов в заключении
Приглашение к дискуссии или новые приемы защиты
Пояснение 1
Ошибки Джефри Рихтера
Грубые ошибки автора
Неточности, недоговорки
Досадные описки и ляпы
Заключение
-
Учебник хакера
Для проверки работы алгоритма пришлось сделать новую программу. С помощью следующего нововведения удалось добиться, чтобы в сети никто не "повис". Серверу посылаются подряд 256 пакетов с разными значениями в поле Sequence Number
ПОДДЕЛКА АДРЕСОВ
ГОЛЛАНДСКАЯ АТАКА
АТАКА ПО-РУССКИ
ПОДПИСЬ ПАКЕТОВ
ДРУГИЕ АСПЕКТЫ БЕЗОПАСНОСТИ
РАСПЕЧАТКА 1 - ФОРМАТ ПАКЕТА ДЛЯ ПОЛУЧЕНИЯ ПОЛНОМОЧИЙ
РАСПЕЧАТКА 2 - ДАННЫЕ NCP-ПАКЕТА ДЛЯ ПОЛУЧЕНИЯ ПОЛНОМОЧИЙ В СЕТИ NETWARE 4.X
Backdoors
Введение.
Изменение атрибутов файлов.
Атрибуты специальных устройств.
Изменение системных файлов.
Подмена программ, модификация библиотек.
Добавление модулей в ядро.
Специально оставленные программы.
Введение доверенных отношений
Добавление или модификация демонов.
Подмена программ.
Введение модулей в ядро.
Определение backdoors.
Проверка файлов.
Контроль сетевых соединений.
Поддержание системы в разумном порядке.
GLAV
HACKING
Htmlcht
INTRO
Javacrk
Levin
MAIN
Pepsi
PRIL1
PRIL2
Как был взломан "Релком-Украина"
Пример 1. Супервизор кусает локти.
Безопасность о двух концах.
Пример 2. Меняйте пароли чаще!
Пример 3. Новый "нюк" (nuke) - система аудита Windows NT.
Пример 4. Пароль больше - кракеру проще.
Пример 5. Шифрование сетевого трафика.
Резюме.
S-ICE
Учебник хакера
Softice
Website
Действующие лица
Как это было...
Последствия и уроки
История Червя: даты и время
-
Хакер №024. Спецвыпуск
Плохо. Не хорошо. Но ничего поделать нельзя, закон природы – голодный и злой всегда пожирает беспечного и откормленного. Так что, ребята, давайте приступим к изучению файерволлинга
Спецвыпуск Xakep
СЕМЬ УРОВНЕЙ в мозгу телекоммуникатора
РАЗВЕДКА-слушаем стену nmap'ом
-
Фундаментальные основы хакерства
Книга, которую вы сейчас держите в руках, открывает двери в удивительный мир защитных механизмов, рассказывая о том, как создаются и вскрываются защиты. Она адресована всем, кто любит захватывающие дух головоломки. Всем, кто проводит свободное (и несвободное) время за копанием в недрах программ и операционной системы. Наконец, всем, кто по роду своей деятельности занимается (постоянно и/или эпизодически) написанием защит и хочет узнать как грамотно и гарантированно противостоять вездесущим хакерам.
Настоящий том посвящен базовым основам хакерства – технике работы с отладчиком и дизассемблером. Подробно описаны приемы идентификации и реконструкции ключевых структур исходного языка – функций (в т.ч. виртуальных), локальных и глобальных переменных, ветвлений, циклов, объектов и их иерархий, математических операторов и т.д.
Аннотация
Предисловие редактора
Что нового во втором издании
Кто такие хакеры
Чем мы будем заниматься
Что нам понадобиться
Классификация защит
Философия стойкости
Шаг первый. Разминочный.
Шаг второй. Знакомство с дизассемблером
Шаг третий. Хирургический
Шаг четвертый. Знакомство с отладчиком
Способ 0. Бряк на оригинальный пароль.
Способ 1. Прямой поиск введенного пароля в памяти
Способ 2. Бряк на функции ввода пароля
Способ 3. Бряк на сообщения
Шаг пятый. На сцене появляется IDA
Шаг шестой. Дизассемблер отладчик в связке
Шаг седьмой. Идентификация ключевых структур языков высокого уровня
Идентификация функций
Идентификация стартовых функций
Идентификация конструктора и деструктора
Фундаментальные основы хакерства
Идентификация this
Идентификация new и delete
Идентификация библиотечных функций
Идентификация значения, возвращаемого функцией
Идентификация локальных стековых переменных
Идентификация локальных стековых переменных - 2
Идентификация регистровых и временных переменных
Идентификация глобальных переменных
Идентификация глобальных переменных - 8
Идентификация констант и смещений
Фундаментальные основы хакерства
Идентификация литералов и строк
Идентификация if – then – else
Идентификация switch – case – break
Идентификация циклов
Идентификация математических операторов
Способы затруднения анализа программ
Немного истории
Как работает отладчик
Обработка исключений в реальном и защищенном режимах
Как хакеры ломают программы
Как защитить свои программы
Как противостоять трассировке
Как противостоять контрольным точкам останова
Как обнаружить отладку средствами Windows
Самомодифицирующийся код в современных операционных системах
Архитектура памяти Windows
Использование WriteProcessMemory
Выполнение кода в стеке
"Подводные камни" перемещаемого кода
Елей и деготь оптимизирующих компиляторов
Самомодифицирующийся код как средство защиты приложений
Пара слов в заключении
Приглашение к дискуссии или новые приемы защиты
Пояснение 1
Ошибки Джефри Рихтера
Грубые ошибки автора
Неточности, недоговорки
Досадные описки и ляпы
Заключение
-
Взломщики кодов
Современные сверхдержавы в значительной степени обязаны своей мощью чрезвычайно разветвленным и работающим с огромной нагрузкой сетям связи, которые повсеместно используются для передачи информации. Эти сети предоставляют криптоаналитикам небывалые возможности для демонстрации умения взламывать шифры
-
Переполнение буфера на системах с неисполняемым стеком
Несмотря на все усилия, вырытые рвы и воздвигнутые защитные сооружения, интенсивность удаленных атак не снижается и отражать их становится все труднее. Хакеры научились маскировать вредоносные процессы под LINUX/BSD и NT, разобрались с брандмауэрами и освоились с распределенными системами
-
Пиратство как прогрессивный налог
Поскольку данный тип лицензии не является в настоящее время широко известным, я считаю необходимым снабдить его некоторым неофициальным комментарием: на мой личный взгляд, семейство лицензий Creative Commons, относится к тому же роду, к которому принадлежит и GNU General Public License
-
Хакерские трюки или как поставить бряк на jmp eax
Начнем с простого. Возьмем демонстрационный пример TF.exe и попытаемся брякнуться на команду PUSHFD. Загружаем программу в отладчик, в меню "debug" выбираем "set condition" или нажимаем . На экране появляется симпатичное диалоговое окно "condition to pause run trace"
-
Шесть грехов malware-писателей
Малварью мы будем называть все вредоносное программное обеспечение, занимающееся размножением, шпионажем, рассылкой рекламы и другими вещами, протекающими без ведома и согласия владельца машины. Достигнув технологического пика своего развития в середине девяностых
-
Хакеры любят мед
Выбрав жертву, не торопитесь приступать к атаке. Прежде убедитесь, что основные признаки honeypot'а отсутствуют (узел обслуживает внешний трафик, имеет конфигурацию отличную от конфигурации по умолчанию, легально используется остальными участниками сети и т. д.).
-
Секреты кернел хакинга
Обычно, при загрузке LINUX'а появляется характерный пингвин, которым уже никого не удивишь, и который ужасно раздражает. Хочется чего-нибудь новенько. Как изменить стандартное лого на что-то свое? Есть несколько путей
-
Добывание информации из pdf-файлов или взлом eBook'ов
Товарищи! Технологический прорыв о котором так долго говорили большевики наконец-то свершился! Себестоимость электронной копии упала до нуля и на горизонте замаячил коммунизм, угрожающе надвигающиеся на буржуа. Как они засуетились! Тут же приняли DCMP (Digital Copyright Millennium Act), защищающий их права
-
Как подделывают CRC16-32
Как же их рассчитать? Помимо используемого алгоритма (включая такие интимные подробности как значение полинома, начальное значение и xor-out), необходимо знать откуда и докуда защита считает контрольную сумму. Выяснив это, необходимо решить другой, гораздо более щекотливый вопрос
-
Побег через брандмаузер
Проникнув на уязвимый компьютер, голова червя должна установить TCP/IP (или UDP) соединение с исходным узлом и подтянуть свое основное тело (также называемое "хвостом"). Аналогичной методики придерживаются и хакеры, засылающие на атакуемый компьютер диверсионный эксплоит
-
Жизнь после BSOD
Синий экран появляется всякий раз, когда ядро возбуждает необрабатываемое исключение (скажем, обращение по нулевому указателю) или отлавливает заведомо "левую" операцию (повторное освобождение уже освобожденной памяти, например). А что делает Жирный Хомяк (он же Системный Администратор), когда видит BSOD?
-
Археологические раскопки ядра vista-longhorn
Microsoft продолжила наступление на переполняющееся буфера, начатое еще в w2k, вводя в действие все новые и новые защитные механизмы, существенно (якобы) затрудняющие реализацию удаленных атак. "Новые", естественно, только для Windows. В остальных операционных системах они были реализованы задолго до появления висты и в гораздо более полным объеме.
-
Ручная троянизация приложений под windows
Крупные компании и синдикаты пишут свои собственные программы (например, привлекательные хранители экрана) с закладками внутри. Соблазненный народ так и прет, а синдикат пожинает урожай
-
Побег из-под vm ware
Народ с тоскою поглядывал в сторону NT, гибкая система безопасности которой позволяла творить чудеса, например, разрешала процессу изменять только специально подсаженные файлы-дрозофилы. Увы! Большинство вирусов не работало под NT! К тому же, подсистема защиты
-
Шприц для bsd или функции на игле
Классический алгоритм внедрения shell-кода выглядит так: сохраняем несколько байт перехватываемой функции и ставим jump на свой thunk, который делает что задумано, выполняет сохраненные байты и передает управление оригинальной функции, которая может вызываться как по jump, так и по call (подробнее этот вопрос рассмотрен в статье "crackme, прячущий код на API-функциях", опубликованной в Хакере).
Самое сложное — выбрать место для размещения thunk'а. Это должна быть память доступная всем процессам, а такой памяти в нашем распоряжении нет! Мы знаем, что "подопытная" библиотека отображается на адресное пространство каждого процесса, но это пространство уже занято! Наскрести пару десятков байт, отведенных под выравнивание, вполне реально, только нам этого не хватает! Приходится хитрить.
-
Шпионские штучки
Люди прятались сами и прятали свое имущество задолго до начала письменной истории человечества, однако написано на эту тему очень мало. Большую часть литературы об укрытиях и тайниках принес с собой культурный взрыв двадцатого века, но книг на эту тему появилось совсем немного и в основном за рубежом. А прежде их и вовсе не было.
Почему? Отчасти потому, что в прошлом большинство людей было неграмотно. Другая же причина — секретность. Многие способы укрывания и потайные места хранились в глубокой, непроницаемой тайне, по крайней мере, так думали те, кто их изобретал
Исторические события воплощаются в сказки, легенды и мифы. Кто из нас не помнит потайную дверцу в каморке папы Карло, которая была замаскирована куском старого холста.
В Британии существует множество легенд о потайных ходах и тайниках. Хотя многие из них, как показали исследования, не имеют реальной основы, до наших дней все-таки дошли и настоящие тайники. Их история восходит к эпохе преследований католиков в Британии. Дело в том, что в случае поимки католическим священникам грозила смертная казнь. Это были «веселые» елизаветинские времена, когда в лондонском Тауэре стояла дыба, на которой жертвы мучились иногда но нескольку дней, прежде чем умереть
Немного истории
Немного о психологии
Общие рекомендации
Кому можно доверить оборудование тайника
ГЛАВА ОБОРУДОВАНИЕ ТАЙНИКОВ
Простые тайники
Настольные лампы и подсвечники
Картины
Старинные часы
Штанги для занавесок в ванной
Карнизы для штор
Тайник внутри трубчатых конструкций
Бытовая радиоаппаратура
Магнитофонные кассеты
Зажигалки
Фотоаппараты
Тайники в свободных полостях и пространствах
Стены
Воздуховоды
Водопровод и сантехника
Тайник в мебели
Тайник на кухне
Ванная и туалет
Сексуальные приспособления
Тайник на чердаке
Тайник в садовых инструментах
Тайник в книге
Литые предметы
Аэрозольные баллоны и другие упаковки под давлением
Керамика
Бытовая электроника
Двери
Встроенные шкафы
Аптечки
Шкафы в кухнях, ванных и подсобных помещениях
Деревянные стенные панели
Тайник за зеркалом
Вешалка для пальто и шляп
Лестницы
Полки
Тайники под полом и землей
Выбор и установка сейфов
Тайников
Электронно-механические запорные устройства
Сенсорные ключи-выключатели
Сенсорный ключ на два положения
Ключи на фотоэлементах
Ключи с временным включением
Оригинальные кодовые ключи
Тайники с системой оповещения
Устройство оповещения с контактным датчиком
Детекторы близости Детектор близости с колебательным контуром
Детекторы вибрации
Детекторы присутствия
Оптоэлектронный датчик дыма
Инструменты
Клей
Электронные устройства и приспособления
Искатели скрытой проводки
Индикаторы фазового провода электропроводки
Индикаторы сетевого напряжения
Электронные приспособления для подземных и подпольных тайников
Простейший индикатор уровня воды
Сигнализатор влажности
Бесконтактные датчики уровня воды
Обнаружение тайников
Поисковое зеркало
Рентгеновские аппараты
Детекторы паров
Собаки
Телевизионные и оптические системы
Металлодетекторы
Индикаторы радиоактивного излучения
Устройства и способы получения информации
Способы получения информации
Шпионские штучки
Технические средства несанкционированного доступа к информации
Обнаружение устройств съема информации
Специальные радиотехнические средства обнаружения
Индикаторы электромагнитного излучения
Средства обнаружения несанкционированного подключения к телефонной линии
Рекомендации по комплексной защите информации
Генераторы шума
Генератор белого шума промышленного производства
Устройства защиты от лазерных средств съема информации
Защита от несанкционированного использования телефонной линии
ГЛАВА ТАЙНИКИ В АВТОМОБИЛЯХ
Тайники на шасси автомобиля
Тайники в трубопроводах и других конструкциях
Тайники в салоне автомобиля
Тайники в корпусе автомобиля
Средства защиты тайника и автомобиля Автомобильные охранные устройства
Противоугонная маркировка автомобилей
Навигационные системы поиска автомобилей
ГЛАВА ТАЙНИК, КОТОРЫЙ ВСЕГДА С ТОБОЙ
Мини-тайник на себе
Тайники в сумочке, кейсе и чемодане
Тайники в часах и других мелких предметах
ГЛАВА НЕОБЫЧНЫЕ МЕТОДЫ
Камеры хранения
Пошлите себе посылку
Служба доставки
Абонентский ящик
Пункты получения корреспонденции
Мини-склады
Ячейка в банке
ГЛАВА КОЕ-ЧТО О КОНТРАБАНДЕ
Помощники
Психология
Предательство
Деньги
Контрабанда ради развлечения
-
Как заточить exploit под себя
Чаще всего exploit'ы пишутся на Си/Си++, Perl, Python и PHP, реже на всякой экзотике типа Ruby, причем тип языка указывается далеко не всегда, а о версии транслятора и ключах компиляции остается только догадываться. Вот такая культура программирования, с которой нам приходится жить
Введение
Где брать?
Чем компилировать?
Доработка напильником
Врезка explouit'ы, атакующие Windows, фиксированные адреса и все-все-все
Заключение
-
Призраки ядра или модули-невидимки
Если компиляция прошла без ошибок, то на диске образуется файл module-hide.o, готовый к загрузке внутрь ядра командой insmod (естественно, загружать модули может только root, техника нелегального приобретения которого рассмотрена в статье "захватываем ring 0 в Linux", ранее опубликованной в "хакере")
Введение
Руководящая идея
что случилось с www.rootkit.com?!
Proof-of-concept module или готовая демонстрация
механизм реализации системных вызовов в LINUX
Листинг1 исходный текст невидимого
Листинг2 прототип функции инициализации LKM-модуля в ядрах версии 2.6
описание системных вызовов (вместе с аргументами), найденное на просторах Интернета
Сборка и загрузка
Листинг 3 компиляция невидимого LKM-модуля
Листинг4 загрузка LKM-модуля в
Листинг5 реакция ядра на попытку загрузки невидимого LKM-модуля mod-hidden.o
Врезка чем выделять память
on-line man по функциям выделения ядерной памяти
Врезка грабеж отладочного вывода
Листинг 8 просмотр отладочного вывода под консолью
Резидентный код в камуфляжных штатах
Маскируемся в адресном пространстве
Заключение