hacktricks/network-services-pentesting/47808-udp-bacnet.md
2024-02-10 13:11:20 +00:00

7.5 KiB

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

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

PORT      STATE SERVICE
47808/udp open  BACNet -- Building Automation and Control NetworksEnumerate

Enumeracija

Ručna

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:

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:

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.

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"
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: