Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
FortiGate — межсетевой экран с возможностью маршрутизации нового поколения. Он включает в себя большинство традиционных сервисов, таких как проверка трафика, антивирус, VPN, системы предотвращения вторжений, и другие функции обеспечения безопасности. Для демонстрации уязвимости и дальнейших исследований необходимо подготовить стенд с использованием FortiGate.
Для ресерча была выбрана версия FortiGate VM64 v6.4.5 build1828 (GA). Стенд разворачиваю на VMware ESXI, а образы маршрутизатора должны иметь расширения .
, .
, .
.
После распаковки архива мы получим следующие файлы.
В дальнейшем для реверса и исследования бинарей нам понадобится диск виртуальной машины fortios.
.
В VMware ESXI нужно импортировать существующую виртуальную машину, поэтому следует выбрать режим Create/
, а затем — Deploy
.
Теперь надо указать следующие файлы для загрузки виртуальной машины:
datadrive.vmdk
— системный жесткий диск FortiGate;FortiGate-VM64.ovf
— виртуальная машина;fortios.vmdk
— файловая система и сама начинка FortiGate.Имя у виртуалки может быть произвольным, я назвал ее просто FortiGate.
Перейдем к настройкам сети. Все сетевые адаптеры, кроме первого, выключим, потому что будем работать только с одним. Также изменим интерфейс с [
на VM
. Это нужно, чтобы виртуальная машина находилась с нами в одной сети.
Запускаем виртуальную машину, вводим логин — admin
, пароль — Enter
, после чего новый пароль необходимо придумать.
По умолчанию FortiGate настроен на использование в качестве NTP-сервера. Необходимо отключить NTP-синхронизацию для перехода в пробный режим.
NTP — сетевой протокол для синхронизации внутренних часов компьютера посредством использования сетей с переменной латентностью.
config system ntp
set ntpsync disable
set type custom
end
Здесь
config system ntp
— команда для входа в режим конфигурирования NTP;set ntpsync disable
— команда для отключения синхронизации с NTP-сервером;set type custom
— команда для установки NTP-сервера, который указывается вручную.Теперь настало время настроить маршрутизатор. Настраивать будем удаленное подключение и доступ к веб‑интерфейсу фортика.
Настраивать SSH, HTTP, HTTPS, Telnet будем в CLI FortiGate. Для удаленного подключения нужно настроить интерфейс, который мы оставили включенным:
config system interface
edit port1
set mode static
set role lan
set allowaccess http https telnet ssh ping
set ip 192.168.0.217/24
show
end
Здесь
config system interface
— команда для входа в режим конфигурации интерфейса;edit port1
— команда для конфигурации определенного интерфейса;port1
— условное обозначение интерфейса;set mode static
— команда для установки статического адреса. Чтобы настроить DHCP, нужно вместо static
написать DHCP
, и тогда IP-адреса будут установлены автоматически;set role lan
— команда для установления роли и интерфейса. В FortiGate есть четыре роли:lan
означает, что интерфейс используется для подключения к локальной сети;wan
означает, что интерфейс используется для подключения к интернету;dmz
означает, что интерфейс используется для подключения к серверам;undefined
означает, что интерфейс не имеет конкретной роли;set allowaccess http https telnet ssh ping
— команда для доступа к управлению с использованием https
, http
, telnet
, ssh
, ping
;set ip 192.168.0.217/24
— команда для установки IP-адреса и маски подсети;show
— команда, которая показывает все настройки интерфейса;end
— команда для завершения настройки.Вот так выглядит результат работы команды show
.
Теперь настраиваем статическую маршрутизацию для доступа из других сетей к Web и CLI:
config router static
edit 1
set gateway 192.168.0.255
set device port1
set dst 0.0.0.0 0.0.0.0
set status enable
next
end
Здесь
config router static
— команда для конфигурации статических маршрутов;edit 1
— команда настройки нумерации с неиспользуемого номера;set gateway 192.168.0.255
— команда для установки адреса шлюза;set device port1
— команда для установки интерфейса;set dst 0.0.0.0 0.0.0.0
— команда для установки места назначения;set status enable
— команда для включения статической маршрутизации;end
— команда для завершения настройки.Команда get
нужна для проверки настройки статической маршрутизации:
S* 0.0.0.0/0 [10/0]via 192.168.0.255,port1
C 192.168.0.0/24 is directly connected,port1
Этот вывод говорит о том, что для всех устройств, находящихся в сети, шлюз по умолчанию будет 192.
, а значит, настройка статической маршрутизации прошла успешно.
После этого подключаемся к веб‑интерфейсу через браузер по адресу 192.
. Логин и пароль используй такой же, как и при подключении к командной строке.
После успешной подготовки стенда настало время для бэкдора. Зайдем в директорию с образом виртуальной машины и виртуальными дисками FortiGate. В моем случае виртуальный диск называется forti_6_4_5-disk1.
.
Дальше наступает часть монтирования и отравления rootfs.
. Монтирование выполняется следующим образом:
sudo modprobe nbd max_part=16
sudo mkdir/mnt/fortios
sudo qemu-nbd -r -c/dev/nbd1 ./forti_6_4_5-disk1.vmdk
sudo mount /dev/nbd1p1 /mnt/fortios
Здесь
sudo modprobe nbd max_part=16
— команда подготовки для монтирования статического VDI-образа;sudo mkdir /mnt/fortios
— команда для создания директории /mnt/fortios
;sudo qemu-nbd -r -c /dev/nbd1 ./forti_6_4_5-disk1.vmdk
— команда для экспорта образа диска QEMU, с использованием протокола NBD:-r
— ключ означает экспорт диска только для чтения;-c
— ключ означает подключение файла c указанным именем к папке /dev устройства NBD;sudo mount /dev/nbd1p1 /mnt/fortios
— команда для монтирования диска.NBD (Network Block Device) — сетевой протокол, который можно использовать для пересылки блочного устройства (обычно жесткого диска или раздела) с одного компьютера на другой. Например, локальный компьютер может получить доступ к жесткому диску, подключенному к другому компьютеру. В нашем случае протокол используется для подключения виртуального жесткого диска к компьютеру. QEMU умеет экспортировать виртуальный образ диска, используя протокол NBD.
В результате forti_6_4_5-disk1.
успешно монтируется к нашему компьютеру.
|
|