Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)! HackTricks'ı desteklemenin diğer yolları: * **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na (https://github.com/sponsors/carlospolop) göz atın! * [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin * [**The PEASS Family**]'yi (https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**]'i (https://opensea.io/collection/the-peass-family) içeren koleksiyonumuzu * **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'da **takip edin**.** * **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
# 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üdür**. BACnet, bina otomasyonu ve kontrol sistemleri arasında iletişimi kolaylaştırır ve HVAC kontrolü, aydınlatma kontrolü, erişim kontrolü ve yangın tespit sistemleri gibi uygulamaların bilgi alışverişini sağlar. BACnet, etkileşim sağlar ve bilgisayarlaştırılmış bina otomasyon cihazlarının, sağladıkları belirli hizmetlerden bağımsız olarak iletişim kurmalarına olanak tanır. **Varsayılan port:** 47808 ```text PORT STATE SERVICE 47808/udp open BACNet -- Building Automation and Control NetworksEnumerate ``` # Sıralama ## Manuel ```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 ``` ## Otomatik ```bash nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 ``` Bu betik, yalnızca bir IP adreslenebilir cihaza doğrudan BACnet istekleri gönderir, BACnet ağına yabancı bir cihaz olarak katılmaya çalışmaz. ## Shodan * `port:47808 instance` * `"Instance ID" "Vendor Name"`