* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
**Dica de bug bounty**: **inscreva-se** no **Intigriti**, uma plataforma premium de **bug bounty criada por hackers, para hackers**! Junte-se a nós em [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoje e comece a ganhar recompensas de até **$100.000**!
**SNMP - Simple Network Management Protocol** é um protocolo usado para monitorar diferentes dispositivos na rede (como roteadores, switches, impressoras, IoTs...).
O SNMP também usa a porta **162/UDP** para **traps**. Estes são **pacotes de dados enviados do servidor SNMP para o cliente sem serem explicitamente solicitados**.
Para garantir que o acesso SNMP funcione em diferentes fabricantes e com diferentes combinações cliente-servidor, foi criada a **Base de Informações de Gerenciamento (MIB)**. A MIB é um **formato independente para armazenar informações do dispositivo**. Uma MIB é um **arquivo de texto** no qual todos os **objetos SNMP consultáveis** de um dispositivo são listados em uma hierarquia de árvore **padronizada**. Ele contém pelo menos um `Identificador de Objeto` (`OID`), que, além do **endereço exclusivo** necessário e um **nome**, também fornece informações sobre o tipo, direitos de acesso e uma descrição do respectivo objeto.\
Os arquivos MIB são escritos no formato de texto ASCII baseado em `Abstract Syntax Notation One` (`ASN.1`). As **MIBs não contêm dados**, mas explicam **onde encontrar quais informações** e como elas se parecem, o que retorna valores para o OID específico ou qual tipo de dados é usado.
**OIDs** significa **Identificadores de Objeto**. **OIDs identificam exclusivamente objetos gerenciados em uma hierarquia MIB**. Isso pode ser representado como uma árvore, cujos níveis são atribuídos por diferentes organizações. Os IDs de objeto MIB de nível superior (OIDs) pertencem a diferentes organizações padrão.\
Os fornecedores definem ramos privados incluindo objetos gerenciados para seus próprios produtos.
Você pode **navegar** por uma **árvore OID** na web aqui: [http://www.oid-info.com/cgi-bin/display?tree=#focus](http://www.oid-info.com/cgi-bin/display?tree=#focus) ou **ver o que um OID significa** (como `1.3.6.1.2.1.1`) acessando [http://oid-info.com/get/1.3.6.1.2.1.1](http://oid-info.com/get/1.3.6.1.2.1.1).\
Existem alguns **OIDs bem conhecidos** como os que estão dentro de [1.3.6.1.2.1](http://oid-info.com/get/1.3.6.1.2.1) que se referem a variáveis SNMP definidas pelo MIB-2. E a partir dos **OIDs pendentes deste** você pode obter alguns dados interessantes do host (dados do sistema, dados de rede, dados de processos...)
Esses seis primeiros valores tendem a ser os mesmos para todos os dispositivos e fornecem informações básicas sobre eles. Esta sequência de números será a mesma para todos os OIDs, exceto quando o dispositivo é feito pelo governo.
* **SNMPv1**: Principal, ainda é o mais frequente, a **autenticação é baseada em uma string** (string da comunidade) que viaja em **texto simples** (todas as informações viajam em texto simples). **Versão 2 e 2c** enviam o **tráfego em texto simples** também e usam uma **string da comunidade como autenticação**.
* **SNMPv3**: Usa uma melhor forma de **autenticação** e as informações viajam **criptografadas** (um **ataque de dicionário** poderia ser realizado, mas seria muito mais difícil encontrar as credenciais corretas do que no SNMPv1 e v2).
Como mencionado anteriormente, **para acessar as informações salvas no MIB, você precisa saber a string da comunidade nas versões 1 e 2/2c e as credenciais na versão 3.**\
Observe que **a capacidade de escrita de um OID depende da string da comunidade usada**, então **mesmo** se você descobrir que "**public**" está sendo usada, você pode ser capaz de **escrever alguns valores**. Além disso, **podem existir objetos que são sempre "Somente Leitura".**\
Se você tentar **escrever** um objeto, receberá um **erro `noSuchName` ou `readOnly`**.
Nas versões 1 e 2/2c, se você usar uma string da comunidade **inválida**, o servidor não **responderá**. Portanto, se ele responder, uma **string da comunidade válida foi usada**.
* O agente SNMP recebe solicitações na porta UDP **161**.
* O gerenciador recebe notificações ([Traps](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#Trap) e [InformRequests](https://en.wikipedia.org/wiki/Simple\_Network\_Management\_Protocol#InformRequest)) na porta **162**.
* Quando usado com [Transport Layer Security](https://en.wikipedia.org/wiki/Transport\_Layer\_Security) ou [Datagram Transport Layer Security](https://en.wikipedia.org/wiki/Datagram\_Transport\_Layer\_Security), as solicitações são recebidas na porta **10161** e as notificações são enviadas para a porta **10162**.
Para **adivinhar a string da comunidade**, você pode realizar um ataque de dicionário. Verifique [aqui diferentes maneiras de realizar um ataque de força bruta contra SNMP](../../generic-methodologies-and-resources/brute-force.md#snmp). Uma string da comunidade frequentemente usada é `public`.
**SNMP** tem muitas informações sobre o host e coisas que você pode achar interessante são: **Interfaces de rede** (endereço IPv4 e **IPv6**), nomes de usuário, tempo de atividade, versão do servidor/SO e **processos** em **execução** (podem conter senhas)...
[Braa ](https://github.com/mteg/braa)é um scanner SNMP em massa. O uso pretendido de tal ferramenta é, é claro, fazer consultas SNMP - mas ao contrário do snmpwalk do net-snmp, ele é capaz de consultar dezenas ou centenas de hosts simultaneamente e em um único processo. Assim, consome muito poucos recursos do sistema e faz a varredura MUITO rapidamente.
Então, vamos procurar as informações mais interessantes (de [https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/](https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/)):
Uma das primeiras coisas que faço é extrair os dados MIB sysDesc .1.3.6.1.2.1.1.1.0 de cada arquivo para determinar de quais dispositivos eu coletei informações. Isso pode ser facilmente feito usando o seguinte comando grep:
Como exemplo, se eu puder identificar a string de comunidade privada usada por uma organização em seus roteadores Cisco IOS, então eu poderia possivelmente usar essa string de comunidade para extrair as configurações em execução desses roteadores. O melhor método para encontrar esses dados geralmente está relacionado aos dados de armadilha SNMP. Então, novamente, usando o seguinte grep, podemos analisar rapidamente muitos dados MIB procurando a palavra-chave "trap":
Outra área de interesse são os logs, descobri que existem alguns dispositivos que mantêm logs dentro das tabelas MIB. Esses logs também podem conter tentativas de login falhas. Pense na última vez que você fez login em um dispositivo via Telnet ou SSH e inadvertidamente digitou sua senha como nome de usuário. Normalmente, procuro por palavras-chave como _fail_, _failed_ ou _login_ e examino esses dados para ver se há algo de valor.
O Simple Network Management Protocol (SNMP) é um protocolo de gerenciamento de rede amplamente utilizado para monitorar e gerenciar dispositivos de rede. No entanto, muitas vezes é mal configurado, permitindo que um invasor obtenha informações confidenciais, como senhas e endereços de e-mail.
Uma técnica comum de pentesting é usar o SNMP para obter informações sobre os usuários de uma rede, incluindo seus endereços de e-mail. Isso pode ser feito usando a MIB do SNMP para consultar a tabela de endereços de e-mail do servidor de e-mail.
Para fazer isso, você precisará de um software de gerenciamento de rede que suporte SNMP, como o Nagios ou o Zabbix. Você também precisará de uma lista de comunidades SNMP válidas para o servidor de e-mail que está sendo testado.
Uma vez que você tenha essas informações, você pode usar o seguinte comando para consultar a tabela de endereços de e-mail:
Isso retornará uma lista de endereços de e-mail configurados no servidor de e-mail. Essas informações podem ser usadas para realizar ataques de phishing ou engenharia social contra os usuários da rede.
Se houver uma ACL que permita apenas alguns IPs a consultar o serviço SMNP, você pode falsificar um desses endereços dentro do pacote UDP e capturar o tráfego.
**Dica de recompensa por bugs**: **inscreva-se** no **Intigriti**, uma plataforma premium de recompensas por bugs criada por hackers, para hackers! Junte-se a nós em [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoje mesmo e comece a ganhar recompensas de até **$100.000**!
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).