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

ГНУТЫЙ СТВОЛ ПОПАДАЕТ ДВАЖДЫ!

Alex Shark

Спецвыпуск Xakep, номер #032, стр. 032-054-1


(qqqqqwww@e-mail.ru)

SPOOFER В ОКНАХ HOWTO

Хорошо стрелять по сетке в контру, а представь, что ты можешь выстрелить из чужого ружья, причем ни жертва, ни хозяин ружья об этом ничего не узнают. Давай постреляем, только не нарисованными пульками, а реальными пакетами.

NETXRAY

Для начала не мешает его поставить. Качать можно с http://msk.nestor.minsk.by/sr/download/netxray.zip, найдено на первой странице yandex-а. Если сайт и отвалится после выхода журнала, найти будет нетрудно.

После установки запускаем и видим несколько окошек. Давим на трубу со стрелочкой, направленной на выход. И попадаем в спуфер. Тут есть редактор пакетов, то есть ты можешь сделать весь пакет сам. Можно также запустить его на прослушку, это труба со стрелочкой на вход. Затем на квадрат с биноклем. Выделяй пакеты, которые хочешь слать, и делай правый клик по ним. Найди "send this packets" и ты увидишь, как они вылетят от тебя. Режимов посылки у него несколько, ты можешь слать по одному, по несколько (укажи в окошке, сколько раз послать). Или бесконечно много (continuously), что полезно при забивании мусором порта или при syn-флуде. Не забывай про ID пакета. Если слать один и тот же пакет, то машина примет только первый, а остальные посчитает за дупы. Поэтому лучше для флуда отправлять пачку из 10-20 перехваченных пакетов.

Прога умеет сама считать контрольную сумму, но ты можешь ее и подкорректировать вручную, хотя на практике ничего хорошего из этого не выйдет. Можно задавать вручную данные внутри пакета и менять флаги (rst, fin и прочие). Можно даже сделать левый пакет, с большей длиной, чем реально есть данных. Можно сделать пакет для land-атаки, для этого надо поставить одинаковые source и destination IP и одинаковые порты. При этом порт должен быть открыт. Если тачка не патченная и ось там не больше 95, то она отвалится в тотальный даун. Если хочешь испугать друга линуксоида, то поставь на прослушку исходящие пакеты TCP и вруби прогу-флудер, например, portfuck. После отлова 10-20 пакетов тормози их обоих, выделяй пакеты и говори "слать до посинения". Если на линухе есть открытый порт и ты именно его portfuck-ал, то на компе начинает очень страшно тарахтеть винт. Ничего реально страшного не происходит (по крайней мере в ближайшие 15-20 минут), но звучит это неприятно.

Используя битую фрагментацию пакета, можно засрать стек на чужой машине. Для этого надо настроить снифер на поимку исходящих ICMP-пакетов. Хорошенько пингануть машину пакетом на 60 кило, желательно не один раз. После чего, поковырявшись во внутренностях, надо стереть последний, завершающий пакет, именно после него машина начинает отвечать на пинг. Если он не пришел, тачка будет хранить все остальные пакеты, пока не истечет тайм-аут. В локалке это будет выглядеть вечнозеленым глазом на хабе и сетевухе. На тачке чувствуется явное торможение. При этом фаерволлы грустно молчат, поскольку пакетов толком ни одного не пришло.

Если сделать серию из 10 незавершенных пакетов и послать ее раз 100, то отожрется солидный кусок RAM, а из-за корявого стека не все пакеты корректно отчистятся. Тут хорошо заметен глюк мастдайной реализации стека. Пишутся в память все пакеты, если ID не совпадает с последними десятью. А удаляются только первые. Таким образом, получив 50 серий по 10 пакетов, тачка подождет и сотрет только первые 10. Можно так же замутить и TCP соединение, но в этом случае геморроя будет больше.

Содержание  Вперед на стр. 032-054-2