.. | ||
cisco-snmp.md | ||
README.md | ||
snmp-rce.md |
161,162,10161,10162/udp - Pentesting SNMP
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
If you are interested in hacking career and hack the unhackable - we are hiring! (fluent polish written and spoken required).
{% embed url="https://www.stmcyber.com/careers" %}
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)
{% hint style="info" %} 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. {% endhint %}
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 OID 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
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: Kichwa, bado ni cha kawaida zaidi, uthibitishaji unategemea mfuatano (community string) unaosafiri kwa maandishi wazi (habari 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 (dictionary attack inaweza kufanywa lakini itakuwa ngumu zaidi kupata creds 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 akidi katika toleo la 3.
Kuna aina 2 za mfuatano wa jamii:
public
hasa kazi za kusoma tuprivate
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, noSuchName
au readOnly
kosa linapokelewa**.**
Katika matoleo 1 na 2/2c ikiwa utatumia mfuatano wa jamii mbaya seva haitajibu. Hivyo, ikiwa inajibu, mfuatano wa jamii halali umetumika.
Bandari
- Wakala wa SNMP hupokea maombi kwenye bandari ya UDP 161.
- Meneja hupokea arifa (Traps na InformRequests) kwenye bandari 162.
- Wakati inapotumika na Usalama wa Tabaka la Usafiri au Usalama wa Tabaka la Usafiri wa Datagram, maombi yanapokelewa kwenye bandari 10161 na arifa zinatumwa kwenye bandari 10162.
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 kuorodhesha 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:
rwuser noauth
imewekwa kuruhusu ufikiaji kamili wa mti wa OID bila haja ya uthibitisho. Mipangilio hii ni rahisi na inaruhusu ufikiaji usio na vizuizi.- Kwa udhibiti maalum zaidi, ufikiaji unaweza kutolewa kwa kutumia:
rwcommunity
kwa anwani za IPv4, narwcommunity6
kwa anwani za IPv6.
Amri zote mbili 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 unapoendesha, 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 kufuatilia ports za TCP za mitaa, ikitoa mwanga kuhusu muunganisho hai wa mtandao.
Cisco
Angalia ukurasa huu ikiwa una vifaa vya Cisco:
{% content-ref url="cisco-snmp.md" %} cisco-snmp.md {% endcontent-ref %}
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:
{% content-ref url="snmp-rce.md" %} snmp-rce.md {% endcontent-ref %}
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.
Sintaksia: braa [Nywila ya jamii]@[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. Itabidi ujue nywila ya faragha ili kufanya hivyo.
Kupotosha
Ikiwa kuna ACL inayoruhusu tu IP fulani kuuliza huduma ya SMNP, unaweza kupotosha 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 wa mtandao na kuhack yasiyoweza kuhackwa - tunatafuta wafanyakazi! (kuandika na kuzungumza kwa ufasaha kwa Kipolandi kunahitajika).
{% embed url="https://www.stmcyber.com/careers" %}
Amri za Kiotomatiki za HackTricks
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
{% hint style="success" %}
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.