Конкурс Эксплуатируем SNMP

21.07.2016
20
51
18
#1
Статья для участия в конкурсе на codeby

Всем привет, сегодня постараюсь рассказать вам немного про snmp и про его эксплуатацию

Предисловие
Для чего нужен SNMP
Протокол SNMP был разработан с целью проверки функционирования сетевых маршрутизаторов и мостов. Впоследствии сфера действия протокола охватила и другие сетевые устройства, такие как хабы, шлюзы, терминальные сервера, LAN Manager сервера , машины под управлением Windows NT и т.д. Кроме того, протокол допускает возможность внесения изменений в функционирование указанных устройств.
Сегодня мы будем поднимать виртуальный роутер, откроем на нём snmp и посмотрим что с ним можно сделать интересного по нашей тематике, всё это делать мы будем под виртуальной машиной Virtual Box, вот её офф
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться
, думаю с её установкой у вас проблем возникнуть не должно

Часть 1. Подготавливаем Vyos
Vyos – это ОС с открытыми исходниками, которая может быть установлена на физическом оборудовании или на виртуальной машине(наш случай).Vyos основан на GNU/Linux и объединяет в себе несколько приложений, таких, как Quagga, ISC DHCPD, OpenVPN, StrongS / WAN и другие, под единым интерфейсом управления.
Приступим, качаем образ машины(iso) или сразу готовую конфигурацию(ova) отсюда
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться

Open Virtualization Format. OVF (Open Virtualization Format) — открытый стандарт для хранения и распространения виртуальных машин. Стандарт описывает открытый, переносимый, расширяемый формат для распространения образов виртуальных машин.
Чтобы видеть этот контент необходимо: Войти или зарегистрироваться

Я скачивал

upload_2017-11-15_22-34-22.png

Теперь открываем наш Virtual Box, выбираем импорт конфигураций, далее выбираем наш скачанный vyos, далее нужно будет немного подождать virtual box его установит

upload_2017-11-15_22-34-36.png
Запускаем наш vyos, вас встретит загрузчик, после него будет чёрный экран(по крайней мере у меня было так и мне пришлось немного подождать), потом начнётся загрузка, выглядеть это всё будет примерно так

upload_2017-11-15_22-35-44.png


Далее войдем в машину, логин и пароль будут vyos. На этом установка заканчивается, дальше будем конфигурировать vyos и заниматься snmp

Часть 2 Конфигурация и эксплуатация
Для начала узнаем, на каком айпишнике лежит наш роутер, для этого введите

Код:
show interfaces
И кстати, здесь работает двоё нажатие TAB во время ввода, так что можете сэкономить своё время
Также, можно посмотреть дефолтную конфигурацию введя show configuration, со временем она у нас будет меняться и увеличиваться
вот как она выглядит

upload_2017-11-15_22-37-58.png

Начнём конфигурировать, чтобы зайти в режим конфигурации введите configure
Давайте для начала запустим сервис SSH на нашем роутере, вводите
set service ssh
После каждой конфигурации нужно её применить и сохранить, для этого нужно ввести
commit
save

Далее, чтобы выйти из режима конфигурации ввести exit
Теперь посмотрим всё ли хорошо и пропингуем наш роутер
upload_2017-11-15_22-39-29.png

Всё хорошо, теперь можем подключаться к машине по SSH

upload_2017-11-15_22-39-44.png

Теперь запустим ещё несколько сервисов (https, telnet и snmp) для примера

upload_2017-11-15_22-40-9.png

По тому же принципу я включил snmp
set service snmp community raffel authorization ro
Не забывайте вводить в конце commit и save иначе конфигурации не будут применены!
Если авторизация стоит ro(read-only) , то узнав community в нашем случае – это raffel много плохого не случится, мы сможет только прочитать установки нашего роутера. Если же авторизация rw(read-write) мы можем менять некоторые его установки
Выполним сканирование nmap-ом на наличие открыты udp портов, именно на них будет лежать наш snmp

upload_2017-11-15_22-42-58.png

Видим, что snmp открыт. Теперь можно, например, попробовать побрутить этот самый community
Я создал файл с набором различных цифр, словосочетаний, букв и между ними спрятал действующее имя, то есть raffel

upload_2017-11-15_22-43-16.png

Теперь воспользуемся nmap скриптом, который позволит нам сбрутить это имя, введём
Код:
nmap -sU -p 161 -n --script snmp-brute 192.168.0.101 --script-args snmp-brute.communitiesdb=passfile.txt
И получим

upload_2017-11-15_22-45-1.png

Как видно по выводу, у нас всё получилось и мы получили валидное имя community – raffel
Теперь я создам ещё одно community с авторизацией rw
set service snmp community raffel-write rw
То есть теперь, если я введу show configuration, строка связанная с snmp будет выглядеть примерно так

upload_2017-11-15_22-45-31.png

Теперь выполним
Код:
snmpwalk –v1 –c raffel-write 192.168.0.101
Это выдаст нам огромный список действующих настроек, конфигураций и такого рода информации о роутере


Теперь, тк мы имеем право и записывать, мы можем изменять некоторые заголовки, перед которыми находится надпись STRING


Допустим, мы хотим изменить строку выделенную на левом терминале(это дамп с прошлой команды отправленный в файл, вы можете сделать также snmpwalk –v1 –c raffel-write 192.168.0.101 > file.txt ). В этом примере мы заменяем строку vyos на !(Pwned)!

Теперь ещё раз выполним команду snmpwalk –v1 –c raffel-write 192.168.0.101, чтобы удостовериться, что заголовок поменялся

Чтобы не ловить на себя весь огромный вывод советую сделать вот так
snmpwalk –v1 –c raffel-write 192.168.0.101 | head –n 6
Это выведет только первые 6 строк результата
И мы получаем



На этом думаю всё, надеюсь не запутал вас, спасибо за внимание :)
 
Последнее редактирование модератором:

Tayrus

Well-Known Member
13.04.2017
79
26
#4
Я правильно понял это нужно для того, чтобы конфигурацию поменять, например пароль или ошибаюсь?
 
20.11.2017
16
1
24
#5
А на этом роутере можно подключиться к ssh туннелю или vpn и вывести интерфейс роутера в интерфесы системы и подключаться через него к интернету? Просто у меня эмулятор genymotion не хочет работать через proxychains и надо создать вид как будто система подключена к роутеру
 

Sinistra

Active Member
Премиум
08.01.2017
38
27
31
#6
Теперь я создам ещё одно community с авторизацией rw
set service snmp community raffel-write authorization rw
То есть теперь, если я введу show configuration, строка связанная с snmp будет выглядеть примерно так
Во втором примере команду пропустили.
 

ActionNum

Active Member
27.11.2016
35
9
23
#7
Спсибо за статью! Здесь вы рассмотрели SNMP v1, так же есть v2 и v3 - где помимо community еще и пароль бывает. Можете подсказать какие нибудь брутеры паролей для snmp более свежих версий?
 
Из полезных запросов к SNMP агенту на практике, можно привести следующие OID:
.1.3.6.1.4.1.77.1.2.25 - Список пользователей хоста
.1.3.6.1.2.1.25.4.2.1.2 - Запущенные программы
.1.3.6.1.2.1.6.13.1.3 - TCP порты
.1.3.6.1.2.1.25.6.3.1.2 - Установленное ПО
.1.3.6.1.2.1.25.2.3.1.4 - Хранилища данных
и многое другое *:)