161,162,10161,10162/udp - Pentesting SNMP

Support HackTricks

If you are interested in hacking career and hack the unhackable - we are hiring! (fluent polish written and spoken required).

Basic Information

SNMP - Simple Network Management Protocol ni protokali inayotumika kufuatilia vifaa tofauti katika mtandao (kama vile routers, switches, printers, IoTs...).

PORT    STATE SERVICE REASON                 VERSION
161/udp open  snmp    udp-response ttl 244   ciscoSystems SNMPv3 server (public)

SNMP pia inatumia bandari 162/UDP kwa traps. Hizi ni data pakiti zinazotumwa kutoka kwa seva ya SNMP kwenda kwa mteja bila kuombwa kwa wazi.

MIB

Ili kuhakikisha kuwa ufikiaji wa SNMP unafanya kazi kati ya watengenezaji na kwa mchanganyiko tofauti wa mteja-seva, Management Information Base (MIB) iliundwa. MIB ni format huru ya kuhifadhi taarifa za kifaa. MIB ni faili ya maandiko ambayo vitu vyote vinavyoweza kuulizwa vya SNMP vya kifaa vimeorodheshwa katika hierarchi ya miti iliyoandikwa kwa kiwango. Inajumuisha angalau Object Identifier (OID), ambayo, pamoja na anwani ya kipekee na jina, pia inatoa taarifa kuhusu aina, haki za ufikiaji, na maelezo ya kitu husika. Mifano ya MIB imeandikwa katika format ya maandiko ya ASCII ya Abstract Syntax Notation One (ASN.1). MIB hazina data, lakini zinaelezea wapi kupatikana taarifa gani na inavyoonekana, ambayo inarudisha thamani kwa OID maalum, au ni aina gani ya data inayotumika.

OIDs

Object Identifiers (OIDs) zina jukumu muhimu. Vitambulisho hivi vya kipekee vimeundwa ili kudhibiti vitu ndani ya Management Information Base (MIB).

Viwango vya juu zaidi vya vitambulisho vya MIB, au OIDs, vimepewa mashirika mbalimbali yanayoweka viwango. Ni ndani ya viwango hivi vya juu ambapo mfumo wa mazoea na viwango vya usimamizi wa kimataifa umeanzishwa.

Zaidi ya hayo, wauzaji wanapewa uhuru wa kuanzisha matawi ya kibinafsi. Ndani ya matawi haya, wana uhuru wa kujumuisha vitu vilivyo na usimamizi vinavyohusiana na mistari yao ya bidhaa. Mfumo huu unahakikisha kuwa kuna njia iliyopangwa na iliyoandaliwa ya kutambua na kusimamia anuwai ya vitu kati ya wauzaji na viwango tofauti.

Unaweza kuvinjari kupitia mti wa OID mtandaoni hapa: http://www.oid-info.com/cgi-bin/display?tree=#focus au ona maana ya OID (kama 1.3.6.1.2.1.1) kwa kufikia http://oid-info.com/get/1.3.6.1.2.1.1. Kuna OIDs maarufu kama zile ndani ya 1.3.6.1.2.1 zinazorejelea MIB-2 iliyofafanuliwa Simple Network Management Protocol (SNMP) variables. Na kutoka kwa OIDs zinazotarajiwa kutoka hapa unaweza kupata data ya kuvutia ya mwenyeji (data ya mfumo, data ya mtandao, data ya michakato...)

Mfano wa OID

Mfano kutoka hapa:

1 . 3 . 6 . 1 . 4 . 1 . 1452 . 1 . 2 . 5 . 1 . 3. 21 . 1 . 4 . 7

Hapa kuna ufafanuzi wa anwani hii.

  • 1 – hii inaitwa ISO na inaweka wazi kuwa hii ni OID. Hii ndiyo sababu OIDs zote huanza na "1"

  • 3 – hii inaitwa ORG na inatumika kubainisha shirika lililojenga kifaa.

  • 6 – hii ni dod au Wizara ya Ulinzi ambayo ni shirika lililoanzisha Mtandao kwanza.

  • 1 – hii ni thamani ya mtandao kuashiria kuwa mawasiliano yote yatatokea kupitia Mtandao.

  • 4 – thamani hii inaashiria kuwa kifaa hiki kimeundwa na shirika binafsi na si la serikali.

  • 1 – thamani hii inaashiria kuwa kifaa kimeundwa na kampuni au chombo cha biashara.

Thamani hizi sita za kwanza huwa sawa kwa vifaa vyote na zinakupa taarifa za msingi kuhusu vifaa hivyo. Mfuatano huu wa nambari utakuwa sawa kwa OIDs zote, isipokuwa wakati kifaa kimeundwa na serikali.

Tukihamia kwenye seti inayofuata ya nambari.

  • 1452 – inatoa jina la shirika lililotengeneza kifaa hiki.

  • 1 – inaelezea aina ya kifaa. Katika kesi hii, ni saa ya alamu.

  • 2 – inaashiria kuwa kifaa hiki ni kitengo cha terminal cha mbali.

Thamani zilizobaki zinatoa taarifa maalum kuhusu kifaa.

  • 5 – inaashiria alama ya alamu ya pekee.

  • 1 – alama maalum katika kifaa

  • 3 – bandari

  • 21 – anwani ya bandari

  • 1 – onyesho la bandari

  • 4 – nambari ya alama

  • 7 – hali ya alama

Matoleo ya SNMP

Kuna matoleo mawili muhimu ya SNMP:

  • SNMPv1: Kuu, bado ni ya kawaida zaidi, uthibitishaji unategemea mfuatano (mfuatano wa jamii) unaosafiri kwa maandishi wazi (taarifa zote zinatembea kwa maandiko wazi). Matoleo 2 na 2c yanatuma trafiki kwa maandiko wazi pia na yanatumia mfuatano wa jamii kama uthibitishaji.

  • SNMPv3: Inatumia aina bora ya uthibitishaji na taarifa inasafiri imefichwa (ushambuliaji wa dictionary unaweza kufanywa lakini itakuwa ngumu zaidi kupata taarifa sahihi kuliko katika SNMPv1 na v2).

Mfuatano wa Jamii

Kama ilivyotajwa hapo awali, ili kufikia taarifa zilizohifadhiwa kwenye MIB unahitaji kujua mfuatano wa jamii katika matoleo 1 na 2/2c na taarifa za kuingia katika toleo la 3. Kuna aina 2 za mfuatano wa jamii:

  • public hasa kazi za kusoma tu

  • private Soma/Andika kwa ujumla

Kumbuka kuwa uwezo wa kuandika OID unategemea mfuatano wa jamii unaotumika, hivyo hata ukigundua kuwa "public" inatumika, unaweza kuwa na uwezo wa kuandika baadhi ya thamani. Pia, kuna weza kuwepo vitu ambavyo ni daima "Soma Tu". Ikiwa unajaribu kuandika kitu, kosa la noSuchName au readOnly linapokelewa.**.**

Katika matoleo 1 na 2/2c ikiwa utatumia mfuatano wa jamii mbaya seva haitajibu. Hivyo, ikiwa inajibu, mfuatano wa jamii halali umetumika.

Bandari

Kutoka Wikipedia:

Mfuatano wa Jamii ya Brute-Force (v1 na v2c)

Ili kukisia mfuatano wa jamii unaweza kufanya shambulio la kamusi. Angalia hapa njia tofauti za kufanya shambulio la brute-force dhidi ya SNMP. Mfuatano wa jamii unaotumika mara nyingi ni public.

Kuorodhesha SNMP

Inapendekezwa kufunga yafuatayo ili kuona maana ya kila OID iliyokusanywa kutoka kwa kifaa:

apt-get install snmp-mibs-downloader
download-mibs
# Finally comment the line saying "mibs :" in /etc/snmp/snmp.conf
sudo vi /etc/snmp/snmp.conf

Ikiwa unajua mfuatano halali wa jamii, unaweza kufikia data kwa kutumia SNMPWalk au SNMP-Check:

snmpbulkwalk -c [COMM_STRING] -v [VERSION] [IP] . #Don't forget the final dot
snmpbulkwalk -c public -v2c 10.10.11.136 .

snmpwalk -v [VERSION_SNMP] -c [COMM_STRING] [DIR_IP]
snmpwalk -v [VERSION_SNMP] -c [COMM_STRING] [DIR_IP] 1.3.6.1.2.1.4.34.1.3 #Get IPv6, needed dec2hex
snmpwalk -v [VERSION_SNMP] -c [COMM_STRING] [DIR_IP] NET-SNMP-EXTEND-MIB::nsExtendObjects #get extended
snmpwalk -v [VERSION_SNMP] -c [COMM_STRING] [DIR_IP] .1 #Enum all

snmp-check [DIR_IP] -p [PORT] -c [COMM_STRING]

nmap --script "snmp* and not snmp-brute" <target>

braa <community string>@<IP>:.1.3.6.* #Bruteforce specific OID

Asante kwa maswali yaliyopanuliwa (download-mibs), inawezekana kuhesabu zaidi kuhusu mfumo kwa amri ifuatayo:

snmpwalk -v X -c public <IP> NET-SNMP-EXTEND-MIB::nsExtendOutputFull

SNMP ina taarifa nyingi kuhusu mwenyeji na mambo ambayo unaweza kupendezwa nayo ni: Interfaces za mtandao (anwani za IPv4 na IPv6), Majina ya watumiaji, Wakati wa kufanya kazi, Toleo la seva/OS, na mchakato

unaotembea (inaweza kuwa na nywila)....

Mipangilio Hatari

Katika eneo la usimamizi wa mtandao, mipangilio na vigezo fulani ni muhimu kuhakikisha ufuatiliaji na udhibiti wa kina.

Mipangilio ya Ufikiaji

Mipangilio miwili kuu inaruhusu ufikiaji wa mti mzima wa OID, ambao ni sehemu muhimu katika usimamizi wa mtandao:

  1. rwuser noauth imewekwa kuruhusu ufikiaji kamili wa mti wa OID bila haja ya uthibitisho. Mipangilio hii ni rahisi na inaruhusu ufikiaji usio na vizuizi.

  2. Kwa udhibiti maalum zaidi, ufikiaji unaweza kutolewa kwa kutumia:

  • rwcommunity kwa anwani za IPv4, na

  • rwcommunity6 kwa anwani za IPv6.

Amri zote zinahitaji nywila ya jamii na anwani husika ya IP, zikitoa ufikiaji kamili bila kujali chanzo cha ombi.

Vigezo vya SNMP kwa Microsoft Windows

Mfululizo wa Thamani za Msingi wa Taarifa za Usimamizi (MIB) hutumiwa kufuatilia vipengele mbalimbali vya mfumo wa Windows kupitia SNMP:

  • Mchakato wa Mfumo: Inapatikana kupitia 1.3.6.1.2.1.25.1.6.0, vigezo hivi vinaruhusu ufuatiliaji wa michakato hai ndani ya mfumo.

  • Programu Zinazoendesha: Thamani ya 1.3.6.1.2.1.25.4.2.1.2 imetengwa kwa ajili ya kufuatilia programu zinazotembea kwa sasa.

  • Njia za Michakato: Ili kubaini mahali mchakato unapotembea kutoka, thamani ya 1.3.6.1.2.1.25.4.2.1.4 ya MIB inatumika.

  • Vitengo vya Hifadhi: Ufuatiliaji wa vitengo vya hifadhi unarahisishwa na 1.3.6.1.2.1.25.2.3.1.4.

  • Jina la Programu: Ili kubaini programu iliyosanikishwa kwenye mfumo, 1.3.6.1.2.1.25.6.3.1.2 inatumika.

  • Akaunti za Watumiaji: Thamani ya 1.3.6.1.4.1.77.1.2.25 inaruhusu ufuatiliaji wa akaunti za watumiaji.

  • Ports za TCP za Mitaa: Hatimaye, 1.3.6.1.2.1.6.13.1.3 imetengwa kwa ajili ya ufuatiliaji wa ports za TCP za mitaa, ikitoa mwanga juu ya muunganisho hai wa mtandao.

Cisco

Angalia ukurasa huu ikiwa una vifaa vya Cisco:

Cisco SNMP

Kutoka SNMP hadi RCE

Ikiwa una nywila inayokuruhusu kuandika thamani ndani ya huduma ya SNMP, unaweza kuwa na uwezo wa kuitumia vibaya ili kutekeleza amri:

SNMP RCE

SNMP Kubwa

Braa ni skana kubwa ya SNMP. Matumizi yaliyokusudiwa ya zana kama hii ni, bila shaka, kufanya maswali ya SNMP – lakini tofauti na snmpwalk kutoka net-snmp, ina uwezo wa kuuliza majeshi makumi au mamia kwa wakati mmoja, na katika mchakato mmoja. Hivyo, inatumia rasilimali chache za mfumo na inafanya ufuatiliaji HARAKA SANA.

Braa inatekeleza stack yake ya snmp, hivyo haitaji maktaba yoyote ya SNMP kama net-snmp.

Syntax: braa [Community-string]@[IP ya seva ya SNMP]:[iso id]

braa ignite123@192.168.1.125:.1.3.6.*

Hii inaweza kutoa MB nyingi za taarifa ambazo huwezi kushughulikia kwa mikono.

Hivyo, hebu tutafute taarifa za kuvutia zaidi (kutoka https://blog.rapid7.com/2016/05/05/snmp-data-harvesting-during-penetration-testing/):

Vifaa

Mchakato huanza kwa kutoa sysDesc MIB data (1.3.6.1.2.1.1.1.0) kutoka kila faili ili kubaini vifaa. Hii inafanywa kwa kutumia grep command:

grep ".1.3.6.1.2.1.1.1.0" *.snmp

Tambua Mfuatano wa Kibinafsi

Hatua muhimu inahusisha kutambua mfuatano wa jamii ya kibinafsi unaotumiwa na mashirika, hasa kwenye routers za Cisco IOS. Mfuatano huu unaruhusu kutoa mipangilio inayoendelea kutoka kwa routers. Utambuzi mara nyingi unategemea kuchambua data ya SNMP Trap kwa neno "trap" kwa kutumia amri ya grep:

grep -i "trap" *.snmp

Majina ya Watumiaji/Maneno ya Siri

Makaratasi yaliyohifadhiwa ndani ya meza za MIB yanachunguzwa kwa jaribio la kuingia lililoshindwa, ambalo linaweza kwa bahati mbaya kujumuisha maneno ya siri yaliyoingizwa kama majina ya watumiaji. Maneno muhimu kama fail, failed, au login yanatafutwa ili kupata data muhimu:

grep -i "login\|fail" *.snmp

Barua pepe

Hatimaye, ili kutoa anwani za barua pepe kutoka kwa data, amri ya grep yenye muundo wa kawaida inatumika, ikilenga mifumo inayolingana na muundo wa barua pepe:

grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" *.snmp

Kubadilisha thamani za SNMP

Unaweza kutumia NetScanTools kubadilisha thamani. Itakubidi ujue nyota ya faragha ili kufanya hivyo.

Kuiga

Ikiwa kuna ACL inayoruhusu tu IP fulani kuuliza huduma ya SMNP, unaweza kuiga moja ya anwani hizi ndani ya pakiti ya UDP na kunasa trafiki.

Kagua faili za Usanidi wa SNMP

  • snmp.conf

  • snmpd.conf

  • snmp-config.xml

Ikiwa unavutiwa na kazi ya uhalifu na kuhack yasiyoweza kuhackwa - tunatafuta wafanyakazi! (kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika).

HackTricks Amri za Otomatiki

Protocol_Name: SNMP    #Protocol Abbreviation if there is one.
Port_Number:  161     #Comma separated if there is more than one.
Protocol_Description: Simple Network Managment Protocol         #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for SNMP
Note: |
SNMP - Simple Network Management Protocol is a protocol used to monitor different devices in the network (like routers, switches, printers, IoTs...).

https://book.hacktricks.xyz/pentesting/pentesting-snmp

Entry_2:
Name: SNMP Check
Description: Enumerate SNMP
Command: snmp-check {IP}

Entry_3:
Name: OneSixtyOne
Description: Crack SNMP passwords
Command: onesixtyone -c /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings-onesixtyone.txt {IP} -w 100

Entry_4:
Name: Nmap
Description: Nmap snmp (no brute)
Command: nmap --script "snmp* and not snmp-brute" {IP}

Entry_5:
Name: Hydra Brute Force
Description: Need Nothing
Command: hydra -P {Big_Passwordlist} -v {IP} snmp

Support HackTricks

Last updated