
форк http://code.google.com/p/dnsmap/source/checkout
ВВЕДЕНИЕ
dnsmap был первоначально выпущен в 2006 году и был вдохновлён вымышленной историей «The Thief No One Saw» Пола Крейга, которую можно найти в книге «Stealing the Network - How to 0wn the Box»
dnsmap в основном предназначен для использования пентестерами на этапе сбора информации/перечисления при оценке безопасности инфраструктуры. На этапе перечисления консультант по безопасности обычно обнаруживает IP-диапазоны целевой компании, доменные имена, номера телефонов и т. д.
Брутфорс поддоменов — ещё одна техника, которую следует использовать на этапе перечисления, так как она особенно полезна, когда другие методы перечисления доменов, такие как передача зон, не работают (я, кстати, редко вижу, чтобы передача зон публично разрешалась в наши дни).
Если вы заинтересованы в исследовании скрытых методов компьютерного взлома, рекомендую прочитать эту отличную (и увлекательную) главу, которую можно найти бесплатно в интернете:
http://www.ethicalhacker.net/content/view/45/2/
Я рад сообщить, что dnsmap был включён в Backtrack 2, 3 и 4 и был рассмотрен сообществом:
http://backtrack.offensive-security.com/index.php?title=Tools http://www.networkworld.com/community/node/57543 http://forums.remote-exploit.org/tutorials-guides/12746-dnsmap-tutorial.html http://www.linuxhaxor.net/2007/07/14/backtrack-2-information-gathering-all-dnsmap/ http://www.darknet.org.uk/2009/03/dnsmap-022-released-subdomain-bruteforcing-tool/
КОМПИЛЯЦИЯ
Компиляция должна быть простой:
$ make
Или:
$ gcc -Wall dnsmap.c -o dnsmap
УСТАНОВКА
Или:
Если вы хотите выполнять брутфорс нескольких целевых доменов массово, вы можете использовать прилагаемый скрипт dnsmap-bulk.sh. Просто скопируйте скрипт в /usr/local/bin/, чтобы его можно было вызывать из любого места. Например:
И установите права на выполнение. Например:
ОГРАНИЧЕНИЯ
Отсутствие многопоточности. Эта проблема скорости, надеюсь, будет решена в будущих версиях.
ЗАБАВНЫЕ ВЕЩИ, КОТОРЫЕ МОГУТ ПРОИЗОЙТИ
Обнаружение интересных серверов удалённого доступа (например: https://extranet.targetdomain.com)
Обнаружение плохо настроенных и/или незалатанных серверов (например: test.targetdomain.com)
Обнаружение новых доменных имён, которые позволят вам картировать неочевидные/труднонаходимые IP-диапазоны вашей целевой организации (поиск в реестре — то есть whois — ваш друг)
Иногда вы обнаруживаете, что некоторые поддомены, полученные брутфорсом, разрешаются во внутренние IP-адреса (RFC 1918). Это отлично, так как иногда это реальные актуальные A-записи, что означает, что возможно перечислить внутренние серверы целевой организации из Интернета, используя только стандартное DNS-разрешение (в отличие, например, от передачи зон).
Обнаружение встроенных устройств, настроенных с использованием служб динамического DNS (например: linksys-cam.com). Этот метод является альтернативой поиску устройств с помощью методов Google-хакинга.
ИСПОЛЬЗОВАНИЕ
Брутфорс может выполняться как с использованием встроенного словаря dnsmap, так и словаря, предоставленного пользователем. Результаты могут быть сохранены в формате CSV и в удобочитаемом формате для дальнейшей обработки. dnsmap НЕ требует прав root для запуска и НЕ должен запускаться с такими правами по соображениям безопасности.
Синтаксис использования можно получить, просто запустив dnsmap без параметров:
$ ./dnsmap
dnsmap 0.30 - DNS Network Mapper by pagvac (gnucitizen.org)
usage: dnsmap [options] options: -w -r -c -d -i (useful if you're obtaining false positives)
Note: delay value is a maximum random value. e.g.: if you enter 1000, each DNS request will be delayed a maximum of 1 second. By default, dnsmap uses a value of 10 milliseconds of maximum delay between DNS lookups
ПРИМЕРЫ
Subdomain bruteforcing using dnsmap's built-in word-list:
$ ./dnsmap targetdomain.foo
Subdomain bruteforcing using a user-supplied wordlist:
$ ./dnsmap targetdomain.foo -w wordlist.txt
Subdomain bruteforcing using the built-in wordlist and saving the results to /tmp/ :
$ ./dnsmap targetdomain.foo -r /tmp/
Поскольку в предыдущем примере не было указано имя файла, а только путь, dnsmap создаст уникальное имя файла, содержащее текущую временную метку. Например: /tmp/dnsmap_targetdomain_foo_2009_12_15_234953.txt
Пример брутфорса поддоменов с использованием встроенного словаря, сохранением результатов в /tmp/ и ожиданием случайной максимальной задержки в 3 миллисекунды между каждым запросом:
$ ./dnsmap targetdomain.foo -r /tmp/ -d 300
Рекомендуется использовать опцию -d (задержка в миллисекундах) в случаях, когда dnsmap мешает вашему онлайн-опыту, то есть съедает пропускную способность.
Брутфорс поддоменов с задержкой 0,8 секунды, сохранением результатов в обычном и CSV-форматах, фильтрацией 2 IP-адресов, предоставленных пользователем, и использованием словаря, предоставленного пользователем:
$ ./dnsmap targetdomain.foo -d 800 -r /tmp/ -c /tmp/ -i 10.55.206.154,10.55.24.100 -w ./wordlist_TLAs.txt
Для массового брутфорса списка целевых доменов используйте прилагаемый bash-скрипт. Например:
$ ./dnsmap-bulk.sh domains.txt /tmp/results/
СЛОВАРИ
http://packetstormsecurity.org/Crackers/wordlists/dictionaries/ http://www.cotse.com/tools/wordlists1.htm http://wordlist.sourceforge.net/
ДРУГИЕ ПОХОЖИЕ ИНСТРУМЕНТЫ — выбор это свобода!
WS-DNS-BFX http://ws.hackaholic.org/tools/WS-DNS-BFX.tgz
DNSDigger http://www.ernw.de/download/dnsdigger.zip
Fierce Domain Scan http://ha.ckers.org/fierce/
Desperate http://www.sensepost.com/research_misc.html
DNSenum http://dnsenum.googlecode.com/files/dnsenum1.2.tar.gz
ReverseRaider http://complemento.sourceforge.net/
Knock http://knock.gianniamato.it/
-- pagvac | GNUCITIZEN.org Февраль 2010