48 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{{#include ../banners/hacktricks-training.md}}
# Πληροφορίες Πρωτοκόλλου
**BACnet** είναι ένα **πρωτόκολλο επικοινωνίας** για δίκτυα Αυτοματοποίησης και Ελέγχου Κτιρίων (BAC) που αξιοποιεί το **πρωτόκολλο ASHRAE**, **ANSI** και **ISO 16484-5 standard**. Διευκολύνει την επικοινωνία μεταξύ συστημάτων αυτοματοποίησης και ελέγχου κτιρίων, επιτρέποντας εφαρμογές όπως ο έλεγχος HVAC, ο έλεγχος φωτισμού, ο έλεγχος πρόσβασης και τα συστήματα ανίχνευσης πυρκαγιάς να ανταλλάσσουν πληροφορίες. Το BACnet διασφαλίζει την διαλειτουργικότητα και επιτρέπει στις υπολογιστικές συσκευές αυτοματοποίησης κτιρίων να επικοινωνούν, ανεξαρτήτως των συγκεκριμένων υπηρεσιών που παρέχουν.
**Προεπιλεγμένη θύρα:** 47808
```text
PORT STATE SERVICE
47808/udp open BACNet -- Building Automation and Control NetworksEnumerate
```
# Απαρίθμηση
## Χειροκίνητα
```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
```
## Αυτόματη
```bash
nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 <IP>
```
Αυτό το σενάριο δεν προσπαθεί να συνδεθεί σε ένα δίκτυο BACnet ως ξένη συσκευή, απλά στέλνει αιτήματα BACnet απευθείας σε μια συσκευή με διεύθυνση IP.
## Shodan
- `port:47808 instance`
- `"Instance ID" "Vendor Name"`
{{#include ../banners/hacktricks-training.md}}