47808/udp - Pentesting BACNet

Ondersteun HackTricks

Protokol Inligting

BACnet is 'n kommunikasieprotokol vir Gebou Automatisering en Beheer (BAC) netwerke wat die ASHRAE, ANSI, en ISO 16484-5 standaard protokol benut. Dit fasiliteer kommunikasie tussen gebou automatisering en beheerstelsels, wat toepassings soos HVAC-beheer, beligtingbeheer, toegangbeheer, en branddetectiestelsels in staat stel om inligting uit te ruil. BACnet verseker interoperabiliteit en laat gecomputeriseerde gebou automatisering toestelle toe om te kommunikeer, ongeag die spesifieke dienste wat hulle bied.

Standaard poort: 47808

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

Opname

Handmatig

pip3 install BAC0
pip3 install netifaces

import BAC0
import time

myIP = '<Your IP>/<MASK>' #You need to be on the same subnet as the bacnet device. Example: '192.168.1.4/24'
bacnet = BAC0.connect(ip=myIP)
bacnet.whois() #Broadcast request of bacnet devices
time.sleep(5)  #Wait for devices to respond
for i, (deviceId, companyId, devIp, numDeviceId) in enumerate(bacnet.devices):
print(f"-------- Device #{numDeviceId} --------")
print(f"Device:     {deviceId}")
print(f"IP:         {devIp}")
print(f"Company:    {companyId}")
readDevice = bacnet.readMultiple(f"{devIp} device {numDeviceId} all")
print(f"Model Name: {readDevice[11]}")
print(f"Version:    {readDevice[2]}")
# print(readDevice) #List all available info about the device

Outomaties

nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 <IP>

This script doen nie poging om 'n BACnet-netwerk as 'n buitelandse toestel te sluit nie, dit stuur eenvoudig BACnet versoeke direk na 'n IP-adresbare toestel.

Shodan

  • port:47808 instance

  • "Instance ID" "Vendor Name"

Support HackTricks

Last updated