mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 14:40:37 +00:00
121 lines
7.5 KiB
Markdown
121 lines
7.5 KiB
Markdown
<details>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Drugi načini podrške HackTricks-u:
|
|
|
|
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
|
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
|
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
|
|
|
</details>
|
|
|
|
|
|
# Informacije o protokolu
|
|
|
|
**BACnet** je **komunikacioni protokol** za mreže za automatizaciju i kontrolu zgrada (BAC) koji koristi **ASHRAE**, **ANSI** i **ISO 16484-5 standardni** protokol. Omogućava komunikaciju između sistema za automatizaciju i kontrolu zgrada, omogućavajući aplikacijama kao što su kontrola HVAC sistema, kontrola osvetljenja, kontrola pristupa i sistemi za detekciju požara da razmenjuju informacije. BACnet obezbeđuje interoperabilnost i omogućava komunikaciju računarskih uređaja za automatizaciju zgrada, bez obzira na specifične usluge koje pružaju.
|
|
|
|
**Podrazumevani port:** 47808
|
|
```text
|
|
PORT STATE SERVICE
|
|
47808/udp open BACNet -- Building Automation and Control NetworksEnumerate
|
|
```
|
|
# Enumeracija
|
|
|
|
## Ručna
|
|
```bash
|
|
pip3 install BAC0
|
|
import BAC0
|
|
bbmdIP = '<IP>:47808'
|
|
bbmdTTL = 900
|
|
bacnet = BAC0.connect(bbmdAddress=bbmdIP, bbmdTTL=bbmdTTL) #Connect
|
|
bacnet.vendorName.strValue
|
|
#I couldn't find how to obtain the same data as nmap with this library or any other
|
|
#talk me if you know how please
|
|
```
|
|
## Automatsko
|
|
|
|
---
|
|
|
|
### Introduction
|
|
|
|
### Uvod
|
|
|
|
BACnet is a communication protocol widely used in building automation and control systems (BACS). It allows devices such as HVAC systems, lighting controls, and access control systems to communicate with each other over a network. BACnet uses the User Datagram Protocol (UDP) as its transport protocol.
|
|
|
|
BACnet je komunikacioni protokol široko korišćen u sistemima automatizacije i kontrole zgrada (BACS). Omogućava uređajima kao što su HVAC sistemi, kontrola osvetljenja i sistemi kontrole pristupa da komuniciraju međusobno preko mreže. BACnet koristi User Datagram Protocol (UDP) kao svoj transportni protokol.
|
|
|
|
### UDP BACnet Discovery
|
|
|
|
### Otkrivanje UDP BACnet-a
|
|
|
|
To discover BACnet devices on a network, you can use the `bacnet-discover` tool from the `bacnet-utils` package. This tool sends a BACnet Who-Is request to the broadcast address of the network and listens for responses from BACnet devices.
|
|
|
|
Da biste otkrili BACnet uređaje na mreži, možete koristiti alat `bacnet-discover` iz paketa `bacnet-utils`. Ovaj alat šalje BACnet Who-Is zahtev na broadcast adresu mreže i osluškuje odgovore od BACnet uređaja.
|
|
|
|
To use `bacnet-discover`, you need to specify the network interface to use with the `-i` option. For example, to discover BACnet devices on the `eth0` interface, you can run the following command:
|
|
|
|
Da biste koristili `bacnet-discover`, morate navesti mrežni interfejs koji želite koristiti sa opcijom `-i`. Na primer, da biste otkrili BACnet uređaje na interfejsu `eth0`, možete pokrenuti sledeću komandu:
|
|
|
|
```plaintext
|
|
bacnet-discover -i eth0
|
|
```
|
|
|
|
This will send a BACnet Who-Is request to the broadcast address of the `eth0` interface and display the responses from BACnet devices.
|
|
|
|
Ovo će poslati BACnet Who-Is zahtev na broadcast adresu interfejsa `eth0` i prikazati odgovore od BACnet uređaja.
|
|
|
|
### UDP BACnet Enumeration
|
|
|
|
### Enumeracija UDP BACnet-a
|
|
|
|
Once you have discovered BACnet devices on a network, you can use the `bacnet-enumerate` tool from the `bacnet-utils` package to enumerate the objects and properties supported by each device. This tool sends BACnet ReadProperty requests to the discovered devices and displays the responses.
|
|
|
|
Kada otkrijete BACnet uređaje na mreži, možete koristiti alat `bacnet-enumerate` iz paketa `bacnet-utils` da biste nabrojali objekte i svojstva podržana od strane svakog uređaja. Ovaj alat šalje BACnet ReadProperty zahteve otkrivenim uređajima i prikazuje odgovore.
|
|
|
|
To use `bacnet-enumerate`, you need to specify the network interface to use with the `-i` option, and the device address to enumerate with the `-d` option. For example, to enumerate the objects and properties of a BACnet device with the address `192.168.1.100`, you can run the following command:
|
|
|
|
Da biste koristili `bacnet-enumerate`, morate navesti mrežni interfejs koji želite koristiti sa opcijom `-i`, i adresu uređaja koju želite nabrojati sa opcijom `-d`. Na primer, da biste nabrojali objekte i svojstva BACnet uređaja sa adresom `192.168.1.100`, možete pokrenuti sledeću komandu:
|
|
|
|
```plaintext
|
|
bacnet-enumerate -i eth0 -d 192.168.1.100
|
|
```
|
|
|
|
This will send BACnet ReadProperty requests to the device at `192.168.1.100` and display the responses.
|
|
|
|
Ovo će poslati BACnet ReadProperty zahteve uređaju na adresi `192.168.1.100` i prikazati odgovore.
|
|
|
|
### Conclusion
|
|
|
|
### Zaključak
|
|
|
|
UDP BACnet discovery and enumeration can be useful for identifying and understanding BACnet devices on a network. By using the `bacnet-discover` and `bacnet-enumerate` tools, you can gather information about the devices and their supported objects and properties.
|
|
|
|
Otkrivanje i nabrojavanje UDP BACnet-a može biti korisno za identifikaciju i razumevanje BACnet uređaja na mreži. Koristeći alate `bacnet-discover` i `bacnet-enumerate`, možete prikupiti informacije o uređajima i njihovim podržanim objektima i svojstvima.
|
|
```bash
|
|
nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 <IP>
|
|
```
|
|
Ovaj skript ne pokušava da se pridruži BACnet mreži kao strano uređaj, već jednostavno šalje BACnet zahteve direktno na uređaj sa IP adresom.
|
|
|
|
## Shodan
|
|
|
|
* `port:47808 instance`
|
|
* `"Instance ID" "Vendor Name"`
|
|
|
|
|
|
|
|
<details>
|
|
|
|
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Drugi načini podrške HackTricks-u:
|
|
|
|
* Ako želite da vidite **vašu kompaniju oglašenu u HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
|
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
|
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
|
|
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
|
|
|
|
</details>
|