![]() |
Технология 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 код:
PHP код:
PHP код:
После патчинга получаем примерно такие заголовки Apache 1.3.33 : PHP код:
PHP код:
0x01 . Начинаем думать Первое что приходит в голову - искать разницу в ответах хттп-демонов на различные нестандартные запросы.И правда - буквально через 5 минут всевозможных тестов находим лазейку : Apache 1.3.33 : PHP код:
PHP код:
PHP код:
0x02. Альтернативные методы Роем дальше.В RFC по хттп запросам есть описание метода OPTIONS,который с потрохами выдает всю информацию о сервере.Обычно этот запрос используют прокси для определения доступных запросов с целью информировать юзера об возможной или невозможной передачи данных. OPTIONS * HTTP/1.1 PHP код:
PHP код:
PHP код:
Пробуем явно запрещенные методы вроде DELETE Apache : PHP код:
PHP код:
PHP код:
Экспереметируем с изменением версий протоколов GET / HTTP/4.0 Apache : PHP код:
PHP код:
PHP код:
Пробуем отправить POST нулевой длины.Только Apache вернет 200 Ok,в остальных случаях будет Bad Request. PHP код:
PHP код:
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 |
Вот еще чтото по финерпринт
http://www.neolive.org/macintosh/utilities/14241prog.html И тут немного http://www.unix.kg/modules/myarticles/article.php?storyid=43 |
ну даеш...
ты только ришел на античат и уже столько репы набрал!!! Вот немного про то как защититься от fingerprinting http://www.samag.ru/art/06.2005/06.2005_13.html |
Еще два линка в тему
http://www.securitylab.ru/contest/212103.php http://www.honeynet.org/papers/finger/ |
Сетевая дактилоскопия
Потрогай нежно Есть у меня папочка отдельная в сканерах - "fingerprinting", где собрано несколько популярных программ: Linux: grabbb-0.0.7.tar.gz siphon-0.0.1.tar.gz skin-0.1.2.tar.gz xprobe2-0.3.tar.gz paketto-1.10.tar.gz amap-5.2.tar.gz hping3.tar.gz p0f.tgz Windows: K9 v1.0 amap-5.2-win p0f-win32 winfingerprint-0.6.2 |
Цитата:
|
| Время: 17:49 |