Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы тестирования КИИ на проникновение. Учебное пособие.pdf
X
- •ВВЕДЕНИЕ
- •1. ПАССИВНЫЙ СБОР ИНФОРМАЦИИ (PASSIVE INFORMATION GATHERING)
- •1.1. СБОР ИНФОРМАЦИИ С ПОМОЩЬЮ ВЕБ-ИСТОЧНИКОВ
- •1.1.1. Использование Google
- •1.1.2. Примеры
- •1.1.3. Задания
- •1.2.1. Задания
- •1.3. ДОПОЛНИТЕЛЬНЫЕ РЕСУРСЫ
- •1.3.1. Netcraft
- •1.3.2. Перечисление Whois
- •1.3.3. Получение данных из БД регистраторов
- •1.3.4. Задания
- •1.4. RECON-NG
- •1.4.1. Задания
- •1.5. ПРОФИЛИРОВАНИЕ ПОЛЬЗОВАТЕЛЕЙ
- •1.5.1. Задания
- •2.1. ПЕРЕЧИСЛЕНИЕ DNS (DNS ENUMERATION)
- •2.1.1. Взаимодействие с DNS-сервером
- •2.1.2. Автоматизация поиска
- •2.1.3. Релевантные инструменты в Kali Linux
- •2.1.4. SubBrute
- •2.1.5. Задания
- •2.2. ПЕРЕЧИСЛЕНИЕ SNMP (SNMP ENUMERATION)
- •2.2.1. Дерево MIB
- •2.2.2. Сканирование SNMP
- •2.2.3. Пример перечисления SNMP
- •2.2.4. Атака усиления (амплификации) SNMP (SNMP amplification)
- •2.2.5. Пример
- •2.2.6. Задания
- •2.3. ПЕРЕЧИСЛЕНИЕ SMTP (SMTP ENUMERATION)
- •2.3.1. Задания
- •3. СКАНИРОВАНИЕ ПОРТОВ
- •3.1. ОБНАРУЖЕНИЕ ХОСТОВ
- •3.2. СКАНИРОВАНИЕ ОТКРЫТЫХ ПОРТОВ И ОПРЕДЕЛЕНИЕ СЛУЖБ
- •3.2.1. Типы сканирования портов
- •3.3. СКАНИРОВАНИЕ TCP
- •3.3.1. Connect-сканирование
- •3.3.2. SYN-cканирование (Стелс/stealth)
- •3.3.3. Другие виды сканирования
- •3.4. СКАНИРОВАНИЕ UDP
- •3.5. ОПРЕДЕЛЕНИЕ ВЕРСИЙ СЛУЖБ
- •3.6. ПОЛУЧЕНИЕ ОТПЕЧАТКОВ ОС (OS FINGERPRINTING)
- •3.7. ВЫВОД РЕЗУЛЬТАТОВ
- •3.8. МЕТОДЫ ОБХОДА ФАЕЙРВОЛОВ/IDS
- •3.8.4. Изменение значения MTU
- •3.9. НЕКОТОРЫЕ ОСОБЕННОСТИ СКАНИРОВАНИЯ
- •3.10. СЦЕНАРИИ NMAP SCRIPTING ENGINE (NSE)
- •3.11. ЗАДАНИЯ
- •4. ЭКСПЛУАТАЦИЯ СОЕДИНЕНИЙ УДАЛЁННОГО ДОСТУПА
- •4.1. ОБЩИЕ ОСОБЕННОСТИ ЭКСПЛУАТАЦИИ
- •4.2. КОМПРОМЕТАЦИЯ ПРОТОКОЛА RDP
- •4.3. КОМПРОМЕТАЦИЯ ПРОТОКОЛА SSH
- •4.3.1. Получение ключей хоста RSA и DSA
- •4.3.2. Перечисление функций
- •4.3.3. Поддерживаемые механизмы аутентификации
- •4.3.4. Подбор учётных данных
- •4.4. КОМПРОМЕТАЦИЯ ПРОТОКОЛА VNC
- •4.5. FTP
- •4.6. TFTP
- •ЗАКЛЮЧЕНИЕ
- •СПИСОК ЛИТЕРАТУРЫ

zonetransfer.me. 7200 IN A
217.147.177.157
Name Servers:
______________
nsztm1.digi.ninja. 10489 IN A
81.4.108.41
nsztm2.digi.ninja. 10490 IN A
167.88.42.94
Mail (MX) Servers:
___________________
ASPMX.L.GOOGLE.COM. 293 IN A
74.125.131.26
ASPMX3.GOOGLEMAIL.COM. 293 IN A
74.125.28.26
ASPMX5.GOOGLEMAIL.COM. 293 IN A
74.125.132.26
ALT2.ASPMX.L.GOOGLE.COM. 293 IN A
74.125.28.26
ALT1.ASPMX.L.GOOGLE.COM. 293 IN A
64.233.187.26
ASPMX4.GOOGLEMAIL.COM. 293 IN A
74.125.30.26
ASPMX2.GOOGLEMAIL.COM. 293 IN A
64.233.187.26
Trying Zone Transfers and getting Bind Versions:
_________________________________________________
...
canberra-office.zonetransfer.me. 7200 IN A
202.14.81.230
canberra-office.zonetransfer.me. 7200 IN RRSIG
\#
canberra-office.zonetransfer.me. 3600 IN NSEC
\#
canberra-office.zonetransfer.me. 3600 IN RRSIG
\#
...
vpn.zonetransfer.me. 4000 IN A
174.36.59.154
vpn.zonetransfer.me. 4000 IN RRSIG
\#
vpn.zonetransfer.me. 3600 IN NSEC
\#
vpn.zonetransfer.me. 3600 IN RRSIG
\#
www.zonetransfer.me. 7200 IN A
217.147.177.157
www.zonetransfer.me. 7200 IN RRSIG
\#
31

www.zonetransfer.me. 3600 IN NSEC
\#
www.zonetransfer.me. 3600 IN RRSIG
\#
xss.zonetransfer.me. 300 IN TXT
'><script>alert \('Boo'\)</script>
xss.zonetransfer.me. 300 IN RRSIG
\#
xss.zonetransfer.me. 3600 IN NSEC
\#
xss.zonetransfer.me. 3600 IN RRSIG
\#
Trying Zone Transfer for zonetransfer.me on nsztm2.digi.ninja ...
AXFR record query failed: connection failed
brute force file not specified, bay.
2.1.4. SubBrute
SubBrute – это один из самых популярных и точных инструментов перечисления поддоменов. Проект использует открытые серверы имён в качестве
прокси, так что SubBrute не отправляет трафик на целевой DNS-сервер.
root@kali:~# cd /tmp
root@kali:/tmp# git clone https://github.com/TheRook/subbrute.git
root@kali:/tmp# cd subbrute/
root@kali:/tmp/subbrute# ./subbrute.py domain.com
domain.com
www.domain.com
www.domain.com.akadns.net
wwwds.domain.com.edgekey.net
wwwds.domain.com.edgekey.net.globalredir.akadns.net
e2867.dsca.akamaiedge.net
alln-mx-01.domain.com
aer-mx-01.domain.com
rcdn-mx-01.domain.com
_tcp.domain.com
_tls.domain.com
...
2.1.5. Задания
1. Используя утилиты nslookup, host, dig, получите различные типы DNSзаписей для домена организации, которую вы выбрали в качестве целевой на
этапе пассивного сбора информации.
2. С помощью утилит host и dig проверьте возможность переноса DNS-зон.
3. Используйте утилиты dnsrecon и dnsenum для попытки передачи зоны
целевого домена.
4. Используйте утилиту SubBrute для решения задачи перечисления поддоменов целевого домена.
32

2.2. ПЕРЕЧИСЛЕНИЕ SNMP (SNMP ENUMERATION)
Протокол SNMP является протоколом управления и часто используется
для мониторинга серверов и сетевых устройств. Протокол SNMP основан на
протоколе UDP, простом протоколе транспортного уровня без сохранения состояния, и поэтому подвержен IP-спуфингу и атакам с повторами датаграмм
(replay attacks). Кроме того, широко используемые версии протокола 1, 2 и 2c
SNMP не обеспечивают шифрования трафика, поэтому SNMP-данные могут
быть легко перехвачены при передаче их по локальной сети. Стан
дартно используемый протокол SNMP версии 2с имеет слабую схему аутентификации:
частные (rw) и публичные (ro) имена сообществ. Эти имена сообществ передаются в незашифрованном виде и часто администраторы не изменяют их стандартные значения: private и public.
Учитывая, что SNMP обычно используется для мониторинга важных серверов и сетевых устройств, этот протокол является одним из слабых звеньев в
структуре безопасности организации. Используя простой сниффер, злоумышленник может перехватить SNMP-запр
осы, отправляемые по сети, и может потенциально подвергнуть риску всю сетевую инфраструктуру (изменить настройки маршрутизатора или коммутатора, прослушать трафик и т.д.).
2.2.1. Дерево MIB
База информации управления SNMP (MIB – Management Information
Base) – это база данных, содержащая информацию об OID. Идентификатор
объекта (Object Identifier, OID) – это числовое имя, присвоенное объекту и начинающееся с корня дерева MIB. Он может уникально идентифицировать объект, присутствующий в иерархии MIB. База данных организована в виде дерева,
где ответвления представляют разные организации или разные сетевые функции. Листья дерева (конечные точки) соответствуют определённым значени
ям
переменных OID, которые доступны для получения от них данных пользователем (станцией управления).
Рассмотрим пример такого дерева (рис. 2.2) с объектами hostname и
domainname. Эти объекты могут использоваться для получения значения имени
хоста и имени домена маршрутизатора.
Дерево начинается с ветки iso, а затем мы проходим через элементы org,
dod, internet, private, enterprises, cisco, local, lcpu и попадаем в объекты hostname и
do
mainname. Обратите внимание, что в узлах указаны числа, которые можно ис-
пользовать вместо имён. Так, значение 1.3.6.1.4.1.9.2.1.3 можно использовать для
получения информации об имени хоста, а 1.3.6.1.4.1.9.2.1.4 – об имени домена.
С помощью протокола SNMP можно извлечь следующие сведения:
− информацию о типах используемых сетевых ресурсов, таких как хос-
ты, маршрутизаторы, серверы и пр.;
− свед
ения об общем доступе к файлам;
− содержимое таблицы ARP;
− содержимое таблицы маршрутизации;
− подробную информацию об устройстве;
− статистику трафика.
33

Рис. 2.2. Пример дерева MIB
2.2.2. Сканирование SNMP
Для поиска устройства с открытыми SNMP-портами можно использовать
утилиту nmap (подробные сведения о данной утилите будут даны в следующих
главах) со следующим синтаксисом:
root@kali:~# nmap ‐sU ‐p 161 192.168.11.200‐254
Утилита snmpwalk из пакета snmp – популярный инструмент для тестирования SNMP. Этот инструмент действует как SNMP-клиент, и мы можем использовать его, когда необходимо выполнить запросы к службе SNMP на целевом хосте.
34

Мы также можем использовать этот инструмент, чтобы проверить, существует ли определённая строка сообщества или нет. В случае неуспешного выполнения утилита сообщит об истекшем таймауте запроса:
root@kali:~# snmpwalk -v 2c -c public 192.168.1.1
root@kali:~# Timeout: No Response from 192.168.1.1
В качестве альтернативы можно использовать такой инструмент, как
onesixtyone, который будет проверять наличие заданных строк сообщества у
устройств по заданному списку IP-адресов, позволяя реализовать атаку грубой
силы:
root@kali:~# echo public > community
root@kali:~# echo private >> community
root@kali:~# echo manager >> community
root@kali:~# for ip in $(seq 200 254);do echo 192.168.11.$ip;done > ips
root@kali:~# onesixtyone ‐c community ‐i ips
Как только уязвимые SNMP-устройства будут найдены, можно начать запрашивать конкретные данные, которые могут представлять интерес.
2.2.3. Пример перечисления SNMP
Мы можем исследовать и запрашивать значения SNMP с помощью такого
инструмента, как snmpwalk, при условии, что знаем строку сообщества SNMP,
доступную хотя бы для чтения. Строка сообщества на большинстве устройств
по умолчанию соответствует строке public. Попробуйте следующую команду в
лабораторных условиях для целевой системы, на которой запущен SNMP-агент
с заранее известной строкой community:
root@kali:~# snmpwalk ‐c public ‐v1 192.168.1.2
iso.3.6.1.2.1.1.1.0 = STRING: "Linux Ubuntu 3.2.0‐23‐generic #36‐Ubuntu
SMP"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (66160) 0:11:01.60
...
2.2.4. Атака усиления (амплификации) SNMP (SNMP amplification)
Суть атаки заключается в том, чтобы инициировать многократно увеличенный ответ на SNMP-запрос. Изначально разработанные для автоматизации
получения табличных данных при минимизации количества отправляемых пакетов BULK-запросы стали довольно эффективным инструментом проведения
DDoS-атак в руках злоумышленников. Как гласит RFC3416, запрос Get Bulk
Request, реализованный в SNMP версии 2, предназначен для возможности за-
просить большой объём данных, чем и пользу
ются атакующие, используя не-
правильно настроенные серверы в Интернете.
2.2.5. Пример
Настроим работу SNMP-агентов на маршрутизаторе Cisco и сервере
Ubuntu, используя версию протокола 2с и не применяя никаких механизмов
обеспечения безопасности.
35

Выполним настройку маршрутизатора Cisco:
Router(config)# snmp-server community pub RO
С помощью сканера портов Nmap проверим доступность сервиса:
root@kali:~# nmap -sU 192.168.1.1 -p 161
Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2017-05-01 13:10 MSK
Nmap scan report for 192.168.1.1
Host is up (0.0092s latency).
PORT STATE SERVICE
161/udp open snmp
MAC Address: C0:01:11:F0:00:01 (Unknown)
Nmap done: 1 IP address (1 host up) scanned in 4.13 seconds
Перейдём к конфигурации сервера Ubuntu. Для работы протокола SNMP
в Ubuntu используются пакеты snmp и snmpd. Пакет snmp включает в себя базовый набор библиотек и утилит, необходимых для работы и отладки протокола SNMP. Настройки демона snmpd, отвечающего за работу агента, расположены в файле /etc/snmp/snmpd.conf. После установки демон snmpd по умолчанию
разрешает запросы только на петлевой адрес (localhost) сервера.
Запустим сервис:
user@ubuntu:~$ sudo service snmdp start
Выполним начальную проверку работоспособности snmpd локально:
user@ubuntu:~$ sudo snmpwalk -v 2c -c public localhost
Для обращения к серверу по протоколу SNMP по сети необходимо внести
изменения в его конфигурацию, изменив значение адреса в строке agentAddress
udp:127.0.0.1:161 на нужное значение:
user@ubuntu:~$ sudo nano /etc/snmp/snmpd.conf
# Listen for connections from the local system only
agentAddress udp:192.168.1.2:161
По умолчанию в качестве имени сообщества используется строка public
с ограничением по доступу к базе MIB:
rocommunity public default -V systemonly
Изменим имя строки сообщества на нестандартное значение, разрешив
полный доступ к MIB:
rocommunity pub
После внесения изменений в конфигурационные файлы сервера его необходимо перезагрузить:
user@ubuntu:~$ sudo service snmpd restart
Без установленных баз MIB вывод утилиты snmpwalk будет примерно
такой:
user@ubuntu:~$ sudo snmpwalk -v 2c -c public 127.0.0.1
iso.3.6.1.2.1.1.1.0 = STRING: "Linux 2386fbafb5ec 4.4.0-131-generic #157Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018 x86_64"
36

iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (172446) 0:28:44.46
iso.3.6.1.2.1.1.4.0 = STRING: "Me <me@example.org>"
iso.3.6.1.2.1.1.5.0 = STRING: "2386fbafb5ec"
iso.3.6.1.2.1.1.6.0 = STRING: "Sitting on the Dock of the Bay"
iso.3.6.1.2.1.1.7.0 = INTEGER: 72
iso.3.6.1.2.1.1.8.0 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.9 = OID: iso.3.6.1.6.3.13.3.1.3
iso.3.6.1.2.1.1.9.1.2.10 = OID: iso.3.6.1.2.1.92
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The MIB for Message Processing and
Dispatching."
iso.3.6.1.2.1.1.9.1.3.2 = STRING: "The management information definitions
for the SNMP User-based Security Model."
iso.3.6.1.2.1.1.9.1.3.3 = STRING: "The SNMP Management Architecture MIB."
iso.3.6.1.2.1.1.9.1.3.4 = STRING: "The MIB module for SNMPv2 entities"
iso.3.6.1.2.1.1.9.1.3.5 = STRING: "View-based Access Control Model for
SNMP."
iso.3.6.1.2.1.1.9.1.3.6 = STRING: "The MIB module for managing TCP implementations"
iso.3.6.1.2.1.1.9.1.3.7 = STRING: "The MIB module for managing IP and
ICMP implementations"
iso.3.6.1.2.1.1.9.1.3.8 = STRING: "The MIB module for managing UDP implementations"
iso.3.6.1.2.1.1.9.1.3.9 = STRING: "The MIB modules for managing SNMP Notification, plus filtering."
iso.3.6.1.2.1.1.9.1.3.10 = STRING: "The MIB module for logging SNMP Notifications."
iso.3.6.1.2.1.1.9.1.4.1 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.2 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.3 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.4 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.5 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.6 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.7 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.8 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.9 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.1.9.1.4.10 = Timeticks: (0) 0:00:00.00
iso.3.6.1.2.1.25.1.1.0 = Timeticks: (10621089) 1 day, 5:30:10.89
iso.3.6.1.2.1.25.1.2.0 = Hex-STRING: 07 E2 0B 0E 13 10 2D 00 2B 00 00
iso.3.6.1.2.1.25.1.3.0 = INTEGER: 393216
iso.3.6.1.2.1.25.1.4.0 = STRING: "BOOT_IMAGE=/boot/vmlinuz-4.4.0-131generic root=UUID=220abb29-1fcc-4f5c-8b85-cf79f104b030 ro
То есть мы получаем оригинальные значения OID, смысл которых проблематично понять. Поэтому скачаем и установим пакет snmp-mibs-downloader
(произойдёт скачивание IETF MIB-файлов и установка их в каталог
/usr/share/mibs/). Затем необходимо выполнить следующую команду:
user@ubuntu:~$ sudo download-mibs
37

В файл /etc/snmp/snmp.conf внесём изменения, закомментировав строку
mibs:
# As the snmp packages come without MIB files due to license reasons,
loading
# of MIBs is disabled by default. If you added the MIBs you can reenable
# loading them by commenting out the following line.
# mibs :
После установки MIB-файлов в выводе команды snmpwalk мы увидим те-
перь следующее:
user@ubuntu:~$ sudo snmpwalk -v 2c -c public 127.0.0.1
SNMPv2-MIB::sysDescr.0 = STRING: Linux 2386fbafb5ec 4.4.0-131-generic
#157-Ubuntu SMP Thu Jul 12 15:51:36 UTC 2018 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3079) 0:00:30.79
SNMPv2-MIB::sysContact.0 = STRING: Me <me@example.org>
SNMPv2-MIB::sysName.0 = STRING: 2386fbafb5ec
SNMPv2-MIB::sysLocation.0 = STRING: Sitting on the Dock of the Bay
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-FRAMEWORKMIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: SNMPv2-MIB::snmpMIB
SNMPv2-MIB::sysORID.5 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORID.6 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.7 = OID: IP-MIB::ip
SNMPv2-MIB::sysORID.8 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.9 = OID: SNMP-NOTIFICATIONMIB::snmpNotifyFullCompliance
SNMPv2-MIB::sysORID.10 = OID: NOTIFICATION-LOG-MIB::notificationLogMIB
SNMPv2-MIB::sysORDescr.1 = STRING: The MIB for Message Processing and
Dispatching.
SNMPv2-MIB::sysORDescr.2 = STRING: The management information definitions
for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.3 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for SNMPv2 entities
SNMPv2-MIB::sysORDescr.5 = STRING: View-based Access Control Model for
SNMP.
SNMPv2-MIB::sysORDescr.6 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.7 = STRING: The MIB module for managing IP and
ICMP implementations
SNMPv2-MIB::sysORDescr.8 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.9 = STRING: The MIB modules for managing SNMP Notification, plus filtering.
SNMPv2-MIB::sysORDescr.10 = STRING: The MIB module for logging SNMP Notifications.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
38

SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.10 = Timeticks: (0) 0:00:00.00
IF-MIB::ifNumber.0 = INTEGER: 2
IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.15 = INTEGER: 15
IF-MIB::ifDescr.1 = STRING: lo
IF-MIB::ifDescr.15 = STRING: eth0
IF-MIB::ifType.1 = INTEGER: softwareLoopback(24)
IF-MIB::ifType.15 = INTEGER: ethernetCsmacd(6)
IF-MIB::ifMtu.1 = INTEGER: 65536
IF-MIB::ifMtu.15 = INTEGER: 1500
IF-MIB::ifSpeed.1 = Gauge32: 10000000
IF-MIB::ifSpeed.15 = Gauge32: 4294967295
IF-MIB::ifPhysAddress.1 = STRING:
IF-MIB::ifPhysAddress.15 = STRING: 2:42:ac:11:0:3
IF-MIB::ifAdminStatus.1 = INTEGER: up(1)
IF-MIB::ifAdminStatus.15 = INTEGER: up(1)
IF-MIB::ifOperStatus.1 = INTEGER: up(1)
IF-MIB::ifOperStatus.15 = INTEGER: up(1)
IF-MIB::ifLastChange.1 = Timeticks: (0) 0:00:00.00
IF-MIB::ifLastChange.15 = Timeticks: (0) 0:00:00.00
IF-MIB::ifInOctets.1 = Counter32: 50647
IF-MIB::ifInOctets.15 = Counter32: 32100457
IF-MIB::ifInUcastPkts.1 = Counter32: 620
IF-MIB::ifInUcastPkts.15 = Counter32: 13638
IF-MIB::ifInNUcastPkts.1 = Counter32: 0
IF-MIB::ifInNUcastPkts.15 = Counter32: 0
IF-MIB::ifInDiscards.1 = Counter32: 0
IF-MIB::ifInDiscards.15 = Counter32: 0
IF-MIB::ifInErrors.1 = Counter32: 0
IF-MIB::ifInErrors.15 = Counter32: 0
IF-MIB::ifInUnknownProtos.1 = Counter32: 0
IF-MIB::ifInUnknownProtos.15 = Counter32: 0
IF-MIB::ifOutOctets.1 = Counter32: 50647
IF-MIB::ifOutOctets.15 = Counter32: 1251344
IF-MIB::ifOutUcastPkts.1 = Counter32: 620
IF-MIB::ifOutUcastPkts.15 = Counter32: 13563
IF-MIB::ifOutNUcastPkts.1 = Counter32: 0
IF-MIB::ifOutNUcastPkts.15 = Counter32: 0
IF-MIB::ifOutDiscards.1 = Counter32: 0
IF-MIB::ifOutDiscards.15 = Counter32: 0
IF-MIB::ifOutErrors.1 = Counter32: 0
IF-MIB::ifOutErrors.15 = Counter32: 0
IF-MIB::ifOutQLen.1 = Gauge32: 0
IF-MIB::ifOutQLen.15 = Gauge32: 0
IF-MIB::ifSpecific.1 = OID: SNMPv2-SMI::zeroDotZero
IF-MIB::ifSpecific.15 = OID: SNMPv2-SMI::zeroDotZero
SNMPv2-SMI::mib-2.3.1.1.1.15.1.172.17.0.1 = INTEGER: 15
SNMPv2-SMI::mib-2.3.1.1.1.15.1.172.17.0.2 = INTEGER: 15
SNMPv2-SMI::mib-2.3.1.1.2.15.1.172.17.0.1 = Hex-STRING: 02 42 A9 40 7F 55
SNMPv2-SMI::mib-2.3.1.1.2.15.1.172.17.0.2 = Hex-STRING: 02 42 AC 11 00 02
SNMPv2-SMI::mib-2.3.1.1.3.15.1.172.17.0.1 = IpAddress: 192.168.0.1
SNMPv2-SMI::mib-2.3.1.1.3.15.1.172.17.0.2 = IpAddress: 192.168.0.2
...
С помощью сканера портов Nmap проверим доступность сервиса:
39

root@kali:~# nmap -sU 192.168.1.2 -p 161
Starting Nmap 6.49BETA4 ( https://nmap.org ) at 2017-05-01 13:13 MSK
Nmap scan report for 192.168.1.2
Host is up (0.014s latency).
PORT STATE SERVICE
161/udp open snmp
MAC Address: 08:00:27:D8:85:49 (Cadmus Computer Systems)
Nmap done: 1 IP address (1 host up) scanned in 4.16 seconds
Воспользуемся утилитой onesixtyone для решения задачи перечисления
строк сообществ SNMP.
Для начала создадим словарь со стандартными значениями строк:
root@kali:/tmp# echo public > community.txt
root@kali:/tmp# echo private >> community.txt
root@kali:/tmp# echo manager >> community.txt
root@kali:/tmp# echo pub >> community.txt
Ниже показано, как запустить атаку перебора по словарю:
root@kali:/tmp# onesixtyone 192.168.1.1 -c community.txt
Scanning 1 hosts, 1 communities
192.168.1.1 [pub] Cisco IOS Software, 2600 Software (C2691ADVIPSERVICESK9-M), Version 12.4(15)T6, RELEASE SOFTWARE (fc2) Technical
Support: http://www.cisco.com/techsupport Copyright (c) 1986-2008 by
Cisco Systems, Inc. Compiled Mon 07-Jul-08 04:30 by prod_rel_team
root@kali:/tmp# onesixtyone 192.168.1.2 -c community.txt
Scanning 1 hosts, 1 communities
192.168.1.2 [pub] Linux ubuntu 3.19.0-25-generic #26~14.04.1-Ubuntu SMP
Fri Jul 24 21:16:20 UTC 2015 x86_64
В сканере портов Nmap есть несколько скриптов NSE, которые можно
использовать для исследования хостов, на которых запущена служба SNMP.
Все скрипты находятся в каталоге usr/share/nmap/scripts/:
root@kali:~# cd /usr/share/nmap/scripts/
root@kali:/usr/share/nmap/scripts# ls | grep snmp
snmp-brute.nse
snmp-hh3c-logins.nse
snmp-info.nse
snmp-interfaces.nse
snmp-ios-config.nse
snmp-netstat.nse
snmp-processes.nse
snmp-sysdescr.nse
snmp-win32-services.nse
snmp-win32-shares.nse
snmp-win32-software.nse
snmp-win32-users.nse
root@kali:/usr/share/nmap/scripts#
Используем скрипт snmp-brute.nse, чтобы реализовать атаку перебора
строк сообществ SNMP. Для того чтобы запустить скрипт Nmap, необходимо
использовать флаг --script с указанием имени скрипта, как показано ниже:
40
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
