Пускаем трафик через цепочку проксей
Профессиональные хакеры всегда заботятся о своей анонимности, что бы они ни делали - начиная от простого сидения в ирке/асе и заканчивая взломом корпоративных серверов крупных компаний. А новички обычно забивают на собственную безопасность, в результате чего, рано или поздно, им приходится обдумывать свои ошибки в местах не столь отдаленных =(. В этой статье я расскажу, как хакерам удается скрыть свой истинный IP-адрес от любознательных личностей.
INTROДАКШН
Как не пропалиться при взломе? Существует множество способов. Например, хакер может купить на митинском радиорынке без предъявления паспорта биплюсовскую sim-карту и выйти в Сеть через нее, используя мобильник, поддерживающий технологию GPRS. Даже если админ похаканной тачки узнает IP'шник взломщика, поймать последнего не удастся по вполне понятным причинам. Есть и другой способ - хакер может использовать цепочку шеллов для обеспечения анонимности. Принцип этой технологии таков. Сначала он telnet'ится со своей тачки к какому-нибудь похаканному серверу, с него выходит на другой облапошенный сервак, с которого и делает свои грязные делишки . В итоге, при атаке в логи компа-жертвы записывается IP-адрес последнего сервера цепочки, а IP хаксора не палится нигде. Но самым простым и универсальным методом сокрытия истинного IP-адреса хакера по-прежнему остается использование цепи socks-проксей. В этой статье я подробно опишу тулзы, которые стоит юзать для создания таких цепочек. Работать будем с двумя незаменимыми программами SocksChain и SocksCap (wwwnsd.ru/soft.php?group=hacksoft&razdel=anonim). Симбиоз этих двух софтин совмещает в себе все необходимые функции для обеспечения конфиденциальности хакера.
SocksChain работает так: он поднимает Socks5-сервер на N-ом порту локальной машины и пускает все данные, идущие в этот порт, по выстроенной цепочке. Сначала программа соединяется с первым сервером цепи и передает пакет ему. Тот, в свою очередь, коннектится ко второму носковому серваку, второй к третьему и т.д. Чтобы отследить, откуда инициировался запрос, нужно последовательно просматривать и анализировать логи всех звеньев, а это, сам понимаешь, очень затруднительно. А если логи на каком-нибудь из серверов не ведутся, стерты или просто каким-нибудь образом "утеряны", нить будет потеряна и вычислить хакера, который юзает такую систему, будет в принципе невозможно.
Готовим инструмент
Допустим, ты успешно установил и запустил SocksChain. Теперь необходимо скормить программе список проксей, из которых впоследствии и будут формироваться цепочки. Для этого запускаем Proxy Manager (Инструменты -< Proxy Manager) и жмем на кнопку Add. В появившемся окне вписываем IP-адреса проксиков и нажимаем ОК. В окне прокси-менеджера появятся те адреса, которые ты только что ввел. Осталось только прописать номера портов, которые используют прокси для обмена данными (кнопка Edit), и нажать на Test all для проверки прокси-серверов на работоспособность.
Стоит отметить, в программе есть одна замечательная функция, которую я не встречал еще ни в одной другой софтине - возможность автоматического (!) добавления прокси-серверов. Теперь не нужно искать рабочие прокси-серверы по всему инету, достаточно лишь нажать батон Update list, и твой proxy-list сам пополнится несколькими сотнями носков пятого и четвертого размера =). Правда, их тоже придется чекать на работоспособность. Однако результат проверки тебя приятно удивит - добрая половина серверов будет ждать твоих указаний.Строим цепь
Цепочка, как ты понимаешь, сформируется из тех прокси-серверов, которые ты выберешь. А делается это так. Жмем Service -< New. В поле "Имя" указываем имя нашей цепи, например "MyXakepChain". В поле "Порт" - произвольный номер порта в диапазоне от 1 до 65 535, не занятый никаким другим сервисом, например что-нибудь вроде 12345. Теперь нужно выбрать адреса тех проксей, через которые будем пускать трафик. Имеются два окошка для вбивания списка проксиков: верхнее и нижнее. Первому предстоит хранить адреса тех серверов, с которых цепь будет начинаться. Во второе нужно внести IP'шники компов, которыми цепь соксов будет заканчиваться. Для добавления сокса в список выбираем мышью нужный прокси-сервер из списка проверенных серваков (обычно хакеры отдают предпочтение носкам пятого размера - они более универсальны) и жмем Add. Если ты видишь, что выбранная прокся успешно добавилась, значит, ты на правильном пути, поэтому можешь продолжить добавлять соксы. Чем больше серверов добавит хакер, тем длиннее будет цепь, следовательно, вычислить его будет все труднее и труднее, а точнее, все более "невозможней" . Но не стоит забывать и про скорость передачи данных - слишком длинные цепи прилично тормозят работу. Добавлять стоит от двух до пяти соксов - такая длина носочной цепи является оптимальной. По идее, длина цепочки должна регулироваться значением поля Chain length, но почему-то в версии 3.8, которую я сейчас описываю, это поле ни на что не влияет. После того, как хакер выберет нужные ему серверы и нажмет кнопку ОК, созданная служба запустится.
Юзаем построенную цепь
Что ж, теперь сервис готов к работе. Но как же направить трафик в порт 12345 локальной прокси? Если программа, трафик которой ты хочешь погнать по цепочке, поддерживает соединение через проксю, проблем не возникнет - можно просто-напросто указать ей в настройках соединения адрес прокси 127.0.0.1 с портом 12345. В итоге всю инфу программа станет слать в порт 12345 localhost'a, а SocksChain будет принимать ее и отсылать по выстроенной цепочке.
Но что делать, если в софтине, трафик которой ты хочешь соксифицировать, нет поддержки прокси-сервера? Тут нам поможет офигенная тулза SocksCap. Она перехватывает все сетевые системные вызовы выбранного тобой приложения и в принудительном порядке отсылает трафик на указанный proxy-сервер.
Настраивается она элементарно. Из контекстного меню выбираем File -< Settings. В поле SOCKS server появившегося окна вписываем адрес 127.0.0.1, в поле Port - номер порта, который указывали в настройках SocksChain'а при создании цепочки (в нашем случае 12345), в разделе Protocol ставим переключатель на SOCKS Version 5 и жмем OK. Теперь остается выбрать приложения, трафик которых ты хочешь пустить через SocksChain'овскую цепочку. Для этого нужно просто перенести ярлыки нужных тебе софтин в окно программ SocksCap'a.
Если теперь запустить какую-нибудь тулзу из окна SocksCap'a, весь трафик, который она генерит, будет пущен по цепи, которую выстроил SocksChain.
Обходимся одним SocksChain'ом
Начиная с версии 3.8, SocksChain умеет делать все то же самое, что и SocksCap. Теперь SocksCap'овское окно имеется прямо в SocksChain'e. Поэтому нужные тебе exe'шники можно переносить непосредственно в окно "Applications" SocksChain'a и запускать их прямо оттуда.
Заключение
Как я уже говорил, если логи на одном из соксов будут стерты, найти хакера не удастся. А ведь некоторые хаксоры пользуются этим! Они устанавливают свои не ведущие логов прокси-сервера на невинных похаканных тачках и делают дела через них. Ты только представь, что будет, если хакеру удастся поломать какой-нибудь сервер с красивым именем в обратном DNS-запросе (например wwwarmy.mil), поставить туда свой сокс и использовать его в качестве простого прокси-сервера! Думаю, удивление любого облапошенного админа будет велико, когда он узнает, что его сервер поимел кто-то из вооруженных сил США =)). Представь, как удивятся ламеры, сидящие в ирке, когда посмотрят на твой IP'шник и увидят там что-нибудь вроде "193.45.3.15, wwwaudi.com". Вот таким простым способом хакеры скрывают свой настоящий IP'шник от спецслужб. Однако сокс-серверы используют не только взломщики. Если обычные юзеры будут юзать носки, вероятность взлома их машины резко уменьшится.
Обеспечиваем безопасность по полной!
Представь, что будет, если на одном из сокс-серверов будет стоять снифер. Какой-то лопоухий ламосос не только будет сниферить твои пароли, но и получит доступ к твоей секретной переписке с девушкой! Для того чтобы полностью обеспечить свою безопасность в Сети, можно еще и зашифровать свой трафик. Для этого на твою машину и на конечный сервер носочной цепочки нужно поставить специализированную тулзу. Рекомендую выбрать многофункциональную программулину Stunnel.