VulnHub CTF - DC-2 - Cướp 5 flags và cái kết
Bài đăng này đã không được cập nhật trong 5 năm
Mở đầu
- Tiếp tục là mình đây, sau khi viết xong bài DC-3 Walkthrough - Cuộc phiêu lưu kỳ thú thì mình lại build lên lab nữa cho nhóm thử sức xem sao. Cụ thể là lab DC-2.
- Bài này có tất cả là 5 cờ, tính cả cờ cuối. Chúng ta phải tìm đủ 5 cờ đó mới hoàn thành bài lab này. Mọi người theo mình nhé.
Tấn công
-
Vẫn như các bài khác, đầu tiên mình phải dùng
nmap
quét tất cả các IP trong dải mạng của mình để tìm ra IP của lab. -
Sau khi xác định được địa chỉ IP rồi, tiếp tục cần xác định xem hệ điều hành, quét các tập lệnh, ... bằng lệnh
-A
trongnmap
-
Do đây là 1 CMS nên mình phải ném nó vào hosts thì mới chạy lên được. Mở file hosts lên vào thêm dòng
192.168.19.62 dc-2
vào. Mở trình duyệt chạyhttp://dc-2
ta được 1 con web như này. -
Theo thói quen, xác định con này chạy bằng cái gì đã, mở
Wappalyzer
lên thì biết con web này chạy bằngWordPress
. -
Có
flag
kìa, bấm vào coi sao. Đây là một hint của bài thôi. -
Nó có nhắc đến
cewl
, đây là 1 tool trên kali tạo list mật khẩu thôi. Chắc là sử dụng cái này, chạy nó lên thôi .cewl -w crack.txt http://dc-2
-
Do con web này chạy bằng WordPress nên sử dụng
WPScan
trên Kali luôn.wpscan --url http://dc-2 --passwords crack.txt
-
Ui con web này lắm lỗi quá, bắn ra một đống CVE với cái phiên bản của nó. Điều chúng ta quan tâm là đây nè
-
Bắt được 1 con mèo và 1 con chuột
| Username: jerry, Password: adipiscing | Username: tom, Password: parturient
-
Có user và pass rồi, đăng nhập vào thôi. Vào
http://dc-2/wp-admin/
đăng nhập tài khoản jerry xem có gì k. -
Loay hoay một hồi thì thấy cái
flag 2
được để trongPages
. Nội dung thì là như này. -
Có một cách khác nhanh hơn à (suynghi). Lần mò lần mò mãi, xong quét thử full port xem có cái gì đang mở k.
-
Cổng 7744 ssh đang mở kìa (ngacnhien). . SSH tới thôi chứ còn làm gì nữa.
-
ssh jerry@192.168.19.62 -p 7744
rồi nhập mật khẩu củajerry
vô. Không được, chẳng lẽ nhập sai ở đâu. Thử với thằngtom
xem sao. Được luôn này. -
Vào được thằng
tom
,ls
phát thì thấyflag3.txt
. Nội dung thì là như nàyPoor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.
-
Nghịch ngợm một lúc thì thấy thằng
tom
này có mỗi mấy cái quyền này thôitom@DC-2:~$ ls /home/tom/usr/bin less ls scp vi
-
Export
phát xem thế nào. Giờ phải sửa được thằngPATH
để lấy thêm quyền, chứ bằng kia không đủ. -
Nhớ ở đâu mình đọc được thằng
vi
có thể up shell lên được, vào thằngvi
set phát xem nào.vi :set shell=/bin/bash :shell
-
Á ngon, chạy này.
cd
phát xem có trầm trồ không nào.tom@DC-2:/home$ export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
-
Sửa thằng
PATH
cái đã để lấy thêm lệnh =)) -
Được rồi. Ấm rồi, cơ mà loay hoay một hồi cũng chả biết làm gì, switch thử sang thằng
jerry
xem được k. -
Ngon, vào được thằng
jerry
rồi. Đọc đượcflag4.txt
. Hint tiếp đây rồi, đọc xem có gì nào.Good to see that you've made it this far - but you're not home yet. You still need to get the final flag (the only flag that really counts!!!). No hints here - you're on your own now. :-) Go on - git outta here!!!!
-
Còn cái cờ final thôi
-
Có 1 chương trình đang chạy quyền root mà k cần mật khẩu root là thằng
git
. -
Loay hoay chán chê chẳng biết khai thác thằng này kiểu gì để lấy quyền root .
-
Bing boong, lấy được quyền root rồi. Đọc help của git thì có 1 cái gọi là phân trang -p. Khi mà mình gõ
sudo git -p --help
thì nó sẽ đọc theo trang. Do cái help nó dài nên đọc k hết trong 1 khung của terminal. Lợi dụng điểm yếu đó, mình gõ!/bin/bash
vào và lấy được quyền root thôi
Tổng kết
- Bài xàm xàm của mình kết thúc ở đây, mình cũng học được rất nhiều điều từ bài lab này. Mong các bạn đọc có gì cần góp ý cho mình hoặc bạn nào có cách làm khác hơn có thể comment bên dưới giúp mình để mình phát triển hơn. Cảm ơn tất cả các bạn đã đọc bài này của mình
All rights reserved