ХАКЕР 04 /171/ 2013 Easy Hack61DNS-сервером. С технической точки зрения естьтри метода ее провести.Первый и самый простой — если атакуемыйDNS-сервер позволяет резолвить нерекурсивныезапросы. Тогда все, что нам необходимо, — этопосылать нерекурсивные запросы на него с различнымидоменными именами. И если серверответит нам списком корневых DNS-серверов,значит, имя не хранится в кеше, значит, на данныйхост не заходили в ближайшем прошлом. Если жеответит конкретным IP-адресом, значит, данныеесть в кеше и на хост недавно заходили. Примерпоказан в третьем запросе рисунка 3. После проведениярекурсивного запроса итог был закеширован,и поэтому второй нерекурсивный запроспоказал те же данные.Но если нерекурсивные запросы нам недоступны,то мы можем воспользоваться и рекурсивными,используя второй и третий метод.Второй метод заключается в том, чтобы в запросеконтролировать значение TTL. Когда DNSсервервыполняет рекурсивный запрос, то онкеширует данные. Но то, как долго они будут хранитьсяв кеше, определяет конечный DNS-сервер,указывая соответствующее значение TTL. А мы,делая запросы к атакуемому серверу, смотрим назначение TTL. Если оно равно тому, которое устанавливаетDNS-сервер перебираемого доменногоимени, то, значит, атакуемый DNS-сервер толькополучил эту информацию, если же TTL меньшеисходного — значит, взято из кеша (рис. 2).Ну и последний метод — сверхлогичный. Длячего кеш в DNS-сервере? Для того, чтобы быстреегенерировать ответы. Этим-то мы и воспользуемся.Несколько раз запрашиваем какое-то имя рекурсивнои смотрим — насколько быстрее сервернам ответил. Если разница между первым и вторымзапросом есть, то записи в кеше не было. Если разница между запросамиотсутствует, то значит, вся информация взята из кеша.Как видишь, все очень просто, а главное — работает!Теперь пара слов о минусах техники. Ониесть, и во многом их сложно обойти. Во-первых,нам необходимо иметь сетевой доступ к атакуемомуDNS-серверу. Это на самом деле приличноеограничение, так как у многих DNS-серверспрятан за файрволом в корпоративной сети. Вовторых,даже если он торчит наружу, в настройкахдолжно быть разрешено резолвить сторонниехосты. Ведь часто резолв разрешен только длявнутреннего диапазона IP-адресов.С другой же стороны, из внутренней сети вродекак не существует методов защиты от такихатак. А тот же DNS от микрософта уязвим к этойатаке по умолчанию, но исправлять эту ситуациюони не собираются.Теперь практика. Дабы руками не возиться сперебором доменных имен у DNS-сервера, добрыелюди написали ряд тулз. Например, естьскрипт для Nmap’а, который поддерживает первыйи третий методы. Но я отмечу тулзу от РобаДиксона (Rob Dixon), которая хоть и поддерживаеттот же функционал, все-таки более удобна:goo.gl/kMXzS../scrape.sh -t victim_DNS -uгде -t — указываем атакуемый IP;-u — определение используемых антивирусов.Самым большим плюсом тулзы являетсясформированный список доменных имен серверовобновления различных антивирусов. Такимобразом, проведя эту атаку, ты сможешь понять,Рис. 3. Разница между различнымикакие доменные имена используются для обновленияантивируса, то есть какой антивирус стоит втипами запросоватакуемой корпоративной сети.Прикольно было бы аналогичные списки получить и для другого критичногоПО…ПОЛУЧИТЬ СПИСОК IP-АДРЕСОВРЕШЕНИЕЛюбой из нас, кто систематически смотрит аниме,давно уже знает и понимает, что крупныекорпорации — это вселенское зло, цель которогокак минимум поработить человечество. И единственные,кто может противостоять им, не считаякиборгов и генетически измененных людей сосверхспособностями, — это хакеры. То есть нанас с тобой лежит большая ответственность :).Но сила корпораций и их же проблема. Онистановятся такими большими, что множественныеголовы их даже не знают, что делают их хвосты.Этим-то мы и воспользуемся. И один изпервых шагов — получить список IP-адресов,принадлежащих компании. Ведь, как ни странно,большинство уважающих себя компаний имеютсвои диапазоны IP-адресов. Но как найти их? Да,мы можем найти официальные сайты и через нихполучить диапазоны IP-адресов, используя whoisсервисы.Но этого маловато. У таких компанийчасто есть IP-диапазоны для всяких системныхнужд, и они особо нигде не светятся.Для того чтобы получить полную информацию,мы можем обратиться к интернет-регистраторам.Это такие некоммерческие организации,которые выделяют диапазоны IP-адресов, регистрируютсерверы reverse DNS и отвечают заМасса целей на выборwhois-информацию. Регистраторов этих пять, икаждый отвечает за свой кусок мира:ARIN — для Северной Америки;RIPE — для Европы, Ближнего Востокаи Центральной Азии;APNIC — для Азии и Тихоокеанскогорегиона;LACNIC — для Латинской Америкии Карибского региона;AfriNIC — для Африки.Проблема обычного whois в том, что поискобщей и контактной информации происходитпо IP-адресу, нам же надо проделать обратнуюоперацию. И как раз через регистраторов мыможем это провернуть. На их сайтах есть возможностьискать диапазы по именам сетей иорганизаций, по e-mail’ам ответственных админов.Что еще приятнее, базу со всем whois’ом регионаможно скачать. У RIPE доступен на ftp, уARIN по неофициальному запросу. А в качестведомашнего задания можешь попробовать найтивсю инфу по какой-нибудь корпорации, типаApple.
62ВзломХАКЕР 04 /171/ 2013ПОДОБРАТЬ ПАРОЛЬРЕШЕНИЕВсякие простые и дефолтные пароли — это один из паразитов безопасности.Конечно, многие вендоры в своем ПО поменяли подход и теперь перекладываютответственность на пользователей, заставляя тех при установкезадавать пароли. Но «в среднем по больнице» ситуация плачевна, особеннодля всевозможных девайсов.Проводя пентест внутри крупных компаний, сталкиваешься с кучей различногоПО, различных устройств, подключенных к корпоративной сети.И ведь все нужно посмотреть, потыкать, поподбирать дефолтные пароли.Ведь можно и принтеры похакать, и читать чужие документы. И сетевое оборудованиеможно переконфигурить для своих нужд. Не говоря уж о том, чтоиногда можно найти девайсы, ответственные за контроль «крутилки» на проходной,со всеми приятными последствиями. В общем, девайсов очень много,а времени мало.Вот поэтому и хотелось обратить общее внимание на появившийся проектDPE (default password enumeration) — goo.gl/Fgioa от www.toolswatch.org.Здесь нет ничего очень необычного. Просто база данных дефолтных учеток.Но это как раз то, что необходимо. Дефолтные пароли привязаны к вендорам,типам девайсов и ПО, описанию, CVE, CPE. Формат хранения удобен для внедренияв стороннее ПО (всевозможные сканеры и брутфорсеры).Самое трудное здесь — поддержание проекта в дельном состоянии. Чтобыинформация была правдива, а списки пополнялись. Но есть надежда, чтоэто как раз оно. Челы даже добавились в проекты на MITRE (goo.gl/WUuk9).Сейчас же это выглядит просто: dpe_db.xml — база данных (1920 дефолтныхучеток) и парсер для нее DPEparser.py.DPEparser.py-v — поиск по вендору-t — по типу-с — по CPE-d — по описанию-u — обновление базыПолучаем список дефолтных учетокCSRF НА ЗАГРУЗКУ ФАЙЛОВРЕШЕНИЕГоды идут, технологии меняются и становятся технологичнее…И если раньше считалось, что Sameorigin policy бережет разработчика, что нельзя делатькросс-доменные запросы (XMLHTTPRequest)с помощью JavaScript. Конечно, многие разработчикиудивлялись, когда хакер «из рукава»доставал обычные CSRF-ки GET-запросом илиделал чуть более продвинутые POST-запросычерез автоматически отправляемую формочку сРис.1. Загрузка стандартными средствами формочекправильным Content-Type. Но все-таки была несокрушимаястена, так как XMLHTTPRequest иправда не разрешался на сторонние домены, апотому мы не имели возможности делать загрузкупроизвольных файлов, используя CSRF. Ведьв браузере, чтобы загрузить файл, пользовательдолжен его выбрать с помощью соответствующегодиалогового окна…Но годы прошли, и власть переменилась. Вышелстандарт HTML5, который позволяет намтеперь совершать кросс-доменные запросы.XMLHTTPRequest разрешено делать на любойхост. Это является частью стандарта CORS (CrossOrigin Resource Sharing). Вообще, она было сделанадля того, чтобы из JavaScript’а можно былополучать данные с других доменов. Но CORS созданс вниманием к безопасности. А потому дляпримера предположим, что JavaScript с хоста Апытается получить информацию с хоста Б. Производитсязапрос, используя XMLHTTPRequest,на хост Б. В запросе на хост Б добавляется новыйзаголовок — Origin (то есть имя сайта, с которогоделается запрос). В свою очередь, ответ от хостаБ может иметь заголовок «Access-Control-Allow-Origin», в котором указываются сайты (или * длявсех сайтов), которыми может быть получена информацияс хоста Б. То есть браузер пользователяпо этому заголовку может решить, разрешеноли яваскрипту с хоста А получить ответ от Б. Здесьважно отметить, что отсутствие Access-Control-Allow-Origin приводит к запрету для всех хостов.Получается, что CORS вполне секьюрнаятехнология. Но, как ты, наверное, заметил, дляреализации ее создателям пришлось нарушитьстарые запреты и разрешить кросс-доменныезапросы. Да, ответ мы не получим, но запрос послатьможем. По сравнению с обычным CSRF, использованиевозможностей JavaScript позволяет