Вы находитесь на странице: 1из 20

[WAPT]

Оглавление
Экскурс в мир хакинга ...................................................................................................... 1

Реверс-инжиниринг ...................................................................................................... 2

Внешний тест................................................................................................................ 4

АСУ ТП (Автоматизированная система управления технологическими процессами) ........ 5

Вардрайвинг................................................................................................................. 7

OSI ............................................................................................................................... 9

TCP/IP......................................................................................................................... 10

Вирусы........................................................................................................................... 13

Способы распространения вирусов ............................................................................. 16

Каналы передачи и распространения .......................................................................... 16

Основные виды вирусных программ: .......................................................................... 17

Методологии пентеста ................................................................................................... 18

NIST ............................................................................................................................ 19

ISSAF .......................................................................................................................... 19

PTES ........................................................................................................................... 20

Экскурс в мир хакинга


Иногда, нам просто необходимо в буквальном смысле 'заглянуть' внутрь
программного обеспечения. Тут нам на помощь приходит реверс-
инжиниринг.

1
Реверс-инжиниринг (реверсинг, reverse engineering) — обратная
разработка и исследование устройства или приложения, а также
документации для того, чтобы понять, как это работает.

Применяется обычно в следующих случаях:

 Анализ вирусов, червей, троянов и пр. для создания средств


защиты;
 Поиск уязвимостей в приложении для создания вирусов, червей,
троянов и пр.;
 Анализ закрытых драйверов для создания открытых, например
для Linux.
Хочу отметить, что выше имеется в виду реверсинг ПО. Также
существует и реверсинг железа.

Для успешной реализации реверсинга необходимы хорошие знания


ассемблера, так как реверсинг включает процесс дизассемблирования,
то есть перевода бинарного кода в код языка ассемблер и последующий
его анализ.

2
Для того, чтобы дизассемблировать приложение, применяются
программы дизассемблеры. Например: hiew или sourcer.

Также при реверсинге используются программы отладчики, которые


позволяют контролируемо исполнять код приложения целиком или
частично. Самой популярной программой отладчиком является IDA.

Также, помимо всего выше перечисленного, в арсенале реверсера


должны быть и декомпиляторы и деобфускаторы. Первые
расшифровывают рабочие файлы языка программирования, на котором
было написано приложение, и из которых оно состоит, в нормально
читаемый код. Вторые помогают обойти защиту от декомпиляции,
которую применяют программисты, когда они обфусцируют код.
Другими словами превращают его в нечитаемую кашу, но корректно
исполняемого.

3
Внешний тест (пентест инфраструктуры) — тестирование на
проникновение периметра корпоративной сети. Чаще всего является
вторым этапом, после тестирования веб-приложения. Так как в идеале,
после успешного тестирования веб-приложения, пентестер получает
доступ к машине, которая может находиться внутри корпоративной
сети. Этапы тестирования практически такие же, что и в тестировании
веб-приложений. Так же присутствует сбор информации о сети. А
именно диапазон IP адресов, топологию сети, количество хостов, типы
ОС на хостах, используемые протоколы и сервисы и т. п. Сканирование
на уязвимости и поиск способов закрепления в сети.

4
АСУ ТП (Автоматизированная система управления технологическими
процессами) - комплекс технических и программных средств,
предназначенный для автоматизации управления технологическим
оборудованием на промышленных предприятиях.

АСУ ТП чаще всего имеет следующую структуру:

Уровень Наименование Описание


Место Самый верхний уровень структуры
верхний управления является местом оператора управления
оператора системой АСУ ТП.
Уровень обозначает сам контроллер,
Контроллер
которой обрабатывает команды и
средний управления
налаживает взаимодействие между
механизмом
оператором и механизмом
Исполнительное Модуль ввода/вывода данных механизма
нижний
устройство исполнителя

5
В идеале, при тестировании подобной системы, необходимо получить
доступ к машине оператора, управляющего системой.

Современные тенденции развития сетевых технологий диктуют свои


правила, и подобные системы все реже создаются изолированными и
без использования TCP/IP. Ведь сотрудникам для удобства желателен
доступ в интернет с рабочего места, да и администратору не всегда
удобно идти на объект - проще подключится удаленно.

При тестировании АСУ ТП следует учесть особенности:

 АСУ ТП являются системами реального времени. Другими


словами, очень критично время реакции администратора на
инцидент;
 В подобных системах используются специализированные и
специально разработанные операционные системы и протоколы;
 Средняя продолжительность жизни системы от 15 до 30 лет;
 Компоненты системы чаще всего изолированы, территориально
удалены и имеют сложную защиту для физического доступа;
 Перезагрузка или обновление чаще всего неприменима в
подобных системах.

6
Вардрайвинг — процесс поиска и получения несанкционированного
доступа к публичным точкам доступа Wi-Fi, осуществляемый в процессе
передвижения на транспорте. Вардрайвинг делится на множество
подтипов, которые различаются только в средстве передвижения.

Для успешного вардрайвинга необходимо обладать хорошими


знаниями в области распространения радиоволн, разбираться в
антеннах, а так же разбираться в протоколах передачи данных через Wi-
Fi. Основные компоненты вардрайвинга: антенна, передатчик,
приемник и автомобиль.

7
Собираем все и идем на «охоту»

Сети и протоколы

8
TCP/IP ссылается на огромное количество протоколов, описание
которых находится в документах под названием RFC. Они находятся в
свободном доступе в Интернете. Протоколы и правила были разделены
на категории – уровни. Каждый уровень обладает своим набором
функций или сервисов, реализующихся за счет протоколов этого уровня.

Среди основных сетевых моделей существуют две: модель OSI и модель


TCP/IP. Иногда можно встретить их как теоретическую и практическую
модели.

OSI
Модель OSI представлена в таблице ниже:

№ Уровень Тип данных Функции Протоколы


Доступ к
HTTP,
7 Прикладной сетевым
FTP,POP3...
службам
Представление
Данные ASCII,
6 Представительский и шифрование
EBCDIC...
данных
Управление
5 Сеансовый RPC, PAP...
сеансом связи
Прямая связь
между
TCP, UDP,
4 Транспортный Сегменты конечными
SCTP, PORTS
пунктами и
надежностью
Определение
Ipv4, Ipv6,
маршрута и
3 Сетевой Пакеты Ipsec,
логическая
AppleTalk
маршрутизация
2 Канальный Кадры Физическая PPP,IEEE

9
адресация 802.22,
Ethernet,
DSL, ARP,
L2TP
USB, витая
Среда передачи
1 Физический Биты пара,
данных
оптоволокно

TCP/IP
№ Уровень Протоколы
4 Прикладной HTTP, RTSP, FTP, DNS
3 Транспортный TCP, UDP, SCTP, DCCP
2 Сетевой IP
Ethernet, IEEE 802.11 WLAN,
1 Уровень сетевого доступа
SLIP, Token Ring, ATM и MPLS

По сути обе модели описывают одно и то же, но модель OSI более


подробная.
Рассмотрим каждый уровень по модели OSI более подробно.

Прикладной
Данный уровень обеспечивает взаимодействие пользовательских
приложений с сетью. Данные передаются конкретному приложению
благодаря порту.

Представительский
На этом уровне происходит кодирование/декодирование данных.

Сеансовый
Данный уровень управляет созданием/завершением сеанса, позволяет
взаимодействовать приложениям между собой.

10
Транспортный
Данный уровень обеспечивает уровень надежности передачи данных.
Сам уровень надежности варьируется в зависимости от выбранного
протокола. Например, если использовать протокол TCP, то данные будут
сначала равномерно разделены на более мелкие сегменты. Каждый
сегмент пронумеруется при отправке. При получении сегмента
конечный хост будет пытаться собрать данные из этих сегментов в том
же порядке, в котором они были пронумерованы. Если же какой-то
сегмент потеряется по пути, то конечный хост отправит запрос на хост
отправителя для того, что бы отправитель снова послал этот сегмент. И
так до тех пор, пока не соберутся все данные.
Если же мы будем использовать протокол UDP, то в этом случае
проверки каждого сегмента не будет. Здесь надежность обеспечивается
дублированием сегментов.
TCP используется для передачи данных, критичных к нарушению
целостности. Например, текст, веб страница и пр. UDP используется в
обратном случае, например для передачи видео или звука.

Сетевой
Определяет куда именно должен уйти пакет. На этом уровне задается IP
адрес отправителя и IP адрес следующего узла.

Канальный
Этот уровень обеспечивает взаимодействие сетей на физическом
уровне, присваивая mac адреса отправителя и получателя.

Физический
Данный уровень преобразовывает данные в двоичный код и
определяет метод передачи его по каналу связи.
Для того, чтобы лучше понять, как происходит процесс передачи данных
в сети, нужно объяснить такие понятия, как инкапсуляция и
декапсуляция.

11
Инкапсуляция — процесс передачи данных с верхнего уровня на
нижний.
Декапсуляция — наоборот, процесс передачи данных с нижнего уровня
на верхний.
Например, когда мы запрашиваем веб-страницу с веб-сервера, вот что
происходит:
Сам адрес документа на сервере является данными, которые надо
передать на сервер в виде запроса
1) На представительском уровне данные кодируются в нужную для
передачи форму;
2) На сеансовом уровне, в нашем случае, ничего не добавится -
данные пойдут дальше;
3) На транспортном уровне определяется протокол для передачи. В
нашем случае, будет использован протокол TCP, а данные будут
разбиты на кусочки, которые называются сегментами. Каждому
сегменту, содержащему информацию о портах, добавляется
заголовок, в котором содержится информация о проходящих
через порт данных;
4) На сетевом уровне каждому сегменту добавляется еще заголовок,
который содержит IP адреса отправителя и получателя. Сами
сегменты становятся пакетами;
5) На канальном уровне снова каждому пакету добавляется еще
заголовок, в котором содержится информация о MAC адресах
отправителя и получателя. Пакеты становятся кадрами или
фреймами;
6) На физическом уровне фреймы преобразуются в битовый сигнал и
передаются по каналу связи.
При получении сигналов сервером произойдет декапсуляция. Процесс
ничем не отличает от инкапсуляции кроме направления по модели OSI.
Также полезно будет знать, что при передаче сигналов по сети,
маршрутизаторы декапсулируют до сетевого уровня, так как им надо

12
знать IP адрес. Коммутаторы же, в свою очередь, декапсулируют до
канального уровня, так как им достаточно знать MAC адрес.

Вирусы
История
1951 Джон фон Нейман предлагает метод создания
самовоспроизводящихся механизмов. Далекий предок
вируса.
1961 В свет выходит необычная игра "Дарвин" от разработчиков
В.А. Высотский, Д. Макилрой и Р. Моррис, которая
напоминала деятельность вирусов. Смысл игры был прост:
программы, которые назывались организмом, созданные
одним игроком, должны были уничтожать программы,
созданные другим игроком.
1980 Ю. Краус, на тот момент студент Дортмундского
университета защищает дипломную работу по теме
"Самовоспроизводящиеся программы".
1981 Создан первый загрузочный вирус, написанный Р. Скрента.
Вирус распознавался благодаря сообщению.

ELK CLONER:
THE PROGRAM WITH A PERSONALITY
IT WILL GET ON ALL YOUR DISKS
IT WILL INFILTRATE YOUR CHIPS
YES, IT'S CLONER
IT WILL STICK TO YOU LIKE GLUE
IT WILL MODIFY RAM, TOO
SEND IN THE CLONER!

1984 Э. Хопкинс и его программы CHK4BOMB и BOMBSQAD.


Первый антивирус. Первая анализировала текст загрузочного
модуля и выявляла подозрительные участки кода. Вторая
перехватывала операции записи и форматирования,
совершаемые через BIOS.

13
1985 Т. Нефф начал распространять список, который содержал
известные, на тот момент, вирусы.
Также, в этом году Г. Вонг завершает работу над программой
DPROTECT. Программа работает как антивирус, перехватывая
и пресекая попытки записи на дискеты и жесткий диск, а так
же блокировала все операции производимые через BIOS

1987 Эпидемия вируса «Brain». Заражено свыше 18 тысяч


компьютеров. Программа, призванная наказать пиратов,
вышла из под контроля.
1988 Эпидемия вируса «Jerusalem». Заражены множество фирм и
университетов различных стран мира. Вирус уничтожал
файлы при запуске.
Также в этом году мир познакомился с «Червем Мориса»,
направленный на поражение систем UNIX. В связи с
незначительными ошибками при разработке червя,
произошло бесконтрольное размножение. В результате
поражено свыше 6200 компьютеров, а убытки на то время
составили порядка $96 миллионов.

1989 Год, богатый на новшества в мире вирусологии.


DATACRIME — вирус, который до определенно момента
только размножался, а в час Х разрушал файловую систему.
Поразил около 100 тысяч компьютеров. Компания IBM для
противодействие этой угрозе выпускает детектор VIRSCAN,
которые искал характерные для вирусов сигнатуры.
Появился первый вирус типа «троянский конь» AIDS. Вирус
вымогатель, блокировал компьютер и просил $189 для
разблокировки.
«The Dark Avangers» - первый вирус направленный на
противодействие антивирусного ПО. Заражал файлы во
время сканирования файловой системы антивирусом.

1990 Революция в мире вирусов. Первый полиморфный вирус

14
Chameleon. Технология данного вируса вдохновила на
создание более мощных вирусов: Frodo и Whale, которые
стали первыми стелс-вирусами, вобравшими в себя такие
технологии, как бронирование, многоуровневое
шифрование, анти отладочные механизмы и стелс-
технологии. В результате эти вирусы успешно противостояли
всем антивирусным решениям того времени.
На борьбу с новыми типами вирусов бросаются большие
силы и в свет выходит новый антивирус «Symantec Norton
Antivirus»

1991 Эпидемия вируса «Tequila». Это новый тип вируса —


полиморфный загрузочный вирус.
1992 Появление первых конструкторов вирусов для персональных
компьютеров - готовых полиморфных модулей и модулей
шифрования вирусов.
Появление первого вируса для Windows 3.1 — WinVer

1993 Вирусописатели эксперементируют с новыми способами


заражения файлов. Выходят новые версии вирусных
генераторов. Количество известных вирусов неуклонно
растет. Счет идет на тысячи.
Антивирусные компании тратят много сил на разработку
алгоритмов борьбы с полиморфными вирусами. Появляется
проблема ложных срабатываний.

1994 Усложнение вирусов. Появление вирусов, способных


заражать объектные модули. Обнаружение вируса SrcVir —
заражающего исходные коды программ C и Pascal. Эпидемия
вируса «OneHalf»
1995 Новые типы вирусов: двухполый вирус RMNS, BAT-вирус
Winstart. Появление вирусов ByWay и DieHard2 — сообщения
о зараженных поступают со всего мира. Инцидент с Windows
95 — все диски бета версии заражены вирусом Form.

15
2012 Появление кибероружия. Другими словами в свет выходят
вирусы, к которым, по экспертным данным, приложили руку
правительственные структуры. К ним относятся: Flame, Gauss,
Red October, NetTraveler, Icefog

Надеюсь, это краткое знакомство с историей развития вирусов вас не


утомило. Из всего вышеперечисленного вам нужно сделать вывод, что
вирус давно является не простой «страшилкой» или «мелкой пакостью»,
а опасным средством массового поражения.
Способы распространения вирусов
Перед тем, как узнать каналы распространения вирусов, стоит
упомянуть объекты распространения вирусов. Для того, чтобы вирус
сделал свое грязное дело, его нужно запустить. В этом и кроется
слабость большинства вирусов. Логичным выводом из этого является
список объектов, в которых можно спрятать вирус:
 Файлы исполняемых программ;
 Файлы офисных систем. Таких как MS Word. MS Excel и другие;
 Драйверы устройств операционных систем;
 Загрузочные секторы flash накопителей;
 Уязвимость сетевых протоколов.
По поводу последнего пункта поясню, так как он не является
очевидным. Дело в том, что не всем вирусам нужно, чтобы их запускали.
Существуют вирусы-черви, которым достаточно маленькой лазейки в
виде сетевой уязвимости, что бы совершить то, для чего они были
созданы. Яркий пример – шифровальщик WannaCry,
распространяющийся автоматически через уязвимость в smb протоколе.
Эпидемия коснулась многих, а кого не коснулась – так или иначе об
этом слышали.

Каналы передачи и распространения


 Электронная почта — самый простой способ, послать письмо с
прикрепленным к нему файлом документа. Но в этом случае от

16
атакуемого требуются навыки в социальной инженерии, так как
надо убедить атакуемого запустить прикрепленный файл или
перейти по вредоносной ссылке.
 Веб-страницы - благодаря скриптовым языкам, используемым
при front-end разработки сайтов, а так же различных компонентов,
таких как ActiveX и прочее, веб-сайты являются хорошим способом
доставить вирус жертве. Но, как и в предыдущем пункте,
необходимы навыки в социальной инженерии, ведь
инфицированный сайт должен привлекать и расслаблять
бдительность атакуемого. Само собой чаще всего такие сайты
содержат контент 18+ или контент, связанный с нелегальным
софтом. Также к этому пункту можно отнести и фишинговые
сайты, когда инфицированный сайт маскируется под оригинал для
компрометации данных входа или загрузки вирусного ПО жертве.
 Системы обмена мгновенными сообщениями — другими словами
чаты и мессенджеры. Достаточно просто подсунуть атакуемому
ссылку на интересную новость или картинку, следствием нажатия
на которую будет заражение устройства. И снова не забываем про
социальную инженерию.
 Переносные носители информации — я почти уверен, что у вас с
этим пунктом не возникнет вопросов. Достаточно просто
представить флешку, на которой будет исполняемый файл с
вирусом. Достаточно только заставить атакуемого запустить его.
Не забываем про социальную инженерию.
 Сеть — как пример шифровальщик WannaCry, который описывался
чуть выше.

Основные виды вирусных программ:


 Worm (червь) - распространяется автоматически через сетевые
порты, контакты электронной почты, расшаренные папки и так
далее .

17
 Rootkit (маскировщик) – вирус, направленный на то, чтобы
спрятать присутствие вредоносной активности в системе. Могут
модифицировать операционную систему на уровне ядра.
 Zombie (бот-вирус) - направлен на то, чтобы захватить управление
ресурсами атакуемой машины. Из множества таких зараженных
компьютеров формирует специальная сеть, называемая ботнет.
Чаще всего используется для DDOS атак.
 Winlock (блокировщики, шифровальщики, вымогатели) -
блокируют доступ к компьютеру атакуемого и выдают
инструкцию, следуя которой можно вернуть доступ.
 Sypeware (шпионы) - собирают информацию обо всем, что
происходит на компьютере атакуемого.
 Adware — наверняка каждый из вас хотя бы раз в жизни, да
встречался с этим вирусом. Вирус встраивает рекламу без ведома
пользователя.
 Trojan — вирус, маскирующий себя под безобидную программу.
Является самым распространенным вирусом, а так же самым
опасным. Так же его очень тяжело отследить. Никак не проявляет
себя, пока атакуемый не запустит программу. В отличие от
остальных не может самостоятельно размножаться.

Методологии пентеста
Во время тестирования на проникновение, если вы хотите получить
правильный результат, принято придерживаться определенных
методологий. Другими словами рекомендаций и советов, которые дают
более опытные люди из этой области.
Существует множество методологий. Здесь будут описаны лишь самые
распространенные.
1. NIST
2. ISSAF
3. PTES

18
NIST
Создана и поддерживается компанией NIST-CSRS - центром по
компьютерной безопасности.

Включает в себя следующие этапы:


 Планирование — является самым важным этапом. Включает в
себя сбор информации, необходимой для оценки средств
контроля безопасности, сферы охвата, требований, ролей
команды, ограничений, ресурсов, сроков и результатов.
 Выполнение — основной целью этого этапа является выявление
уязвимостей и проверкой их достоверности. Другими словами сам
пентест.
 Формирование отчета — этот этап подразумевает оценку
выявленных уязвимостей, причин их возникновения и способов их
устранения.

ISSAF
Разработан OISSG для внутренних контрольных проверок.

Содержит следующие этапы:


 Планирование и подготовка — этап включает в себя обмен
информацией, а именно: обсуждение и составление договора об
оценке, указывается конкретная группа взаимодействия, точная
дата и время проведения теста и т. д.
 Оценка — этап, на котором проводится фактический тест и
делится на следующие под этапы:
o Сбор информации
o Оценка сети
o Определение уязвимостей
o Проникновение
o Получение доступа и повышение привилегий
o Компрометация пользователей и сайтов

19
o Поддержание доступа
o Сокрытие пейте проникновения
 Отчетность — составление отчета о проделанной работе, очистка
и уничтожение артефактов.

PTES
Стандарт, разработанный для объединения бизнес требований,
возможностей служб безопасности и масштабирования тестов на
проникновение.

Этапы:
 Подготовительный — обговариваются каналы коммуникации,
правила взаимодействия и контроля, конкретные способы
мониторинга и контроля инцидентов;
 Сбор информации;
 Моделирование угроз;
 Методы анализа уязвимостей;
 Эксплуатация;
 Пост-эксплуатация.

Служба Поддержки

8 800 707 5466


с 8:00 до 20:00 по мск
school@codeby.net

20

Вам также может понравиться