{{#include ../banners/hacktricks-training.md}} # Taarifa za Protokali **BACnet** ni **protokali ya mawasiliano** kwa mitandao ya Usimamizi na Udhibiti wa Majengo (BAC) inayotumia **ASHRAE**, **ANSI**, na **ISO 16484-5 standard** protokali. Inarahisisha mawasiliano kati ya mifumo ya usimamizi na udhibiti wa majengo, ikiruhusu programu kama vile udhibiti wa HVAC, udhibiti wa mwanga, udhibiti wa ufikiaji, na mifumo ya kugundua moto kubadilishana taarifa. BACnet inahakikisha ufanisi wa kazi pamoja na kuruhusu vifaa vya usimamizi wa majengo vilivyokamilishwa na kompyuta kuwasiliana, bila kujali huduma maalum wanazotoa. **Bandari ya kawaida:** 47808 ```text PORT STATE SERVICE 47808/udp open BACNet -- Building Automation and Control NetworksEnumerate ``` # Uainishaji ## Mikono ```bash pip3 install BAC0 pip3 install netifaces import BAC0 import time myIP = '/' #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 ``` ## Kiotomatiki ```bash nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 ``` Hii script haijaribu kujiunga na mtandao wa BACnet kama kifaa cha kigeni, inatuma tu maombi ya BACnet moja kwa moja kwa kifaa kinachoweza kupatikana kwa anwani ya IP. ## Shodan - `port:47808 instance` - `"Instance ID" "Vendor Name"` {{#include ../banners/hacktricks-training.md}}