y0usef: 1 Walkthrough

โดย admin

2 นาที
แชร์
Blog Thumbnail

y0usef: 1 Walkthrough

สวัสดีครับผู้อ่านทุกท่าน วันนี้ผู้เขียนเลือก y0usef: 1 จาก Vulnhub (https://www.vulnhub.com/entry/y0usef-1,624/) ซึ่งเป็นเครื่องใหม่แกะกล่อง มาเล่นและเขียน Walkthrough ให้อ่านกันเพลินๆ ครับ โดยเป้าหมาย Lab y0usef: 1 นี้คือการอ่าน flag ทั้ง 2 อันภายในเครื่องนี้ครับ

Port & Service Scanning

nmap -sV 192.168.56.122 -oA y0usef

พบ service ที่กำลังทำงานอยู่ดังนี้

Port 22 => ssh

Port 80 => http

เข้า Website ที่ port 80 พบหน้าเว็บ Sorry, the site under construction soon, it run

ผู้เขียนได้ทดลองใช้ Wordlist หลาย Wordlist ในการ Brute-Force พาธ และพบพาธ /administration จาก raft-large-directories.txt

gobuster dir -u 192.168.56.122 -w ‘/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-big.txt’

gobuster dir -u 192.168.56.122 -w ‘/usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt’

ผู้เขียน Brute-Force พาธหลัง /administration พบว่ามีพาธ logout, include, upload และ users

gobuster dir -u 192.168.56.122/adminstration -w ‘/usr/share/seclists/Discovery/Web-Content/raft-large-directories.txt’

ผู้เขียนเข้าไปที่พาธ /administration และพบหน้า Forbidden

ผู้เขียน Intercept Proxy และเพิ่ม X-Forwarded-For (XFF) header ลงใน Request และพบว่าสามารถเข้าถึงหน้าเว็บไซต์ที่ซ่อนไว้ได้

ผู้เขียนทดลอง Login ด้วย Weak Credential และพบว่าสามารถ Login ได้ด้วย Username:admin และ Password: admin โดยยังต้องเพิ่ม X-Forwarded-For (XFF) header ลงใน Request

Upload Reverse Shell

ผู้เขียนเข้าใช้งานฟังก์ชัน Upload file เพื่ออับโหลด Reverse Shell

เมื่อทำการ Upload Reverse Shell พบว่าไม่สามารถ Upload Reverse Shell ได้โดยตรง

ผู้เขียนจึงอับโหลดไฟล์รูปปกติ และ Intercept Proxy เพื่อแก้ไข Content ภายในไฟล์ เป็น Reverse Shell และแก้ไข filename เป็น shell.php

ผู้เขียนพบว่ามีการแสดงพาธของไฟล์ที่อับโหลด คือ files/1610518247shell.php

ผู้เขียนเปิด nc รอรับ Reverse Shell และเข้าสู่พาธไฟล์ที่อับโหลด

Local flag

เมื่อได้ Shell แล้วผู้เขียนจึงหา User Flag ภายในเครื่อง

find / -name “user.txt” 2>/dev/null

cat /home/user.txt

ผู้เขียนสังเกตว่า flag แรกนั้นเป็น base64 จึงนำไป Decode และพบว่าเป็น Username และ Password สำหรับ Login เข้าสู่ ssh

Privilege Escalation

ผู้เขียนจึงลองนำ Username และ Password มา Login เข้าสู่ ssh

ผู้เขียนลองเช็คดูว่าด้วย User yousef สามารถรันคำสั่งอะไรได้บ้างด้วย User อื่น และพบ (ALL : ALL) ALL

sudo -l

(ALL : ALL) ALL คือ RunAsUsers: ALL, RunAsGroup: ALL, Commands: ALL

sudo -ll

ผู้เขียนจึงใช้คำสั่ง sudo su พบว่าสามารถกลายเป็น root ได้เลย

Root Flag

เมื่อเป็น root ได้แล้วผู้เขียนจึงหา Root Flag ภายในเครื่อง

find / -name “root.txt” 2>/dev/null

cat /root/root.txt

ผู้เขียนลองนำ Root Flag ไป Decode base64 และพบข้อความแสดงความยินดีและ

feedback content me twitter @y0usef_11

จบไปแล้วครับกับ y0usef:1 Walkthrough สำหรับข้อนี้เป็นข้อที่ไม่มีความซับซ้อน ตรงไปตรงมา ตรงกับ Description ใน Vulnhub ที่บอกว่าอยู่ในระดับ Easy ครับ

eEQgSGFwcHkgSGFja2luZyAgeEQg

แชร์
กลับไปด้านบน

บทความที่เกี่ยวข้อง

อัปเดตข้อมูลด้านไซเบอร์ ทุกสัปดาห์
รับข่าวสารความรู้เชิงลึกเกี่ยวกับความปลอดภัยไซเบอร์จากดาต้าฟาร์มก่อนใคร

ฟีเจอร์นี้จะเปิดให้ใช้งานเร็ว ๆ นี้ โปรดติดตาม

ส่งสัปดาห์ละ 1 ครั้ง ไม่มีสแปม ยกเลิกการรับข่าวสารได้ทุกเมื่อ