Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы тестирования КИИ на проникновение. Учебное пособие.pdf
Скачиваний:
1
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
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 #157­Ubuntu 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 imple­mentations" 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 imple­mentations" iso.3.6.1.2.1.1.9.1.3.9 = STRING: "The MIB modules for managing SNMP No­tification, plus filtering." iso.3.6.1.2.1.1.9.1.3.10 = STRING: "The MIB module for logging SNMP Noti­fications." 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-131­generic 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-FRAMEWORK­MIB::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-NOTIFICATION­MIB::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 imple­mentations 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 imple­mentations SNMPv2-MIB::sysORDescr.9 = STRING: The MIB modules for managing SNMP No­tification, plus filtering. SNMPv2-MIB::sysORDescr.10 = STRING: The MIB module for logging SNMP Noti­fications. 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 (C2691­ADVIPSERVICESK9-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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]