hacktricks/network-services-pentesting/pentesting-modbus.md
2024-02-11 02:13:58 +00:00

161 lines
9.6 KiB
Markdown

<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako inatangazwa kwenye HackTricks** au **kupakua HackTricks kwa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa kipekee wa [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>
# Taarifa Msingi
Mwaka 1979, **Itifaki ya Modbus** ilibuniwa na Modicon, ikitumika kama muundo wa ujumbe. Matumizi yake kuu ni kurahisisha mawasiliano kati ya vifaa vya akili, vikiendesha chini ya mfano wa bwana-mtumwa/mteja-seva. Itifaki hii inacheza jukumu muhimu katika kuruhusu vifaa kubadilishana data kwa ufanisi.
**Bandari ya chaguo-msingi:** 502
```
PORT STATE SERVICE
502/tcp open modbus
```
# Uchunguzi
## Modbus
Modbus ni itifaki ya mawasiliano ya viwandani ambayo hutumiwa sana katika mifumo ya kudhibiti na kusimamia vifaa vya viwandani. Itifaki hii inaruhusu vifaa vya kudhibiti kubadilishana habari na vifaa vingine kwa njia ya mtandao.
### Kugundua Huduma ya Modbus
Kabla ya kuanza kuchunguza huduma ya Modbus, tunahitaji kujua anwani ya IP ya kifaa tunachotaka kuchunguza. Kwa kufanya hivyo, tunaweza kutumia zana kama `nmap` au `netdiscover`.
Baada ya kupata anwani ya IP, tunaweza kutumia zana kama `modscan` au `modbus-cli` kugundua huduma ya Modbus na kuchunguza vifaa vilivyounganishwa.
### Kuchunguza Vifaa vya Modbus
Baada ya kugundua huduma ya Modbus, tunaweza kuanza kuchunguza vifaa vilivyounganishwa. Kuna njia kadhaa za kufanya hivyo:
1. **Kuchunguza Namba za Kitambulisho cha Kifaa (Unit ID)**: Kwa kutumia zana kama `modscan` au `modbus-cli`, tunaweza kuchunguza namba za kitambulisho cha kifaa na kujua ni vifaa gani vinavyopatikana kwenye mtandao.
2. **Kuchunguza Namba za Usajili (Register Addresses)**: Kwa kutumia zana kama `modscan` au `modbus-cli`, tunaweza kuchunguza namba za usajili na kujua habari gani inapatikana kwenye kila usajili.
3. **Kuchunguza Operesheni za Kusoma na Kuandika**: Kwa kutumia zana kama `modscan` au `modbus-cli`, tunaweza kuchunguza operesheni za kusoma na kuandika na kujua ni aina gani za habari tunaweza kupata au kubadilisha kwenye vifaa vya Modbus.
### Kuchunguza Udhaifu wa Modbus
Baada ya kuchunguza vifaa vya Modbus, tunaweza kuanza kutafuta udhaifu ambao tunaweza kuchexploit. Hapa kuna baadhi ya udhaifu maarufu wa Modbus:
1. **Udhaifu wa Usalama wa Kitambulisho cha Kifaa**: Baadhi ya vifaa vya Modbus hutumia namba za kitambulisho cha kifaa ambazo ni rahisi kutambulika. Hii inaweza kusababisha shambulio la kuchanganya habari au kubadilisha data kwenye vifaa vya Modbus.
2. **Udhaifu wa Usalama wa Usajili**: Baadhi ya vifaa vya Modbus hutumia namba za usajili ambazo hazijalindwa vizuri. Hii inaweza kusababisha shambulio la kubadilisha data au kusoma habari nyeti kutoka kwenye vifaa vya Modbus.
3. **Udhaifu wa Usalama wa Operesheni**: Baadhi ya vifaa vya Modbus hutumia operesheni za kusoma na kuandika ambazo hazijalindwa vizuri. Hii inaweza kusababisha shambulio la kubadilisha data au kusoma habari nyeti kutoka kwenye vifaa vya Modbus.
### Kuchunguza Huduma Zingine
Mbali na Modbus, kuna huduma zingine ambazo zinaweza kuwa zinatumika kwenye kifaa. Baadhi ya huduma hizi ni pamoja na:
- **HTTP**: Huduma ya wavuti inayotumiwa kwa kudhibiti na kusimamia kifaa.
- **SSH**: Huduma ya kuingia kwa mbali ambayo inaruhusu ufikiaji wa kijijini kwenye kifaa.
- **Telnet**: Huduma ya kuingia kwa mbali ambayo inaruhusu ufikiaji wa kijijini kwenye kifaa.
- **FTP**: Huduma ya uhamishaji wa faili ambayo inaruhusu uhamishaji wa faili kati ya kifaa na seva.
- **SNMP**: Huduma ya usimamizi wa mtandao ambayo inaruhusu ufuatiliaji na udhibiti wa vifaa vya mtandao.
- **SMTP**: Huduma ya barua pepe ambayo inaruhusu kutuma na kupokea barua pepe.
- **DNS**: Huduma ya jina la kikoa ambayo inaruhusu kutafsiri majina ya kikoa kuwa anwani za IP.
- **NTP**: Huduma ya itifaki ya wakati ambayo inaruhusu kusawazisha saa kwenye vifaa vya mtandao.
- **SNTP**: Huduma ya itifaki ya wakati ambayo inaruhusu kusawazisha saa kwenye vifaa vya mtandao.
- **RDP**: Huduma ya itifaki ya mbali ambayo inaruhusu ufikiaji wa kijijini kwenye kifaa.
- **VNC**: Huduma ya itifaki ya mbali ambayo inaruhusu ufikiaji wa kijijini kwenye kifaa.
- **SMB**: Huduma ya kushirikiana faili ambayo inaruhusu kushiriki faili kati ya vifaa vya mtandao.
- **RPC**: Huduma ya itifaki ya mbali ambayo inaruhusu kufanya wito wa mbali kwenye kifaa.
- **ICMP**: Huduma ya itifaki ya udhibiti wa ujumbe ambayo inaruhusu ujumbe wa udhibiti na taarifa kati ya vifaa vya mtandao.
- **ARP**: Huduma ya itifaki ya azimio la anwani ambayo inaruhusu kutafuta anwani za MAC kwa anwani za IP.
- **DHCP**: Huduma ya itifaki ya usambazaji wa anwani ya IP ambayo inaruhusu kugawa anwani za IP kwa vifaa vya mtandao.
- **DNS**: Huduma ya itifaki ya jina la kikoa ambayo inaruhusu kutafsiri majina ya kikoa kuwa anwani za IP.
- **LDAP**: Huduma ya itifaki ya miongozo ya upatikanaji wa saraka ambayo inaruhusu upatikanaji wa habari ya saraka kwenye mtandao.
- **RADIUS**: Huduma ya itifaki ya udhibiti wa ufikiaji wa mtandao ambayo inaruhusu udhibiti wa ufikiaji kwenye mtandao.
- **TFTP**: Huduma ya itifaki ya uhamishaji wa faili ndogo ambayo inaruhusu uhamishaji wa faili ndogo kati ya kifaa na seva.
- **SNMP**: Huduma ya itifaki ya usimamizi wa mtandao ambayo inaruhusu ufuatiliaji na udhibiti wa vifaa vya mtandao.
- **SMTP**: Huduma ya itifaki ya barua pepe ambayo inaruhusu kutuma na kupokea barua pepe.
- **POP3**: Huduma ya itifaki ya barua pepe ambayo inaruhusu kupokea barua pepe.
- **IMAP**: Huduma ya itifaki ya barua pepe ambayo inaruhusu kupokea na kusimamia barua pepe.
- **FTP**: Huduma ya itifaki ya uhamishaji wa faili ambayo inaruhusu uhamishaji wa faili kati ya kifaa na seva.
- **SSH**: Huduma ya itifaki ya kuingia kwa mbali ambayo inaruhusu ufikiaji wa kijijini kwenye kifaa.
- **Telnet**: Huduma ya itifaki ya kuingia kwa mbali ambayo inaruhusu ufikiaji wa kijijini kwenye kifaa.
- **HTTP**: Huduma ya itifaki ya wavuti ambayo inaruhusu kudhibiti na kusimamia kifaa.
- **HTTPS**: Huduma ya itifaki ya wavuti salama ambayo inaruhusu kudhibiti na kusimamia kifaa kwa njia salama.
- **DNS**: Huduma ya itifaki ya jina la kikoa ambayo inaruhusu kutafsiri majina ya kikoa kuwa anwani za IP.
- **NTP**: Huduma ya itifaki ya wakati ambayo inaruhusu kusawazisha saa kwenye vifaa vya mtandao.
- **SNTP**: Huduma ya itifaki ya wakati ambayo inaruhusu kusawazisha saa kwenye vifaa vya mtandao.
- **RDP**: Huduma ya itifaki ya mbali ambayo inaruhusu ufikiaji wa kijijini kwenye kifaa.
- **VNC**: Huduma ya itifaki ya mbali ambayo inaruhusu ufikiaji wa kijijini kwenye kifaa.
- **SMB**: Huduma ya itifaki ya kushirikiana faili ambayo inaruhusu kushiriki faili kati ya vifaa vya mtandao.
- **RPC**: Huduma ya itifaki ya mbali ambayo inaruhusu kufanya wito wa mbali kwenye kifaa.
- **ICMP**: Huduma ya itifaki ya udhibiti wa ujumbe ambayo inaruhusu ujumbe wa udhibiti na taarifa kati ya vifaa vya mtandao.
- **ARP**: Huduma ya itifaki ya azimio la anwani ambayo inaruhusu kutafuta anwani za MAC kwa anwani za IP.
- **DHCP**: Huduma ya itifaki ya usambazaji wa anwani ya IP ambayo inaruhusu kugawa anwani za IP kwa vifaa vya mtandao.
- **LDAP**: Huduma ya itifaki ya miongozo ya upatikanaji wa saraka ambayo inaruhusu upatikanaji wa habari ya saraka kwenye mtandao.
- **RADIUS**: Huduma ya itifaki ya udhibiti wa ufikiaji wa mtandao ambayo inaruhusu udhibiti wa ufikiaji kwenye mtandao.
- **TFTP**: Huduma ya itifaki ya uhamishaji wa faili ndogo ambayo inaruhusu uhamishaji wa faili ndogo kati ya kifaa na seva.
```bash
nmap --script modbus-discover -p 502 <IP>
msf> use auxiliary/scanner/scada/modbusdetect
msf> use auxiliary/scanner/scada/modbus_findunitid
```
<details>
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
Njia nyingine za kusaidia HackTricks:
* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
</details>