перебор логинов - дайте совет
Есть девайс D-Link DI-524UP. В нем есть открытый порт 5457 (у длинка он нигде не описан). Если зателнетится на этот порт выдается вопрос "login as:". Варианты "admin", "root", "dlink" - не прокатывают: "Wrong username! Connection closed by foreign host."
На гуглах встречаются 3 или 4 ссылки, где такие же любопытные как я пытаются узнать логин. Но никто не знает!
Поискал брутфорсеры/переборщики - не подходит, т.к. все они подбирают пароль к заданному логину.
Нашел исходник прошивки девайса поковырял, скомпилил, перепрошил, а пароль так и не нашел.
Теперь, собственно вопрос - можно ли, и как реализовать переборщик логинов на шелле (заранее предупреждаю - у меня дебиан и /dev/tcp у меня нету)?
Вход через браузер на 192.168.0.1
В качестве логина admin пароль пустой.
reset device
device spec
Безусловно Вы правы - современная техника сделала большой шаг вперед и многие высокотехнологичные сетевые устройства теперь настраиваются посредством встроенных в систему приложений, таких как браузеры, клиенты различных сетевых протоколов (ftp, pop3 и др.). И Вы еще раз правы - маршрутизатор о котором я писал, действительно такой возможностью наделен. Однако Вы видимо не поняли моего вопроса: помимо настройки через браузер имеется некий недокументированный способ получения доступа к этому устройству, а именно по TCP порту номер 5457 и вопрос заключался в том, стоит ли писать переборщик логинов именно как шелл-скрипт. Что самое интересное - этот порт открыт также на некоторых маршрутизаторах D-Link серии DIR.
Если есть исходник прошивок - полазить по ним, наверняка можно найти что-нибудь, стоит поискать.
Исходник есть, но не весь. Насколько я знаю D-Link-овцев вынудили по суду его выложить. Дело в том, что они использовали для прошивки линуксовое ядро и некоторые приложения с лицензией GPL, так вот когда первый умник догадался прикрутить rs-232 интерфейс этого устройства к COM-порту своего компа и увидел последовательную загрузку линуксов, на компанию подали в суд с требованием выложить (как того требует GPL) исходники. D-Link дело проиграл, исходники выложил, однако слукавил - и часть кода оставил нераскрытым. В частности это касается длайвера hotplug, некоей непонятной cle-shell и других частей.
Что касается поиска в открытой части кода - то я не нашел. При запуске девайса видно, что по порту 5457 действительно стартует telnetd, но задается этот запуск не из конфигов в /etc.
Вот такой детектив.
Кому интересно, исходники здесь:
ftp://ftp.dlink.co.uk/GPL/
Еще один гик типа меня собирает их и описывает нераскрытые части исходников тут:
http://ossfans.org/DI524UP/
Можно я задам вопрос гику - а зачем все это? для чего??
У вас есть исходники и что дальше?
На длинковском форуме я не спрашивал - однако вашим советом воспользуюсь. Хотя длинковцы не очень любят обсуждать такие вопросы. Вот например человек поинтересовался не нарушает ли компания GPL лицензию, на что представитель компании попросил его пообщаться дальше по телефону: https://forum.openwrt.org/viewtopic.php?id=14666
Я конечно не надеюсь на вразумительный ответ от них, но попытка не пытка.
> Jail
Зачем мне это надо? Ну я же гик! Захотелось.
А если серьезно, то конечная цель - сам процесс получения новых знаний.
Если здесь меня действительно направят в нужное русло и подскажут с чего начать, я бы сначала попробовал на своей debian-машине, потом попробовал бы распределить процесс по нескольким компам и т.д. это же жутко интересно!
2max-himik
написать брутфорсер на shell можно при помощи telnet+expect. примеров как логинится по telnet при помощи expect - в интернете масса. реализовать рандомную генерацию логинов/паролей - при помощи cat /dev/random + grep. либо брутфорсить по словарю.
однако, хотя вы и получите при написании такого скрипта массу полезных навыков, практическое применение такого перебощика - сомнительно. слишком медленно.
а вообще, для telnet можете попробовать комбинацию: Alphanetworks:wrgg15_di524
Без охлаждения процессора проводит 300 попыток, с охлаждением 800 и виснет.
Давали мне совет ковырять исходник - вот наковырял:
Строка telnetd -p 5457 запускается вэб-сервером webs (он же thttpd-alphanetworks/2.23) - необычно, правда? В "родной" прошивке версии 1.03 telnetd как отдельный бинарник не собран, а запускается как обращение к busybox (/bin/telnetd -> /bin/busybox). Если я правильно соображаю, то после телнета на заданный порт, запускается процесс авторизации (login) тогда пароль надо смотреть в /etc/passwd. Однако во-первых содержащиеся там имена пользователей не подходят:
root:x:0:0:root:/:/bin/sh
nobody:x:0:0:Nobody:/:/sbin/nologin
а во-вторых в busybox собранном для этой прошивки процесса login нету:
Currently defined functions:
busybox, date, gunzip, gzip, ifconfig, iwconfig, iwpriv, klogd,
logread, ping, rdate, route, syslogd, tar, telnetd, udhcpc, udhcpd,
zcat
Поискал .htpasswd, httpd.conf, master.passwd - нету! Есть /var/neap.conf:
/var> cat neap.conf
vendor=ALPHA
model=DI-524UP
version=v0.5.0
secret=2311001
Последняя строчка это пароль юзера admin для веб интерфейса этого роетера. Еще есть некий /bin/auth хотя судя по исходнику это для авторизации WiFi клиентов.
А еще есть интереснейшая строка в elf-бинарнике вэб-сервера:
xmlset_roodkcableoj28840ybtide
(попробуйте прочитать ее в обратном порядке)
Подводя итог - товарищи, коллеги, подскажите где искать списки пользователей/паролей?