Атаки на системы IPMI/BMC
Немного обо мне
• Шильненков Валентин• Пентестер >1 года в @ptsecurity
• В сфере ИБ >5 лет
• Исследователь
С чем мы имеем дело
• IPMI (Intelligent Platform Management Interface)
• BMC (Baseboard Management Controller)
История исследований IPMI/BMC
• Dan Farmer• IPMI: Freight Train To Hell
• [ http://fish2.com/ipmi/old/itrain.pdf ]
• Sold Down the River • [ http://fish2.com/ipmi/river.pdf ]
• Rapid7• A Penetration Tester's Guide to IPMI and BMCs
• [ https://community.rapid7.com/community/metasploit/blog/2013/07/02/a-penetration-testers-guide-to-ipmi ]
История исследований IPMI/BMC (2)
• CVE-2013-4805: IPMI Authentication Bypass via Cipher 0
• CVE-2013-4786: IPMI 2.0 RAKP Authentication Remote Password Hash Retrieval
• ???: IPMI Anonymous Authentication/Null user
• CVE-2004-2600: IPMI NONE Authentication
• CVE-2013-3621, CVE-2013-3623, CVE-2013-3622: Supermicro buffer overflow in CGI
• CVE-2013-3619: Supermicro Static Encryption Keys
Сценарий атаки
• Находим IPMI
• Используем • Cipher Zero
• Anonymous user
• NONE authentication
• Нет уязвимостей реализации? Не проблема )• Получаем хеши и ломаем их
• Получаем доступ к менеджменту сервера
Как и где их найти
• Сканируем • Тулы
• Ищем в инете• Shodan.io
• Scans.io
Сканирование
• Инструменты• Nmap (seclist.org/nmap-dev/2014/q3/96)
• ipmi-version.nse
• Metasploit (www.metasploit.com)• ipmi_version
• Freeipmi (www.gnu.org/software/freeipmi/)• ipmiping• rmcpping
• ipmicd (github.com/nixerr/ipmicd)
• Что искать• IPMI UDP: 623• BMC TCP: 3900, 5900, 5901, 3668, 3670, 3671, 3669, 2068, 8192, 623, 8889, 3172,
5120, 5121, 5123, 5555, 5556, 5988, 7578, 11626, 8021, 8022, 6481, 17988, 17990
Nmap: ipmi-version.nse
Metasploit: ipmi_version
Freeipmi: rmcpping/ipmiping
ipmicd
Статистика по Shodan.io + scans.io
0
1000
2000
3000
4000
5000
6000
ILOM HP iLO IMM iRMC iDRAC
Доступные IPMI/BMC в Интернете (HTTP)
sonar shodan.io
Эксплуатация систем
• Tools • ipmitool
• NONE Authentication
• Cipher Zero
• Metasploit• ipmi_cipherzero
• ipmi_dumphasher
• Nmap• ipmi-cipher-zero.nse
• ipmicd• dump hashes
Metasploit: ipmi_cipher_zero
Nmap: ipmi-cipher-zero.nse
ipmitool: Cipher Zero
Metasploit: ipmi_dumphashes
ipmitool: NONE Authentication
ipmicd
• Написана на С – быстрая (в будущем)
• Админы смогут писать под нее свои экслоиты )
• Исходники - https://github.com/nixerr/ipmicd
• Мультиплатформенность: поддерживается Linux и Windows
• Реализовано:• Получение версии IPMI (пинг)
• Получение хеша пользователя
• Пример• ./ipmicd –v 1 10.0.0.0/24
ipmicd – dumping hashes
Мы внутри, что же тут есть?
• Что у нас есть• Мы всех нашли• It’s admin time!!
• Наши возможности• Данные температуры устройств• Вольтаж процессоров• Аппаратные сбои• Журналы авторизации• KVM до основной ОС• ОС самого IPMI/BMC
• Что делать дальше?
KVM до основной ОС
• Пару слов о KVM• Где его найти
• Какой софт использовать
• Проблемы развития• Нужна авторизация для KVM
• Сломанный хеш
• Добавить пользователя
• Нужна авторизация для основной ОС
KVM до основной ОС - Решение
• Мы можем подключить удаленно CD• Удобно для удаленной установки ОС
• Мы можем загрузиться с него • Из наших IPMI/BMC доступ к BIOS
• Далее загружаемся с него и запускаем нагрузку
• Есть небольшая тонкость )• Основная ОС при это естественно не функционирует
KVM до основной ОС - Нагрузка
• Быстрая и автоматизированная• Минимизация простоя при перезагрузках
• Понимающая разные ОС для пост эксплуатации• Сдампить хеши
• Сетевые данные
• Данные приложений
• Пример - run winenum
• Забираем данные• Еще одна проблема
KVM до основной ОС – Забираем данные
• Интрузивный метод• Добавить пользователя/ключи (линукс-юникс)• Подменить менеджмент сервисы• Установить RAT ;)
• Пассивный метод• Получить сетевые настройки по DHCP• Выставить сетевые настройки перед началом эксплуатации• Печать на экране
• Опять проблема• Разные сети• Доступность
• ICMP, DNS tunneling
KVM до основной ОС – Inception
• А можно ли все это провернуть еще быстрее?• Виртуализация основной ОС
• Статистика использования ОС• habrahabr.ru/post/133783/
• Windows Server• Debian• CentOS
• Что нас ждет помимо гигантских трудозатрат на подготовку образа?
• Тормоза?• Нет, Xen наше все
• Но это все пока Roadmap
Итого: Live CD
• Собранная ОС на линуксе
• Монтирование файловой системы основной ОС
• Инструменты для постэксплуатации• samdump2 - Дампит пароли
• Можно добавить volatility
• И другие Forensic tools
• Github.com/nixerr/livecd
ОС IPMI/BMC
• Что можно с ней сделать• Закрепление
• Вредоносное ПО
• Туннелирование
• Как • Уязвимости в прошивках
• Shellshock
• Upload custom firmware
HP iLO Tricks: Взлом хешей
• Пароль по умолчанию в HP iLO для Administrator генерируется при производстве• Словарь используемый при генерации
• Uppercase alpha + digits
• Длинна • 8 символов
• Как правило, администраторы видят такой пароль и не задумываются о его смене =)
• Как ломать хеши• John the ripper: --format=RAKP• Hashcat: -m 7300 (IPMI2 RAKP HMAC-SHA1)
HP iLO Tricks: IPMI/BMC для IPMI/BMC
• HP BladeSystem Onboard Administrator
Обнаруженные нами уязвимости
• HP iLO• CSRF
• XSS
• Buffer overflow in SSH server
• Cisco ICM• Command execution/OS commanding
• Ждем патчей производителей …
Перспективы исследования
• Больше уязвимостей• Уязвимости в ПО IPMI/BMC
• Уязвимости в драйверах ОС для взаимодействия с IPMI/BMC
• Вектора развития атаки• Недокументированные каналы связи BMC с основным сервером
Releases
• Мы научили находить и тестировать
• Утилита ipmicd для интересных ситуаций• github.com/nixerr/ipmicd
• Набор livecd для экспериментов• github.com/nixerr/livecd
• Рассказали о проблемах и перспективах ресерчей
Спасибо за внимание!