161,162,10161,10162/udp - Pentesting SNMP
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
As jy belangstel in 'n hacking loopbaan en die onhackbare hack - ons is op soek na mense! (vloeiend in Pools, geskryf en gesproke, vereis).
SNMP - Simple Network Management Protocol is 'n protokol wat gebruik word om verskillende toestelle in die netwerk te monitor (soos routers, switches, printers, IoTs...).
SNMP gebruik ook die poort 162/UDP vir traps. Dit is data pakkette wat van die SNMP-bediener na die kliënt gestuur word sonder om eksplisiet versoek te word.
Om te verseker dat SNMP-toegang werk oor vervaardigers en met verskillende kliënt-bediener kombinasies, is die Management Information Base (MIB) geskep. MIB is 'n onafhanklike formaat vir die stoor van toestel-inligting. 'n MIB is 'n teks lêer waarin al die navraagbare SNMP-objekte van 'n toestel in 'n gestandaardiseerde boomhiërargie gelys is. Dit bevat ten minste een Object Identifier
(OID
), wat, benewens die nodige unieke adres en 'n naam, ook inligting verskaf oor die tipe, toegangregte, en 'n beskrywing van die onderskeie objek.
MIB-lêers is geskryf in die Abstract Syntax Notation One
(ASN.1
) gebaseerde ASCII teksformaat. Die MIBs bevat nie data nie, maar hulle verduidelik waar om watter inligting te vind en hoe dit lyk, wat waardes vir die spesifieke OID teruggee, of watter datatipe gebruik word.
Object Identifiers (OIDs) speel 'n belangrike rol. Hierdie unieke identifiseerders is ontwerp om objekte binne 'n Management Information Base (MIB) te bestuur.
Die hoogste vlakke van MIB objek-ID's, of OIDs, word toegeken aan verskillende standaardstellende organisasies. Dit is binne hierdie top vlakke dat die raamwerk vir globale bestuurspraktyke en standaarde gevestig word.
Verder word verskaffers die vryheid gegee om private takke te vestig. Binne hierdie takke het hulle die outonomie om bestuurde objekte wat relevant is vir hul eie produklyne in te sluit. Hierdie stelsel verseker dat daar 'n gestruktureerde en georganiseerde metode is om 'n wye verskeidenheid objekte oor verskillende verskaffers en standaarde te identifiseer en te bestuur.
Jy kan navigeer deur 'n OID-boom vanaf die web hier: http://www.oid-info.com/cgi-bin/display?tree=#focus of sien wat 'n OID beteken (soos 1.3.6.1.2.1.1
) deur toegang te verkry tot http://oid-info.com/get/1.3.6.1.2.1.1.
Daar is 'n paar bekende OIDs soos die wat binne 1.3.6.1.2.1 verwys na MIB-2 gedefinieerde Simple Network Management Protocol (SNMP) veranderlikes. En van die OIDs wat van hierdie een hang kan jy 'n paar interessante gasheerdata verkry (stelseldatas, netwerkdata, prosesdata...)
1 . 3 . 6 . 1 . 4 . 1 . 1452 . 1 . 2 . 5 . 1 . 3. 21 . 1 . 4 . 7
Hier is 'n ontleding van hierdie adres.
1 – dit word die ISO genoem en dit vestig dat dit 'n OID is. Dit is waarom alle OIDs met "1" begin.
3 – dit word ORG genoem en dit word gebruik om die organisasie wat die toestel gebou het, aan te dui.
6 – dit is die dod of die Departement van Verdediging wat die organisasie is wat die Internet eerste gevestig het.
1 – dit is die waarde van die internet om aan te dui dat alle kommunikasie deur die Internet sal plaasvind.
4 – hierdie waarde bepaal dat hierdie toestel deur 'n private organisasie gemaak is en nie 'n regeringsorganisasie nie.
1 – hierdie waarde dui aan dat die toestel deur 'n onderneming of 'n besigheid entiteit gemaak is.
Hierdie eerste ses waardes is geneig om dieselfde te wees vir alle toestelle en hulle gee jou die basiese inligting oor hulle. Hierdie volgorde van nommers sal dieselfde wees vir alle OIDs, behalwe wanneer die toestel deur die regering gemaak is.
Gaan voort na die volgende stel nommers.
1452 – gee die naam van die organisasie wat hierdie toestel vervaardig het.
1 – verduidelik die tipe toestel. In hierdie geval is dit 'n alarmklok.
2 – bepaal dat hierdie toestel 'n afstandsterminaal eenheid is.
Die res van die waardes gee spesifieke inligting oor die toestel.
5 – dui 'n diskrete alarmpunt aan.
1 – spesifieke punt in die toestel
3 – poort
21 – adres van die poort
1 – vertoon vir die poort
4 – puntnommer
7 – toestand van die punt
Daar is 2 belangrike weergawes van SNMP:
SNMPv1: Hoof een, dit is steeds die mees algemene, die authentisering is gebaseer op 'n string (gemeenskapsstring) wat in duidelike teks reis (alle inligting reis in duidelike teks). Weergawes 2 en 2c stuur die verkeer in duidelike teks ook en gebruik 'n gemeenskapsstring as authentisering.
SNMPv3: Gebruik 'n beter authentisering vorm en die inligting reis versleuteld (dikwels kan 'n woordeboekaanval uitgevoer word, maar dit sal baie moeiliker wees om die korrekte kredensiale te vind as in SNMPv1 en v2).
Soos voorheen genoem, om toegang te verkry tot die inligting wat op die MIB gestoor is, moet jy die gemeenskapsstring weet op weergawes 1 en 2/2c en die kredensiale op weergawes 3. Daar is 2 tipes gemeenskapsstrings:
public
hoofsaaklik lees net funksies
private
Lees/Skryf in die algemeen
Let daarop dat die skryfbaarheid van 'n OID afhang van die gemeenskapsstring wat gebruik word, so selfs as jy vind dat "public" gebruik word, kan jy dalk sekere waardes skryf. Ook, daar kan voorwerpe wees wat altyd "Lees Net" is.
As jy probeer om 'n objek te skryf, sal 'n noSuchName
of readOnly
fout ontvang word**.**
In weergawes 1 en 2/2c, as jy 'n slegte gemeenskapsstring gebruik, sal die bediener nie reageer nie. So, as dit reageer, is 'n geldige gemeenskapsstring gebruik.
Die SNMP-agent ontvang versoeke op UDP-poort 161.
Die bestuurder ontvang kennisgewings (Traps en InformRequests) op poort 162.
Wanneer dit gebruik word met Transport Layer Security of Datagram Transport Layer Security, word versoeke ontvang op poort 10161 en kennisgewings word gestuur na poort 10162.
Om die gemeenskapsstring te raai kan jy 'n woordeboekaanval uitvoer. Kyk hier verskillende maniere om 'n brute-force aanval teen SNMP uit te voer. 'n Gereeld gebruikte gemeenskapsstring is public
.
Dit word aanbeveel om die volgende te installeer om te sien wat elke OID wat van die toestel versamel is, beteken:
As jy 'n geldige gemeenskapsstring ken, kan jy die data toegang met SNMPWalk of SNMP-Check:
Dankie aan uitgebreide navrae (download-mibs), is dit moontlik om selfs meer oor die stelsel te tel met die volgende opdrag :
SNMP het baie inligting oor die gasheer en dinge wat jy dalk interessant vind, is: Netwerkinterfaces (IPv4 en IPv6 adres), gebruikersname, uptime, bediener/OS weergawe, en prosesse
wat (kan wagwoorde bevat)....
In die wêreld van netwerkbestuur is sekere konfigurasies en parameters sleutel tot die verseker van omvattende monitering en beheer.
Twee hoofinstellings stel toegang tot die volledige OID-boom moontlik, wat 'n belangrike komponent in netwerkbestuur is:
rwuser noauth
is ingestel om volle toegang tot die OID-boom toe te laat sonder die behoefte aan verifikasie. Hierdie instelling is eenvoudig en laat onbeperkte toegang toe.
Vir meer spesifieke beheer kan toegang toegestaan word met:
rwcommunity
vir IPv4 adresse, en
rwcommunity6
vir IPv6 adresse.
Albei opdragte vereis 'n gemeenskapsstring en die relevante IP-adres, wat volle toegang bied ongeag die oorsprong van die versoek.
'n Reeks Bestuur Inligting Basis (MIB) waardes word gebruik om verskeie aspekte van 'n Windows-stelsel deur SNMP te monitor:
Stelselsprosesse: Toegang via 1.3.6.1.2.1.25.1.6.0
, hierdie parameter stel die monitering van aktiewe prosesse binne die stelsel moontlik.
Lopende Programme: Die 1.3.6.1.2.1.25.4.2.1.2
waarde is aangewys vir die opsporing van tans lopende programme.
Prosesse Pad: Om te bepaal waar 'n proses van loop, word die 1.3.6.1.2.1.25.4.2.1.4
MIB waarde gebruik.
Stoor Eenhede: Die monitering van stoor eenhede word gefasiliteer deur 1.3.6.1.2.1.25.2.3.1.4
.
Sagtemakenaam: Om die sagteware wat op 'n stelsel geïnstalleer is te identifiseer, word 1.3.6.1.2.1.25.6.3.1.2
gebruik.
Gebruikersrekeninge: Die 1.3.6.1.4.1.77.1.2.25
waarde stel die opsporing van gebruikersrekeninge moontlik.
TCP Plaaslike Poorte: Laastens, 1.3.6.1.2.1.6.13.1.3
is aangewys vir die monitering van TCP plaaslike poorte, wat insig bied in aktiewe netwerkverbindinge.
Kyk na hierdie bladsy as jy Cisco-toerusting het:
Cisco SNMPAs jy die string het wat jou toelaat om waardes binne die SNMP-diens te skryf, mag jy dit misbruik om opdragte uit te voer:
SNMP RCEBraa is 'n massiewe SNMP skandeerder. Die beoogde gebruik van so 'n hulpmiddel is, natuurlik, om SNMP versoeke te maak – maar anders as snmpwalk van net-snmp, is dit in staat om dosyne of honderde gashere gelyktydig te ondervra, en in 'n enkele proses. Dus, dit verbruik baie min stelselhulpbronne en doen die skandering BAIE vinnig.
Braa implementeer sy EIE snmp-stapel, so dit het GEEN SNMP biblioteke soos net-snmp nodig nie.
Sintaksis: braa [Gemeenskaps-string]@[[IP van SNMP bediener]:[iso id]
Dit kan 'n groot hoeveelheid MB inligting onttrek wat jy nie handmatig kan verwerk nie.
So, kom ons soek na die mees interessante inligting (van https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/):
Die proses begin met die onttrekking van sysDesc MIB data (1.3.6.1.2.1.1.1.0) uit elke lêer om die toestelle te identifiseer. Dit word bereik deur die gebruik van 'n grep command:
'n Belangrike stap behels die identifisering van die privaat gemeenskap string wat deur organisasies gebruik word, veral op Cisco IOS-ruters. Hierdie string stel die onttrekking van lopende konfigurasies van ruters in staat. Die identifisering staat dikwels op die analise van SNMP Trap-data vir die woord "trap" met 'n grep-opdrag:
Logs wat in MIB-tabelle gestoor is, word ondersoek vir mislukte aanmeldpogings, wat per ongeluk wagwoorde wat as gebruikersname ingevoer is, kan insluit. Sleutelwoorde soos fail, failed, of login word gesoek om waardevolle data te vind:
Laastens, om e-pos adresse uit die data te onttrek, word 'n grep-opdrag met 'n gereelde uitdrukking gebruik, wat fokus op patrone wat e-pos formate pas:
Jy kan NetScanTools gebruik om waardes te wysig. Jy sal die private string moet ken om dit te doen.
As daar 'n ACL is wat slegs sekere IP's toelaat om die SNMP-diens te vra, kan jy een van hierdie adresse in die UDP-pakket spoof en die verkeer snuffel.
snmp.conf
snmpd.conf
snmp-config.xml
As jy belangstel in 'n hacking career en die onhackable te hack - ons huur aan! (vloeiende Pools skriftelik en geselskaplik vereis).
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)