![]() |
Поиск багов на примере D.mess 2.0.7
Недавно нашёл баги в D.mess 2.0.7 . Очень популярная болталка в нашей локалке(работа через майлслот, безсерверная, фунциональная).
Обнаружил вот что. Как известно, имя компа может содержать лишь 15 символов (WinXP) и притом строго определенных: латиница + ещё несколько... А запретные: Код:
' " `~ ! @#$%^&*()=+|\/ <> :;{}[]?Код:
русскиеКод:
непечатныеТеперь одна очень полезная особенность: спец-символы в имени смотряться некрасиво и более рульно подменить часть букв кирилицей. Тогда мона реально подставить кого-нить. Причем, если чел напишет ответ на месагу - ответ улетит в никуда (да здравствует днс!!!). Однако, не любой даже одинаковый символ можно подменить. Существует сдвиг. Вот список соответствий : Код:
а-р б-с в-т г-у д-ф е-х ж-ц з-ч и-ш й-щ к-ъ л-ы м-ь н-э о-ю п-яНапример, Код:
ElektКод:
ElхktТакже прога отображает непечатный символ "ALT+3" за букву "i" (для тех, кто в танке - чтобы набрать непечатный символ - удерживая ALT, наберите на цифровой клаве ASC-II код символа). --------------------------------------------------- Описанная уязвимость лишь капля в море. Ошибки такого рода часто встречаються в 90% болталках. Как правило, отсутствует проверка на длину имени компа\длину сообщения, что позволяет переполнить буфер и выполнить произвольный код на жертве. Качественной фильтрации входящих данных нет практически НИГДЕ - дмесс пожалуй самая продуманная болталка такого типа, и то как видите - не без изъяна. --------------------------------------------------- Вот список прог с возможностью отправки сообщений через майл-слот по локалке от произвольного имени, флуд-функция: FakeSend - легко и просто. Только отправление. Message.exe - только отправление. AVC - несколько функций Tar-Facker - спамилка от товарища Tarkus'a =] PopCapturer11 - принимает\отправляет, встроенный пассивный снифер сообщений для сети на хабах. NetView - многофункциональная сетевая программа для локальных сетей. Имеет в модулях НетСендер. ====================================== Если кто не совсем себе преставляет, как данные вещи можно применить: - писать от чужого\несуществующего имени. - анонимно флудить жертву. - заставлять подвисать болталку, используя её недоработки. - писать эксплоит под уязвимую болталку для удалённого взлома. ...про зацикливание автоответчика, если мессага приходит сама от себя -- я вообще тихо молчу :))) хыхыхы |
Ковыряем LIM-Talk
Теперь приведу другой пример.
Один из пользователей в моей локалке написал аналог дмесса. Попроще конечно, но вроде как работает. Функций минимум: автоответ, история. Софтинка прошла жёсткий тест на уязвимости.. и не зря! ========LIM-Talk_2005.03 Скачать LIM-Talk_2005.03 Простите, исходники мне так и не отдали, боялись :) При тесте на бажность открылись интересные подробности. Во входящем сообщении не проверялось имя компа-отправителя. Вообще. Само собой при большой длине имени отправителя буфер переполняется и ланталк с ошибкой падает, что собственно можно использовать для выполнения произвольного кода. Талк запускается под учёткой пользователя, а это как правило в 90% случаев - Админ. Вобщем, хорошая такая дырочка. Затем выяснились ещё вот какие интересные подробности. Журнал реализован в папке "logs". Там храняться "ххх .txt" файлы, где "ххх" - имя отправителя. При приёме сообщения лантал выводит на экран. При закрытии окна (именно при ЗАКРЫТИИ!) идёт проверка "имени отправителя" на уже имеющиёся лог-файл. Если такого отправителя небыло - создние файла "имя оправителя".txt и запись новых сообщений. Так вот. Если имя отправителя содержит в себе символы, которые запрещены в названиях файлов - лог-файла не создастся. Ошибки при этом не вылетает - лог просто незаписывается, пропадает. Так например: Код:
"**HACKER**"Код:
"../../../../../../../../troyan"Ну, можно и вот так: Код:
"../../../../../../../../WINDOWS\troyan"Но *.txt расширение как-то не катит =] Я угробил немало времени, пытаясь обойти расширение... и нашёл способ! Х.з. почему, но если в конец имени поставить двоеточие, то расширение "*.txt" не создаётся. Пробуем: Код:
"troyan:"Пробуем: Код:
"troyan.exe:"... к сожалению двоеточие не только рубит расширение. Оно отрезает всё сообщение после себя. Таким образом мы можем создать в любом известном нам месте на диске жертвы: - текстовый файл с заданным содержанием - любой другой файл без содержания (0 байт объёма) ... так же есть ограничения на символы: нельзя использовать русские буквы в пути, двоеточие для междисковых переходов(ибо его наличие есть завершение пути) Т.е толка от инклуда почти никакого. Однако, кое-что поганого всё же можно сделать :) Если имя оправителя будет вот таким: "[пробел]:" или "[пробел][пробел]:" , где [пробел] - это и есть пробел :)) : Код:
(" :")Так же при открытии более 72 окон - работа талка опять же аварийно завершаеться. Можно просто послать 73 собщения от разных имён - и талк упадёт. При тестировании выяснилось, что если имя отправителя ВООБЩЕ ПУСТОЕ, то талк при приёме каждого такого сообщения открывает окно и присваивает имени отправителя имя "ts[N]", где [N] - номер сообщения по порядку. Итак, послав 73 сообщения от пустого имени отправителя мы снова убиваем талк. ========LIM-Talk_2005.03 Скачать LIM-Talk_2005.11 Простите, исходники мне так и не отдали, боялись :) Об багах 2005.03 версии было честно отписано автору. Он долго мучил себя и меня, разбираясь в сути проблем. Как бонус в новую версию ввёл добавление: фильтр мата... Эх :) =================== Хочу сказать, что практически во всех болталках в автоответчике отсутствует проверка на совпадение имени получателя-отправителя. И как только возникает возмоность отправить мессагу от произвольного имени, становиться валидной атака на автоответчик - его зацикливание. Если вы видите, что у жертвы включён автоответ - просто шлёте мессагу ему же от его же имени. Всё :) Как вариант, можно провести атаку на зацикливание автогответа, если присутствует сразу два пользователя с включёнными автоответчиками. Стравливаете их автоответчики между собой :) ==================== Это я к тому, что автор так не исправил в этом релизе данную багу, а так же багу с подменой русских букв. А словарь имеет следующую багу. Если умудриться добавить в слов. запас строчку вида "[пробел][пробел],[пробел]": Код:
" , "При строчке "[пробел],[пробел]" - талк дохнет от одного единственного пробела(но это уже слишком, кто ж им пользоваться тогда будет?). Для надежности было бы не плохо воткнуть подвис на три пробела, но так к сожалению почему-то не катит. ========LIM-Talk_2005.03 Скачать LIM-Talk_v2_with_SMILES Простите, исходники мне так и не отдали, боялись :) Спустя некоторое время вышел ещё один релиз, держащий смайлы. И тут не обошлось без приколов :) При просмотре списков соответствия ("alt", "smiles") невольно обращаешь внимание на имена файлов. А что если и здесь инклуд?.. Точно! Шлём сообщение, содержащее: Код:
*../../../../WINDOWS/system32/setup:При экспериментах всплыла ещё вот такая ошибка: Код:
*:======================== По данной методике можно расковырять практически ЛЮБОЙ талк. Главное - немного желания, удачи и мозгов. Скоро напишу тестовый эксплоит к ним. Всем удачи в происках! |
Особое спасибо за список нужных (:)) прог для флуда/спама=)
|
| Время: 02:27 |