Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

05.08.2009, 16:14
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
Mail.ru SMS sender
Пишем альтернативный клиент
ВВЕДЕНИЕ:
После того как я выложил в паблик Mail.ru Spam base generator меня многие просили выложить исходник или хотя бы рассказать как работать с MMP протоколом. Собственно этому и будет посвящен этот пост, а чтобы было еще интереснее я опишу, как отравлять СМС используя протокол.
Ассемблер я выбрал не случайно, так как надеюсь, что он отпугнет неверных
АЛГОРИТМ:
Протокол довольно хорошо описан самими разработчиками.
После установки соединения сервер постоянно посылает пакеты, которые клиент должен успевать обрабатывать и адекватно отвечать. Прием и отправка должны происходить асинхронно, а на блокируемых сокетах подобное можно реализовать лишь используя многопоточность.
Я опишу принцип работы моего клиента, остальное можно будет понять из комментариев к коду. - Получаем адрес рекомендуемого сервера MMP по адресу mrim.mail.ru:2042 он передается в текстовом формате ip : port
- Подключаемся к серверу и создаем поток отправки и приема.
Потоки синхронизируется событиями.
Поток отправки представляет из себя процедуру, которая ждет появления события отправки и отправляет заголовок пакета и нужно данные расположенные в общем буфере. Заголовок и данные для отправки заполняются предварительно.
Поток приема представляет из себя бесконечный цикл, который постоянно принимает и анализирует заголовки отправленные сервером.
- Отправляем MRIM_CS_HELLO
- Получаем MRIM_CS_HELLO_ACK и создаем поток пинга, который через указанный в пакете интервал отправляет MRIM_CS_PING.
- Посылаем MRIM_CS_LOGIN2. Mail.ru Agent отправляет очень странный пакет, полностью который разобрать мне так и не удалось, а все мои попытки самостоятельно сформировать MRIM_CS_LOGIN2 оказывались неудачными, поэтому я просто скопировал часть дампа )
- В случае успешной авторизации сервер присылает MRIM_CS_LOGIN_ACK и MRIM_CS_LOGIN_REJ в случае неудачи.
- После авторизации необходимо принять полностью MRIM_CS_USER_INFO и только после этого отправлять свои данные. Все мои попытки отправлять запросы сразу после MRIM_CS_LOGIN_ACK заканчивались неудачей.
СМС:
Эта возможность никак не освещена в официальной документации, но стоит немножко поснифать...
Код:
EFBEADDE
12000100
DD711940
39100000 команда 0x1039 отправка смс
2E000000 длина сообщения
00000000
00000000
00000000
00000000
00000000
00000000
00000000
lps номер телефона кому
0C000000
2B3739313233353435363731 // +79123545671
lps сообщение в UNICODE
16000000
67006100720069006B0020006D007500740069007400 // garik mutit
После успешной отправки сервер присылает пакет 0x1040, а в случае неудачи MRIM_CS_MESSAGE_ACK в котором красиво написано почему, не ушла СМС.
WWW:
Для тех, кто хочет понять, как вообще это все работает, я рекомендую почитать:
http://www.wasm.ru/publist.php?list=1
http://www.insidepro.com/kk/006/006r.shtml
P.S
Автор не несет ответственности за возможно последующие брут форсы email (пока тестировал сервер даже не ругнулся, что я так часто подключаюсь), генераторы спам баз на основе MRIM_CS_WP_REQUEST, спамерские рассылки СМС и MRIM_CS_MESSAGE, и распространение червей через MRIM_CS_FILE_TRANSFER
Приложение А
Текст программы
К сожелению она получилась настолько здоровая, что тупо не умещается в пост ) поэтому вот ссылочки:
mra.inc, string.inc, sms.asm
Приложение Б
Контрольный пример работы программы

Рисунок Б.1 – Главное окно программы
Кому лень компилировать, можете посмотреть сразу как все это работает sms.exe (7168 байт). Лично у меня антивить ругается, что это "TR/Crypr.XPACK.Gen", эх зналбы он что это просто асм программа, труд 3х ночей )
Последний раз редактировалось Gar|k; 05.08.2009 в 16:33..
Причина: чет она с исходниками не уместилась )))
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|