Большой Брат следит за тобой: как палят подмену MAC в локалке

//15.11.2004 Версия для печати Комментарии | Автор solaris

Сегодня мы поговорим с вами на тему локального хака. Как это делается вы уже, наверное, знаете, вернее слышали, но попробовать не решались. И правильно делали! Почему? Об этом как раз я и расскажу в этой статье. Знаете, еще до того, как я стал админом и начал с вами бороться, я просто глумился над своими собратьями по сетке. Что я делал? ;) 

Ну, вариант нумбер ван!

В сети очень распространены FTP-сервера. Догадываетесь? Нет, не правильно! Я написал мини прокси на Дельфях и поменял иконку приложения на иконку обычной папки, обозвал приложение «XXX.exe»и выложил его у себя на FTP. Эффект был потрясающий! На мыло валилось огромное кол-во IP-шников, на которых был установлен мой прокси. Да я и сам не ожидал, что это прокатит, но… Далее я прикрутил к этому делу мини FTP и на 21 порту в моем распоряжении оказались их логические диски. 

Вариант нумбер ту!

Социальная инженерия рулит! Огромное количество людей, не знающих что такое Remote Administrator, попалось на идею тех поддержки. Как только в локальном IRC я видел, что кто-то просит о помощи… Далее можно не рассказывать, вы и сами такое можете делать. 

А теперь, вариант номер 3. Он же заключительный и самый важный.

Проанализировав итоги прошлой статьи (Маскируемся или как не платить деньги админу за лишний комп в локалке) я пришел к выводу, что на сегодняшний день самая актуальная для вас проблема это подмена МАС. Как это делать вы и сами знаете, но вот если пропалят - будет плохо. Да, пропалят! Еще как пропалят! 

Погружаемся…

Немного теории для начала. Все вы знаете, что стек протоколов TCP/IP разбит условно на 5 уровней: уровень приложений (5), транспортный (4), сетевой (3), канальный (2) и, наконец, уровень физический - оборудования (1). Так вот, товарищи, довожу до вашего сведения, что протокол, рассматриваемый в этой статье, работает между 3-м и 2-м уровнями. Дословно ARP (Address Resolution Protocol) переводится на русский, как Протокол Разрешения Адресов и предназначен для вычисления MAC адреса компа по известному IP адресу. Фактически, данный протокол не вписывается в рамки модели TCP/IP. Все дело в том, что данные для ARP и его собрата RARP (о нем я расскажу далее) распространяются в дейтаграмме, являющейся частью сетевого уровня (3), однако коды, которые указывают, что дейтаграмма содержит данные именно ARP или RARP, находятся в поле типа кадра Ethernet, входящего в уровень сетевого интерфейса (2). Сложно, не правда ли? Ничего, еще и не такое придется услышать. Поехали дальше. 

Как происходит передача данных от одного компа к другому? Итак, пропустим пока верхние уровни и перейдем сразу к 3-му. Здесь в заголовок пакета (в случае TCP) или дейтаграммы (для UDP) вписываются номера IP адресов и портов, куда пакет должен быть доставлен и откуда он идет. Далее пакет попадает на 2 уровень. Тут то и начинается все самое интересное. В пределах сегмента, т.е. от твоего компа до ближайшего роутера (если он есть, конечно), данные передаются от одного МАС адреса к другому. Как понять, есть ли искомый комп в сегменте или его нет? Для этого существует широковещательный ARP-запрос, ARP-кэш и ARP-таблица (обратите внимание на то, что последние 2 понятия это абсолютно разные вещи, далее вы поймете почему). Если твой компьютер отправляет пакет, например, твоему лучшему другу, находящемуся вместе с тобой в одной подсетке, то для начала он исследует ARP-таблицу. Если там уже есть запись о твоем друге, то все хорошо, данные о MAC записываются в заголовок пакета, и он благополучно уходит. Если же данных там нет, то компьютер обращается к ARP-кэшу. И только в крайнем случае, когда данные нигде не найдены, выполняется широковещательный ARP-запрос. Для особых любознательных: этот запрос уходит на MAC ff:ff:ff:ff:ff:ff. То есть он адресован всем компам подсети и содержит информацию, переводимую на человеческий язык, как: «У кого имя moy_drug_pc?». Коли ответ приходит, его заносят в кэш и отправляют пакет, коли нет - генерируется сабж об ошибке. Итак, все становится уже значительно проще… 

Для обратной штуки как раз и нужен RARP (Reverse ARP) – Обратный ARP. Нужен он, как вы уже догадались, для определения IP по известному МАС. Историческое его применение – бездисковые терминалки, где нет возможности хранить конфигурационные файлы. 

А нафига оно все нада?

Ох… ;) Хороший вопрос. Ну, начнем с самого интересного. Ты знаешь в чем отличие хаба от свича? Для тех, кто все еще не знает: хаб отправляет пришедший пакет на все порты, кроме того, с которого этот пакет пришел. Свич более интеллектуальная штука, он может запоминать в специальную таблицу соответствия МАС-порт. Тем самым он снижает нагрузку на сеть и не дает нам, паганцам, снифать трафик. Ничего… Что бы там ни стояло, мы всегда можем заняться атаками а-ля ARP-spoofing, ARP-poisoning (о них журнал уже неоднократно писал, так что повторяться я не буду). Есть еще такая штука, как подмена МАС. На ней и остановимся поподробнее. Заядлые сетевики уже давно знают, что админ всегда в курсе, кто меняет МАС. Как? А вот сейчас и расскажу.

Как ЭТО делают админы

Эти 2 протокола очень важны борцам с вами, товарищи. Ибо они и помогают блокировать вам доступ в сеть и дают админам информацию о том, кто и когда был в сети. Все дело в том, что если ты, например, не заплатил админу в нужный срок, он создает на сетевухе роутера алиас на твой IP. Тем самым порождается конфликт между тобой и роутером (твой IP принадлежит после этого МАСу сетевухи роутера). Тебя выкидывает из сетки, а восстановиться ты уже не можешь, т.к. твой IP уже кем-то занят. Поменять МАС и подключиться через IP ничего не знающего соседа? Хорошее решение, но тут надо быть осторожнее. Тем, кто хоть раз видел статистику по ARP кэшу в *nix известно, что там обычно кроме IP и MAC’a можно получить и имя компьютера. Обратите на это внимание! Знаю админов, которые ловили вас на том, что вы забывали изменить имя своего компа на имя компа жертвы, за что, конечно, и были наказаны. Так ОТКУДА админы знают о подмене? Все дело опять же в этом ARP. Этот нехороший протокол позволяет собрать статистику по сегменту сети (я про табличку соответствия МАС-IP-имя_компа). Умные программки (назовем их ARP анализаторы), стоящие на роутерах админа, секут каждый ком в сети основываясь на этих таблицах. Если софтина поумнее, то она записывает в табличку еще время коннекта и дисконнекта по которым тоже несложно посмотреть, кого не было в сети пока у жертвы деньги на счету закончились. Время это обычно берется из логов биллинговой системы, которой админ $$$ считает. Сечет эта софтина и конфликты IP адресов, ситуации, когда ты решил сменить МАС, пока жертва была еще в сети. В общем, вариантов туча. Мой знакомый даже и без этой хитрой системы догадался посмотреть в логи локального irc сервера, куда обычно коннектится автоматом мирка всех клиентов сети. Чувак просто забыл сменить ник и пропалился на том, что не со своего обычного IP подключился. 

Welcome to hell, товарищи…

Не хочу вас пугать, но если вы думаете, что админ лох (простите, не хотел), что он не может написать эту софтину или же у него нет бабла на найм программистов (в чем я очень сильно сомневаюсь), то вы ошибаетесь. И вот вам тому доказательство. Стандартный сниффер tcpdump может скинуть весь ARP трафик в файл, который будет обработан простейшим perl скриптом (уж этим языком все админы владеют). Данные полетят в мускул (mysql) и проведется несложный анализ, о котором упоминалось выше… Как видите, не нужно особо напрягаться, чтобы вас вычислить. А еще есть мазохисты, которые готовы привязывать любой МАС в сегменте к определенному интерфейсу программируемого свича. Тогда все твои попытки сменить МАС просто пойдут псу под хвост, да еще и по голове получишь.

The END… 

Как ты узнал, ARP нужен не только для пакости, но и для отлова пакостников. Кроме этого его можно использовать как некоторое средство повышения безопасности твоего ПК. Как? 

1. Отключаешь прием широковещательных запросов и вообще всякое реагирование на ARP (это очень просто реализовано в *nix, а про винду не знаю, не было необходимости как-то…).

2. Очищаешь ARP таблицу и кэш (это уже везде приемлемо).

3. Прописываешь в ARP-таблицу только те МАС-и, которые имеют разрешение на общение с тобой по сети (в пределах сегмента, естественно, ибо далее они никому не нужны).

Это не даст твоему компу отвечать на пакеты не прописанных пользователей. Удобно. Не правда ли?

P.S. Менять МАС я вам настоятельно не рекомендую. Времена, когда админы были неграмотны, закончились. Теперь вы, я надеюсь, понимаете, зачем я привел вам пару примеров альтернативного хака. Сразу оговорюсь, что и они просекаются в 2 счета. Как? Об этом речь пойдет в другой раз. А сейчас, пейте пиво и честно платите за локалку… Аривидерчи!


Статьи по теме
Следующие статьи
Предыдущие статьи

comments powered by Disqus

UserГость
21.10.2007 15:13:15
Ответить
Хм. Вот одного я в данной статье не понял - того, о чем писалось в заголовке статьи. Как админы определяют смену мак адресса? Ну допустим сеть стоит на свичах, я сменил имя компа, поизменял открытые порты, все поизменял. В сети сидит мало человек (например 10%). И как меня вычислят? ...
UserГость
21.10.2007 15:13:15
Ответить
Related: http://www.xakep.ru/post/18963/default.asp
UserГость
21.10.2007 15:13:15
Ответить
Немного теории для начала. Все вы знаете, что стек протоколов TCP/IP разбит условно на 5 уровней: уровень приложений (5), транспортный (4), сетевой (3), канальный (2) и, наконец, уровень физический - оборудования (1). LOL это уровни OSI у TCP/IP свои уровни RTFM!
UserГость
21.10.2007 15:13:15
Ответить
1. Отключаешь прием широковещательных запросов и вообще всякое реагирование на ARP (это очень просто реализовано в *nix, а про винду не знаю, не было необходимости как-то…). Объясните поподробнее как это вы широковещательный ARP в никсах так просто отключаете ;) Прога для ловли таких ломарей - Arpwatch поставляется с почти любым линухом) О чем статья вообще?) LOL Лучше б просвятил народ как Arp-poisoning на практике делать Arpinject-ом под виндой или arpping-ом в линухе) не каждый этого я думаю знает. Одним словом статья LOL ;)
UserГость
21.10.2007 15:13:15
Ответить
Чё-т в статье упоминалось про социнженерию - вот и статья - соц... чтобы ламеры думали, что им хакерами никогда не стать :) Не надо так народ пугать :))) с ламерами в сетке сложней бороться - с хаком базарить легче. з.ы. - как-то недавно сменил я сетевуху на другую с VCT, а затем удивился счёту - я и не сидел почти (по счёту :))) ) Полдня пошло, чтобы найти причину. И автор статьи об ней должен знать :)))
UserГость
21.10.2007 15:13:15
Ответить
И вот такие дол***бы админят сети районные и не только. Мальчику лет 17-19.
UserГость
21.10.2007 15:13:16
Ответить
Так, ладна, обо всем по порядку. "Полдня пошло, чтобы найти причину. И автор статьи об ней должен знать :)))" - это что ж за пров такой? А? Очень удивительная ситуевина. "Объясните поподробнее как это вы широковещательный ARP в никсах так просто отключаете ;)" - ifconfig -arp ... не пробовал? напрочь отрубает всякое реагирование на arp протокол. "LOL это уровни OSI у TCP/IP свои уровни RTFM!" - в следующий раз сделаю на это оговорку, дабы вы не придирались... " Как админы определяют смену мак адресса? Ну допустим сеть стоит на свичах, я сменил имя компа, поизменял открытые порты, все поизменял. В сети сидит мало человек (например 10%). И как меня вычислят? ..." - заметьте, я ничего не говорил о портах. Они то тут причем? %) Я говорил про косвенные способы доказательства. Запретить смену МАСа невозможно! А док-во того, что это сделал именно ты осуществляется только косвенными способами. В частности я написал, что самый лучший из них - это мониторинг arp трафика. Нужна повременная регистрация пакетов, из которой становится ясно о статусе offline\online юзеров с сегменте и хакера соответственно. Если сегмент еще и маленький, то тут совсем все просто. При смене МАСа ты выходишь из сети со своим IP! Это первый способ. Второй способ... Ты обязательно на чем-то да проколишься. Достаточно в проблемном сегменте просто поставить на прослушку трафик юзеров. Из этого дела можно выудить например инфу о браузере, которую ты наверняка не поменяешь. Если ты почту свою проверишь из-под чужого IP это тоже послужит док-вом. Может я не правильно понял вашей критики, господа? Тем не менее я благодарен за нее. Учту в следующей статье.
UserГость
21.10.2007 15:13:16
Ответить
по открытым портам тоже определяют... и иногда удачно. браузер легко сменить. да и у большинства юзеров он ИЕ - ставишь ослика и будь спокоен. А вообще ты говоришь вести статистику кто онлайн. Ну пусть ночью 7 компов из 254 бывают включены. получаем что 247 выключены. И если злоумышленник сидит ночью - то как тут поможет твоя статистика? никак, ведь так?
UserГость
21.10.2007 15:13:16
Ответить
Не совсем так. Если вести мониторинг сегмента начиная с начала его использования, то шанс найти зоумышленника возрастает. Ну не будешь же ты ТОЛЬКО качать фильм с какого-нибудь фтп (хотя и такое бывает). Наверняка ты сделаешь что-нибудь еще, на чем и проколишься. Предусмотреть все невозможно. В прочем как и невозможно запретить смену МАСа. В подавляющем большинстве городские сети, предоставляющие доступ в интернет по выделенной линии не содердат этих 254 юзерей в сегменте. Тут надо мыслить творчески. К тому же... Если бы у тебя был бы неуправляемый сегмент, где постоянно бы меняли МАСи, ты бы в первую очередь что сделал? Правильно, уменьшил сегмент. Так легче и мониторить и выяснять кто ХАЦКЕР. Не так ли? М?
UserГость
21.10.2007 15:13:16
Ответить
В реально больших сетях это пахать не будет, если рутеры стоят на 100$ машинах с 3 гигами хдд, и шлюзов этих порядка 1000 а то и более (жесткий пример Бис Телеком в Москве (Атом) ) если вы уважаемый видели (а я уверен что видели :) ) какой арп траф генерит сеть хатяб из 500 машин, то можете себе представить что будет тварится с вашей базой от 8000, все ресурсы и доходы исп пойдут на на серваки с базой :))) (уточню мне кажется тут будет идти речь даже не о гигах, а о террабайтах причем ежедневно) Да и за чистую админы домовых сетей заняты не этим (по моему опыту заняты они раздыванием собственного ЭГО, и абсалютно лаймерсих попытках котролировать локальный трафик)
UserГость
21.10.2007 15:13:16
Ответить
Да, видел и знаю. Заняты они действительно только своим ЭГО. По поводу базы... У меня более маленькая сеть не 8000 пользователей, конечно. Я выходил из положения как раз только при помощи мониторинга ARP. Эту ситуацию и описал. Что же касается крупных провайдеров, то к сожалению не имел опыта работы в сетях такого масштаба. Как подобные проблемы решаются там я не знаю. Пока не знаю...
UserГость
21.10.2007 15:13:16
Ответить
По поводу ifconfig -arp я знал) не надо меня недооценивать, просто если ты его не поднимешь на Ethernet NIC у тя не будет ничего работать)как провило этот ключ, насколько я знаю, используется для соединений точка-точка ну модем или 2 компа по LPT или еще чего... так что я не думаю что ты сможешь просто так убить арп и без него работать в сети)
UserГость
21.10.2007 15:13:16
Ответить
Еще как смогу. Ручками прописать необходимые МАСи. И из Скрипта подгружать... Кстати всех шлю на www opennet ru. Там в разделе ARP появилась сегодня похожая на мою статья... Читаем, обсуждаем, ищем общий знаменатель. Одно я могу сказать точно: "ЕСТЬ ТОЛЬКО 1 ВЕРНЫЙ СПОСОБ КОНТРОЛИТЬ ПОМЕНУ МАС-а - это УСТАНОВКА ПРОГРАМИРУЕМЫХ СВИЧЕЙ..." В оcтальном же, до встречи на opennet-e
UserГость
21.10.2007 15:13:16
Ответить
про скрипт поподробнее пожалуйста, на уровне реализации, я пробовал не получилось, напиши КОНКРЕТНО как это сделать)
UserГость
21.10.2007 15:13:16
Ответить
"Так, ладна, обо всем по порядку..." -- Э, я по тупости своей не понял, что пихалось мне, а шо нет. Но если подробнее: VCT -Virtual Cable Testing. Растёт на гигабайтовской маме с гигабитной встроеной сетью (я сказал, что менял карточку :))) - на маму :) Ну, включил я его - запретил в реестре определять, шо на линии коннект. Я не знаю ЧТО именно этот тестер сделал. Понятно, что он мерит отражение сигналов, ибо как он узнает длину, если с другого конца кабеля - ничего? Я знаю, что я хотел узнать реальную длину кабеля, ибо говорили, что чуть больше 100 м, а по скорости я думал, что все 200 :))) Ну вот, после запусков ентого VCT мой комп и перестал принадлежать сетке :). Я даже не уверен что я правильно допёр до реальной причины. Но извини - конкретно объяснять не буду, ибо уверен, что ты знаешь то же самое. А мне ещё жить охота, причём не создавая себе проблем. Единственное - VCT не просто тупые сигналы посылает, а явно какие-то пакеты... Наверное гигабайт это уже исправил :)
UserГость
21.10.2007 15:13:16
Ответить
Если сетка побогаче, то логи смело собираются со свитчей и замена АРП и ИП на порту сечется так же, как мама двойку в дневнике. Я сам админ и могу вас уверить по косвенным причинам определить злоумышленника можно, а в некоторых случаях можно и наградить(ну скажем бесплатным фонарем под глазом). Если не знаешь не лезь, а если лезешь читай, действительно воровать инет в сети можно, а иногда это даже легко, но если вас палят вы ничего сказть не сможете, а вот грамотный чувак все сразу может спустить на соседа-редиску и все докуазать. Так что итог-если не знаешь, тебя отключат-это на 100%, так как всего не предусмотреть.
UserГость
21.10.2007 15:13:16
Ответить
Я тот самый злоумышленник которого вы дружно пытаетесь отловить - до прочтения статью был уверен в своей секурности на 100% (теперь на 99%). Сижу я через стыреный акк (даже щас). Раньше сидел под измененным маком (под спец. виндой - левое имя, левый мак, закрытые наглушь всё кроме нужного порта). Инет у нас сделан через PoPTop(VPN). Вопрос: ведёт ли логи dhcp-сервак, кому и када аренда IP была выдана???
UserГость
21.10.2007 15:13:17
Ответить
Скажу вам дорогие злоумышлиники. На данный момент у одного провайдера в одном городе сидит вот такой не хороший человек с чужим МАСом и качает за его счёт, но мы же не лохи вычислили его на следующий день, и позвонили в упровление К МВД РФ, которые сейчас собирают материал для уголовного дела, чел этот пока держит прова за лоха, а зря. Так что смотрите что мутите :-)
UserГость
21.10.2007 15:13:17
Ответить
Пля, а я по ходу попал. Сменил у второго компа мак на свой. вошёл в сеть. В итоге трафик почти до нуля падает. потом дождался глубокой ночи, и не меняя хост полез под чужим маком. :( .на следующий день отрубили вход на локальных фтп (хотя пров вроде лох: у него для входа на локальный фтп для каждого юзера свой логин. вот думаю чё делать: звонить ли прову с вопросом почему фтп не работает? чё подскажете?
UserГость
21.10.2007 15:13:17
Ответить
Умный свитч с фильтрацией маков, dhcp с привязкой мака к ip и vlan спасут отцов русской демократии. :-)
UserГость
21.10.2007 15:13:17
Ответить
Да фигня ето всьо, сказкы для ЛАХОВ. Какой придурак будет следыт за всеми канфликтами в сети. Прачтите сначала все о сети, и никакой зЛОЙ аДМИН, вам помехой нестанет!! -=Sh@DovV=-
UserГость
09.12.2009 7:40:04
Ответить
Один чел.заплатил и от себя провел провод к другу которому ввел свой МАС как "увидеть" его друга?
UserГость
29.12.2010 0:20:09
Ответить
Парни кто из вас щас на сайте???

Читай «Хакер» на планшетах!

Свежие материалы каждый месяц в удобном для тебя формате:



Линк рекламодателям

Читай новый номер
В продаже с 2 апреля
  • Лучшие инструменты для создания прототипа твоего первого приложения
  • Разбираемся с главными библиотеками для построения графического интерфейса в мире Java
  • Ретроспектива виртуализации в *nix
  • Тестируем фреймворк для мониторинга Sensu
  • Подбираем утилиты для бэкапа БД
  • Подборка свежих гаджетов для пентестеров
  • Физическая безопасность в ИТ: как ненадежный замок может стать самым слабым местом в системе



Социальные сети


Keywords: zPOSTz zHOMEz, zDEFENCEz, zINFOz z24707z
Для Авторов: edit Lock delete Lock

Автор: solaris
Дата: 15.11.2004 12:26:16©