HackTheBox. تجول في الأمام. LFI والنسخ الاحتياطي والحجم المشفر



أستمر في نشر الحلول المرسلة لإنهاء الأجهزة من منصة HackTheBox .



في هذه المقالة ، نقوم بإدراج الدلائل والنطاقات الفرعية على الموقع ، واستغلال LFI ، وإنشاء نسخة احتياطية لملف يتعذر الوصول إليه ، وكذلك تحميل وحدة تخزين مشفرة.



الاتصال بالمختبر عبر VPN. يوصى بعدم الاتصال من كمبيوتر العمل أو من مضيف حيث توجد بيانات مهمة بالنسبة لك ، حيث تجد نفسك في شبكة خاصة مع أشخاص يعرفون شيئًا عن أمن المعلومات.



معلومات تنظيمية
, , Telegram . , , .



. , - , .



ريكون



يحتوي هذا الجهاز على عنوان IP 10.10.10.183 ، والذي أضيفه إلى / etc / hosts.



10.10.10.183    forwardslash.htb


بادئ ذي بدء ، نقوم بمسح المنافذ المفتوحة. نظرًا لأنه يستغرق وقتًا طويلاً لفحص جميع المنافذ باستخدام nmap ، سأفعل ذلك أولاً باستخدام ماسكان. نقوم بمسح جميع منافذ TCP و UDP من واجهة tun0 بسرعة 500 حزمة في الثانية.

masscan -e tun0 -p1-65535,U:1-65535 10.10.10.183    --rate=500






الآن ، للحصول على معلومات أكثر تفصيلاً حول الخدمات التي تعمل على المنافذ ، قم بإجراء فحص باستخدام الخيار -A.

nmap -A forwardslash.htb -p22,80






يقوم الخادم بتشغيل خدمة SSH وخادم ويب. نذهب إلى خادم الويب ونرى ما يمكنهم تقديمه لنا.







هذه هي الطريقة التي يتم إبلاغنا بها عن القرصنة المضيفة ، ويتم ذكر XML و FTP. دعونا ننتقل من خلال الدلائل مع المروج. في المعلمات ، نحدد عدد التدفقات 128 (-t) وعنوان URL (-u) والقاموس (-w) والإضافات التي نهتم بها (-x).

gobuster dir -t 128 -u http://forwardslash.htb/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php,xml,txt






ونجد note.txt. هيا نقرأ.







يقال عن مجموعة اخترقت الموقع وأن هناك نسخة احتياطية. دعونا نبحث عن المجالات الفرعية. قم بتعيين عدد الأحرف بحيث لا يساوي 0 كعامل تصفية.

wfuzz -H 'HOST:FUZZ.forwardslash.htb' -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -u forwardslash.htb --hh 0






ونذهب إلى النطاق الفرعي للنسخ الاحتياطي. دعنا نضيفه إلى ملف / etc / hosts.

10.10.10.183    backup.forwardslash.htb

دعنا نذهب من خلال الدلائل لهذا المجال أيضًا.

gobuster dir -t 128 -u http://backup.forwardslash.htb/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x html,php,xml,txt






ونذهب إلى هذا العنوان.



نقطة الدخول



يتم الترحيب بنا من خلال نموذج التفويض.







هناك أيضا إمكانية التسجيل. دعونا نسجل ثم سنقوم بتسجيل الدخول.







عند تصفح الروابط ، نجد نماذج لتغيير الاسم وكلمة المرور ، ويمكنك أيضًا تعيين صورة ملف شخصي. دعنا نتناول ذلك.







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







نزيل هذه الخاصية من كلا العنصرين. لقد بدأت خادم ويب على الجهاز المحلي ، وأوضحت في الحقل رابطًا لملف test.txt.







نظرًا لعدم وجود فلاتر ، فلنجرب متجه LFI. لراحة الأعمال ، هذا في Burp Suite.







وهناك LFI!



المستعمل



دعونا نتحقق من تكوينات اباتشي.







ولكن إذا حاولت قراءة ملف php ، فلن يتم تقديمه لك كنص. بدلاً من ذلك ، سيتم تنفيذه.







ولكن يمكننا استخدام مرشحات php ، على سبيل المثال base64. هكذا يتم تشفير ملف php أولاً ثم عرضه على الصفحة. وبالتالي ، لن يتم تنفيذه.

php://filter/convert.base64-encode/resource=../../../../var/www/backup.forwardslash.htb/index.php





حدد الجزء المطلوب واضغط على Ctrl + Shift + B.







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







دعنا نلقي نظرة على /dev/index.php أيضًا. وهناك نجد بيانات المصادقة لمستخدم chiv.







هذا المستخدم موجود في النظام ، نتعلم هذا من / etc / passwd. لنجرب هذه البيانات للاتصال عبر SSH.







المستخدم 2



لجمع البيانات في النظام ، نستخدم البرنامج النصي LinPEAS. ونجد نوعًا من الملاحظة في النسخ الاحتياطية.











وبالتالي ، فإن النسخ الاحتياطية لها تكوين قديم بكلمة مرور. ينتمي إلى الألم.







لذلك برنامج النسخ الاحتياطي لديه بت SUID. أي أنه يمكننا تنفيذ البرنامج كألم المستخدم.







يمكننا عمل نسخة احتياطية ، ولكن فقط لملف عشوائي معين.







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







الآن دعنا نضيف إنشاء الارتباط وإعادة النسخ الاحتياطي.







دعنا نركض من الدليل الرئيسي للمستخدم ونحصل على الملف.







قم بتغيير المستخدم بإدخال كلمة المرور هذه.







جذر



دعونا نلقي نظرة على إعدادات المحكمة لتنفيذ الأوامر بدون كلمة مرور.







وبالتالي ، لدينا مجلد مشفر. لفك تشفيره وتركيبه ، نحتاج إلى كلمة مرور.







لدينا نص مشفر وبرنامج.







لفك التشفير ، نستخدم الكود التالي.

def decrypt(key, msg):
key = list(key)
	msg = list(msg)
	for char_key in reversed(key):
		for i in reversed(range(len(msg))):
			if i == 0:
				tmp = ord(msg[i]) - (ord(char_key) + ord(msg[-1]))
			else:
				tmp = ord(msg[i]) - (ord(char_key) + ord(msg[i-1]))
			while tmp < 0:
				tmp += 256
			msg[i] = chr(tmp)
	return ''.join(msg)

ciphertext = open('ciphertext', 'r').read().rstrip()
for i in range(1, len(ciphertext)):
	for j in range(256):
		key = chr(j) * i
		text = decrypt(key, ciphertext)
		if ' the ' in text or ' to ' in text:
			print(key)
			print(text)
			exit()


ونقوم بفك تشفير الرسالة بنجاح.







دعونا نرى ما لدينا على طول المسار المشار إليه.







دعونا نفك تشفير وحدة التخزين.







وسنقوم بتركيبه.







يوجد مفتاح SSH هناك.







نربط ونأخذ العلم.







يمكنك الانضمام إلينا على Telegram . هناك يمكنك العثور على مواد مثيرة للاهتمام ودورات مسربة وبرامج. دعونا نجمع مجتمعًا سيكون فيه أناس على دراية في العديد من مجالات تكنولوجيا المعلومات ، ثم يمكننا دائمًا مساعدة بعضنا البعض في أي قضايا تتعلق بتكنولوجيا المعلومات وأمن المعلومات.



All Articles