- •ВВЕДЕНИЕ
- •ГЛАВА 1. ОСНОВЫ LINUX
- •1.1. ПРОЦЕСС ЗАГРУЗКИ ОС. ЯДРО
- •1.1.1. Загрузчики Linux
- •1.1.2. Загрузчик GRUB2
- •Конфигурационные файлы
- •Выбор метки по умолчанию
- •Пароль загрузчика GRUB2
- •Установка загрузчика
- •1.1.3. Система инициализации
- •Принцип работы
- •Цели
- •Управление сервисами при использовании systemd
- •1.2. УЧЕТНЫЕ ЗАПИСИ ПОЛЬЗОВАТЕЛЕЙ
- •1.2.1. Введение в учетные записи Linux
- •1.2.2. Получение полномочий root
- •1.2.3. Управление учетными записями пользователей
- •Файлы /etc/passwd и /etc/shadow
- •Группы пользователей
- •1.2.4. Модули РАМ
- •Ограничиваем время входа в систему
- •Ограничение системных ресурсов с помощью РАМ
- •1.3. ПРАВА ДОСТУПА К ФАЙЛАМ И КАТАЛОГАМ
- •1.3.1. Общие положения
- •1.3.2. Смена владельца файла
- •1.3.3. Определение прав доступа
- •1.3.4. Специальные права доступа
- •1.3.5. Атрибуты файла
- •1.4. МОНТИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ
- •1.4.1. Монтируем файловые системы вручную
- •1.4.2. Имена устройств
- •1.4.3. Монтируем файловые системы при загрузке
- •1.4.4. Автоматическое монтирование файловых систем
- •1.4.5. Работа с журналом
- •1.4.6. Преимущества файловой системы ext4
- •Создание файла подкачки
- •Файлы с файловой системой
- •ГЛАВА 2. ЛОКАЛЬНЫЙ ВЗЛОМ - ЛОМАЕМ ПАРОЛЬ ROOT
- •2.1. ИСПОЛЬЗУЕМ ПОДМЕНУ ОБОЛОЧКИ
- •2.2. ИСПОЛЬЗУЕМ ЗАГРУЗОЧНЫЙ ДИСК
- •ГЛАВА 3. ПОЛУЧАЕМ ПРАВА ROOT НА VDS
- •3.1. СБОР ИНФОРМАЦИИ
- •3.2. КРИТИЧЕСКИЕ ДАННЫЕ
- •3.3. ФЛАГИ SUID/SGUID
- •3.4. АНАЛИЗ ИСТОРИИ КОМАНД
- •3.5. ВОЗМОЖНОСТИ LINUX
- •3.6. ПЛАНИРОВЩИК CRON
- •3.8. БРУТФОРС SSH
- •3.8.1. Использование Patator
- •3.8.2. Инструмент Hydra
- •3.8.3. Инструмент Medusa
- •3.8.4. Metasploit
- •ГЛАВА 4. УЯЗВИМОСТИ ECRYPTFS
- •4.1. ВЫБОР СРЕДСТВ ШИФРОВАНИЯ В LINUX
- •4.2. АТАКА НА ECRYPTFS: ПОЛУЧАЕМ ПРИВИЛЕГИИ ROOT
- •ГЛАВА 5. ВЗЛОМ ПОПУЛЯРНЫХ СЕТЕВЫХ СЕРВИСОВ
- •5.1. УЯЗВИМОСТЬ В APACHE
- •5.1.1. Общее описание уязвимости
- •Пример 2
- •5.2. ВЗЛОМ MYSQL
- •5.2.1. SQL-инъекции
- •5.2.2. Поиск жертвы
- •5.2.3. Брутфорс
- •5.2.4. Что делать дальше?
- •5.3. ВЗЛОМ WORDPRESS
- •ГЛАВА 6. СБОР ИНФОРМАЦИИ
- •6.1. ОБЩЕДОСТУПНЫЕ САЙТЫ
- •6.2. ПОЛУЧЕНИЕ ИНФОРМАЦИИ О ДОМЕНЕ
- •6.3. КОМАНДА HOST
- •6.6. КОМАНДА TRACEROUTE
- •ГЛАВА 7. ЧТО ТАКОЕ KALI LINUX И КАК ЕГО ИСПОЛЬЗОВАТЬ ДЛЯ ВЗЛОМА
- •7.1. ВКРАТЦЕ О KALI
- •7.2. ГДЕ СКАЧАТЬ И КАК УСТАНОВИТЬ KALI LINUX
- •7.3. ОБСЛУЖИВАНИЕ СИСТЕМЫ
- •7.3.1. Обслуживание источников пакетов
- •7.3.3. Регулярная очистка системы
- •8.1. WPSCAN
- •8.2. NMAP
- •8.3. LYNIS
- •8.4. AIRCRACK-NG
- •8.5. HYDRA
- •8.6. WIRESHARK
- •8.7. METASPLOIT FRAMEWORK
- •8.8. SKIPFISH
- •8.9. SQLMAP
- •8.10. ВЗЛОМ ПАРОЛЯ WINDOWS. JOHN THE RIPPER
- •8.12. AUTOPSY FORENSIC BROWSER: ПРОФЕССИОНАЛЬНЫЙ ИНСТРУМЕНТ ПРАВООХРАНИТЕЛЬНЫХ ОРГАНОВ
- •8.13. NIKTO
- •8.14. SNORT
- •8.15. AIRFLOOD
- •8.16. APKTOOL
- •8.17. NESSUS - ЛУЧШИЙ СКАНЕР УЯЗВИМОСТЕЙ
- •ГЛАВА 9. ИСПОЛЬЗОВАНИЕ METASPLOIT ДЛЯ ВЗЛОМА
- •9.1. ЧТО ТАКОЕ METASPLOIT
- •9.2. СТРУКТУРА ФРЕЙМВОРКА
- •9.3. БАЗОВАЯ ТЕРМИНОЛОГИЯ
- •9.4. КОНФИГУРАЦИИ ФРЕЙМВОРКА И ОСНОВНЫЕ КОМАНДЫ
- •9.6. ПЕРВЫЙ ЗАПУСК METASPLOIT
- •9.7.9. Команда irb
- •9.8. ПРАКТИЧЕСКИЙ ПРИМЕР 1: ВЗЛАМЫВАЕМ СТАРЕНЬКИЙ СЕРВЕР WINDOWS 2008 С ПОМОЩЬЮ ЭКСПЛОИТА АНБ
- •10.1. КТО И ЗАЧЕМ ВЗЛАМЫВАЕТ АККАУНТЫ
- •10.2. СБОР ИНФОРМАЦИИ
- •10.3. МЕТОДЫ ВЗЛОМА
- •10.3.1. Взлом электронной почты
- •10.3.3. Перебор пароля
- •10.3.4. Фишинг или фейковая страничка. Очень подробное руководство
- •10.3.5. Клавиатурный шпион
- •10.3.6. Подмена DNS
- •10.4. КАК УБЕРЕЧЬСЯ ОТ ВЗЛОМА
- •ГЛАВА 11. АНОНИМНОСТЬ В ИНТЕРНЕТЕ
- •11.1. ЧАСТИЧНАЯ АНОНИМНОСТЬ
- •11.2. ЦЕПОЧКИ ПРОКСИ
- •11.3. ПРОЕКТ TOR
- •Фиксирование входных узлов
- •Исключение подозрительных узлов
- •Запрещаем использовать комп в качестве выходного узла
- •11.4. VPN ДЛЯ LINUX
- •11.5. ЧТО ТАКОЕ DARKNET?
- •11.6. НА ПУТИ К ПОЛНОЙ АНОНИМНОСТИ
- •11.7. ЗАМЕТАЕМ СЛЕДЫ
- •11.7.1. Приложения для безопасного удаления данных с жестких дисков
- •11.7.2. Удаление инфы с SSD
- •11.7.3. Запутываем следы
- •12.1. ПРИБОРЫ И МАТЕРИАЛЫ
- •12.2. ВСКРЫВАЕМ АРК
- •12.3. ВНОСИМ ИЗМЕНЕНИЯ В ПРОГРАММУ
- •12.4. УСТАНОВКА ANDROID STUDIO В LINUX
- •13.1. ВЗЛОМ FTP
- •13.2. ПРОВЕРКА ПОРТОВ
- •13.3. СКАНИРОВАНИЕ MYSQL
- •13.4. ТСР-СЕРВЕР НА PYTHON
- •13.5. КАК ЗАПУСКАТЬ СКРИПТЫ ИЗ ЭТОЙ ГЛАВЫ?
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
---------Ubraries lnterfaces--- - - ---.
|
--------------- -------------· |
|
Рис. 9.1. Структура Metasploit |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
До начала работы с пакетом нужно учесть возможность использования базы данных, для хранения информации о хостах, сервисах, уязвимостях и про чем. Подключение к базе весьма необязательное условие для функциониро вания фреймворка, но тем не менее повышающее удобство использования и производительность.
Metasploit использует PostgreSQL, поэтому до начала работы с ним понадо бится установить СУБД на свою систему. Затем убедиться, что запущены нужные сервисы БД и фрей!'4ворка. Далее мы покажем, как подготовить базу даю ых для Metasploit.
9.3. Базовая терминология
Прежде, чем мы начнем изучение фреймворка, нужно разобраться с терми нологией, чтобы мы говорили на одном языке.
Эксплоит (англ. exploit - использовать) - это общий термин в сообще |
||||
,. - - - - - - - - - - - - - - - - - - |
. - - . - - - - - - - - - |
. - - - . - - - - - - - - |
. - - |
--- |
стве компьютерной безопасности для обозначения |
фрагмента программ |
ного кода, который, используя возможности, предоставляемые ошибкой,
отказом или уязвимостью, |
ведет к повышению привилегий или отказу в |
- -- - - - |
- - - - - - - . . . - - - - . - - - . . - - - - . . |
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
|
X |
|
|
|
|
|
|||
|
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
P |
|
|
|
|
|
|
NOW! |
o |
|
||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
to |
|
|
|
|
|
|
|
|
Click |
|
|
обслуm |
.живании компьютерной системы. |
|||||
w |
|
|
|
||||||||
|
w |
|
|
|
|
|
|
|
o |
|
|
w |
. |
|
|
|
|
|
.c |
|
|||
|
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Шелл-код, код оболочки, шелл-код shellcode) двоичный испол няемый код, который обычно передаёт управление консоли,
shel[)
Реверс-шел.л при эксплуатации удш,енной уязвимости шелл-код может открывать заранее заданный порт ТСР уязвимого компьютера, через ко торый будет осуществляться дш,ьнейший доступ к командной оболочке,
port Ьinding shellcode).
reverse shell shellcode).
Уязвимость
vulnerabllity)
полезная нагрузка
payload.
payload.
81-------........................ |
-...- -...-..--....-................. |
-......--...-_, |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
overhead code
payload
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
9.4. Конфигурации фреймворка и основные команды
командная строка
веб-интерфейс графическая оболочка
'-·-- - - - . - - - -- - - - - - - - - - - . -- - - . - - - . - - - . - - - - - - - - - - - - - - - - - . . - - - - - - - - - - - - . - - - - - - - - - - ---
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
P |
|
|
|
|
|
NOW! |
o |
|
|
||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
|
w Click |
|
|
Таблицаm |
9.1. Основные команды msfconsole |
|||||||
|
|
|
|||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
. |
|
|
|
|
|
.c |
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Команда |
Описание |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
use |
Используется для выбора определенного модуля для работы |
|
с ним |
||
|
||
|
|
|
back |
Операция, обратная use, то есть перестать работать с выбран- |
|
ным модулем и вернуться назад |
||
|
||
|
|
|
show |
Показать список модулей определенного типа |
|
|
|
|
set |
Установить значение определенному объекту |
|
|
|
|
run |
Запустить вспомогательный модуль |
|
|
|
|
info |
Вывести информацию о модуле |
|
|
|
|
search |
Найти определенный модуль |
|
|
|
|
check |
Проверить целевую систему, подвержена ли она уязвимостям |
|
|
|
|
sessions |
Показать список доступных сессий |
9.5. Конфиrурация модулей
Укаждого модуля есть свой собственный набор опций, которые хакер может настроить под свои потребности. Существует очень много опций, поэтому перечислить здесь все невозможно. Тем не менее, ниже представлены несколько вариантов, которыеобычно используются для настройки модулей:
• Тип пейлоуда - определяет тип полезной нагрузки, который эксплойт будет доставлять к цели. Доступны следующие типы:
» Command: Пейлоуд, который выполняет команду. С его помощью можно выполнять команды на удаленном компьютере.
» Meterpreter: Прогрессивный пейлоуд, который предоставляет команд ную строку, с помощью которой можно доставлять команды и приме нять расширения.
• Тип соединения - определяет, как Metasploit будет подключаться к цели. |
|
Возможны варианты: |
• |
|
11111- - ------- - - - - - -------- - ---- ------ - --- ------ - ------ - --- --- ----..-- - - -- --.-- .---- ..- .