Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Skabtsov_N_V_-_Audit_bezopasnosti_informatsionnykh_sistem_-_2018.pdf
Скачиваний:
101
Добавлен:
24.01.2021
Размер:
9 Mб
Скачать

60    Глава 3  •  Получение информации от сетевых сервисов

Работа с электронной почтой

В наши дни электронная почта является одним из основных инструментов ведения бизнеса. Даже в небольших организациях у каждого сотрудника имеется персональный e-mail. Спектр его применения достаточно широк — внутренняя коммуникация, пересылка документов, общение с клиентами, переписка с партнерами и многое другое. Сотрудники часто используют почту в личных целях, что является весьма рискованным с точки зрения информационной безопасности, но хорошо для взломщика.

Есть несколько способов получения списка e-mail адресов компании. Один из них мы уже рассмотрели в предыдущей главе.

Второй способ не очень надежный. Он основывается на том, что администраторы не отключают «verefy» и «expn» на своих серверах. Это приводит к тому, что злоумышленник может проверить список собранных почтовых адресов или даже подобрать их в автоматическом режиме.

EXPN используется для получения всех получателей письма. Например, если письмо предназначено das@asf.com, но в настройках сервера указано, что его надо переслать das@ad.com и sd@dq.com, то злоумышленник получит в том числе и последние два адреса.

root@kali:~# telnet mx.ibox.lv 25 Trying 194.152.31.73...

Connected to mx1.inbox.lv. Escape character is '^]'. 220 timmy2-lv.inbox.lv ESMTP VRFY root

502 5.5.1 VRFY command is disabled quit

221 2.0.0 Bye

Connection closed by foreign host.

root@kali:~# telnet mx.adb.com 25 Trying 216.46.24.12...

Connected to mx.adb.com. Escape character is '^]'. 220 timmy2-lv.inbox.lv ESMTP VRFY root

250 2.1.5 root <root@ mx.adb.com> VRFY anderson

550 5.1.1 anderson... User unknown quit

221 2.0.0 Bye

Connection closed by foreign host.

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

Анализ баннеров  61

Пример работы EXPN:

root@kali:~# telnet mx.ibox.lv 25 Trying 10.34.15.1...

Connected to 10.34.15.1. Escape character is '^]'.

220 myhost ESMTP Sendmail 8.9.3 HELO

501 HELO requires domain address HELO x

250 myhost Hello [10.34.15.5], pleased to meet you EXPN bob

250 Super-User bob@myorg.net

250 Mike Storm <mikestorm@myorg.net> EXPN alice

550 alice... User unknown

Подбор пользователей с использованием RCPT-TO:

root@kali:~# telnet mx.soole.com 25 220 server1 ESMTP Sendmail 8.9.3 HELO

501 HELO requires domain address HELO x

250 server1 Hello [10.0.0.72], pleased to meet you MAIL FROM:smith

250 smith... Sender ok RCPT TO:mike

250 mike... Recipient ok RCPT TO: robert

550 robert... User unknown

Есть еще один интересный способ получить больше информации об адресате. Сервис WhoReadMe позволяет определить тип операционной системы, браузера, а также установленные компоненты ActiveX и даже примерное местоположение адресата.

Анализ баннеров

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

С данной задачей отлично справляется мультиплатформенная утилита telnet. Попробуем получить баннер НТТР-сервера:

root@kali:~# telnet rhl.com 80 Trying 64.64.27.93...

Connected to rhl.com. Escape character is '^]'.

62    Глава 3  •  Получение информации от сетевых сервисов

GET

HTTP/1.1 400 Bad Request

Date: Thu, 16 Oct 2016 16:08:23 GMT

Server: Apache 2.2.16

Connection: close

Content-Type: text/html; charset=iso-8859-1

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

Есть и более удобные утилиты:

Netcraft — рассмотренный ранее онлайн-сервис, позволяющий получить много полезной информации;

Xprobe — утилита для сбора информации о целевой системе;

Pof — анализирует трафик, полученный от целевой системы, имеет множество фильтров;

Maltego — поможет с визуализацией полученной информации.

Получение информации от NTP-сервера

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

При помощи NMAP можно не только узнать точное время, но и получить список последних 600 хостов, которые синхронизировали время с этим сервером.

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

root@kali:~# nmap -sU -pU:123 -Pn -n --script=ntp-monlist 192.168.127.3

PORT

STATE

SERVICE

REASON

 

 

 

123/udp open

ntp

udp-response

 

 

| ntp-monlist:

 

 

 

 

 

|

Target is synchronised with 34.127.56.0 (reference clock)

 

|

Alternative Target Interfaces:

 

 

|

10.0.4.20

 

 

 

 

|

Private Servers (0)

 

 

 

|

Public Servers (0)

 

 

 

 

|

Private Peers (0)

 

 

 

 

|

Public Peers (0)

 

 

 

 

|

Private Clients (2)

 

 

 

|

10.0.8.35

169.254.138.55

 

 

|

Public Clients (597)

 

 

 

|

192.168.127.173

192.168.125.15

192.168.125.33

192.168.127.46

|

...

 

 

 

 

 

|

 

 

 

 

 

 

|

Other Associations (1)

 

 

 

|_

127.0.0.1 seen 1853569 times. last tx was unicast v2 mode 7

Поиск уязвимостей  63

Поиск уязвимостей

Итак, мы нашли сервер, к которому можем получить доступ. Обычно для несанкцио­нированного подключения используют уязвимости в установленном ПО. Но как определить, какие уязвимости присутствуют на удаленной машине, а какие — нет? Можно попытаться найти уязвимости вручную, используя полученную информацию и базы данных уязвимостей. Однако это очень долгий и трудоемкий процесс. И тут нам на помощь приходят сканеры уязвимостей.

Самые популярные из них — Nessus, OpenVAS, Retina и Nexpose. Они позволяют не только находить открытые уязвимости в установленном ПО и ОС, но и определять устаревшие протоколы шифрования, зараженные компьютеры и многое другое.

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

Например, OpenVAS входит в состав Kali Linux и даже доступен из репозиториев, но почему-то не установлен.

Для установки выполним следующие шаги:

Убедитесь, что в файле /etc/apt/sources.list присутствует строка deb http:// http.kali.org/kali kali-rolling main contrib non-free, — это репозиторий Kali Linux.

Обновите ОС и установите OpenVAS:

root@kali:~# apt-get update root@kali:~# apt-get dist-upgrade root@kali:~# apt-get install openvas root@kali:~# openvas-setup /var/lib/openvas/private/CA created /var/lib/openvas/CA created

[i] This script synchronizes an NVT collection with the 'OpenVAS NVT Feed'.

[i] Online information about this feed: 'http://www.openvas.org/openvas-nvt-feed

...

sent 1143 bytes received 681712356 bytes 1646224.34 bytes/sec total size is 681651040 speedup is 1.00

[i] Initializing scap database [i] Updating CPEs

[i] Updating /var/lib/openvas/scap-data/nvdcve-2.0-2002.xml [i] Updating /var/lib/openvas/scap-data/nvdcve-2.0-2003.xml

...

 

 

Write out database with 1 new entries

 

Data Base Updated

 

md main:

DEBUG:14364:2016-10-20 23h06.33 EDT:

sql_open: db open, max retry

sleep time

is 0

 

Rebuilding

NVT cache... done.

 

User created with password '15b859fd-ba8d-4186-b403-641d879e6567'.

Убедитесь, что необходимые сервисы работают:

root@kali:~# netstat -antp

Active Internet connections (servers and established)

64    Глава 3  •  Получение информации от сетевых сервисов

Proto Local Address

State

PID/Program name

tcp

127.0.0.1:9390

LISTEN

14566/openvasmd

tcp

127.0.0.1:9391

LISTEN

14535/openvassd: Wa

tcp

127.0.0.1:80

LISTEN

14578/gsad

tcp

127.0.0.1:9392

LISTEN

14575/gsad

И запустите OpenVAS:

root@kali:~# openvas-start Starting OpenVas Services

В дальнейшем вы сможете подключиться к веб-интерфейсу OpenVAS, используя браузер, в адресную строку которого необходимо ввести https://127.0.0.1:9392. Имя пользователя admin, пароль был сгенерирован автоматически во время установки.

Теперь достаточно ввести IP-адрес интересующего хоста или подсети и изучить отчет.

Рис. 3.1. OpenVAS — стартовая страница