Lab 1. OS security – Nguyễn Minh Nhật | Báo cáo bài thực hành môn An toàn thông tin khoa công nghê thông tin Trường đại học sư phạm kỹ thuật TP. Hồ Chí Minh

Sử dụng nmap để quét máy (thông qua địa chỉ IP hoặc tên) để phát hiện HĐH & dịch vụ. - Đầu tiên, em chuẩn bị 2 máy ảo (1 máy chạy hdh window và 1 máy chạy hdh linux). Lưu ý: cả 2 máy đều phải có chung địa chỉ ip mạng. - - Tiếp theo, ta cần phải cài đặt ‘nmap’ bên ubuntu bằng lệnh: Sudo apt install nmap. Bước tiếp theo, kiểm tra địa chỉ ip bên máy window: (172.16.30.232). Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời bạn đọc đón xem!

1
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
NGÀNH CÔNG NGHỆ THÔNG TIN
-----
🙞🙜🕮🙞🙜
🙞🙜🕮🙞🙜
🙞🙜🕮🙞🙜
🙞🙜🕮🙞🙜🙞🙜🕮🙞🙜-----
BÁO CÁO BÀI THỰC HÀNH
Mã môn học: INSE330380
GVHD: TS. Huỳnh Nguyên Chính
SVTH: Nguyễn Minh Nhật
MSSV: 19110255
TP.HCM, tháng 10 năm 2024
2
Lab 1. OS security
1. Sử dụng nmap để quét máy (thông qua địa chỉ IP hoặc tên) để phát hiện HĐH
& dịch vụ.
- Đầu tiên, em chuẩn bị 2 máy ảo (1 máy chạy hdh window và 1 máy chạy hdh
linux). Lưu ý: cả 2 máy đều phải có chung địa chỉ ip mạng.
- Tiếp theo, ta cần phải cài đặt ‘nmap’ bên ubuntu bằng lệnh:
o Sudo apt install nmap
- Bước tiếp theo, kiểm tra địa chỉ ip bên máy window: (172.16.30.232)
Lưu ý: bên máy window cần tắt tường lửa
Tiếp đến, bên ubuntu ta chạy lệnh với địa chỉ ip đã tìm bên máy window:
3
Sudo nmap -A 172.16.30.232
Các port đang được mở
Hệ ều hành đang đi
chạy trên máy
4
Chúng ta thực hiện tương tự các bước trên với máy đang bật tường lửa và kết quả:
Thông tin như các port, hệ ều hành đã được tường lửa chặn lại, không cho máy đi
khác quét thông tin.
5
2. Sử dụng nmap với vuln-script để phát hiện lỗ hổng trên hệ ều hànhđi
Đầu tiên, cài đặt vulscan bằng các bước sau:
Cd /usr/share/nmap/scripts
Sudo git clone https://github.com/scipag/vulscan
Tiếp theo, quét lỗ hổng cve bằng lệnh:
Sudo nmap –script vulscan –script-args vulscandb=cve.csv -sV
172.16.30.232 -oN reprot.txt
6
7
5 lỗ hỏng CVE:
- [CVE-2010-3222] : Tràn bộ đệm dựa trên ngăn xếp trong Hệ ống gọi thủ th
tục từ xa (RPCSS) trong Microsoft Windows XP SP2 và SP3 và Server 2003
SP2 cho phép người dùng cục bộ có được quyền thông qua tin nhắn LPC được
tạo sẵn yêu cầu kết nối LRPC từ máy chủ LPC đến máy khách, hay còn gọi là
"Lỗ hổng tràn bộ đệm tin nhắn LPC".
- [CVE-2010-3139] : Lỗ hổng đường dẫn tìm kiếm không đáng tin cậy trong
Microsoft Windows Progman Group Converter (grpconv.exe) cho phép người
dùng cục bộ và có thể là kẻ tấn công từ xa thực thi mã tùy ý và tiến hành các
cuộc tấn công chiếm quyền điều khiển DLL thông qua Trojan horse imm.dll
nằm trong cùng thư mục với tệp .grp.
- [CVE-2010-2742] : Dịch vụ Netlogon RPC trong Microsoft Windows Server
2003 SP2 Server 2008 Gold, SP2 R2, khi vai trò bộ ều khiển miềđi n
được bật, cho phép kẻ tấn công từ xa gây ra tình trạng từ ối dịch vụ ch (hủy
tham chiếu con trỏ NULL và khởi động lại) thông qua gói RPC được tạo thủ
công, còn gọi là "Lỗ hổng DOS hủy tham chiếu Null của Netlogon RPC".
- [CVE-2010-2729] : Dịch vụ Print Spooler trong Microsoft Windows XP SP2
SP3, Windows Server 2003 SP2, Windows Vista SP1 SP2, Windows
Server 2008 Gold, SP2 R2, Windows 7, khi tính năng chia smáy in
được bật, sẽ không xác thực đúng quyền truy cập spooler, cho phép kẻ tấn
công từ xa tạo tệp trong thư mục hệ ống do đó thực thi tùy ý bằth ng
cách gửi yêu cầu in được tạo thủ công qua RPC, như đã khai thác trong thực
tế vào tháng 9 năm 2010, hay còn gọi "Lỗ hổng mạo danh dịch vụ Print
Spooler".
- [CVE-2010-2567] : Việc triển khai máy khách RPC trong Microsoft Windows
XP SP2 và SP3 Server 2003 SP2 không phân bổ bộ đúng cách trong nh
quá trình phân tích cú pháp phản hồi, cho phép máy chủ RPC từ xa và kẻ tấn
công trung gian thực thi mã tùy ý thông qua phản hồi không đúng định dạng,
hay còn gọi là "Lỗ hổng hỏng bộ ớ RPC".nh
8
Lab2. Buffer overflows
Đầu tiên, thực hiện tắt địa chỉ Randomization bằng câu lệnh:
$sudo sysctl -w kernel.randomize_va_space=0
Tiếp theo, xác định địa chỉ ả về để chèn đoạn code thực thitr
- Tạo file debug stack_dbg (bỏ qua stackguard và cho phép stack có thẻ
executable
$gcc -z exestack -fno-stack-protector - -o stack_dbg stack.cg
- Ta tạo 1 file “badfile” bằng lệnh:
$touch badfile
Chạy chương trình debug cho file stack.c, bằng cách khởi động gdb và set file cần
debug bằng lệnh: $gdb stack_dbg
9
Ta thực hiện đặt breakpoint tại hàm bof ở file stack.c:
(gdb)b bof
Tiến hành chạy chương trình đến breakpoint đã đặt:
(gdb)run
Tiếp theo, ta xác định địa chỉ thanh ghi ebp: (gdb) p $ebp
Xác định địa chỉ ến buffer: bi (gdb)p &buffer
Tính khoảng cách giữa ebp và buffer bằng lệnh:
10
(gdb)p/d (0xbfffeb38-0xbfffeb18)
Return address = ebp + (32 + 4) = ebp + 36
Tiếp theo, ta ến hành chỉnh sửa file exploit.c:ti
Thay đổi giá trị trả về bằng giá trị mới như sau:
*((long *) (buffer + 36)) = 0xbfffeb38 + 0x80
Thực thi:
Tiếp theo, ta bật Address Randomization bằng câu lệnh:
11
$sudo sysctl –w kernel.randomize_va_space=2
12
Lab 3. Authentication
A) Linux:
Bước 1: Cài đặt thư viện PAM (lib-pamquality)
$ sudo apt install libpam-pwquality
Bước 2: Kiểm tra password policies bằng lệnh:
$sudo vi /etc/pam.d/common-password
Hoặc $sudo vi /etc/security/pwquality
13
Bước 3: Tạo user “minhnhat”:
14
$sudo useradd minhnhat (để tạo user)
$sudo passwd … (để tạo password)
Bước 4: mở màn hình tty dùng để đăng nhập bằng cú pháp:
Ctrl + alt + F1 (mở tty1)
Ctrl + alt + F2 (mở tty2)
Ctrl + alt + F3 (mở tty3)
Và để ở lại màn hình chính dùng: ctrl + alt + F7tr
Bước 5: Đăng nhập user minhnhat và đổi mật khẩu bằng chính user đó :
$ passwd
Và nhập mật khẩu cũ và mới để ực hiện thay đổith
15
b) Ms window
- Tạo một tài khoản và kiểm tra một số ức năng:ch
+ Độ dài mật khẩu tối thiểu
+ Mật khẩu mạnh
+ Ngưỡng khóa tài khoản
16
Bước 1: Thiết lập cấu hình mạng
Cấu hình cho Window Server
- Cấu hình IP cho Window 7:
17
- Ping thử ữa 2 máy:gi
18
Bước 2: Nâng máy Server lên Domain Controller (HCMUTE.VN)
tạo một tài khoản (testusesr)
- Đầu tiên vào Server Manage và tải Active Directory Domain Services
- Tiếp theo cấu hình domain controller:
19
Bước 3: Tạo PC để join và Domain Controller (user: testuser)
- Tạo tài khoản user: Tools Active Directory Users and Computers
HCMUTE.VN Users chuột trái New User.
- Nhập đầy đủ thông tin user.
20
| 1/48

Preview text:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
NGÀNH CÔNG NGHỆ THÔNG TIN -----🙞🙜 🙞 🕮 🙜 🙞 🕮 🙜 🙞 -----
BÁO CÁO BÀI THỰC HÀNH
Mã môn học: INSE330380
GVHD: TS. Huỳnh Nguyên Chính
SVTH: Nguyễn Minh Nhật MSSV: 19110255
TP.HCM, tháng 10 năm 2024 1 Lab 1. OS security
1. Sử dụng nmap để quét máy (thông qua địa chỉ IP hoặc tên) để phát hiện HĐH & dịch vụ.
- Đầu tiên, em chuẩn bị 2 máy ảo (1 máy chạy hdh window và 1 máy chạy hdh
linux). Lưu ý: cả 2 máy đều phải có chung địa chỉ ip mạng.
- Tiếp theo, ta cần phải cài đặt ‘nmap’ bên ubuntu bằng lệnh:
o Sudo apt install nmap
- Bước tiếp theo, kiểm tra địa chỉ ip bên máy window: (172.16.30.232)
Lưu ý: bên máy window cần tắt tường lửa
Tiếp đến, bên ubuntu ta chạy lệnh với địa chỉ ip đã tìm bên máy window: 2
Sudo nmap -A 172.16.30.232 Các port đang được mở Hệ điều hành đang chạy trên máy 3
Chúng ta thực hiện tương tự các bước trên với máy đang bật tường lửa và kết quả:
Thông tin như các port, hệ đ ề
i u hành đã được tường lửa chặn lại, không cho máy khác quét thông tin. 4
2. Sử dụng nmap với vuln-script để phát hiện lỗ hổng trên hệ đ ề i u hành
Đầu tiên, cài đặt vulscan bằng các bước sau:
Cd /usr/share/nmap/scripts
Sudo git clone https://github.com/scipag/vulscan
Tiếp theo, quét lỗ hổng cve bằng lệnh:
Sudo nmap –script vulscan –script-args vulscandb=cve.csv -sV
172.16.30.232 -oN reprot.txt
5 6 5 lỗ hỏng CVE:
- [CVE-2010-3222] : Tràn bộ đệm dựa trên ngăn xếp trong Hệ thống gọi thủ
tục từ xa (RPCSS) trong Microsoft Windows XP SP2 và SP3 và Server 2003
SP2 cho phép người dùng cục bộ có được quyền thông qua tin nhắn LPC được
tạo sẵn yêu cầu kết nối LRPC từ máy chủ LPC đến máy khách, hay còn gọi là
"Lỗ hổng tràn bộ đệm tin nhắn LPC".
- [CVE-2010-3139] : Lỗ hổng đường dẫn tìm kiếm không đáng tin cậy trong
Microsoft Windows Progman Group Converter (grpconv.exe) cho phép người
dùng cục bộ và có thể là kẻ tấn công từ xa thực thi mã tùy ý và tiến hành các
cuộc tấn công chiếm quyền điều khiển DLL thông qua Trojan horse imm.dll
nằm trong cùng thư mục với tệp .grp.
- [CVE-2010-2742] : Dịch vụ Netlogon RPC trong Microsoft Windows Server
2003 SP2 và Server 2008 Gold, SP2 và R2, khi vai trò bộ đ ề i u khiển miền
được bật, cho phép kẻ tấn công từ xa gây ra tình trạng từ chối dịch vụ (hủy
tham chiếu con trỏ NULL và khởi động lại) thông qua gói RPC được tạo thủ
công, còn gọi là "Lỗ hổng DOS hủy tham chiếu Null của Netlogon RPC".
- [CVE-2010-2729] : Dịch vụ Print Spooler trong Microsoft Windows XP SP2
và SP3, Windows Server 2003 SP2, Windows Vista SP1 và SP2, Windows
Server 2008 Gold, SP2 và R2, và Windows 7, khi tính năng chia sẻ máy in
được bật, sẽ không xác thực đúng quyền truy cập spooler, cho phép kẻ tấn
công từ xa tạo tệp trong thư mục hệ thống và do đó thực thi mã tùy ý bằng
cách gửi yêu cầu in được tạo thủ công qua RPC, như đã khai thác trong thực
tế vào tháng 9 năm 2010, hay còn gọi là "Lỗ hổng mạo danh dịch vụ Print Spooler".
- [CVE-2010-2567] : Việc triển khai máy khách RPC trong Microsoft Windows
XP SP2 và SP3 và Server 2003 SP2 không phân bổ bộ n ớ h đúng cách trong
quá trình phân tích cú pháp phản hồi, cho phép máy chủ RPC từ xa và kẻ tấn
công trung gian thực thi mã tùy ý thông qua phản hồi không đúng định dạng,
hay còn gọi là "Lỗ hổng hỏng bộ n ớ h RPC". 7 Lab2. Buffer overflows
Đầu tiên, thực hiện tắt địa chỉ Randomization bằng câu lệnh:
$sudo sysctl -w kernel.randomize_va_space=0
Tiếp theo, xác định địa chỉ trả về để chèn đoạn code thực thi
- Tạo file debug stack_dbg (bỏ qua stackguard và cho phép stack có thẻ executable
$gcc -z exestack -fno-stack-protector -g -o stack_dbg stack.c
- Ta tạo 1 file “badfile” bằng lệnh: $touch badfile
Chạy chương trình debug cho file stack.c, bằng cách khởi động gdb và set file cần debug bằng lệnh: $gdb stack_dbg 8
Ta thực hiện đặt breakpoint tại hàm bof ở file stack.c: (gdb)b bof
Tiến hành chạy chương trình đến breakpoint đã đặt: (gdb)run
Tiếp theo, ta xác định địa chỉ thanh ghi ebp: (gdb) p $ebp
Xác định địa chỉ biến buffer: (gdb)p &buffer
Tính khoảng cách giữa ebp và buffer bằng lệnh: 9
(gdb)p/d (0xbfffeb38-0xbfffeb18)
Return address = ebp + (32 + 4) = ebp + 36 Tiếp theo, ta t ế
i n hành chỉnh sửa file exploit.c:
Thay đổi giá trị trả về bằng giá trị mới như sau:
*((long *) (buffer + 36)) = 0xbfffeb38 + 0x80 Thực thi:
Tiếp theo, ta bật Address Randomization bằng câu lệnh: 10
$sudo sysctl –w kernel.randomize_va_space=2 11 Lab 3. Authentication A) Linux:
Bước 1: Cài đặt thư viện PAM (lib-pamquality)
$ sudo apt install libpam-pwquality
Bước 2: Kiểm tra password policies bằng lệnh:
$sudo vi /etc/pam.d/common-password
Hoặc $sudo vi /etc/security/pwquality 12
Bước 3: Tạo user “minhnhat”: 13
$sudo useradd minhnhat (để tạo user)
$sudo passwd … (để tạo password)
Bước 4: mở màn hình tty dùng để đăng nhập bằng cú pháp: Ctrl + alt + F1 (mở tty1) Ctrl + alt + F2 (mở tty2) Ctrl + alt + F3 (mở tty3)
Và để trở lại màn hình chính dùng: ctrl + alt + F7
Bước 5: Đăng nhập user minhnhat và đổi mật khẩu bằng chính user đó : $ passwd
Và nhập mật khẩu cũ và mới để t ự h c hiện thay đổi 14 b) Ms window
- Tạo một tài khoản và kiểm tra một số c ứ h c năng:
+ Độ dài mật khẩu tối thiểu + Mật khẩu mạnh
+ Ngưỡng khóa tài khoản 15
Bước 1: Thiết lập cấu hình mạng Cấu hình cho Window Server
- Cấu hình IP cho Window 7: 16 - Ping thử g ữ i a 2 máy: 17
Bước 2: Nâng máy Server lên Domain Controller (HCMUTE.VN)
và tạo một tài khoản (testusesr)
- Đầu tiên vào Server Manage và tải Active Directory Domain Services
- Tiếp theo cấu hình domain controller: 18
Bước 3: Tạo PC để join và Domain Controller (user: testuser)
- Tạo tài khoản user: Tools → Active Directory Users and Computers →
HCMUTE.VN → Users → chuột trái → New → User.
- Nhập đầy đủ thông tin user. 19 20