---
# System prepended metadata

title: NTUSTISC - AD Note - Lab(環境調查BloodHound)
tags: [information security, NTUSTISC, AD]

---

# NTUSTISC - AD Note - Lab(環境調查BloodHound)
[TOC]

Lecture Video: [2022/05/04 AD 安全1](https://youtu.be/Cv2gNQkDM8Q?si=SycYwgWohlu97dc3)
## Background
[[Windows Programming] IPC 通知機制與安全設定](https://medium.com/renee0918/how-to-protect-windows-global-event-c19bba0ce890)
> 當系統中需要同步處理某些資源的存取權時，可以使用 Windows 的同步處理物件協調不同 process 間對於共同資源的互動，Windows 提供的同步處理物件有四種，分別是: Event, Mutex, Semaphore, Waitable timer，本篇只會提到 Event 喔！
>
>假設系統中有兩個 process：process A 得等待 process B 完成某些特定工作後才能繼續執行。windows 提供的 event 機制能讓 process B 完成工作後發出訊號通知 process A，而 process A 則進入等待狀態直到接受到訊號後才繼續執行後續工作。Process 間只需定好溝通的 event name 就可以輕鬆達成跨程序間的通訊 (Inter-process communication : IPC)，正因為簡單好實現的特性，event 常被用在程序間的溝通與同步。


## Lab Time - 環境調查
### BloodHound AD
* 說明: 環境調查的視覺化工具
* 版本: 4.0.3 
    :::info
    <font color="FF0000">8/29更新：經過實測還是建議使用4.1.0</font>，詳細原因可以參考[^bloodhound-bug]，原作者說明這是一個bug，已在4.1.0做了修正，所以還是以4.1.0為主，雖然聽講師說可能會少東西，不過對我們小專案來說應該沒差
    :::
* Link: [BloodHound GitHub](https://github.com/BloodHoundAD/BloodHound/releases/tag/4.0.3)
* 必要條件: 必須裝設Neo4j Server / Graph Database, 而且必須要是community version，[link](https://neo4j.com/download-center/#community)
1. Download Collector
BloodHound是一個環境調查的視覺化工具，所以要先在我們的環境先蒐集一些環境上的資訊，再導入到BloodHound中進行分析，因此我們應該先下載能夠蒐集環境資訊的[Collector](https://github.com/BloodHoundAD/BloodHound)我是直接把整包clone下來，然後用隨身碟傳到VM(因為那時候Win10已經加入AD，我懶得改回來上網)
    :::info
    Note:
    Windows的defender會擋`BloodHound-master/Collectors/SharpHound.exe`和`SharpHound.ps1`這兩個files，所以記得關掉defender
    :::
2. Use the Collector First
    :::info
    Note: 記得要用bear的網域帳號登入，SharpHound.exe才找的到LDAP
    :::
    CMD直接進入`C:\tools\BloodHound-master\Collectors`，然後直接執行`$ SharpHound.exe`
    :::spoiler Implementation
    ```bash
    $ SharpHound.exe
    2023-08-29T11:02:31.4846421+08:00|INFORMATION|This version of SharpHound is compatible with the 4.3.1 Release of BloodHound
    2023-08-29T11:02:31.6707467+08:00|INFORMATION|Resolved Collection Methods: Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote
    2023-08-29T11:02:31.6985917+08:00|INFORMATION|Initializing SharpHound at 上午 11:02 on 2023/8/29
    2023-08-29T11:02:31.9891653+08:00|INFORMATION|[CommonLib LDAPUtils]Found usable Domain Controller for kuma.org : WIN-818G5VCOLJO.kuma.org
    2023-08-29T11:02:32.3820391+08:00|INFORMATION|Loaded cache with stats: 163 ID to type mappings.
     163 name to SID mappings.
     1 machine sid mappings.
     2 sid to domain mappings.
     0 global catalog mappings.
    2023-08-29T11:02:32.3915435+08:00|INFORMATION|Flags: Group, LocalAdmin, Session, Trusts, ACL, Container, RDP, ObjectProps, DCOM, SPNTargets, PSRemote
    2023-08-29T11:02:32.6206999+08:00|INFORMATION|Beginning LDAP search for kuma.org
    2023-08-29T11:02:32.8062803+08:00|INFORMATION|Producer has finished, closing LDAP channel
    2023-08-29T11:02:32.8230625+08:00|INFORMATION|LDAP channel closed, waiting for consumers
    2023-08-29T11:03:03.3930708+08:00|INFORMATION|Status: 0 objects finished (+0 0)/s -- Using 42 MB RAM
    2023-08-29T11:03:13.1743544+08:00|INFORMATION|Consumers finished, closing output channel
    Closing writers
    2023-08-29T11:03:13.2209345+08:00|INFORMATION|Output channel closed, waiting for output task to complete
    2023-08-29T11:03:13.3058132+08:00|INFORMATION|Status: 204 objects finished (+204 5.1)/s -- Using 44 MB RAM
    2023-08-29T11:03:13.3058132+08:00|INFORMATION|Enumeration finished in 00:00:40.6864986
    2023-08-29T11:03:13.3918361+08:00|INFORMATION|Saving cache with stats: 163 ID to type mappings.
     163 name to SID mappings.
     1 machine sid mappings.
     2 sid to domain mappings.
     0 global catalog mappings.
    2023-08-29T11:03:13.4075189+08:00|INFORMATION|SharpHound Enumeration Completed at 上午 11:03 on 2023/8/29! Happy Graphing!
    ```
    :::
    理論上成功的話，會在該folder中出現一個.zip file with name `<TimeStamp>.BloodHound.zip`此時按照之前啟動BloodHound的方法啟動BloodHound，然後把zip folder拖進去就可以了
    ![](https://hackmd.io/_uploads/rk8rZJjT2.png)

### ==如何偵測AD==
有兩種方法，也可以同時使用
1. Lots of Event ID: 4662
如果同一時間偵測到很多4662 event的操作，那很有可能是bloodhound，就算不是也一定是類似的情蒐工具
2. Event ID: 5146
bloodhound喜歡存取的對象是: ==lsarpc/samr/srvsvc==，所以只要有這幾個event出現，就很有可能是bloodhound，而這個event也是像4662一樣預設是關閉的，所以要先到Group Policy Editor打開
![](https://hackmd.io/_uploads/HJjbgTZRn.png)

    :::danger
    我查找了5146的event但都沒有偵測到，我有把GPO打開，但是還是沒有偵測到，我是有在Event Viewer中看到很像的，例如5145/5156之類的，但看起來都不是，另外，講師的影片中在59:11的地方也是顯示Event 5145，所以我不知道該怎麼解決這個lab遇到的問題
    :::


    可以使用Event Viewer中的Create Custom View，自動的filter出想要的Event
![](https://hackmd.io/_uploads/HkDjhnWR3.png)
#### Result
:::spoiler Screenshot of Event 4662
![](https://hackmd.io/_uploads/rJRXT3Z0n.png)


![](https://hackmd.io/_uploads/SyZxpn-R3.png)
可以看到從3:53~3:54的時間當中有超多的event 4662紀錄，而同時可以看到再另外一台主機中，我也是在差不多時間執行SharpHound.exe，進行情蒐
:::



## Reference
[^bloodhound-bug]:[ Bloodhound 4.0 - doesn’t upload all data #402 ](https://github.com/BloodHoundAD/BloodHound/issues/402)