mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
48 lines
1.9 KiB
Markdown
48 lines
1.9 KiB
Markdown
{{#include ../banners/hacktricks-training.md}}
|
||
|
||
# Protokol Bilgisi
|
||
|
||
**BACnet**, **ASHRAE**, **ANSI** ve **ISO 16484-5 standard** protokolünü kullanan Bina Otomasyonu ve Kontrol (BAC) ağları için bir **iletişim protokolü**dur. Bina otomasyonu ve kontrol sistemleri arasında iletişimi kolaylaştırarak HVAC kontrolü, aydınlatma kontrolü, erişim kontrolü ve yangın algılama sistemleri gibi uygulamaların bilgi alışverişi yapmasını sağlar. BACnet, birlikte çalışabilirliği garanti eder ve bilgisayarlı bina otomasyon cihazlarının, sağladıkları belirli hizmetlerden bağımsız olarak iletişim kurmasına olanak tanır.
|
||
|
||
**Varsayılan port:** 47808
|
||
```text
|
||
PORT STATE SERVICE
|
||
47808/udp open BACNet -- Building Automation and Control NetworksEnumerate
|
||
```
|
||
# Sayım
|
||
|
||
## Manuel
|
||
```bash
|
||
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
|
||
```
|
||
## Otomatik
|
||
```bash
|
||
nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 <IP>
|
||
```
|
||
Bu script, bir BACnet ağına yabancı bir cihaz olarak katılmayı denemez, sadece BACnet isteklerini doğrudan IP adresi olan bir cihaza gönderir.
|
||
|
||
## Shodan
|
||
|
||
- `port:47808 instance`
|
||
- `"Instance ID" "Vendor Name"`
|
||
|
||
{{#include ../banners/hacktricks-training.md}}
|