Soft DIRB: поиск скрытых каталогов и файлов на веб-сайтах
Никогда не бывает лишним просканировать веб-сайт на наличие скрытых каталогов и файлов (скрытых – имеются ввиду каталоги и файлы, на которые не ведут ссылки, и о которых знает только веб-мастер). Как минимум, можно узнать что-то новое о сайте, а бывает просто выпадает супер-приз — архив сайта или базы данных, бэкап чувствительных файлов и т.д.
— это сканер веб-контента. Он ищет существующие (возможно, скрытые) веб-объекты. В основе его работы лежит поиск по словарю, он формирует запросы к веб-серверу и анализирует ответ.
DIRB поставляется с набором настроенных на атаку словарей для простого использования, но вы можете использовать и ваш собственный список слов. Также иногда DIRB можно использовать как классический CGI сканер, но помните, что в первую очередь это сканер содержимого, а не сканер уязвимостей.
Главная цель DIRB — это помочь профессионалам в аудите веб-приложений. Особенно в тестах ориентированных на безопасность. Она покрывает некоторые дыры, не охваченные классическими сканерами веб-уязвимостей. DIRB ищет специфические веб-объекты, которые другие сканеры CGI не ищут. Она не ищет уязвимости и не ищет веб-содержимое, которое может быть уязвимым.
Может быть, эта программа станет последней попыткой для невезучих аналитиков по безопасности…
Примечания
: Основной URL для сканирования. (Используйте -resume для возобновления сессии)
: Список словарей. (словарь1, словарь2, словарь3…)
'n' -> Перейти к следующей директории. 'q' -> Остановить сканирование. (Сохранить состояние для возобновления) 'r' -> Remaining scan stats.
-a : Задайте ваш пользовательский USER_AGENT. -c : Установите куки для HTTP запроса. -f : Забавный тюнинг при выявлении NOT_FOUND (404). -H : Задайте пользовательский заголовок HTTP запроса. -i : Использовать поиск без учёта регистра. -l : Печатать заголовок “Location” когда найден. -N : Игнорировать ответы с этим HTTP кодом. -o : Сохранить вывод на диск. -p : Использовать прокси. (Порт по умолчанию 1080) -P : Аутентификация на прокси. -r : Не искать рекурсивно. -R : Интерактивная рекурсия. (Спрашивать для каждой директории) -S : Молчаливый режим. Не показывать тестируемые слова. (Для простых терминалов) -t : Не принуждать к конечному слешу ‘/’ в URL. -u : HTTP аутентификация. -v : Показывать также страницы NOT_FOUND. -w : Не показывать сообщений WARNING. -X / -x : Применить эти расширения к каждому слову. -z : Добавить миллисекунды,для задержки, чтобы не стать причиной экстенсивного флуда.
dirb http://url/directory/ (Простой тест) dirb http://url/ -X .html (Тестировать файлы с расширением ‘.html’) dirb http://url/ /usr/share/dirb/wordlists/vulns/apache.txt (Тестировать списком слов apache.txt) dirb https://secure_url/ (Простой тест с SSL)
[email protected]:~# tree /usr/share/wordlists/dirb* /usr/share/wordlists/dirb ├── big.txt ├── catala.txt ├── common.txt ├── euskera.txt ├── extensions_common.txt ├── indexes.txt ├── mutations_common.txt ├── others │ ├── best1050.txt │ ├── best110.txt │ ├── best15.txt │ └── names.txt ├── small.txt ├── spanish.txt ├── stress │ ├── alphanum_case_extra.txt │ ├── alphanum_case.txt │ ├── char.txt │ ├── doble_uri_hex.txt │ ├── test_ext.txt │ ├── unicode.txt │ └── uri_hex.txt └── vulns ├── apache.txt ├── axis.txt ├── cgis.txt ├── coldfusion.txt ├── domino.txt ├── fatwire_pagenames.txt ├── fatwire.txt ├── frontpage.txt ├── hpsmh.txt ├── hyperion.txt ├── iis.txt ├── iplanet.txt ├── jboss.txt ├── jersey.txt ├── jrun.txt ├── netware.txt ├── oracle.txt ├── ror.txt ├── sap.txt ├── sharepoint.txt ├── sunas.txt ├── tests.txt ├── tomcat.txt ├── vignette.txt ├── weblogic.txt └── websphere.txt /usr/share/wordlists/dirbuster ├── apache-user-enum-1.0.txt ├── apache-user-enum-2.0.txt ├── directories.jbrofuzz ├── directory-list-1.0.txt ├── directory-list-2.3-medium.txt ├── directory-list-2.3-small.txt ├── directory-list-lowercase-2.3-medium.txt └── directory-list-lowercase-2.3-small.txt 3 directories, 54 files
Описание словарей DIRB
Название файла | Полный путь до файла | Количество записей в файле | Описание содержимого |
---|---|---|---|
big.txt | /usr/share/wordlists/dirb/big.txt | 20469 | |
catala.txt | /usr/share/wordlists/dirb/catala.txt | 161 | |
common.txt | /usr/share/wordlists/dirb/common.txt | 4614 | |
euskera.txt | /usr/share/wordlists/dirb/euskera.txt | 197 | |
extensions_common.txt | /usr/share/wordlists/dirb/extensions_common.txt | 29 | Расширения файлов |
indexes.txt | /usr/share/wordlists/dirb/indexes.txt | 10 | |
mutations_common.txt | /usr/share/wordlists/dirb/mutations_common.txt | 49 | |
best1050.txt | /usr/share/wordlists/dirb/others/best1050.txt | 1049 | Лучшая выборка из 1050 пунктов |
best110.txt | /usr/share/wordlists/dirb/others/best110.txt | 110 | Лучшая выборка из 110 пунктов |
best15.txt | /usr/share/wordlists/dirb/others/best15.txt | 15 | Лучшая выборка из 15 пунктов |
names.txt | /usr/share/wordlists/dirb/others/names.txt | 8607 | |
small.txt | /usr/share/wordlists/dirb/small.txt | 959 | |
spanish.txt | /usr/share/wordlists/dirb/spanish.txt | 449 | Испанские слова в каталогах |
alphanum_case_extra.txt | /usr/share/wordlists/dirb/stress/alphanum_case_extra.txt | 95 | |
alphanum_case.txt | /usr/share/wordlists/dirb/stress/alphanum_case.txt | 62 | |
char.txt | /usr/share/wordlists/dirb/stress/char.txt | 26 | |
doble_uri_hex.txt | /usr/share/wordlists/dirb/stress/doble_uri_hex.txt | 256 | |
test_ext.txt | /usr/share/wordlists/dirb/stress/test_ext.txt | 17576 | |
unicode.txt | /usr/share/wordlists/dirb/stress/unicode.txt | 65536 | |
uri_hex.txt | /usr/share/wordlists/dirb/stress/uri_hex.txt | 256 | |
apache.txt | /usr/share/wordlists/dirb/vulns/apache.txt | 30 | Apache |
axis.txt | /usr/share/wordlists/dirb/vulns/axis.txt | 17 | |
cgis.txt | /usr/share/wordlists/dirb/vulns/cgis.txt | 3494 | |
coldfusion.txt | /usr/share/wordlists/dirb/vulns/coldfusion.txt | 21 | |
domino.txt | /usr/share/wordlists/dirb/vulns/domino.txt | 291 | |
fatwire_pagenames.txt | /usr/share/wordlists/dirb/vulns/fatwire_pagenames.txt | 2711 | |
fatwire.txt | /usr/share/wordlists/dirb/vulns/fatwire.txt | 101 | |
frontpage.txt | /usr/share/wordlists/dirb/vulns/frontpage.txt | 43 | |
hpsmh.txt | /usr/share/wordlists/dirb/vulns/hpsmh.txt | 238 | |
hyperion.txt | /usr/share/wordlists/dirb/vulns/hyperion.txt | 579 | |
iis.txt | /usr/share/wordlists/dirb/vulns/iis.txt | 59 | IIS |
iplanet.txt | /usr/share/wordlists/dirb/vulns/iplanet.txt | 36 | |
jboss.txt | /usr/share/wordlists/dirb/vulns/jboss.txt | 19 | |
jersey.txt | /usr/share/wordlists/dirb/vulns/jersey.txt | 129 | |
jrun.txt | /usr/share/wordlists/dirb/vulns/jrun.txt | 13 | |
netware.txt | /usr/share/wordlists/dirb/vulns/netware.txt | 60 | |
oracle.txt | /usr/share/wordlists/dirb/vulns/oracle.txt | 1075 | Oracle |
ror.txt | /usr/share/wordlists/dirb/vulns/ror.txt | 121 | |
sap.txt | /usr/share/wordlists/dirb/vulns/sap.txt | 1111 | |
sharepoint.txt | /usr/share/wordlists/dirb/vulns/sharepoint.txt | 1708 | |
sunas.txt | /usr/share/wordlists/dirb/vulns/sunas.txt | 52 | |
tests.txt | /usr/share/wordlists/dirb/vulns/tests.txt | 34 | |
tomcat.txt | /usr/share/wordlists/dirb/vulns/tomcat.txt | 87 | Tomcat |
vignette.txt | /usr/share/wordlists/dirb/vulns/vignette.txt | 74 | |
weblogic.txt | /usr/share/wordlists/dirb/vulns/weblogic.txt | 361 | |
websphere.txt | /usr/share/wordlists/dirb/vulns/websphere.txt | 560 | |
apache-user-enum-1.0.txt | /usr/share/wordlists/dirbuster/apache-user-enum-1.0.txt | 8930 | Перечисление пользователей Apache 1.0 |
apache-user-enum-2.0.txt | /usr/share/wordlists/dirbuster/apache-user-enum-2.0.txt | 10355 | Перечисление пользователей Apache 2.0 |
directories.jbrofuzz | /usr/share/wordlists/dirbuster/directories.jbrofuzz | 58688 | |
directory-list-1.0.txt | /usr/share/wordlists/dirbuster/directory-list-1.0.txt | 141708 | Список директорий |
directory-list-2.3-medium.txt | /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt | 220560 | Список директорий среднего размера |
directory-list-2.3-small.txt | /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt | 87664 | Список директорий малого размера |
directory-list-lowercase-2.3-medium.txt | /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt | 207643 | Список директорий среднего размера, имена приведены к нижнему регистру |
directory-list-lowercase-2.3-small.txt | /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-small.txt | 81643 | Список директорий малого размера, имена приведены к нижнему регистру |
Tool Documentation:
Scan the web server ( http://192.168.1.224/ ) for directories using a dictionary file ( /usr/share/wordlists/dirb/common.txt ):
[email protected]:~# dirb http://192.168.1.224/ /usr/share/wordlists/dirb/common.txt ----------------- DIRB v2.21 By The Dark Raver ----------------- START_TIME: Fri May 16 13:41:45 2014 URL_BASE: http://192.168.1.224/ WORDLIST_FILES: /usr/share/wordlists/dirb/common.txt ----------------- GENERATED WORDS: 4592 ---- Scanning URL: http://192.168.1.224/ ---- ==> DIRECTORY: http://192.168.1.224/.svn/ + http://192.168.1.224/.svn/entries (CODE:200|SIZE:2726) + http://192.168.1.224/cgi-bin/ (CODE:403|SIZE:1122) ==> DIRECTORY: http://192.168.1.224/config/ ==> DIRECTORY: http://192.168.1.224/docs/ ==> DIRECTORY: http://192.168.1.224/external/
Packages and Binaries:
dirb
DIRB is a Web Content Scanner. It looks for existing (and/or hidden) Web Objects. It basically works by launching a dictionary based attack against a web server and analyzing the responses.
DIRB comes with a set of preconfigured attack wordlists for easy usage but you can use your custom wordlists. Also DIRB sometimes can be used as a classic CGI scanner, but remember that it is a content scanner not a vulnerability scanner.
DIRB’s main purpose is to help in professional web application auditing. Specially in security related testing. It covers some holes not covered by classic web vulnerability scanners. DIRB looks for specific web objects that other generic CGI scanners can’t look for. It doesn’t search vulnerabilities nor does it look for web contents that can be vulnerable.
Installed size: 1.43 MB
How to install: sudo apt install dirb
dirb
[email protected]:~# man dirb DIRB(1) General Commands Manual DIRB(1) NAME dirb - Web Content Scanner SYNOPSIS dirb [] [options] DESCRIPTION DIRB IS a Web Content Scanner. It looks for existing (and/or hidden) Web Objects. It basically works by launching a dictionary basesd attack against a web server and analizing the response. OPTIONS -a Specify your custom USER_AGENT. (Default is: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)") -b Don't squash or merge sequences of /../ or /./ in the given URL. -c Set a cookie for the HTTP request. -E Use the specified client certificate file. -f Fine tunning of NOT_FOUND (404) detection. -H Add a custom header to the HTTP request. -i Use case-insensitive Search. -l Print "Location" header when found. -N Ignore responses with this HTTP code. -o Save output to disk. -p Use this proxy. (Default port is 1080) -P Proxy Authentication. -r Don't Search Recursively. -R Interactive Recursion. (Ask in which directories you want to scan) -S Silent Mode. Don't show tested words. (For dumb terminals) -t Don't force an ending '/' on URLs. -u Username and password to use. -v Show Also Not Existent Pages. -w Don't Stop on WARNING messages. -x Amplify search with the extensions on this file. -X Amplify search with this extensions. -z Amplify search with this extensions. SEE ALSO brain(x) The Dark Raver 27/01/2009 DIRB(1)
dirb-gendict
Generate dictionary incrementally
[email protected]:~# dirb-gendict -h Usage: dirb-gendict -type pattern type: -n numeric 7 -c character [a-z] -C uppercase character [A-Z] -h hexa [0-f] -a alfanumeric [0-9a-z] -s case sensitive alfanumeric [0-9a-zA-Z] pattern: Must be an ascii string in which every 'X' character wildcard will be replaced with the incremental value. Example: dirb-gendict -n thisword_X thisword_0 thisword_1 [. ] thisword_9
html2dic
Dump word dictionary from html input file
[email protected]:~# man html2dic HTML2DIC(1) General Commands Manual HTML2DIC(1) NAME html2dic - Dump word dictionary from html input file SYNOPSIS html2dic DESCRIPTION html2dic extract all words from an HTML page, generating a dictionary of all word found, one word per line. Output is printed on stdout. SEE ALSO dirb(1),dirb-gendict(1) Philippe Thierry 15/06/2017 HTML2DIC(1)