На фоне всеобщей истерии заражения вирусами, некоторые люди расшаривают свои личные данные.
Получить эти данные можно в открытом доступе, без специальных приложений, все равно что зайти к человеку на страничку.
1)Идём на shodan.io 2)Регаемся 3)Забиваем в поиск "port:21 asus 230" 4)Фильтруем по стране/городу/провайдеру 5)Вбиваем в адресную строку "ftp://"+адреса 6)??? 7)Профит! Для тех, кто нихуя не понял: в сети овердохуя открытых ФТП, через которые можно получить доступ к жёсткому диску компа, предположительно асусовский проёб. Интересные фото/видео/документы кидаем ИТТ.
нашёл общую папку бизнес центра. оставил там заботливое сообщение анально покарать сисадмина. Самое паршивое, что там лежат паспорта людей, бухгалтерская отчётность, куча личных данных и базы клиентов. Я там уже не первый, там лежит паспорт Зелецкого, уже ставшего иконой треда и фото хуя осла. Пичалька.
В начале 2015 года компания Asus исправила критичнейшую уязвимость в своих роутерах. «Дыра» была в службе по имени infosvr, использующейся утилитами Asus для облегчения настройки роутера путём его автоматического обнаружения в локальной сети. Уязвимость позволяла выполнять любые команды с правами root (ведь infosvr тоже root), что давало злоумышленнику полный контроль над системой.
Но Asus выпустила исправленные прошивки. Теперь это всё в прошлом. Или нет? Хм… А как часто обыватели обновляют прошивки на своих роутерах?
Служба infosvr слушает 9999 порт (UDP). Когда приходит пакет размером не менее 512 байт она анализирует его и в зависимости от его типа выполняет соответствующие ответные действия. Например, собирает информацию о некоторых настройках роутера и отправляет её программе Device Discovery, которая помогает найти IP-адрес роутера. Но есть ещё и такой тип пакета, который подразумевает выполнение системной команды роутером. Тут-то Asus'овцы и облажались. Из-за ошибки в коде обработки такого пакета выполнить команду можно без всякой авторизации. Это строка if (memcpy(phdr_ex->MacAddress, mac, 6)==0) в следующем листинге (несущественные строки удалены):
Часть функции processPacket(int sockfd, char pdubuf) из common.c if (phdr->OpCode!=NET_CMD_ID_GETINFO && phdr->OpCode!=NET_CMD_ID_GETINFO_MANU) { phdr_ex = (IBOX_COMM_PKT_HDR_EX )pdubuf; // Check Mac Address if (memcpy(phdr_ex->MacAddress, mac, 6)==0) { _dprintf("Mac Error %2x%2x%2x%2x%2x%2x\n", (unsigned char)phdr_ex->MacAddress[0], (unsigned char)phdr_ex->MacAddress[1], (unsigned char)phdr_ex->MacAddress[2], (unsigned char)phdr_ex->MacAddress[3], (unsigned char)phdr_ex->MacAddress[4], (unsigned char)phdr_ex->MacAddress[5] ); return NULL; }
Вероятно, там вместо memcpy предполагалось memcmp (вот что бывает когда копируете строки кода, с целью чуть-чуть подправить потом), а вместо == предполагалось !=. Но даже если бы этой ошибки не было, всё равно для проникновения достаточно было бы знать MAC-адрес.
После успешной «аутентификации» команда из пакета будет выполнена:
Та же функция; чуть далее по коду
А теперь, хотите квест?
Идите сюда Выберите любой маршрутизатор Пройдите по пути Поддержка -> Драйверы и утилиты -> ОС -> Firmware Ищите в списке прошивку за январь 2015-го В описании к ней наверняка есть скупая фраза "Fixed infosvr security issue." ??? !!!
Впечатляют масштабы? На самом деле всё было не так уж и плохо (а сейчас, когда «дыру» закрыли — вообще хорошо). Дело в том, что infosvr работает с интерфейсом br0, т.е. с мостом между другими интерфейсами. В случае, если роутер работает в режиме IP Sharing (Режим общего IP), br0 объединяет eth0 и wlan0. Заметьте, eth1 (который WAN) сюда не входит. Т.е. уже радует то, что с внешней сети никто не пролезет. А вот когда роутер в режиме Access point, то br0 объединяет все интерфейсы…
История обнаружения
Как-то мне захотелось порулить своим роутером через UART, то бишь через аппаратную консоль. «Зачем такие трудности? По телнету зайди.» — скажете вы. Не тут-то было! Это же RT-N10E! (Он же RT-N10LX).
Из всего пакета Asus Utility (Device Discovery, Router Setup Wizard и Firmware Restoration) реакцию консоли вызвал только Router Setup Wizard. А именно: при запуске приложения и нажатии на кнопку «Далее» появляются такие строки: system cmd: 17 nvram get sw_mode rund: echo 1 > /tmp/syscmd.out 2 1
system cmd: 17 nvram get sw_mode rund: echo 1 > /tmp/syscmd.out 2 1
system cmd: 17 nvram get sw_mode rund: echo 1 > /tmp/syscmd.out 2 1
system cmd: 17 nvram get sw_mode rund: echo 1 > /tmp/syscmd.out 2 1
system cmd: 19 nvram get x_Setting sh: nvram: not found rund: nvram get x_Setting > /tmp/syscmd.out 0 1
system cmd: 19 nvram get x_Setting sh: nvram: not found rund: nvram get x_Setting > /tmp/syscmd.out 0 1
system cmd: 19 nvram get x_Setting sh: nvram: not found rund: nvram get x_Setting > /tmp/syscmd.out 0 1
system cmd: 19 nvram get x_Setting sh: nvram: not found rund: nvram get x_Setting > /tmp/syscmd.out 0 1
Хм… Эти команды Router Setup Wizard передаёт? Посмотрел через Wireshark — да, эти команды передаются в UDP пакетах с RSW. А что если их заменить на свои?
Оказывается, я не первый
Перед тем, как начать ковыряться в пакетах, я решил погуглить. И нагуглил кое-что (раз и два). По второй ссылке подробное описание уязвимости и простой эксплоит под Линукс (есть и на python-е).
Мне хотелось бы иметь такую программку под Windows, поскольку Я 95% времени пользуюсь именно ей. Не хочется ради выполнения какой-то команды загружать виртуальную машину с Ubuntu.
Размеры
В процессе написания и отладки эксплоита, а также копания в исходниках infosvr выяснились «параметры» этой «дыры». А именно её размеры. Они такие: Размеры буферов приёма и отправки — по 420 байт. И всё бы неплохо, но реально 420 байт роутер может только отправить в ответе. А вот с приёмом дела ещё хуже. Дело в том, что после приёма команды infosvr обрезает её до 256 символов и только потом — исполняет. Но и это ещё не последнее ограничение. При выполнении команды длиной чуть менее 256 символов infosvr падает с грохотом segmentation fault. Команда выполнена, но ни ответа уже не будет, ни возможности исполнить ещё что-то. Опытным путём была найдена предельная безопасная длина пользовательской команды. Это 238 символов. Итак, размеры «дыры»: 238 — команда, 420 — ответ.
Подробнее (с примером) infosvr вызывает system(«echo „Some text“>/var/myText;cat /var/myText > /tmp/syscmd.out»);
Тут полная команда: 'echo «Some text»>/var/myText;cat /var/myText > /tmp/syscmd.out'
Где: 'echo «Some text»>/var/myText;cat /var/myText' — команда, отправленная пользователем с помощью AsusCmd; ' > /tmp/syscmd.out' — жёстко запрограммировано в коде infosvr.
Кстати, зачем нужно перенаправление в /tmp/syscmd.out? А затем, что именно с него потом считывается в буфер 420 байт и отправляется ответ на команду.
«Предельная безопасная длина» относится именно к пользовательской команде.
Т.е. при длине пользовательской команды 238 символов длина полной команды будет 238+18=256. Может именно падения infosvr хотели избежать разработчики, когда обрезали команду до 256 символов? Похоже они не учли strlen(" > /tmp/syscmd.out").
Но так рулить роутером не очень удобно. И, если в данном случае ограничение в 238 символов команды не сильно заметно, то ограничение на вывод ответа в 420 символов — это уже печальнее. Но выход есть! Хоть на роутере и сильно ограниченный busybox, но там всё-же есть telnetd! Запускать его лучше на нестандартном порте, т.к. защиты нет никакой: для подключения пароль не нужен. AsusCmd.exe «telnetd -l/bin/sh -p777» Ну, теперь другое дело! Можно полноценно командовать со всеми удобствами, как-то история команд и дополнение по Tab. Если телнет перестал отвечать, его можно перезапустить, не перезагружая роутер. Сначала надо прибить связанный с ним sh: AsusCmd.exe «killall -9 sh» Учтите, что после выполнения этой команды будет также убит sh, который связан с /dev/console. Теперь можно снова запускать telnetd.
Отлично. Тема исчерпана? Как-бы не так.
Продолжение банкета
Итак, мы можем пользоваться всеми доступными командами. Можем создавать и удалять файлы в каталогах, доступных для записи (ramfs /var). Можно записать несколькими командами длинный текстовый файл. Но не только текстовый! Ведь echo в Linux-е умеет преобразовывать текст в двоичные данные! Это значит, что мы можем заливать на роутер свои программы, которых нам не хватает!
AsusBinWrite
Идея проста: считываем порцию байт с файла-источника преобразуем их в текстовый вид, понятный для 'echo -e' формируем системную команду отправляем на роутер повторяем пока не перешлём весь файл
Но это на словах всё легко и просто. На практике мы имеем дело с парой неприятных факторов: UDP пакеты, которые иногда теряются Ограничение на полезную длину системной команды (238 символов)
>>153086903 ЦЕНТРУМ ДЕПОЗИТАРИЙ ООО «Центрум депозитарий» 115088, г. Москва, ул. Угрешская, д.2, стр.22 телефон/факс (499) 258-30-38 www.centrum-depo.ru, [email protected]
это из шапки их документов. можете написать им. ебал я светиться и потом доказывать, что я не верблюд
Но так рулить роутером не очень удобно. И, если в данном случае ограничение в 238 символов команды не сильно заметно, то ограничение на вывод ответа в 420 символов — это уже печальнее. Но выход есть! Хоть на роутере и сильно ограниченный busybox, но там всё-же есть telnetd! Запускать его лучше на нестандартном порте, т.к. защиты нет никакой: для подключения пароль не нужен. AsusCmd.exe «telnetd -l/bin/sh -p777» Ну, теперь другое дело! Можно полноценно командовать со всеми удобствами, как-то история команд и дополнение по Tab. Если телнет перестал отвечать, его можно перезапустить, не перезагружая роутер. Сначала надо прибить связанный с ним sh: AsusCmd.exe «killall -9 sh» Учтите, что после выполнения этой команды будет также убит sh, который связан с /dev/console. Теперь можно снова запускать telnetd.
Отлично. Тема исчерпана? Как-бы не так.
Продолжение банкета
Итак, мы можем пользоваться всеми доступными командами. Можем создавать и удалять файлы в каталогах, доступных для записи (ramfs /var). Можно записать несколькими командами длинный текстовый файл. Но не только текстовый! Ведь echo в Linux-е умеет преобразовывать текст в двоичные данные! Это значит, что мы можем заливать на роутер свои программы, которых нам не хватает!
AsusBinWrite
Идея проста: считываем порцию байт с файла-источника преобразуем их в текстовый вид, понятный для 'echo -e' формируем системную команду отправляем на роутер повторяем пока не перешлём весь файл
Но это на словах всё легко и просто. На практике мы имеем дело с парой неприятных факторов: UDP пакеты, которые иногда теряются Ограничение на полезную длину системной команды (238 символов)
По крайней мере, надо настроить целевую архитектуру. Target options ---> Target Architecture и Target Architecture Variant. Тут есть небольшой подвох: вот так сразу в Target Architecture Variant Mips I вы не найдёте. Чтобы он там появился нужно включить опцию Build options ---> Show options and packages that are deprecated or obsolete.
Можно больше ничего не настраивать. А можно ещё много чего настроить: включить поддержку C++ и других языков, статическую компоновку (у меня ничего хорошего с этого не вышло), выбрать компилируемые под целевую архитектуру приложения, апплеты busybox, версии библиотек и т.п.
После настройки выбираем Exit, соглашаемся с сохранением новой конфигурации и… make. Сборка займёт продолжительное время, в зависимости от того, что вы там в настройках понавыбирали (У меня при настройке только архитектуры целевого процессора сборка на VM Ware заняла немногим более полу часа. Замерял так: ttt=`date`; make; echo $ttt; date). Можно параллельно собирать, но не с помощью -jN. Руководство гласит: You should never use make -jN with Buildroot: top-level parallel make is currently not supported. Instead, use the BR2_JLEVEL option to tell Buildroot to run the compilation of each individual package with make -jN. Т.е. нужно настраивать параметр Build options ---> Number of jobs to run simultaneously.
Toolchain готов
Наконец, по прошествии xx минут тулчейн собрался полностью и без ошибок. Можно использовать. GCC для роутера будет по пути ./buildroot-2014.11/output/host/usr/bin/mips-linux-gcc (симлинк на mips-buildroot-linux-uclibc-gcc). Для начала напишем примитивную программку, скомпилируем, зальём на роутер, выставим разрешение на исполнение (трюк, показанный ранее) и запустим:
Теперь можно писать свои программы для роутера, учитывая ограниченность ресурсов и возможности библиотек, которые есть на роутере.
Но вместе с тулчейном собрались и некоторые бинарники на целевую платформу! Лежат они здесь: ./buildroot-2014.11/output/target/ bin | sbin | usr/bin | usr/sbin. Я перепробовал многие из них (в menuconfig настроил сборку множества дополнительных приложений). Те, которые оказались рабочими и показались полезными сохранил отдельно (может когда-то понадобятся).
Рабочими оказались не все. После загрузки на роутер многие отказывались работать по различным причинам: чаще всего — can't load library 'какая-то библиотека' частично работают — can't resolve symbol 'какой-то символ' Segmentation fault — без комментариев а все статически слинкованные — Illegal instruction
А если у вас будет ошибка типа Bus error или unexpected word, то скорее всего вы ошиблись с выбором целевой архитектуры (или банально файл повреждён).
Повышаем комфорт
Вы, наверное, заметили, что скорость передачи файла через «дыру» в infosvr, мягко говоря, оставляет желать лучшего. Я хотел решить эту проблему написанием TargetSideAgent, который бы весил немного и поднимал полноценное TCP соединение. Уже и немного кода написал, как ВНЕЗАПНО открыл для себя чудо-утилиту netcat! Эта утилита оказалась рабочей среди приложений, собранных buildroot для целевой платформы. Теперь не надо долго мучиться — netcat передаёт файлы на роутер (да и с роутера тоже) почти мгновенно! Для быстрой передачи теперь можно использовать такой подход: с помощью AsusBinWrite заливаем на роутер netcat устанавливаем ему разрешение на исполнение запускаем на приём: ./netcat -vvlp 8888 > recvfile а с компа запускаем на передачу: ncat.exe -vv --send-only 192.168.1.1 8888 < Useful\cpuload
Кстати, если у вас почему-то прервалась передача файла с помощью AsusBinWrite, то её можно возобновить, использовав опцию RESUME:
Возобновление прерванной передачи
Теперь скорость приличная и можно легко загружать даже «увесистые» файлы. Но не увлекайтесь. Не забывайте, что /var и /tmp (который на самом деле /var/tmp) — это оперативная память роутера. Если вы полностью её забьёте — роутер перестанет отвечать (или вообще зависнет). В этом случае придётся его перезагрузить вручную. Контролируйте свободную память при помощи free.
Кстати, когда я искал netcat под Windows, то наткнулся на "netcat 21-го века". Он гораздо богаче функционалом, чем обычный netcat. Для нашего случая очень полезной оказалась опция --send-only (разорвать соединение сразу после передачи).
>>153088365 Хорошо, что я юзаю KeePass. Но всё равно ссусь того, что какое-нибудь шпионское ПО похитит базу вместе с мастер-паролем, захватив его с клавиатуры.
Помню к какому-то китайцу на ком залез, там были скрытые съёмки его одноклассниц в столовках пока те не видят, а ещё музычка всякие слипкноты и записи лайвов. Я тоже был говнарём и извращенцем и после этого не хотел больше никого хакирить.
>>153091292 У этого армянина ничего интересного,базарю. Перекачал все фото. Только фото паспорта жены есть. В папке АННА, кажется. Короче, зря время потратил.
>>153091408 Потому что я не долбоёб. А вот я могу, в переносном смысле, воткнуть раскалённую арматурину кому-то другому в жопу и буду громко хохотать, глядя как он бегает, пытается потушить пердак и оправдываться, что мол это не арматурина у меня в жопе и вообще это не моё.
>>153091363 >Травля это не наказание за что-то, а просто потому что Тгавля и происходит за что-то. Обычно "бывшие звёзды" очень много рассказывают окружающим о себе и это не является действительностью. В их случае за лицемерие а эту тян бессмысленно заёбывать, ведь тгавля то ведётся ОКРУЖЕНИЕМ а не школьником из дома. Посмотри на себя со стороны, будешь выглядеть как долбаёб который пытается в ??шантаж?? приватными фотками. Теперь до тебя дошло?
>>153090926 Тут на день победы Егорку из Минска травили тоже не за что. Откуда нам знать, может она делала фотосессию для сайта эскорт-услуг?
Будут ее травить или нет мне не особо важно, но если будут конечно хотелось бы,чтобы мягенько, без оскорблений родителей, а просто порассылали фотки ради лулзов. Все-таки надо быть добрее, не оскорблять девушку за то, что она позволила Анончикам полюбоваться своими формами. Тем более она ведь никуда эти фотки не выкладывала
Да и поговаривают, что фоткам лет 10. Может findface поможет?
Двощи, многие наверное заметили что какой-то пидор среди нас запихивает в фтпшники Photo.scr и прочую хуету из разряда мамкиных хакиров вирусов. Предлагаю декриптовать бэкдор и по обращению к IP наказать пидора
>>153091497 Против. Тупо и попахивает банальной завистью. Когда живодёрок или школьников охуевших травят - это пиздато и полезно. Здесь - тухло и бессмысленно.
>>153092042 >среди нас ты на дату файла посмотри, это пидор раньше всех заливает за несколько дней, причем сканит явно не руками, сомневаюсь что он здесь сидит
>>153092913 Мы в 12-13м году RMS сували через 7zip, было смишно. Но когда это выходит в просторы двоща и школьники просто сатанеют идеей тгавли простых людей - это не кошерно совсем
>>153093105 В этом мне и приглянулась идея таких вот развлекательных стримов, которые проще употребить, чем идти разбираться самому.
Эх, много лет назад, когда мэйловый мой мир был жив, помнится, собирал аккаунты через секретный вопрос. Хорошо запомнил, когда сидел из-под тяночки, мне написал хач, заявив, что хочет мне отсосат трусы.
>>153093431 >>153093105 Пиздец, как же я отупел. В первом абзаце я хотел передать мысль, что вынесение таких мероприятий за скобки этого раковника, снижает их неадекватность.
>>153093584 >травля иностранца в послужном списке анона случалась? До фтп анон терроризировал разных иностранцев, печатая всякую хуйню на принтере. Кстати, их таки уже совсем не найти ?
>>153093895 До первой волны можно было врубать почти на всех принтерах печку и становиться поджигателем. Наверняка, среди эксплуатируемых ныне есть экземпляры, подверженные такой шалости.
блять не могу зарегаться. ели кто может дайте аккаунт пожалуйста. если он дает доступ к вашим файлом то не буду наглым не надо. просто сам сайт впервые вижу. пожалуйста, анон
>>153094573 то есть потравить таки можно владелицу кабинета массажа за то что блядям всяким свой массажный стол сдает, на котором потом интеллигентным людям массаж делают?
>>153094443 Не только + отключены все средства безопасности системы при включенном DMZ который нахуя то вообще делают. Так же, инженеры ростелекома/билайна не забывают включать доступ из вне.
Сцука, ебучие канадцы! Полчаса тянул видос из папки с названием "homemade pron", и хули? Там не цопе и даже не жирные карлики-пенсионеры. Там просто слайдшоу какого-то хуя с его пиздой под какой-то сопливый роцк. Даже не порнушное ни разу. Пидарасы, сука!
>>153094770 Тащемта покупаешь ноут с рук, не попадаешься на камеры при покупке, потом идешь в людное место, подключаешься к бесплатному вай-фаю и кидаешь на эти пекарни негров и тебя не спалят. Ноут каждый день нужно новый покупать.
>>153095679 >ftp://+адреса Да я вижу, что там страны, но там рашка, сша и китай, нахуй мне они, хочу посерфить украину, а ее в опциях нету, и еще, какие нахуй адреса?
>>153095797 >чтобы какие-то хуи потными ручонками перебирали мои семейные фоточки Ты много о себе думаешь. Всем плевать кто ты, главное приноси лулзы и это развлечение веселит тебя максимум вечер. >Или удолили бы к хуям все 350 гигов музла. Это может сделать только школьники или совсем долбаёб шобы было. Ведь аноны тоже хотят чтобы их замеитили а не делают всё тихо и ускоряют обучение различных долбаёбов.
У этой шодав все первые пять страниц бесплатны, а из доступного тухлятина, фотки за 2012й год, как-то не интересно, это уже всё давно облазили, не стать первооткрывателем
>>153095146 Ну, значит ты целенаправленно зашел в тред к "мудакам", зная, что тут будут выкладываться фотографии. Кто ты после этого, если не лицемерный мудак?
>>153095797 Если не хочешь, чтобы перебирали твои фоточки: 1. Не делай фоточек 2. Не сохраняй фоточки непонятно где 3. Не покупай роутеры ASUS 4. Храни фоточки под паролем 5. Храни фоточки в облаке, а не на компе 6. Юзай огоньстена
Это равносильно оставленной нараспашку двери и осуждению всех, кто зашел поглядеть, что в хате.
>>153097371 Отличная идея хранить пароли в файле под названием "пароли". Равносильно надписи "заначка" со стрелочкой в квартире, чтобы домушники не напрягались.
>>153097274 >Если не хочешь, чтобы перебирали твои фоточки: Для этого можно иметь голову на плечах и не отключать сетевой экран а с ним и доступ анонима
>>153096657 Да я и сам выложил парочку. Оно ведь как: с точки зрения питурда ничего особенного не происходит, наоборот весело. А с точки зрения нормального человека какие-то дегенераты копаются в чужом грязном белье. Ну, согласно второй точке зрения, я таки мудак.
Двач пиздец, снова опустился на ДНО. Нахуй их искать? Они могут фотать себя с дилдаками или голыми - это их право и не говорит о том, что они какие-то шлюхи. Если им писать и говорить, что мы нашли твои фотки, то она по-любому заяву накатает и будет права.
предыдущий https://2ch.hk/b/res/153073640.html
На фоне всеобщей истерии заражения вирусами, некоторые люди расшаривают свои личные данные.
Получить эти данные можно в открытом доступе, без специальных приложений, все равно что зайти к человеку на страничку.
1)Идём на shodan.io
2)Регаемся
3)Забиваем в поиск "port:21 asus 230"
4)Фильтруем по стране/городу/провайдеру
5)Вбиваем в адресную строку "ftp://"+адреса
6)???
7)Профит!
Для тех, кто нихуя не понял: в сети овердохуя открытых ФТП, через которые можно получить доступ к жёсткому диску компа, предположительно асусовский проёб.
Интересные фото/видео/документы кидаем ИТТ.