• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

Статья для участия в конкурсе на 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
Это выдаст нам огромный список действующих настроек, конфигураций и такого рода информации о роутере

wpW_wOUIN5A.jpg


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

KEP6azLj95o.jpg


Допустим, мы хотим изменить строку выделенную на левом терминале(это дамп с прошлой команды отправленный в файл, вы можете сделать также 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 строк результата
И мы получаем

gF0FJLQJXMo.jpg


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

Tayrus

Red Team
13.04.2017
365
787
BIT
6
Я правильно понял это нужно для того, чтобы конфигурацию поменять, например пароль или ошибаюсь?
 
G

gravitywaves

А на этом роутере можно подключиться к ssh туннелю или vpn и вывести интерфейс роутера в интерфесы системы и подключаться через него к интернету? Просто у меня эмулятор genymotion не хочет работать через proxychains и надо создать вид как будто система подключена к роутеру
 
S

Sinistra

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

Во втором примере команду пропустили.
 

ActionNum

Well-known member
27.11.2016
80
93
BIT
0
Спсибо за статью! Здесь вы рассмотрели SNMP v1, так же есть v2 и v3 - где помимо community еще и пароль бывает. Можете подсказать какие нибудь брутеры паролей для snmp более свежих версий?
[doublepost=1514572432,1513682143][/doublepost]Из полезных запросов к 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 - Хранилища данных
и многое другое *:)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!