2022-04-28 16:01:33 +00:00
< details >
2024-02-08 22:34:33 +00:00
< summary > < strong > ゼロからヒーローまでAWSハッキングを学ぶ< / strong > < a href = "https://training.hacktricks.xyz/courses/arte" > < strong > htARTE( HackTricks AWS Red Team Expert) < / strong > < / a > < strong > ! < / strong > < / summary >
2022-04-28 16:01:33 +00:00
2024-01-05 23:09:45 +00:00
HackTricks をサポートする他の方法:
2022-04-28 16:01:33 +00:00
2024-02-14 10:09:18 +00:00
* **HackTricks で企業を宣伝したい** または **HackTricks をPDFでダウンロードしたい** 場合は [**SUBSCRIPTION PLANS** ](https://github.com/sponsors/carlospolop ) をチェックしてください!
2024-02-08 22:34:33 +00:00
* [**公式PEASS& HackTricksスワッグ** ](https://peass.creator-spring.com )を入手する
2024-02-14 10:09:18 +00:00
* [**The PEASS Family** ](https://opensea.io/collection/the-peass-family )、当社の独占的な [**NFTs** ](https://opensea.io/collection/the-peass-family ) コレクションを発見する
* **💬 [**Discordグループ** ](https://discord.gg/hRep4RUj7f ) に参加するか、[**telegramグループ**](https://t.me/peass) に参加するか、**Twitter** 🐦 [**@carlospolopm** ](https://twitter.com/hacktricks_live ) をフォローする。
* **ハッキングトリックを共有するために** [**HackTricks** ](https://github.com/carlospolop/hacktricks ) と [**HackTricks Cloud** ](https://github.com/carlospolop/hacktricks-cloud ) のGitHubリポジトリにPRを提出する。
2022-04-28 16:01:33 +00:00
< / details >
2023-07-07 23:42:27 +00:00
# プロトコル情報
2020-07-15 15:43:14 +00:00
2024-02-14 10:09:18 +00:00
**BACnet** は、**ASHRAE**、**ANSI**、および **ISO 16484-5 標準** プロトコルを活用した、ビルオートメーションおよび制御( BAC) ネットワーク向けの **通信プロトコル** です。これは、ビルオートメーションおよび制御システム間の通信を容易にし、HVAC制御、照明制御、アクセス制御、火災検知システムなどのアプリケーションが情報を交換できるようにします。BACnet は相互運用性を確保し、特定のサービスを提供するかどうかに関係なく、コンピュータ化されたビルオートメーションデバイスが通信できるようにします。
2020-07-15 15:43:14 +00:00
2024-01-05 23:09:45 +00:00
**デフォルトポート:** 47808
2020-07-15 15:43:14 +00:00
```text
PORT STATE SERVICE
47808/udp open BACNet -- Building Automation and Control NetworksEnumerate
```
2023-07-07 23:42:27 +00:00
# 列挙
2020-07-15 15:43:14 +00:00
2024-02-08 22:34:33 +00:00
## マニュアル
2020-07-15 15:43:14 +00:00
```bash
pip3 install BAC0
2024-02-14 10:09:18 +00:00
pip3 install netifaces
2020-07-15 15:43:14 +00:00
import BAC0
2024-02-14 10:09:18 +00:00
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
2020-07-15 15:43:14 +00:00
```
2023-07-07 23:42:27 +00:00
## 自動
2020-07-15 15:43:14 +00:00
```bash
nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 < IP >
```
2024-02-08 22:34:33 +00:00
このスクリプトは、外部デバイスとしてBACnetネットワークに参加しようとはせず、単純にIPアドレス指定可能なデバイスに直接BACnetリクエストを送信します。
2020-07-15 15:43:14 +00:00
2022-05-01 12:49:36 +00:00
## Shodan
2020-07-15 15:43:14 +00:00
* `port:47808 instance`
* `"Instance ID" "Vendor Name"`