Вы находитесь на странице: 1из 10

Сбор информации о веб-приложении

Цель работы
Целью лабораторной работы является обучение методам и средствам
сбора информации об анализируемом веб-приложении.

Краткие теоретические сведения


Одним из первых этапов анализа защищенности любой компьютерной
системы является сбор информации. В зависимости от используемой
методологии анализа защищенности веб-приложения могут применяться
различные методы и средства сбора информации. Стоит отметить, что сбор
информации, как правило, не характерен для методологии инструментального
анализа защищенности (сканирования), а характерен для методологии
тестирования на возможность проникновения.
Методы сбора информации делятся на активные и пассивные. Активные
методы требуют непосредственного взаимодействия с исследуемым
приложением путем отправки ему запросов и анализа соответствующих
ответов, а пассивные методы используют информацию, отправляемую
сервером веб-приложения его клиентам (например, HTTP-заголовки X-Frame-
Options, Strict-TransportSecurity и т.д.) без отправки запросов. При анализе веб-
приложений, как правило, используются только активные методы.
Активные методы делятся на методы с подключением к приложению
(например, идентификация веб-сервера с помощью сканера Httprint) и методы
без подключения (например, сбор информации о приложении поисковыми
роботами, сканерами Интернет, и т.д.).
В результате проведения сбора информации о веб-приложении могут
быть получены:
 имена и IP-адреса сетевых узлов, на которых размещены веб-
 приложение и его компоненты;
 логины и пароли технологических учетных записей;
 комментарии разработчиков;
 данные о системном и прикладном ПО, применяемых средствах
защиты и конфигурации веб-приложения;
 адреса электронной почты разработчиков приложения;
 исходный код серверной части веб-приложения;
 конфиденциальные файлы.
Программными средствами получения необходимой информации являются:
 поисковые системы (например, Google, Shodan, Bing);
 специализированные сканеры уязвимостей Интернет (например,
http://un1c0rn.net/);
 инструментальные средства анализа защищенности сетей общего
назначения (Nmap, Xprobe2, XSpider);
 инструментальные средства анализа защищенности сетей веб-
приложений (AppScan, Acunetix, Burp Suite, ZAP, W3AF и т.д.).

Постановка задачи
Выполнить сбор информации об анализируемом веб- приложении
www.test.app.com.

Последовательность действий

1). Введите ping www.test.app.com в командной строке и нажмите Enter,


чтобы узнать его IP-адрес. Отображаемый ответ должен быть похож на
отображаемый следующий снимок экрана.
2). Теперь выясните максимальный размер кадра в сети. командной
строки, введите ping www.test.app.com - f - l 1500

2). Пакет должен быть фрагментирован, но набор DF означает, что


фрейм слишком большой, чтобы быть передан по сети и должен быть
фрагментирован. Так как мы использовали переключатель-f с командой ping,
пакет не был отправлен, и команда ping возвратила эту ошибку.
3). Найдите максимальный размер фрейма.
4). Теперь выясните, что произойдет, когда истекает срок действия TTL
(Time to Live). Каждый кадр сети имеет TTL. Если TTL достигает 0,
маршрутизатор отбрасывает пакет. Этот механизм предотвращает потерю
пакетов.
5) В командной строке введите ping www.test.app.com -i 3. Ответ должен
быть похож на рисунок ниже, но с другим IP-адресом

Ответ от 183.82.14.17: TTL, срок действия которого истекает и


маршрутизатор (183.82.14.17, у вас будет другой IP-адрес)отбрасывал фрейм,
потому что его TTL истек (достиг 0).
6). Эмулирование tracert (traceroute) команда, используя ping - вручную, нашло
маршрут от Вашего PC до www.test.app.com. В командной строке введите ping
www.test.app.com -i 1 -n 1. (Используйте -n 1, чтобы получить только один
ответ, вместо того, чтобы получать четыре ответа на Windows или постоянный
пинг в Linux.) Отображаемый ответ показан на следующем рисунке.

Продолжайте увеличивать TTL пока не достигнете конечного узла. Теперь


запишите все IP-адреса, из которых вы получите ответ во время пинга, чтобы
эмулировать трассировку рисунок ниже

7). Запишите все IP-адреса, IP-адреса запроса ответа и их TTL см. таблицу 1
Tool/Utility Information Collected/Objectives Achieved
Ping
Утилита Информация собранная о Цели
IP Address: 202.75.54.101
Packet Statistics:
■ Packets Sent — 4
Ping ■ Packets Received — 3
■ Packets Lost — 1
■ Approximate Round Trip Time — 360ms
Maximum Frame Size: 1472
TTL Response: 15 hops

Определение DNS записей доменного имени.


Система доменных имен (DNS) – основа интернета. Запись DNS является тем,
что позволяет найти любой конкретный сайт, без DNS – записей провайдер не
будет знать, на какой сервер направить Ваш запрос, когда Вы наберете адрес
в строке браузера. Запись DNS на сервере для любого сайта можно узнать с
помощью нашего инструмента. При любой ошибке в DNS – записях сайта его
работа останавливается на длительное время. Инструмент позволит получить
максимально полную информацию по указанному доменному имени.
Введя в строку домен, Вы узнаете все записи сервера, на котором он
обслуживается:
 MX – учетная запись, идентифицирующая почту, указывает на
почтовый сервер для обмена почтой домена.
 A – запись DNS, используемая для перевода языкового формата
доменного имени в цифровой, указывает на соответствие IP-адреса и хоста.
 NS – это те записи, которые указывают на сервер имен для
конкретного домена, важнейшая функция NS это делегирование домена.
 SOA указывает на сервер, хранящий начальную (эталонную)
информацию о домене.
 CNAME перенаправляет имя хоста на другое имя, псевдоним.
 CLASS определяет класс используемых сетей.
 TXT предназначается для дополнительной информации, которую
может указать владелец домена.
 SRV — указание на серверы для сервисов (в частности, Active
Directory и Jabber).
8). В командной строке введите nslookup и нажмите Enter. Теперь
введите help и нажмите Enter. Ознакомтесь с документацыей.
9) В интерактивном режиме nslookup введите «set type = a» и нажмите
Enter. Теперь напечатайте www.test.app.com и нажмите Enter. Oтвет должен
быть похож на тот, который показан на рисунке ниже.
Примечание. Адрес DNS-сервера (202.53.8.8) будет отличаться.

В результате запроса можно узнать Авторитетность (англ. authoritative)


— признак размещения зоны на DNS-сервере. Ответы DNS-сервера могут
быть двух типов: авторитетные (когда сервер заявляет, что сам отвечает за
зону) и неавторитетные (англ. Non-authoritative), когда сервер обрабатывает
запрос, и возвращает ответ других серверов. В некоторых случаях вместо
передачи запроса дальше DNS-сервер может вернуть уже известное ему (по
запросам ранее) значение (режим кеширования).
10) в интерактивном режиме nslookup введите тип type = cname и
нажмите Enter. Теперь введите www.test.app.com и нажмите Enter. Пример
ответа показан на рисунке.
11. В интерактивном режиме nslookiip введите сервер 64.147.99.90 (или
любой другой IP-адрес, который вы получите на предыдущем шаге) и нажмите
Enter.
12. Теперь введите тип set type=a и нажмите Enter.
13.Напечатайте www.test.app.comи нажмите Enter. Oтвет показан на
рисунке ниже.

14. В интерактивном режиме nslookup введите set type = mx и нажмите


Enter. Напечатайте www.test.app.com и нажмите Enter. Oтвет показан на
рисунке ниже.

15). Запишите данные DNS в. таблицу 2


Tool/Utility Information Collected/Objectives Achieved
Ping
Утилита Информация собранная о Цели
DNS Server Name: 202.53.8.8
Non-Authoritative Answer: 202.75.54.101
CNAME (Canonical Name of an alias)
nslookup ■ Alias: cert1fiedhacker.com
■ Canonical name: google-publ1c-d11s-a.google.com
MX (Mail Exchanger): 111a11.cert1fiedl1acker.com

16). В адресной строке браузера перейти по адресу


www.test.app.com/robots.txt. Проанализировать содержимое файла. Сделать
выводы о наличии «скрытых» директорий.
17). В адресной строке браузера перейти по адресу
http://www.test.app.com/crossdomain.xml и, затем, по адресу
http://www.test.app.com/clientaccesspolicy.xml. Проанализировать содержимое
файлов. Сделать выводы о корректности конфигурации политики
междоменного взаимодействия RIA [3].
18). Перейти по адресу http://www.google.com. Задать поисковые
запросы, определяемые анализируемым приложением, например:
site:www.test.app.com filetype:docx confidential
site:www.test.app.com filetype:doc secret
site:www.test.app.com inurl:admin
site:www.test.app.com filetype:sql
site:www.test.app.com intext: "Access denied"
Проанализировать логику запросов и полученные данные. По строить
свои запросы, используя примеры из базы запросов [4].
19). Перейти по адресу http://www.shodanhq.com. Задать следующий
поисковый запрос:
hostname:www.test.app.com
Построить свои запросы для приложения www.test.app.com.
20). Подключиться к веб-серверу, используя утилиту Netcat:
# nc www.test.app.com 80
Отправить следующий GET запрос
GET / HTTP/1.1
Host: www.test.app.com
\r\n
По заголовкам Server и X-Powered-By определить программное
обеспечение, реализующее веб-сервер и фрэймворк веб-приложения. В
браузере установить расширение Wappalyzer, перейти по адресу веб-
приложения и проанализировать информацию о компонентах веб-приложения
полученное через Wappalyzer.
21). С помощью сканера веб-серверов Httprint (дистрибутив Backtrack)
или Httprecon (ОС Windows) выполнить идентификацию веб-сервера:
# cd /test/enumeration/web/httprint/linux
# ./httprint –h www.test.app.com –s signatures.txt

С помощью сканера Wafw00f проверить наличие у веб- приложения


подсистемы WAF:
# cd /test/web/waffit
# python ./wafw00f.py http://www.test.app.com
# python ./wafw00f.py https://www.test.app.com

22). Выполнить тесты по идентификации поддерживаемых веб-сервером


HTTP-методов. Для этого необходимо отправить с помощью Netcat запрос
следующего вида:
OPTIONS / HTTP/1.1
Host: www.test.app.com
\r\n
Проверить, поддерживает ли сервер обработку запросов с
произвольными методами:
DOGS / HTTP/1.1
Host: www.test.app.com
\r\n
Если веб-сервер поддерживает метод TRACE, то это может привести к
уязвимости к атаке Cross-Site Tracing (XST). Для проверки поддержки веб-
сервером методы TRACE отправить запрос.
TRACE / HTTP/1.1
Host: www.test.app.com
\r\n

Веб-сервер поддерживает метод TRACE и потенциально уязвим к атаке


XST, если получен ответа вида
HTTP/1.1 200 OK
Connection: close
Content-Length: 39
TRACE / HTTP/1.1
Host: www.test.app.com