BACKSTEALTH удар в спину Спецвыпуск Xakep, номер #024, стр. 024-030-1 TanaT (TanaT@hotmail.ru) Предположим, ты хочешь кого-то хакнуть, а у этого чела стоит файрволл, что делать? Надо сказать, что сегодня эта проблема достигла пика своей актуальности. Суди сам - все, кому не лень, обвешались антивирусами и файрволлами. Даже полные ламеры знают, что "защита от злобных хацкеров достигается с помощью огромного числа security utils". Сейчас мы и поговорим об одном принципиальном способе обхода файрволла. В мае этого года некий программер Паоло Иорио реализовал метод, позволяющий обходить файрволлы изнутри. Итальянец написал небольшую программу, которая, будучи запущенной под файрволлом, может беспрепятственно подключиться к сети и скачивать тестовый файл. Если быть точным, то эта мега-прога дурачит не все файрволлы, а лишь: Kerio Personal Firewall, McAfee Personal Firewall, Norton Internet Security 2002, Sygate Personal Firewall Pro, Tiny Personal Firewall (всего-то :) - прим. ред.). Вначале разберем, что делает утилитка под названием BackStealth. Чтобы она заработала, нужно запустить ее на компе с установленным файрволлом. Тогда BS просканирует машину и попытается определить, установлен ли на ней какой-либо из "поддерживаемых" файрволлов. Если BS найдет хоть один из них, то попытается установить соединение с сетью и скачать файл по адресу: www.pc-facile.com/security/backstealth.txt. Этот файл она сохраняет на винте: C:\retrieve.dat. Вот его содержимое: BACKSTEALTH test A collaboration with http://www.pc-facile.com Copyright 2002 Paolo Iorio If you are reading this message it means BackStealth has managed to download this file WITHOUT your firewall being aware of it. No need to say that this is not good at all! Как видишь, проведение самого теста никакого вреда причинить не может. Благо файл текстовый, а не деструктивно-исполняемый. Теперь давай посмотрим, как BS'у удается такой трюк. Сам автор решил не сильно распространяться о механизме работы своей программы и сообщил лишь следующее: "BS использует Win API функцию VirtualAlloc, чтобы разместить необходимый для исполнения код в памяти, которую ОС выделила файрволлу. Таким образом, при обращении к сети и ОС, и файрволл думают, что в Интернет лезет сам файрволл!" Действительно, если запустить эту прогу под файрволлом (мы пробовали это на каждом файрволле из предлагаемого списка), то в списке открытых соединений реально будет прописан работающий файрволл. (Список открытых соединений можно просмотреть командой "netstat -an" или с помощью любой графической утилиты, например, TCPview: www.sysinternals.com/files/tcpview.zip) Кажись, все ясно, прога маскируется под файрволл и пытается выдать себя за его часть. Но на самом деле автор немножко схитрил. Что будет, если запустить BackStealth под любой последней версией файрволла (было бы глупо думать, что разработчики никак не отреагируют на такую дырку)? Очень просто, BS отыщет сторожа и попытается в него внедриться; так как разработчики уже что-то там поменяли, у нашего ренегата ничего не получится. Появится ошибка: VirtualAllocEx failed:120. |