Где найти крутых специалистов по атакам на старинный Linux?
Ребята,
Есть коробочка, стоит у меня на столе и принадлежит мне. Поэтому это не хак кого-то, а я сам как владелец хочу открутить ручки и ножки принадлежащему мне изделию. В общем, nothing illegal.
ОС - Linux Embedded. Старинное ядро 2.4.37. На ОС есть 2 сервиса для удаленного доступа, SSH (22) и TELNET (25 000). Надо атаковать коробочку, чтобы получить на ней права. С одной стороны, все пишут, что баги-патчи, все устаревает, ломается, если не следить, надо обновляться, читать 0-day и пр. С другой стороны, реальное старье, которому 10 лет, без единого обновления. И его вот так вот лоб не атаковать, или все те, кто кричат, что это на изи, по факту ничего сделать не могу (например, NMAP на готовых скриптах к результату не приводит).
Кратко о софте в железке:
Linux Operating System
U-Boot 1.1.4 Bootloader
busybox 1.00
gdb 5.3
gdbserver 5.3
genext2fs 1.3
mtd snapshot-20031022
srecord 1.24
sysklogd 1.4.1
uClibc 0.9.27
dropbear 0.49
net-snmp 5.4
ntp 4.2.4-p0
savelogs 1.3
sudo 1.6.8p9
zlib 1.2.3
ФС, видимо, jffs2
Портов для свзи с внешним миром никаких нет, кроме ETH и SERIAL (никаких там USB, IDE/SATA и прочего).
В SSH-демоне указанной версии имеются вот такие дыры:
Внимание, вопрос. Где посоветуете поискать людей, которые могли бы занебесплатно атаковать эту железку с целью получения привилегированного доступа? Открытые порты могу пробросить в инет.
Вряд ли вы найдете людей, которые будут заниматься этим бесплатно через интернет. Потому что где гарантии что вы пробросите порты к железке на вашем столе, а не к какому-нибудь промышленному компу? За бесплатно такие приключения - нафиг надо. А то получится как в "Пути шамана" :)
черт, у меня тоже похожая коровочка, даже пару на столе лежит, и хранит в себе причину отказа двух взрывобезопасных камер. Но не вскрывается никак, последней была попытка прямого брутфорса, полгода оно у меня подбирало пароли, потом пошло в стол пылится
ну вот недавняя уязвимость с pkexec CVE-2021-4034 - отлично работает. Если есть аккаунт на машине, то получаешь рута без проблем. В гитхабе десятки репозиториев с исходниками готового эксплоита.
Saboteur, нет логинов и паролей пока что никаких. Родное ПО работает с железкой только по обственному протоколу over UDP, и serial, где нет консоли. Есть еще SNMP, но там же не общая учетка, там не связанная аутентификация с шеллом. Вот и все.
Судя по указанной ОС (Embedded Linux) и тому факту, что там файловая система jffs2, жесткий диск там - это флеш память в микроконтроллере Чисто в теории, можно и к ней подцепиться, но я б тоже сначала поискал другие пути)
Где посоветуете поискать людей, которые могли бы занебесплатно атаковать эту железку с целью получения привилегированного доступа
Можно поискать на профильных конференциях :) Например Zeronights. Но она только весной. Там много интересных личностей собирается. А так, поищите, может сейчас что-нибудь локальное в ближайшее время будет)
Да, мне такое уже посоветовали. А как таких деятелей найти в онлайне? Просто похожа на вот эти вот встречи в БДСМ-клубе — следуй за белым кроликом — это долго ждать, и чутка оверкилл.
Гуталиновый, ууу страшный CLI. Да все они одинаковые, наверняка есть help или /? для получения справки по командам.
Если не поможет, то у UBoot должен быть хот-кей для прерывания загрузки и настройки параметров. Я думаю это неплохой вектор.
Александр Карабанов, нет, HELP и прочего нет. Команды для собственного ПО разработчика. Так что, наверное, я неправильно выразился и дезинформировал. Не CLI, а скорее собственный протокол. Хоткей какой? У устройства нет портов ввода-вывода, кроме Eth и RS232.
В общем, если вы чувствуете силы, то можно дать вам глянуть.
Гуталиновый, так через SERIAL можно файлы заливать, фактически можно получить аппаратый root. Вообще большая удача, что SERIAL доступен из коробки и не надо подпаиваться к пинам на плате.
У UBoot есть TFTP.
Что бы хотелось сказать... При использовании уязвимостей не нужно забывать об архитектуре! Скорее всего у вас там ARM, MIPS или PowerPC. И тот эксплоит, который работает на интеле, нихрена не сделает на других архттектурах :)
Если стоит uboot, то технически через него можно получить доступ или скопировать файловую систему. Но, блин, доожнабыть серьезная мотивация :)
Алексей Черемисин, На RS232 смог получить что-то вразумительное тоько на 57600. После рандомного длительного ввода, и ответов на птичьем языке, выпало такое же приглашение, примерно как telnet:
Проц PowerQUICC MPC859TPZ133 (семейство MPC866, но усеченная версия). JTAG очень редкий, свой, в продаже нигде нет ни новых, ни БУ. А так, вообще, есть сервисный мануал на изделие. Только идей нет...
Алексей Черемисин, да я понимаю, что это Линукс дает приглашение. Но и как достучаться по Serial до Uboot, и достижим ли он вообще, я не знаю. До Этого приглашения к консоли идет "птичий язык".
Алексей Черемисин, Перепробовал все скорости, там идет заливка квардатиками. И вообще, скорость по порту конфигурится в ПО (работает по UDP), и стандартной является 57600.
Алексей Черемисин, Да это не ПК же. Это рентранслятор б.у., стоил бешеных денег в свое время, и 25 кг веса. Хотим запустить его для радиолюбительских целей. Производитель на контакт не идет, считает нашу страну рассадником зла и ада, и до ввода санкций добровольно прекратил отношения с РФ. Разработка железки началась в 2005 году что ли (видимо, вместе с выпуском процессора), сейчас стоит прошивка 2012 года. Апдейты Linux качать не умеет, как производитель собрал, так и будет.
Гуталиновый, uboot, это загрузчик, фактически отдельная система! Он конечно имеет стек tcp/ip, но он работает до линукса! Все конфигурилки работают уже в линуксе... Есть только одна связь, через параметры загрузки. Они скорее всего в eeprom.
Алексей Черемисин, Нашел L&P в SSH. Там шелл - BusyBox 1.0. Никаких su/sudo он не понимает. Что делаем? Вот что умеет:
Built-in commands:
-------------------
. : alias bg break cd chdir command continue eval exec exit export
false fg getopts hash help jobs kill let local pwd read readonly
return set shift times trap true type ulimit umask unalias unset
wait
И выше человек пишет, что если есть L/P, то можно заюзать CVE-2021-4034. Что скажете?
Гуталиновый, это бизибокс, а su может быть и отдельной командой.
Сначала хорошо бы получить список файлов в системе, и можно ли туда погрузить по scp что нибудь...
Посмотрите хелп по command, eval, jobs, exec...
Похоже основательно допиленный бизибокс (у него есть возможность свои команды дописывать.
Ну и на шару попробуйте запустить /bin/sh
Алексей Черемисин, спасибо, мы уже там. Мы рут и по scp все слито. Теперь дело за IDA-мастером под PPC.
Файл sh в /bin есть, но при вводе /bin/sh ничего не происходит, а точнее, вылетает обычное приглашение. Может не умею в консоли этой работать. Наверное, надо сначала делать какой-то exec этого файла, а не просто вводить его имя и путь.
Вообще, в /bin есть вот что:
ash
busybox
cat
chgrp
chmod
chown
cp
date
dd
df
dmesg
echo
egrep
einfo
erase
eraseall
fgrep
getopt
grep
gzip
hostname
ip
kill
ln
lock
login
ls
mkdir
mknod
mktemp
more
mount
mtd_debug
mv
netstat
pidof
ping
ps
pwd
rm
rmdir
run-parts
sed
sh
sleep
stty
su
tar
touch
umount
uname
unlock
usleep
vi
Алексей Черемисин, Да юбут уже не нужен. Тут так все сделано, что заходи кто хочет, бери что хочет. Но основные плюшки, которые нужны, покриптованы. И при ребуте все файлы конфигурации севрисов перестраиваются с нуля каждый раз. Их правка работает только до ребута. Код программ, которые дешифруют бинарники и кодируют файлы, скомпилирован. И так как это PPC, то что-то с IDA плоховато все идет реверсом.
Гуталиновый, скорее всего там overlayfs или что-то подобное. А поэтому должен быть скрипт и утилитка, которая "коммитит" изменения во флеш. Кстати, ассемблер ppc не очень и сложный.
Но если есть рут, то уже практически все можно!
Побуду капитаном очевидностью.
Очень редкие девайсы имеют аппаратное шифрование. Просто прочитайте файловую систему и возьмите все!
Вы вспомните о паролях? Я улыбнусь. На коробочках они либо общедоступны либо хранятся в энергонезависимой памяти, ну вы поняли JTAG
Гуталиновый, фото этой коробочки дайте. И название софта.
Пока же алгоритм такой: вычитать флэш с помощью программатора в любой мастерской по ремонту телефонов. забрутить /etc/passwd или же переписать его на свой
Кроме того по названию коробочки поискать пароли по умолчанию или методику сброса в 0