Основная терминология
Основы работы в среде Kali Linux
Методология pentest
Инструменты для сбора информации
Идентификация целевых машин
Open system interconnection basic reference model (OSI)
Transmission Control Protocol/Internet Protocol (TCP/IP)
Составление списка целей
Penetration testing = pentest = тестирование на проникновение
Целевая система =жертва = цель = Metasploitable2
Attack system = атакующая система = Kali Linux
vs = versus = против/в сравнении
- Основана на Debian
- В её составе более 300 инструментов для проведения тестирования на проникновение
- Поддерживает множество Wi-Fi адаптеров
- Ядро имеет патчи для packet injection
- Есть поддержка ARM
Работа с файлами и директориями
ls, pwd, cd, mkdir, cp, rm
Работа с пользователями
adduser alex
adduser alex sudo
su alex
- Специально собранный дистрибутив-жертва
- Включает в себя множество уязвимостей, бэкдоров, слабых паролей, etc.
- При использовании должен быть недоступен извне
- Скачать и установить Metasploitable 2
- Ознакомиться с имеющейся обстановкой
- Попробовать использовать nmap для поиска открытых портов
- Более подробный разбор на следующем занятии
- Черный ящик vs белый ящик
- Поиск уязвимостей vs pentest
- Open Source Security Testing Methodology
- Information Systems Security Assessment Framework
- Open Web Application Security Consortium Threat Classification
- Penetration Testing Execution Standard
- Обзор целей
- Сбор информации
- Определение целей
- Составление списка целей
- Поиск уязвимостей
- Социальная инженерия
- Эксплуатация целей
- Повышение привилегий
- Удержание доступа
- Составление отчета
- Что нужно тестировать?
- Как нужно тестировать?
- Какие условия нужно соблюдать во время тестирования?
- Какие ограничения по времени тестирования?
- Сколько времени понадобиться для завершения тестирования?
- Какие цели будут достигнуты?
Включает инструменты для сбора информации о DNS, Intrusion Detection System/Intrusion Prevention System (IDS/IPS),
сетях, операционных системах, маршрутизации, Secure Sockets Layer (SSL), Server Message Block (SMB), Virtual Private Network (VPN), Voice over IP (VoIP), Simple Network Management Protocol и e-mail адресах.
- Форумы
- Доски объявлений
- Новостные группы
- Статьи
- Блоги
- Социальные сети
- Веб-сайты
- Whois - протокол поиска данных о регистрации доменных имен, IP-адресов, автономных систем
- Работает согласно RFC 3912
- По умолчанию в Kali Linux уже установлен, вызывается командой whois
- После получения информации о регистрации домена, следующий этап-получения IP-адреса.
- Для этого в Kali Linux есть команда
host
илиdig
- По результатам будет видно по каким IPv4 и IPv6 доступен сервер
dig ssga.ru any
dig @ns.ssga.ru ssga.ru axfr
Dnsenum
- Установить виртуальную машину (VmWare Player/VirtualBox)
- Скачать и установить Kali Linux
- С помощью Maltego найти информацию о каком-нибудь сайте или человеке
- Theharvester - зачем искать самому, если есть поисковые системы Google, Linkedin, etc
- Metagoofil - получение файлов, доступных на сайте
Определить:
- живые компьютеры в сети;
- операционные системы этих компьютеров;
- определить роль каждого устройства в сети.
Эти данные можно получить с помощью активных или пассивных технологий поиска
ping
,ping6
(использует ICMP)arping
(использует ARP)nping
(способен работать по TCP, UDP, ICMP и ARP)p0f
(определяет операционную систему)nmap
(сканер сетей)
- Настроить сетевое подключение виртуальных машин Kali Linux и Metasploitable 2, так чтобы они находились в одной локальной сети
- С помощью сканера (например, nmap) из Kali Linux получить IP-адрес жертвы и список открытых портов
Вы пытаетесь пропинговать, например, адрес соседнего компьютера командой ping 192.168.1.118. Данные этого приложения показаны фиолетовым параллелепипедом.
За это отвечает протокол ICMP. В него инкапсулируется информация от приложения — это означает, что к данным 5-го уровня добавляется заголовок со служебной информацией 4-го уровня
Его данные упаковываются (инкапсулируются) в IP-пакеты, где в заголовке указан IP-адрес получателя (192.168.1.118) и IP-адрес отправителя — логические адреса.
А затем всё это инкапсулируется в Ethernet-кадры с MAC-адресами отправителя и получателя — физическими адресами.
В последнюю очередь сетевая карта вашего компьютера дробит фрейм на биты и отправляет их в кабель.
Коммутатор из поступивших битов собирает первоначальный кадр
Естественно, кадр опять передаётся в виде битов — это закон электроники, и вы должны просто всегда иметь это в виду.
Конечный хост, получив поток битов, собирает из них кадр, ещё только предполагая, что он предназначается ему.
Далее он сравнивает MAC-адрес получателя со своим и, если они совпадают, то заголовок второго уровня отбрасывается. IP-данные передаются на обработку вышестоящему протоколу. Если адреса не совпадают, то кадр отбрасывается вместе со всем содержимым.
Далее сравниваются IP-адрес получателя и этого устройства. Если совпадают, то заголовок сетевого уровня отбрасывается, и данные передаются транспортному уровню (ICMP) Конечный хост обработал ICMP-запрос (echo-request) и готов послать ICMP-ответ (echo-reply) вашему компьютеру с адресом 192.168.1.131 и далее пункты 1-3 повторяются уже для нового кадра
- Этот этап объединяет всё, что было получено на предыдущих
- Сканируются порты на целевых машинах
- Определяются запущенные службы
- Определяются системы обнаружения вторжений
- В Kali Linux для этого можно использовать автоматизированные инструменты
- Теория:
- Понятие уязвимостей
- Классификация уязвимостей
- Отличие уязвимостей и атак
- Пример уязвимости
- Практика:
- Поиск и эксплуатация уязвимостей
- А перед этим придется малость повозиться с настройками
- Что такое уязвимости?
- Откуда они берутся и какие бывают?
- Как уязвимость даёт атакующему возможность выполнять свой код?
- Что такое
payload
,shellcode
?