Недавно нашёл баги в D.mess 2.0.7 . Очень популярная болталка в нашей локалке(работа через майлслот, безсерверная, фунциональная). Обнаружил вот что. Как известно, имя компа может содержать лишь 15 символов (WinXP) и притом строго определенных: латиница + ещё несколько... А запретные: Code: ' " `~ ! @#$%^&*()=+|\/ <> :;{}[]? + Code: русские + Code: непечатные Фишка в том, что если оттослать мессагу от имени компа, содержащего запретные символы, Дмесс иногда просто игнорирует сообщение, а иногда - окошко зависает и его нельзя закрыть. Да, не бог весть что, но для приколов в локалке - самое то :-] Сам дмесс продолжает работать, но окно с мессагой можно закрыть лишь перегрузив прогу. Очевидно, это ошибка в работе журнала(истории). Теперь одна очень полезная особенность: спец-символы в имени смотряться некрасиво и более рульно подменить часть букв кирилицей. Тогда мона реально подставить кого-нить. Причем, если чел напишет ответ на месагу - ответ улетит в никуда (да здравствует днс!!!). Однако, не любой даже одинаковый символ можно подменить. Существует сдвиг. Вот список соответствий : Code: а-р б-с в-т г-у д-ф е-х ж-ц з-ч и-ш й-щ к-ъ л-ы м-ь н-э о-ю п-я Тоесть, чтобы подменить латинскую на русскую "а" - надо вписать русскую "р" и т.д. Например, Code: Elekt надо написать как Code: 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 и запись новых сообщений. Так вот. Если имя отправителя содержит в себе символы, которые запрещены в названиях файлов - лог-файла не создастся. Ошибки при этом не вылетает - лог просто незаписывается, пропадает. Так например: Code: "**HACKER**" Дальше больше - если имя отправителя например вот такое: Code: "../../../../../../../../troyan" (без кавычек!), то... в корневой директории диска, где находиться талк создастся "troyan.txt" Ну, можно и вот так: Code: "../../../../../../../../WINDOWS\troyan" Внимание! Создание файла происходит ПОСЛЕ закрытия окна сообщения. Не забудьте закрыть(ctrl+W). Но *.txt расширение как-то не катит =] Я угробил немало времени, пытаясь обойти расширение... и нашёл способ! Х.з. почему, но если в конец имени поставить двоеточие, то расширение "*.txt" не создаётся. Пробуем: Code: "troyan:" . Создаётся файл "troyan" без расширения. Пробуем: Code: "troyan.exe:" ... ГЫГЫГЫ Готово. ... к сожалению двоеточие не только рубит расширение. Оно отрезает всё сообщение после себя. Таким образом мы можем создать в любом известном нам месте на диске жертвы: - текстовый файл с заданным содержанием - любой другой файл без содержания (0 байт объёма) ... так же есть ограничения на символы: нельзя использовать русские буквы в пути, двоеточие для междисковых переходов(ибо его наличие есть завершение пути) Т.е толка от инклуда почти никакого. Однако, кое-что поганого всё же можно сделать Если имя оправителя будет вот таким: "[пробел]:" или "[пробел][пробел]:" , где [пробел] - это и есть пробел ) : Code: (" :") , тогда создастся файл лога с именем в два пробела. Стандартными средствами виндов файл с таким именем НЕЛЬЗЯ создать, и соответственно нельзя удалить. Так же при открытии более 72 окон - работа талка опять же аварийно завершаеться. Можно просто послать 73 собщения от разных имён - и талк упадёт. При тестировании выяснилось, что если имя отправителя ВООБЩЕ ПУСТОЕ, то талк при приёме каждого такого сообщения открывает окно и присваивает имени отправителя имя "ts[N]", где [N] - номер сообщения по порядку. Итак, послав 73 сообщения от пустого имени отправителя мы снова убиваем талк. ========LIM-Talk_2005.03 Скачать LIM-Talk_2005.11 Простите, исходники мне так и не отдали, боялись Об багах 2005.03 версии было честно отписано автору. Он долго мучил себя и меня, разбираясь в сути проблем. Как бонус в новую версию ввёл добавление: фильтр мата... Эх =================== Хочу сказать, что практически во всех болталках в автоответчике отсутствует проверка на совпадение имени получателя-отправителя. И как только возникает возмоность отправить мессагу от произвольного имени, становиться валидной атака на автоответчик - его зацикливание. Если вы видите, что у жертвы включён автоответ - просто шлёте мессагу ему же от его же имени. Всё Как вариант, можно провести атаку на зацикливание автогответа, если присутствует сразу два пользователя с включёнными автоответчиками. Стравливаете их автоответчики между собой ==================== Это я к тому, что автор так не исправил в этом релизе данную багу, а так же багу с подменой русских букв. А словарь имеет следующую багу. Если умудриться добавить в слов. запас строчку вида "[пробел][пробел],[пробел]": Code: " , " , то при приёме сообщения, содержащего где-либо два пробела подряд - талк зависает и умирает. При строчке "[пробел],[пробел]" - талк дохнет от одного единственного пробела(но это уже слишком, кто ж им пользоваться тогда будет?). Для надежности было бы не плохо воткнуть подвис на три пробела, но так к сожалению почему-то не катит. ========LIM-Talk_2005.03 Скачать LIM-Talk_v2_with_SMILES Простите, исходники мне так и не отдали, боялись Спустя некоторое время вышел ещё один релиз, держащий смайлы. И тут не обошлось без приколов При просмотре списков соответствия ("alt", "smiles") невольно обращаешь внимание на имена файлов. А что если и здесь инклуд?.. Точно! Шлём сообщение, содержащее: Code: *../../../../WINDOWS/system32/setup: хахаха) эта картинка есть в любой ХР, 2003. Возможно и в 2000. При экспериментах всплыла ещё вот такая ошибка: Code: *: Вываливаеться еррор. ======================== По данной методике можно расковырять практически ЛЮБОЙ талк. Главное - немного желания, удачи и мозгов. Скоро напишу тестовый эксплоит к ним. Всем удачи в происках!