ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости
   
 
 
Опции темы Поиск в этой теме Опции просмотра

Технология HTTP Fingerprint
  #1  
Старый 06.09.2006, 14:49
Аватар для gemaglabin
gemaglabin
Banned
Регистрация: 01.08.2006
Сообщений: 725
Провел на форуме:
7681825

Репутация: 4451


По умолчанию Технология HTTP Fingerprint

Технология определения удаленного сервера HTTP Print


Зачастую для поднятие прав на удаленном сервере нам приходится сканировать на открытые порты с целью получения названий деменов и их версий
и нахождения актуального эксплоита для нужной версии того или иного сервиса.Как правило,грамотные администраторы подделывают банеры с целью запутать хакера.В таких случаях версию приходится определять либо вслепую подбирая всевозможные poc,либо используя спецификацию демонов определять номер ветки продукта.

Одной из самых уязвимой частей компьютера,доступного из сети является серверное обеспечение.Именно с него и может начинаться взлом.Очень важно знать полную информацию об этом демоне.Технология,позволяю щая определять подлинный банер HTTPD называется HTTP Print.Впервые вплотную к описанию Fingerprint подошел Fydor (небезызвестый автор NMAP),описавший свой труд в статье "Remote OS detection via TCP/IP Stack Fingerprinting".Примерно на том же подходе и основывается HTTP Print - определение сервера с помощью их специфичной обработки протокола HTTP.

0x00 . Simple Banner Grab

Самый простой способ - посылка GET запроса на получение содержимого index страницы.

Apache 1.3.33 :

PHP код:
HTTP/1.1 200 OKT
Server
Apache/1.3.33 (Unix
IIS 5.0 :

PHP код:
HTTP/1.1 200 OK
Server
Microsoft-IIS/5.0 
Netscape Enterprise :

PHP код:
HTTP/1.1 200 OK
Server
Netscape-Enterprise/4.1 
Естествено,такой метод надежным не является,так как грамотному системному администратор не составит труда изменить выдаваемый банер.В таких open-source приложениях вроде Apache можно перекомпилировать часть кода с выдаваемой версией демона,IIS или Netscape Enterprise придется патчить любым HEX - редактором.Более ленивые предпочитают использовать дополнительные надстройки на HTTPD ( одной из таких утилит является ServerMask ).

После патчинга получаем примерно такие заголовки

Apache 1.3.33 :

PHP код:
HTTP/1.1 200 OK
Server
Some-Fucking-WEBSERVER/1.0 
IIS 5.0 :

PHP код:
HTTP/1.1 200 OK
Server
Yes we are using ServerMask 
Как мы видим,полагаться на такой метод нельзя,можно оставить кучу следов на целевой машине,что заставить администратора проявиться бдительность.

0x01 . Начинаем думать

Первое что приходит в голову - искать разницу в ответах хттп-демонов на различные нестандартные запросы.И правда - буквально через 5 минут всевозможных тестов находим лазейку :

Apache 1.3.33 :

PHP код:
HTTP/1.1 200 OK
Date
Tue05 Sep 2006 19:47:15 GMT
Server
Apache/1.3.33 (Unix
IIS 5.0 :

PHP код:
HTTP/1.1 200 OK
Server
Microsoft-IIS/5.0
Content
-Locationhttp://iis.example.com/Default.htm
DateTue05 Sep 2006 19:47:15 GMT 
Netscape Enterprise :
PHP код:
HTTP/1.1 200 OK
Server
Netscape-Enterprise/4.1
Date
Tue05 Sep 2006 19:47:15 GMT 
Смотрим на порядок строк Date и Server выдаваемого банера.В случае с Apache на первом месте идет дата,далее имя демона,у IIS эти строки разделены параметром Content-Location,у Netscape,в отличие от Апача,сначала идет сервер,потом дата.Вполне неплохой способ,не правда ли?

0x02. Альтернативные методы

Роем дальше.В RFC по хттп запросам есть описание метода OPTIONS,который с потрохами выдает всю информацию о сервере.Обычно этот запрос используют прокси для определения доступных запросов с целью информировать юзера об возможной или невозможной передачи данных.

OPTIONS * HTTP/1.1

PHP код:
HTTP/1.1 200 OK
Server
Apache/1.3.33 (Unix)
AllowGETHEADOPTIONSTRACE 
OPTIONS / HTTP/1.1

PHP код:
HTTP/1.1 200 OK
Server
Apache/1.3.33 (Unix)
AllowGETHEADOPTIONSTRACE 
Nginx вообще выдаст себя по ответу

PHP код:
400 Bad Request
nginx
/0.3.33 
Почему мы можем ориентироваться на эти данные?Да потому что мало кто задумывается о смене запросов,отличных от GET \ POST.

Пробуем явно запрещенные методы вроде DELETE

Apache :

PHP код:
HTTP/1.1 405 Method Not Allowed
Server
Apache/1.3.23 
IIS 5.0 :

PHP код:
HTTP/1.1 403 Forbidden
Server
Microsoft-IIS/5.0 
Netscape :

PHP код:
HTTP/1.1 401 Unauthorized
Server
Netscape-Enterprise/4.1 
Апач не поддерживает такой вид запросов,для применения такого рода запросов в нетскейпе и иис надо иметь достаточно прав.

Экспереметируем с изменением версий протоколов

GET / HTTP/4.0

Apache :

PHP код:
HTTP/1.1 400 Bad Request
Server
Apache/1.3.23 
IIS 5.0 :

PHP код:
HTTP/1.1 200 OK
Server
Microsoft-IIS/5.0 
Netscape :

PHP код:
GET HTTP/3.0
HTTP
/1.1 505 HTTP Version Not Supported 
Разница видна даже невооруженным глазом.

Пробуем отправить POST нулевой длины.Только Apache вернет 200 Ok,в остальных случаях будет Bad Request.

PHP код:
POST HTTP/1.0
Host
cup.su
Content
-length
PHP код:
HTTP/1.1 200 OK
Server
Apache/1.3.33 (Unix
Интересен запрос вида JUNKMETHOD.

JUNKMETHOD / HTTP/1.0
Host: cup.su

Nginx легко можно обнаружить по свойственному ему признаку - выдавать 502 Bad Gateway на все нестандартные запросы.


0x03 Подводим итоги.[/b]

Server Field Ordering DELETE Method Improper HTTP version Improper protocol
Apache/1.3.23 Date, Server 405 400 200
Microsoft-IIS/5.0 Server, Date 403 200 400
Netscape Server, Date 401 505 no header

*При написании статьи я использовал следующие материалы


Самый подробный материал по HTTP-PRINT,собствено вся статья состоит из перевода этого документа + мои добавки
http://net-square.com/httprint/httprint_paper.html

NMAP OS Fingerprint - лучше руководство от Федора по REMOTE OS FINGERPRINT
http://www.insecure.org/nmap/nmap-fingerprinting-article.html

После прочтения RFC авторы решили поэксперементировать с различными запросами
http://www.ietf.org/rfc/rfc2616.txt

HMAP web server fingerprinter
http://wwwcsif.cs.ucdavis.edu/~leed/hmap/

Утилита,поддерживающая все возможные технологии HTTP fingerprint`а

http://net-square.com/httprint/httprint_win32_301.zip
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Живые прокси xdx ICQ 111 15.04.2007 13:10
Новая технология Windows Vista затруднит установку Linux dinar_007 Мировые новости 1 05.05.2006 14:25
Bluetooth silveran Новости мира "железа" 6 15.10.2005 18:55
SMTP fingerprint с использованием ID тэгов k00p3r Чужие Статьи 0 08.06.2005 15:10



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ