Защита от sql-инъекций

Применение автоматизированных инструментальных средств для тестирования на проникновение

сети Интернет

Применение автоматизированных  средств для тестирования на проникновение



Автоматизированные инструментальные средства, несмотря на некоторые их недостатки, - широко приветствуемое дополнение при выполнении тестирования на проникновение.

Большинство организаций, которые выполняют тестирование на проникновение, полагаются на автоматизированные инструментальные средства вне зависимости от того, являются они купленными за деньги коммерческими, свободно распространяемыми

инструментальными средствами или инструментальными средствами, разработанными внутри самой организации.

Представьте себе сценарий, согласно которому читателя попросили бы выполнить тестирование на проникновение в удаленную сеть, состоящую из пяти хостов. методы защиты для мобильных устройств У читателя есть два варианта действий.

Он может протестировать удаленную сеть вручную или в процессе тестирования использовать некоторые из автоматизированных средств, чтобы они помогли ему провести тестирование.

Вообразите, насколько неэффективно было бы вручную воспользоваться Telnet, чтобы проверить открытые порты у всех пяти хостов. Очевидно, что читателя следовало бы отнести к несколько странным людям, если он подумал бы решить вручную простую, но очень трудоемкую задачу начального сканирования портов, которая присуща большинству тестов на проникновение.

В следующих секциях будет показано, каким образом коммерческие и свободно распространяемые инструментальные средства могут оказаться полезными при тестировании на проникновение.
Тестирование коммерческих инструментальных средств


Давайте рассмотрим первоначальный сценарий, согласно которому читателю следовало бы протестировать на проникновение сеть, состоящую из пяти хостов с IP-адресами от 192.168.0.1 до 192.168.0.5. Это - вся информация, которая была предоставлена читателю.

 Больше неизвестно никаких данных ни об операционных сисх, ни о прослушивающих сеть сервисах. Каким образом автоматизированные коммерческие инструментальные средства смогут помочь повысить эффективность тестирования настолько, насколько это возможно?

Для начала читателю следовало бы приобрести лицензии на выбранные инструментальные средства. Вне зависимости от того, был ли выбран сканер Internet Scanner, CyberCop или eEye Retina, процесс получения лицензии имеет много общего.

Просто запустите программу, предоставьте ей необходимую информацию, а затем введите диапазон IP-адресов, который читатель желал бы отсканировать. Некоторые коммерческие инструментальные средства предоставляют своему пользователю возможность предварительного выбора типа сканирования, которое он хотел бы выполнить

После этого последующие шаги могут различаться. К сожалению, большое число консультантов и консультирующих организаций думают, что следующим логическим шагом является передача своему клиенту отчета вместе со счетом за проведенную работу.

Вместо того чтобы просто передать отчет, следовало бы проанализировать его результаты и при необходимости вручную проверить их. Большая заслуга коммерческого инструментария заключается в определении основного направления реальных работ.

Например, допустим, что после сканирования коммерческий сканер утверждает, что все пять хостов не защищены от уязвимости showcode.asp информационного сервера Интернет IIS, работающего под управлением Windows NT.

Было бы мудрым решением вручную проверить каждый хост и определить, действительно ли они уязвимы так, как это утверждает программа. Сначала читатель должен проверить, что на каждом из хостов установлена операционная сис Windows NT и информационный сервер Интернет IIS. Это можно сделать несколькими различными способами (вероятно, их много). Одним из них является использование команды


Telnet следующим образом: telnet www.example.com 80 HEAD / HTTP/1.0enterenter


Инструментарий и ловушки Изменение баннера HTTP


Простой захват данных заголовка протокола HTTP не всегда эффективен, потому что на большинстве вариантов операционной системы *NIX очень просто изменить текст баннера. При работе под управлением операционных систем компании Microsoft для изменения баннера следует при помощи шестнадцатеричного редактора отредактировать файл W3SCV.DLL и заменить баннер на то же самое число символов.

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


Удачей для тех, кто занимается тестированием на проникновение, является наличие многочисленных способов идентифицировать удаленные операционные системы.

Такие вещи, как генерируемые Web-сервером ошибочные страницы или даже специфический состав пакетов протокола TCP, могут стать ключом к разгадке типа удаленной операционной системы.
Как читатель может видеть, возвращенная инструментальным средством информация идентифицировала систему как информационный сервер Интернет-компании Microsoft IIS


  Другой способ идентификации выполняющейся на хосте операционной системы заключается в том, чтобы просто обратиться к Netcraft по адресу
http://uptime.netcraft.com/up/graph/ и ввести IP-адрес или URL-сайта, о котором идет речь. На рисунке 17.5 показаны результаты работы Netcraft. Как можно видеть, Netcraft идентифицирует удаленную операционную систему и предоставляет другую потенциально ценную информацию о периоде работоспособного состояния машины.


Рис. 17.5. ОтчетNetcraft Путь читатель сделает вид, что он решил использовать метод Telnet на всех пяти хостах. влияние человеческого фактора на безопасность На последнем тестируемом хосте он получит следующую информацию: telnet www.example.com 80 HEAD / HTTP/1.0enterenter
Accept-Ranges: bytes Content-Length: 6778 Connection: close Content-Type: text/html Создается впечатление, что последней системой является Apache, которая выполняется под управлением одного из вариантов системы UNIX. Сейчас читатель знает, что информация об уязвимости информационного сервера Интернет IIS на пятом хосте неверна.

Поэтому нет необходимости тестировать хост дальше.

Возможно, что этот хост подвержен уязвимости систем Apache или UNIX и в дальнейшем должен быть исследован более подробно.

В этом кроется ключ к разгадке возможной тайны четырех оставшихся хостов.
Кажется, что на них установлена операционная сис Windows NT с информационным сервером Интернет-версии 4.0. Оставшиеся хосты в дальнейшем должны быть протестированы, чтобы гарантировать фактическое существование уязвимости.

Для завершения рассматриваемого теста без знаний об уязвимости читателю не обойтись. К сожалению, коммерческие инструменты в этом вопросе особенно не помогут. Хотя некоторые из них предоставят ссылки на ресурсы Интернет, воспользовавшись которыми можно прочитать об уязвимости.

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

Одним из таких ресурсов является www.securityfocus.com. Запустив поиск на сайте securityfocus.com для «showcode.asp», читатель может найти URL www.securityfocus.com/bid/167, который предоставит ему всю необходимую информацию. Для этого в окне браузера следует ввести следующий URL:


В результате в окне браузера читатель должен увидеть содержимое файла BOOT.INI, расположенного при всех инсталляциях операционной системы Windows NT в ее корневой директории. Если файл не отображается, то следует еще раз попытаться воспользоваться той же самой программой использования уязвимости (exploit) для чтения других известных читаемых файлов. После достаточного тестирования уязвимости можно определить, действительно ли хосты уязвимы к просмотру читаемых файлов.

Моментальные снимки экранных форм читаемых файлов являются хорошим дополнением к отчету, позволяющим донести до сведения читателя суть вопроса.
Как читатель может увидеть, применение коммерческих сканирующих инструментальных средств может помочь повысить эффективность тестирования хостов на уязвимости. Только представьте себе попытку тестирования хостов без автоматизированного инструментария.

В настоящее время база данных CVE содержит около 1604 элементов (по данным на 13 января 2002 года). проверка почты на взлом Поэтому попытка вручную проверить каждую возможную уязвимость превращается в трудновыполнимую задачу, сама мысль о решении которой отпугивает.

С помощью автоматизированного инструментария исследователь просто должен проверить результаты их работы и повторно протестировать любые системы, тестирование которых выявляет слишком большое число аномалий.

Чрезмерное число аномальных результатов является основанием для того, чтобы заподозрить сканер в неверной работе. Аномальные результаты тестирования и перспектива обязательной ручной перепроверки всех результатов являются причиной использования консультантами более чем одного инструментария сканирования.

Обычно они используют коммерческий сканер совместно со свободно распространяемым инструментальным средством.


Тестирование свободно распространяемых инструментальных средств

Для тестирования свободно распространяемых инструментальных средств можно воспользоваться уже описанным сценарием тестирования коммерческих инструментальных средств. Вероятно, свободно распространяемые инструментальные средства более точны, поскольку их пользователь должен больше взаимодействовать с ними, вводя различные данные.

Давайте опишем два различных сценария с теми же пятью хостами. Первый сценарий опишет ситуацию, когда читатель должен довериться многочисленным свободно распространяемым инструментальным средствам и собственным знаниям в области тестирования систем. Перед тем как привести пример, следует пояснить следующее.

Известно, что описываемые случаи можно реализовать различными способами, возможно, даже более эффективными, чем описываемые. Автор просто использует некоторые общие примеры как вспомогательное средство для иллюстрации своей точки зрения по рассматриваемому вопросу.


Во-первых, для сканирования пяти хостов можно воспользоваться утилитой Nmap и для определения открытых портов использовать следующий синтаксис:
Инструментарий и ловушки Использование Nmap: все дело в синтаксисе


Для того чтобы получить список всех опций, которые можно использовать при запуске утилиты nmap, следует в командной строке просто ввести nmap-h. Ниже приводится краткое описание синтаксиса утилиты:
• nmap - выполнимая программа;
• -sS TCP Syn - сканирование типа TCP Syn, или половинное сканирование. Этот режим работы предотвращает регистрацию сканирования на большинстве сайтов, потому что при его указании процесс процедуры установления связи до конца не завершается и таким образом нет действительных подключений к хосту;
• -v - многословный режим. Запросы, похожие на «защита от sql-инъекций» При работе в этом режиме вдвое увеличивается объем выводимой на экран информации;
• -О - удаленное определение операционной системы хоста. При установке этого режима утилита nmap предпринимает попытку идентифицировать удаленную операционную систему;
• -Р0 - опция указывает утилите Nmap на то, чтобы она не пыталась прозванивать хост перед его сканированием. Этот режим работы позволяет сканировать хост, который не отвечает на запросы утилиты ping по протоколу управляющих сообщений в сети Интернет ICMP;
• -oN results.out - опция указывает утилите nmap на необходимость регистрации результатов сканирования, записывая их в файл results.out. Конечно, вместо файла results.out можно указать любой другой необходимый файл, потому что в любом случае это будет читаемый пустой файл;
• 192.168.0.1-5 - введенная строка символов указывает диапазон IP-адресов, которые утилита nmap должна просканировать. Конечно, при необходимости можно просканировать один хост или всю сеть.
После того как утилита nmap просканирует все пять систем, она возвратит результаты сканирования, которые должны быть похожи на приведенные ниже:
Из результатов сканирования видно, что хост с IP-адресом 192.168.0.1 работает под управлением операционной системы NT Server 4.0 с установленным Web-сервером, который прослушивает порты 80 (http) и 443 (http). Вероятно, в данной ситуации было бы неплохо удостовериться в том, что работающий Web-сервер является информационным сервером Интернет, который использует Netcraft или Telnet.

Удостовериться в этом можно подобно тому, как это объяснено в секции «Тестирование коммерческих инструментальных средств». Как только пользователь получит подтверждение, ему станут доступны различные варианты действий. проверка на sql уязвимость Во-первых, он может подключиться и вручную проверить каждую известную уязвимость информационного сервера Интернет IIS, но для этого, конечно, потребуется много времени.

Во-вторых, он может воспользоваться сканерами whisker или VLAD для быстрой проверки некоторых из наиболее общих уязвимостей информационного сервера Интернет IIS и уязвимости showcode.asp, о которой читатель узнал во время использования коммерческих инструментальных средств. Очевидно, что рассказанный метод использования утилиты nmap является более точным, но и он допускает ошибки или пропускает уязвимости.

Как правило, этот метод использовался бы после того, как «с дерева были бы сорваны низко висящие плоды», то есть выявлены общие уязвимости. Кроме того, вместо использования VLAD или whisker для тестирования Web-сервера можно было бы написать сценарий на языке Perl, что не очень сложно.

Сценарий быстро отсканировал бы Web-сервер, ища наиболее общие уязвимости информационного сервера Интернет IIS типа двойного кодирования, кодирования Unicode или образцы страниц программного кода использования уязвимости, как, например, showcode.asp.
Второй вариант тестирования рассматриваемых пяти хостов заключается в использовании одного из свободно распространяемых сканеров безопасности, как, например, SAINT, SARA или Nessus. По мнению автора, SAINT и SARA не обеспечивают достаточно подробного сканирования, чтобы считаться эффективными в этом случае. Поэтому при отсутствии каких-либо ограничений рекомендуется использовать Nessus, который среди доступных, вероятно, является лучшим свободно распространяемым сканером.
Способ работы сканера Nessus очень похож на работу коммерческих продуктов сканирования. После установки соединения с сервером Nessus пользователь может подключиться и выбрать нужные ему опции сканирования

Точно так же, как и в случае коммерческих инструментальных средств, следует проявить мудрость, с умом проверяя отчеты и сличая информацию.

Похожие статьи Pentest

  • Хакинг и тестирование на проникновение

    С помощью таких программ, как WinNuke, Papa Smurf и Teardrop злоумышленники могут атаковать ваши компьютеры и нанести вам ущерб. Согласно опросу за 1999...

  • Комплексный тест на проникновение

    Комплексное тестирование защищенности систем аудит защищенности информационных систем, включающий в себя инвентаризацию ресурсов, ручной и...

  • Тест на проникновение

    Программы премирования за нахождение ошибок являются полезными для больших компаний, поскольку они поощряют хакеров сообщать об уязвимостях программного...

  • Хакинг и тестирование на проникновение

    Contents Защита телефона от кражи паролей и взлома хакерами Как защитить мобильный телефон от взлома хакерами и кражи паролей? Contents Защита телефона...

  • Комплексный тест на проникновение

    Ошибки при назначении разрешений При неправильно назначенных разрешениях файлов в Unix и Windows NT/2000 злоумышленник может запустить программу с...