Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 37

1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT VĨNH LONG


KHOA CÔNG NGHỆ THÔNG TIN
------

CHUYÊN ĐỀ CNTT
TÊN ĐỀ TÀI: TÌM HIỂU CÁC CÔNG CỤ KALI LINUX
(NMAP,SQLMAP,THC HYDRA)

GV hướng dẫn: Th.S Trần Hồ Đạt


Sinh viên thực hiện:
18004149_Ngô Thanh Tú
18004156_Trần Thị Thanh Tuyền
Lớp: 1CTT18A21
Khoá: K43

Vĩnh Long, 2022


i

LỜI CẢM ƠN
"Đầu tiên, nhóm xin gửi lời cảm ơn chân thành sâu sắc đến giảng viên hướng dẫn
chuyên đề Công Nghệ Thông Tin – Thầy Trần Hồ Đạt đã dạy dỗ tận tâm, truyền đạt những
kiến thức quý báu cho nhóm trong suốt thời gian học tập vừa qua. Trong thời gian tham gia
lớp học chuyên đề Công Nghệ Thông Tin của thầy, nhóm đã có thêm cho mình nhiều kiến
thức bổ ích về mạng, cách trình bày báo cáo. Đây chắc chắn sẽ là những kiến thức quý báu
và sẽ là hành trang để các thành viên trong nhóm có thể vững chắc mai sau này.
Chuyên đề Công Nghệ Thông Tin là môn học bồi dưỡng các khía cạch khác nhau về
mạng cho sinh viên, vô cùng bổ ích và có tính thực tế cao. Đảm bảo cung cấp đủ kiến thức,
gắn liền với nhu cầu thực tiễn của sinh viên khi làm về mạng và báo cáo trình bày về mạng.
Tuy nhiên, do vốn kiến thức còn nhiều hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ
ngỡ. Mặc dù nhóm đã cố gắng hết sức nhưng chắc chắn bài báo cáo khó có thể tránh khỏi
những thiếu sót và nhiều chỗ còn chưa chính xác chưa phù hợp với thực tiễn, kính mong
thầy xem xét và góp ý để bài báo có của nhóm được hoàn thiện hơn.
Nhóm xin chân thành cảm ơn!”
ii

MỤC LỤC
CHƯƠNG 1: VẤN ĐỀ AN TOÀN THÔNG TIN TRONG NƯỚC VÀ THẾ GIỚI.........1
1.1 ATTT QUAN TRỌNG NHƯ THẾ NÀO........................................................................1
1.2 NHỮNG VỤ TẤN CÔNG MẠNG LÀM ẢNH HƯỞNG ĐẾN AN NINH, KINH TẾ
THẾ GIỚI VÀ TRONG NƯỚC NỔI BẬT..........................................................................1
1.2.1 Những vụ tấn công mạng làm ảnh hưởng đến an ninh, kinh tế thế giới..........................1
1.2.2. Những vụ tấn công mạng làm ảnh hưởng đến an ninh, kinh tế trong nước....................2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT......................................................................................6
2.1 TÌM HIỂU VỀ NMAP......................................................................................................6
2.1.1 Giới thiệu về Nmap..........................................................................................................6
2.1.2 Cách thức hoạt động :......................................................................................................6
2.1.3 Tính năng của Nmap........................................................................................................6
2.1.4 Sử dụng Nmap:................................................................................................................6
2.2 Tìm hiểu về THC-Hydra................................................................................................13
2.2.1 Giới thiệu về Hydra.......................................................................................................13
2.2.2 Các chức năng có trong kỹ thuật...................................................................................13
2.2.3 Cài đặt công cụ hỗ trợ tấn công hydra...........................................................................14
2.3 TÌM HIỂU KỸ THUẬT SQLMAP...............................................................................14
2.3.1 Giới thiệu về Sqlmap.....................................................................................................14
2.3.2 Tính năng của Sqlmap...................................................................................................15
2.3.3 Các tham số có trong Sqlmap........................................................................................16
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG..........................................................................19
3.1 KỸ THUẬT NMAP........................................................................................................19
3.2. KỸ THUẬT THC-HYDRA...........................................................................................22
3.2.1 Phương pháp brute force of websites.............................................................................22
3.3 BIỆN PHÁP PHÒNG TRÁNH.....................................................................................26
3.2.1 Với người dùng..............................................................................................................26
3.2.2 Với người quản trị..........................................................................................................26
3.4 KỸ THUẬT SQLMAP...................................................................................................27
3.4.1 Cài đặt công cụ hỗ trợ tấn công Sqlmap........................................................................27
iii

3.4.2 Cài đặt tấn công.............................................................................................................27


3.4.3. Biện pháp phòng tránh..................................................................................................30
CHƯƠNG 4: KẾT LUẬN....................................................................................................32
4.1 KẾT QUẢ ĐẠT ĐƯỢC...............................................................................................32
4.2 HƯỚNG PHÁT TRIỂN..............................................................................................32
TÀI LIỆU THAM KHẢO....................................................................................................33
1

CHƯƠNG 1: VẤN ĐỀ AN TOÀN THÔNG TIN TRONG NƯỚC VÀ


THẾ GIỚI
1.1 ATTT QUAN TRỌNG NHƯ THẾ NÀO
Có lẽ bạn chưa biết, từ Chính phủ, Quân đội, các tập đoàn lớn nhỏ, bệnh viện, có sở
kinh doanh cho đến người dùng đều sẽ có những thông tin bí mật riêng. Phần lớn những
thông tin đó đều sẽ được thu thập, xử lý và lưu trữ bởi máy tính, trung tâm giữ liệu. Các dữ
liệu đó có thể sẽ được chuyển qua mạng để về trung tâm lưu trữ, đến các công ty con, bạn
bè, người thân... Nhưng nếu những thông tin đó bị lọt vào tay đối thủ, người cạnh tranh,
người ganh ghét thì chắc chắn sẽ rất hiểm. Chính vì vậy, việc bảo vệ thông tin dần trở thành
một yếu cầu gần như không thể thiếu đối với các hoạt động nói chung và đặc biệt là hoạt
động điện tử nói riêng. Trong thời buổi công nghệ số như hiện nay, an toàn thông tin được
xem là hành động hết sức quan trọng và cần thiết
1.2 NHỮNG VỤ TẤN CÔNG MẠNG LÀM ẢNH HƯỞNG ĐẾN AN NINH, KINH TẾ
THẾ GIỚI VÀ TRONG NƯỚC NỔI BẬT
1.2.1 Những vụ tấn công mạng làm ảnh hưởng đến an ninh, kinh tế thế giới
Những kẻ tấn công mạng đã xâm nhập vào hệ thống của Equifax, một trong ba cơ
quan tín dụng lớn nhất Mỹ, hồi tháng 7.2017 và lấy cắp dữ liệu cá nhân của 145 triệu người.
Đây được coi là một trong những vụ tấn công mạng nghiêm trọng nhất mọi thời đại vì tất cả
dữ liệu đều là thông tin cá nhân quan trọng, bao gồm cả số An sinh Xã hội. Hậu quả của sự
việc này có thể sẽ còn kéo dài trong nhiều năm.
Verizon, công ty mẹ của Yahoo, hồi tháng 10.2017 thừa nhận tất cả 3 tỉ tài khoản của
người dùng đã bị hack bởi một vụ tấn công mạng nổi tiếng nhắm vào phạm vi dữ liệu của
Yahoo năm 2013. Tháng 11.2016 Yahoo từng công bố vụ tấn công mạng này chỉ ảnh hưởng
đến 1 tỉ tài khoản. Tuy nhiên, cùng với sự hỗ trợ điều tra của các chuyên gia giám sát bên
ngoài và thông tin thu thập được mới nhất trong bản Cập nhật Bảo mật Tài khoản của Yahoo
cho thấy phạm vi dữ liệu bị đánh cắp đã lan sang toàn bộ số tài khoản của người dùng.
Hơn 1 gigabyte dữ liệu của khoảng 198 triệu cử tri Mỹ, bao gồm ngày sinh, địa chỉ, số điện
thoại và quan điểm chính trị, đã bị lộ thông qua hệ thống điện toán đám mây công khai của
Amazon. Đây được coi là vụ rò rỉ thông tin lớn nhất trong lịch sử dữ liệu bầu cử của Mỹ.
2

Được biết, nguyên nhân là do một công ty marketing của ủy ban quốc gia đảng Cộng hòa đã
vô tình định sai cấu hình trong cấu hình bảo mật đám mây của Amazon. Song, vụ việc này
cũng làm dấy lên nhiều mối lo ngại cho rằng ngày càng có nhiều thông tin cá nhân quan
trọng có thể dễ dàng bị sử dụng cho các mục đích bất chính.
Tháng 6.2017, hàng loạt doanh nghiệp tại Ukraine báo cáo đã bị một loại mã độc có tên
NotPetya tấn công. Mã độc này sau đó lan sang các doanh nghiệp lớn trên toàn cầu bao gồm
FedEx, tập đoàn dầu khí khổng lồ của Nga Rosneft và hãng vận tải Đan Mạch Maersk.
Trong tháng 9.2017, FedEx ước tính thiệt hại gây ra bởi cuộc tấn công này lên tới 300 triệu
USD.
Tiếp theo, vào tháng 2, Cục dự trữ liên bang Mỹ cũng xác nhận bị tấn công bởi nhóm
Anonymous. Tin tặc đã tấn công vào một số website chính phủ, ăn cắp thông tin và đăng
hàng loạt thông tin nhạy cảm của 4.600 giám đốc điều hành ngân hàng.
Các dữ liệu bị xâm nhập và truy cập đều thuộc về Hệ thống truyền thông khẩn cấp
liên bang St. Louis. Hệ thống này được sử dụng bởi 17 bang trong thời kỳ khủng hoảng, cho
phép các tổ chức tài chính và nhân viên chính phủ bàn luận thông qua những kênh hai chiều.
Hoạt động tấn công đã làm lộ các chi tiết truy cập và cả thông tin các nhân như địa chỉ IP và
thông tin liên lạc ra công khai đúng vào lúc chính phủ Mỹ đang xem xét cải cách các điều
luật liên quan đến tội phạm mạng. Sau đó, Anonymous còn tiếp tục sử dụng các website
chính phủ để tiết lộ các thông tin đánh cắp.
1.2.2. Những vụ tấn công mạng làm ảnh hưởng đến an ninh, kinh tế trong nước
Website Vietnamnet đã trải qua nhiều sự cố trong năm qua. Vào đầu năm (4/1/2011),
một đợt tấn công từ chối dịch vụ nhắm vào Vietnamnet khiến trang web bị tắc nghẽn nhiều
giờ đồng hồ, gây khó khăn cho hàng triệu độc giả. Theo ông Bùi Bình Minh, Trợ lý Tổng
biên tập Vietnam về công nghệ, lượng truy cập tăng gấp 10 lần so với thông thường.
Kết quả điều tra cho thấy, các địa chỉ IP trong vụ tấn công xuất phát từ trong nước và quốc
tế, khiến việc ngăn chặn vụ tấn công gặp nhiều khó khăn. Nếu như các IP chỉ bắt nguồn từ
nước ngoài thì Vietnamnet chỉ cần chặn băng thông ra quốc tế. Vietnamnet sau đó đã chặn
các dải IP có lượng tấn công nhiều nhất, khiến băng thông được giãn ra tương đối, tuy nhiên
việc truy cập vẫn còn nhiều khó khăn. Ngày 15/8/2011, Vietnamnet cùng các chuyên trang
như “Tuần Việt Nam”, “Diễn đàn kinh tế Việt Nam” tiếp tục bị tấn công từ chối dịch vụ.
3

Vietnam đã liên kết với một số đơn vị như trung tâm VNCERT (Bộ Thông tin và Truyền
thông), VDC, VTC, Zing, CMC TI, CMC Infosec, FPT Telecom,…để giải quyết, tuy nhiên
đến ngày 1/10/2011 việc truy cập vào website này vẫn gặp nhiều khó khăn.
VNG.Thời gian: 2015 Ảnh hưởng đến: thông tin cá nhân của 160 triệu người dùng. Vào
ngày 26/4/2018, hơn 163 triệu tài khoản Zing ID bị phát hiện được rao bán trên một diễn đàn
nước ngoài. VNG xác nhận sự kiện này xảy ra từ năm 2015 nhưng đã không có hành động
công bố vụ việc. Các dữ liệu bị lộ bao gồm: mật khẩu, tên đăng nhập, mã game, email, số
điện thoại, họ tên đầy đủ, ngày sinh, địa chỉ, IP... Dữ liệu mật khẩu bị lộ được cộng đồng bảo
mật đánh giá đã được mã hóa khá sơ sài và dễ dàng bị giải mã bởi hacker.
Vietnam Airlines. Thời gian: tháng 7/2016 Ảnh hưởng đến: thông tin cá nhân của
411.000 người dùng; chiếm đoạt hệ thống thông báo sân bay. Chiều 29 tháng 7 năm 2016,
một số màn hình hiển thị thông tin chuyến bay của các Sân bay quốc tế Tân Sơn Nhất, Nội
Bài, Đà Nẵng, Sân bay Phú Quốc bị chèn những nội dung xúc phạm Việt Nam và
Philippines, xuyên tạc các nội dung về biển Đông. Website của Vietnam Airlines bị điều
hướng đến trang khác và tiết lộ dữ liệu của 411.000 thành viên Golden Lotus - phần lớn là
các lãnh đạo, quản lý cơ quan Nhà nước, ngân hàng, doanh nghiệp lớn... Những thông tin
trong file dữ liệu bao gồm họ tên, ngày sinh, địa chỉ thường trú, đơn vị làm việc, số điện
thoại, quốc tịch, ngày tham gia chương trình, điểm tích lũy, mật khẩu tài khoản GLP, và có
nguy cơ hacker giữ lại không công bố số thẻ tín dụng. Hơn 100 chuyến bay bị ảnh hưởng.
VCCorp. Thời gian: Tháng 10/2014 Ảnh hưởng đến: Nhiều website lớn của VCCorp
gồm Kênh14, Gamek, Genk, CafeF và một số website do VCCorp vận hành kỹ thuật như
Dân Trí, Soha, Người Lao Động… ngưng hoạt động. Trong khoảng 17-18/10, các website
thuộc sở hữu của VCCorp và các đối tác của công ty này liên tục không thể truy cập hoặc bị
chuyển hướng về trang blog “VCCorp tự truyện” với nhiều thông tin tiêu cực về VCCorp.
Báo Dantri và VnEconomy liên tiếp bị gián đoạn. Website giadinh.net.vn bị nghi ngờ bị
hacker xóa toàn bộ dữ liệu trên máy chủ. Sự cố đã gây thiệt hại cho VCCorp hàng chục tỷ
đồng và được coi là nghiêm trọng nhất từng xảy ra với VCCorp từ trước tới nay.
Bkav. Thời gian: Tháng 2/2012 Ảnh hưởng đến: Website bị deface, lộ hơn 100.000
địa chỉ email, mật khẩu diễn đàn, xuất hiện nhiều bài viết công kích. Vào 13/02/2012, nhóm
hacker tự nhận là “Anonymous/LulzSec Việt Nam” đã tấn công diễn đàn Bkav và công khai
4

toàn bộ cơ sở dữ liệu của diễn đàn bao gồm hơn 100.000 địa chỉ email và toàn bộ dữ liệu
cho đến tháng 02/2012. Ngày 24/02/2012, các hacker công bố 8 lỗi bảo mật nghiêm trọng
trong hệ thống website của công ty trên một trang blog. Tuy nhiên, đại diện từ Bkav đã
khẳng định thông tin về số lỗ hổng này là không chính xác và công ty này đã xác định được
đối tượng gây ra vụ hack
1.3 Các cách mà hacker xâm nhập vào hệ thống (rò rỉ thông tin cá nhân, mật khẩu, lừa người
dùng truy cập trái phép vào web, mã độc….)
 Thông qua các website: với thủ đoạn này, các đối tượng sẽ tạo lập hoặc lợi dụng các
website có nội dung hấp dẫn thu hút người dùng, khi người dùng truy cập sẽ âm thầm cài
cắm mã độc vào máy tính và các thiết bị thông minh mà người dùng không hề hay biết để
thu thập thông tin. Ví dụ như: đính kèm các mã độc vào các trang game online, các trang
web có nội dung đồi trụy… hoặc đối tượng tạo ra các trang đăng nhập thông tin giả mạo
(facebook, email, bank). Những trang này sẽ được gửi qua email đến nạn nhân và chúng có
giao diện giống hệt với trang đăng nhập của các nhà cung cấp dịch vụ. Nếu nạn nhân mất
cảnh giác và thực hiện đăng nhập thông tin trên trang web đó, thông tin sẽ được gửi đến
hacker thay vì là các nhà cung cấp dịch vụ như họ nghĩ.
 Thông qua phần mềm miễn phí trên mạng: với một số phần mềm được cung cấp miễn phí
trên mạng internet, đặc biệt là đối với những phầm mềm không rõ nguồn gốc, phần mềm bẻ
khóa, các đối tượng sẽ lợi dụng để cài cắm các mã độc đính kèm, khi người dùng tải về máy
và tiến hành cài đặt thì vô tình cài đặt mã độc lên chính thiết bị của mình. Và các mã độc này
sẽ tiến hành âm thầm thu thập thông tin cá nhân người dùng. Ví dụ: các chương trình crack,
patch phần mềm; một số phần mềm diệt virus giả mạo như AntivirusGold, Antivirus PC
2009, AntiSpyware Shield Pro, DoctorTrojan…
 Thông qua hòm thư điện tử: các mẫu virus mới thường giả mạo địa chỉ email của cán bộ,
đồng nghiệp trong cơ quan để gửi file cho cán bộ khác bằng tiếng Việt với nội dung như liên
quan tiền lương, xin ý kiến, chương trình công tác… Kẻ xấu thường tìm hiểu kỹ tên tuổi,
chức vụ của người trong cơ quan trước khi tiến hành phát tán mã độc qua email.
 Tấn công sử dụng USB, CD, DCD là vật trung gian: đây là các mã độc được viết riêng, có
chủ định, không bị các chương trình diệt vi rút phát hiện. Các mã độc này sử dụng USB, CD,
DCD làm vật trung gian. Đặc biệt, các đối tượng có thể cài cắm các mã độc này vào cả
5

những USB, CD, DCD mới, được bán trôi nổi trên thị trường. Khi các thiết bị lưu trữ này đã
nhiễm mã độc cắm vào máy tính, chúng tiến hành thu gom dữ liệu do các đối tượng quy
định (file tài liệu, file ảnh…), dữ liệu được nén và mã hóa trong các thư mục mà bình thường
không phát hiện được. Khi có điều kiện kết nối internet sẽ gửi ra máy chủ đặt ở nước ngoài.
 Tấn công qua các thiết bị thông minh (IoT): đây là một thủ đoạn mới, các đối tượng
thường nhắm vào các thiết bị thông minh có kết nối internet như: Router wifi, camera an
ninh, điện thoại thông minh… Bằng việc tiến hành rà quét nhằm phát hiện và lợi dụng các lỗ
hổng an ninh phổ biến trên các thiết bị này như: sử dụng tài khoản và mật khẩu mặc định của
nhà sản xuất, không cập nhật các bản vá lỗi thường xuyên… Từ đó, cài cắm mã độc nhằm
theo dõi, thu thập dữ liệu, đe dọa hoặc tống tiền người dùng. Ngoài ra, các đối tượng còn sử
dụng nhiều thiết bị nghe lén thông minh để thu thập thông tin.
Ngoài những thủ đoạn phổ biến kể trên, việc lộ lọt các thông tin cá nhân của người
dùng còn xuất phát từ chính người dùng. Nhận thức của một bộ phận người dân về nguy cơ
mất an ninh, an toàn thông tin còn hạn chế, tác phong giao tiếp trên môi trường mạng còn
tùy tiện. Nhu cầu trao đổi thông tin qua USB, thư điện tử ngày càng nhiều nhưng chưa có
các biện pháp cụ thể và toàn diện để bảo đảm an ninh, an toàn thông tin mạng (ATTTM).
Các cơ quan, tổ chức chưa có đủ nhân lực, vật lực để thực hiện công tác bảo đảm an ninh,
ANTT; chưa kiểm soát hết khả năng mất an ninh, ANTT do các phần mềm, thiết bị phần
cứng nhập ngoại.
6

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 TÌM HIỂU VỀ NMAP
2.1.1 Giới thiệu về Nmap
Nmap, viết tắt của Network Mapper, là một công cụ miễn phí và mã nguồn mở được
sử dụng cho mục đích thu thập thông tin của mạng mục tiêu hoặc kiểm tra an ninh của hệ
thống mạng đang quản lý.
2.1.2 Cách thức hoạt động :
Nmap sử dụng các IP trên các gói tin theo những cách đặc biệt khác nhau để có thể
xác định các host trên một hệ thống mạng , để rồi từ đó xác định xem những services đang
chạy trên hệ thống đó, hệ điều hành đang chạy, bộ lọc các gói tin cũng như tường lửa đang sủ
dụng là gì.
2.1.3 Tính năng của Nmap
 Phát hiện lỗ hổng bảo mật
 khai thác lỗ hổng bảo mật
 phát hiện ra backdoor
 quét mạng network
 quét các máy chủ và các cổng trên máy chủ trên hệ thống
 xác định hệ điều hành, service, firewall đang sử dụng
 cung cấp thông tin về loại thiết bị, tên DNS, địa chỉ Mac
 thực thi các đoạn script NSE hoặc Lua với các đối tượng được kiểm thử
2.1.4 Sử dụng Nmap:
Việc đầu tiên khi sử dụng Nmap là xác định mục tiêu cần quét, mục tiêu đó có thể là
1 domain, 1 địa chỉ IP cố định,1 dãi địa chỉ IP,
Ví dụ:
Bảng 2. 1 Ví dụ 1
Quét 1 IP nmap 192.168.40.1
Quét 1 dãi IP nmap 192.168.40/24
Quét 1 domain nmap google.com
7

 Quét TCP/UDP cơ bản:


Có hai loại giao thức truy cập mạng: TCP (Transmission Control Protocol) và UDP
(User Datagram Protocol):
 TCP là kết nối có định hướng. Nó thiết lập kênh kết nối trước khi truyền data đi.
Còn UDP là giao thức phi kết nối đơn giản hơn.
 UDP là giao thức thuộc dạng connectionless, nghĩa là không hướng kết nối. Nó
không cần thiết lập kênh truyền trước khi truyền dữ liệu đi. Những tin nhắn hàng
loạt sẽ được gửi đi theo “gói” trong mảng. Khác với TCP, UDP không tăng cường
độ tin cậy, điều chỉnh lưu lượng hay chứa chức năng phục hồi hỏng hóc cho gói
IP.
Các thông số Flag trong TCP, bao gồm 6 flag sau đây:
Bảng 2. 2 Thông số Flag trong TCP
Flag Use

SYN (Synchronize) Yêu cầu kết nối giữa 2 máy.

ACK Trả lời kết nối giữa 2 máy có thể bắt đầu
(Acknowledgement) thực hiện
Thông số nhằm thiết lập độ ưu tiên cần xử
UrG (Urgent)
lý ngay cho gói tin.
Thực hiện chức năng đẩy trong bộ đệm
PSH
trong TCP – thường sử dụng cho các gói
(Push)
tin ưu tiên.

FIN (Final) Kết thúc quá trình kết nối giữa 2 máy.

RST (Reset) Khởi động lại kết nối.

Trong quá trình thiết lập kết nối TPC giữa các máy chủ, quá trình bắt tay 3 bước diễn
ra. Quá trình bắt tay này đảm bảo chu kỳ kết nối thành công, đáng tin cậy và kết nối có định
8

hướng giữa các máy chủ. Chu trình thiết lập một kết nối TCP bao gồm ba bước được thể
hiện dưới đây:

Hình 2. 1 TCP Handshaking


 Bước 1: Host A gửi một gói tin SYN. Host B nhận gói tin SYN.
 Bước 2: Host B gửi về Host Amột gói tin SYN/ACK. Host A nhận gói tin SYN/ACK.
 Bước 3: Host A gửi gói tin ACK tới Host B. Host B nhận gói tin ACK.
 => Kết nối TCP được thiết lập.
 Chu trình kết thúc một kết nối được thể hiện như sau:

Hình 2. 2 Chu trình kết thúc một kết nối


 Bước 1: Client gửi đến Server một gói tin FIN ACK.
 Bước 2: Server gửi lại cho Client một gói tin ACK.
 Bước 3: Server lại gửi cho Client một gói FIN ACK.
 Bước 4: Client gửi lại cho Server gói ACK và quá trình ngắt kết nối giữa Server và
Client được thực hiện.
 *Chi tiết về các kỹ thuật quét
 + TCP SYN scan: được gọi là Half Open Scan hay Stealth Scan. Quá trình quét
diễn ra giữa hai máy host A và B, với host A là điểm bắt đầu kết nối bắt tay TCP, host B là
host mục tiêu. Host A sẽ gửi một gói tin TCP-SYN (Gói dữ liệu với cờ SYN/cờ đồng bộ) tới
1 port của mục tiêu để bắt đầu bắt tay. Khi host B hồi đáp bằng gói tin ACK_SYN, nếu host
9

A nhận được gói tin nghĩa là port ở trạng thái open, host A thì sẽ trả lời bằng gói tin RST
(Reset) để đóng kết nối, thay vì trả lời ACK để hoàn tất quá trình bắt tay 3 bước. Nếu host A
nhận được RST thì port đó ở trạng thái close. Nếu sau 1 số lần gửi mà không nhận được trả
lời hoặc nhận được ICMP type 3 (unreachable error) thì port đó ở trạng thái filtered (đã bị
tường lửa chặn). Để biểu diễn kiểu scan này, ta sử dụng cú pháp:
nmap -sS [địa chỉ IP mục tiêu]
+ TCP connect scan: Kỹ thuật này cho kết quả tương tự như TCP SYN scan, nếu host
A nhận được ACK-SYN thì sẽ gửi gói tin ACK để hoàn tất quá trình bắt tay 3 bước. TCP
connect scan được dùng khi user không có quyền truy cập raw packet để thực hiện SYN
scan (thường thì với quyền root trên linux mới có thể sử dụng SYN scan). TCP connect scan
sẽ sử dụng TCP stack của hệ điều hành để tạo ra 1 kết nối bình thường với mục tiêu (host B).
Tuy nhiên, do thực hiện 1 kết nối đầy đủ nên kỹ thuật này dễ bị phát hiện, loại bỏ bởi các
thiết bị bảo mật như tường lửa và IDS của máy mục tiêu, do đó SYN scan thường được sử
dụng nhiều hơn để tránh bị phát hiện. Cú pháp của kỹ thuật quét TCP connect:
nmap -sT [địa chỉ IP mục tiêu]
+ UDP scan: Đây là kiểu scan để phát hiện một cổng UDP đang mở. Do UDP là giao thức
phi kết nối, UDP không có các flag. Khi gói tin UDP đang hoạt động với các port, ta không
cần đến các kết nối có định hướng. Sẽ chẳng có phản hồi nào nếu port mục tiêu đang mở.
Tuy nhiên, nếu port bị đóng, tin nhắn phản hồi “Port unreachable” sẽ được gửi về. Hầu hết
các chương trình độc hại, Trojans, phần mềm gián điệp sử dụng port UDP để truy cập vào
mục tiêu. Cú pháp lệnh:
nmap -sU [địa chỉ IP mục tiêu]
+ Xmas scan: là kiểu scan trong đó chứa nhiều flag. Các gói tin được gửi đi song song với
URG, PSH và FIN, hoặc một gói tin với tất cả các flag tạo ra một tình huống bất thường đối
với người nhận. Cú pháp lệnh:
nmap -sX [địa chỉ IP mục tiêu]
+ FIN scan: là quá trình gửi đi các gói tin chỉ chứa bộ FIN flag. Những gói tin này có thể có
quyền tin cậy để vượt qua tường lửa. FIN Scan chỉ hoạt động với hệ điều hành nào có RFC-
793 based TCP/IP Implementation. FIN Scan sẽ không hoạt động trên bất cứ phiên bản hiện
10

tại nào của Windows, điển hình như Windows XP hoặc những phiên bản mới hơn. Cú pháp
lệnh:
nmap -sF [địa chỉ IP mục tiêu]
 + Null Scan: Là quy trình gửi đi các gói tin không chứa các bộ flag. Các phản hồi đều
tương tự với FIN và XMAS Scan. Việc thực hiện kiểu scan này tương đối dễ dàng vì không
có lý do hợp lý nào giải thích cho việc gửi đi gói tin mà không có flag nào.
nmap -sN [địa chỉ IP mục tiêu]
 Khi 3 loại gói tin này được gửi tới mục tiêu, các port sẽ được xem như là open nếu
không có hồi đáp. Nếu RST được trả lại, port sẽ là close. Nếu nhận được các loại gói tin
ICMP (type 3, code 1, 2, 3, 9, 10, or 13) thì port ở trạng thái filtered.
 Sử dụng tùy chọn –sn (No port scan) để thực hiện quá trình host discovery
(nmap sẽ dừng lại sau khi xác định các host đang chạy và không thực hiện việc quét port).
Tùy chọn –Pn để bỏ qua host discovery, Nmap sẽ chuyển qua quá trình quét port.
+ Quét port cụ thể
Mặc định nmap sẽ quét 1000 port phổ biến nhất với thứ tự ngẫu nhiên. Bên cạnh đó ta có cái
tùy chọn để quét cổng như:
-p [số cổng] [IP của mục tiêu]: lựa chọn chính xác các port cần quét, nếu quét đồng
thời nhiều giao thức thì thêm các chữ cái đứng trước số port T: TCP, U: UDP, S: SCTP, or
P: IP Protocol.
–F (Fast scan): Nmap quét 100 port phổ biến nhất thay vì mặc định 1000 port.
–top-ports : quét n port phổ biến nhất.
–r: thứ tự quét các port từ thấp lên cao thay vì mặc định là ngẫu nhiên.
+ Xác định dịch vụ, phiên bản, hệ điều hành
–sV: Xác định các port và dịch vụ, phiên bản phần mềm của máy mục tiêu.
–O [IP của mục tiêu]: xác định hệ điều hành máy mục tiêu. Nmap xác định hệ điều
hành dựa trên TCP/IP stack fingerprint của mục tiêu (ví dụ như Sequence Number, window
size, các Options và thứ tự của chúng trong TCP header, Identification number trong IP
header, …).
+ Nmap hỗ trợ chạy các script đặc biệt:
11

Nmap Scripting Engine (NSE) là một trong những chức năng linh hoạt và mạnh mẽ
nhất của Nmap. Nó cho phép người dùng viết và chia sẻ những đoạn script đơn giản để thực
hiện những công việc khác nhau trong lĩnh vực networking một cách tự động. Những đoạn
script có thể sử dụng để phát hiện các lỗ hổng, thậm chí khai thác các lỗ hổng. Để thực hiện
chức năng này của nmap sử dụng tùy chọn:
--script [tên_script].nse
Trong nmap chúng ta gồm có 4 loại NSE scripts như sau :
• Host script: là một loại script được thực thi sau khi nmap đã thực hiện tác vụ của nó như
quét những host, cổng mạng hay hệ điều hành,…
• Prerule script: là một loại script được thực thi trước bất kì 1 tác vụ quét hay thu thập thông
tin nào.
• Service script: là loại script chạy để chống lại 1 service đang lắng nghe ở trên mục tiêu
đang pentest.
• Postrule sciprt: là loại script chạy sau khi Nmap thực thi scan mục tiêu.
Vị trí của NSE script : Các script (.nse file) nằm trong thư mục script khi cài đặt
nmap, người dùng có thể tùy biến chỉnh sửa, thêm các scirpt khác. Trên mỗi hệ điều hành
khác nhau chúng sẽ được lưu trữ ở một vị trí khác nhau:
- Trên linux: ~/.nmap/scripts/ hoặc /usr/share/nmap/scripts/ hoặc trong $NMAPDIR. Hoặc
với cách dễ nhất là chạy lệnh :locate *.nse
- Trên Mac: /usr/local/Cellar/nmap//share/nmap/scripts/
- Trên windows: C:\Program Files (x86)\Nmap\scripts hoặc C:\Program Files\Nmap\scripts
Ngoài ra trong tường hợp muốn update các script NSE trên Nmap hãy sử dụng lệnh: sudo
nmap --script-updatedb
Một số ví dụ về sử dụng NSE Script để scan các lỗ hổng bảo mật trên hệ thống:
• SSL-HEARTBLEED : Phát hiện lỗ hổng bảo mật OpenSSL Heartbleed bug (CVE-2014-
0160).
nmap -sV -p 443 –script=ssl-heartbleed.nse [IP của mục tiêu]
• NMAP-VULNERS: NSE script giúp cung cấp thông tin về lỗ hổng có thể trên hệ thống
dựa theo API của Vulners.com.
nmap -sV --script vulners [--script-args mincvss=] [IP của mục tiêu]
12

• FREEVULNSEARCH: NSE script giúp truy vấn các lỗ hổng thông qua API cve-
search.org.
nmap -sV --script freevulnsearch [IP của mục tiêu]
+ Lưu lại kết quả quét
Cuối cùng Nmap cho phép người dùng có thể lưu lại kết quả quét của mình dưới dạng
text hoặc xml (có thể dùng kết quả làm đầu vào cho một số công cụ khác) với các tùy chọn:
-oN (normal output) hoặc -oX (xml output)
+ Một số kỹ thuật quét cổng nâng cao
Decoy Scan
Decoy Scan là một kỹ thuật thực hiện một IP Spoofing (giả mạo). Mục đích nhằm ấn địa chỉ
thực sự của kẻ tấn công (scanner). Ví dụ:
nmap -sS 192.168.1.22 -D 1.2.3.4, 5.6.7.8
Sau tham số “-D” là các giá trị IP cụ thể, với mỗi cổng khi scan mục tiêu sẽ nhận đồng thời 3
gói tin (một từ kẻ tấn công, một từ IP: 1.2.3.4, và một từ IP: 5.6.7.8). Kết quả là mục tiêu sẽ
phản hồi với cả 3 địa chỉ IP và sẽ nghĩ rằng cả 3 IP đang scan mình. Tuy nhiên, khi ta tăng
giá trị IP lên hàng trăm IP thì việc tìm ra kẻ tấn công thực sự là rất khó khăn.
Idle Scan
Idle Scan là một kỹ thuật phức tạp cho phép ẩn hoàn toàn kẻ tấn công. trong Scan này
sẽ có 3 thành phần: 1 là kẻ tấn công, một Zombie (một máy bị kẻ tấn công lợi dụng) và một
là mục tiêu cần quét cổng. Điều kiện là máy Zombie không thực hiện các hoạt động khác
ngoại trừ việc giao tiếp với Kẻ tấn công. IPID: Mỗi IP packet được gửi trên mạng có một số
duy nhất được gọi là fragment identification (hay gọi là IPID).

Hình 2. 3 The first stage and the second stage of an idle scan
13

1. Kẻ tấn công sẽ gửi một gói tin SYN|ACK đến một cổng của Zombie và sẽ phản hồi một
gói tin RST chứa 1 IP ID.
2. Kẻ tấn công tiếp tục gửi một gói tin SYN giả mạo IP của Zombie đến cổng của mục tiêu.
3. Nếu cổng đó đóng mục tiêu sẽ phản hồi đến Zombie một RST packet và zombie sẽ không
tăng giá trị IP ID, nếu cổng là mở, mục tiêu sẽ gửi một gói tin SYN|ACK đến zombie và
zombie sẽ tăng giá trị IP ID lên 1.
4. Kẻ tấn công sẽ gửi một gói tin SYN|ACK khác tới Zombie và kiểm tra nếu IP ID tăng
hoặc không tăng tương ứng với cổng được mở hoặc đóng trên Mục tiêu.
2.2 Tìm hiểu về THC-Hydra
2.2.1 Giới thiệu về Hydra
Hydra là một trình bẻ khóa đăng nhập song song hỗ trợ nhiều giao thức để tấn công. Nó rất
nhanh và linh hoạt, và dễ dàng thêm các mô-đun mới. Công cụ này giúp các nhà nghiên cứu
và nhà tư vấn bảo mật có thể chỉ ra việc truy cập trái phép vào hệ thống từ xa dễ dàng như
thế nào.

Hình 2. 4 A Password Cracking Tool


2.2.2 Các chức năng có trong kỹ thuật
Kỹ thuật hydra có nhiều tính năng khác nhau như:
-R: khôi phục phiên bị hủy / gặp sự cố trước đó
-T: bỏ qua một tập tin khôi phục hiện có.
-S: thực hiện kết nối SSL
-s: PORT nếu dịch vụ nằm trên một cổng mặc định khác, hãy xác định nó ở đây
-l ĐĂNG NHẬP hoặc -L: đăng nhập FILE với tên ĐĂNG NHẬP hoặc tải một số thông tin
đăng nhập từ FILE
-p PASS hoặc -P: FILE thử PASS mật khẩu hoặc tải một số mật khẩu từ FILE
14

-x MIN: MAX: CHARSET: mật khẩu tạo bruteforce, nhập “-x -h” để nhận trợ giúp
-e nsr: thử “n” null password, đăng nhập “s” dưới dạng pass và / hoặc “r” đăng nhập bị đảo
ngược
-u: vòng lặp xung quanh người dùng, không phải mật khẩu (hiệu quả! ngụ ý với -x)
-C FILE: định dạng “đăng nhập: vượt qua” được phân tách bằng dấu hai chấm, thay vì tùy
chọn -L / -P
-M FILE: danh sách các máy chủ bị tấn công song song, một mục trên mỗi dòng
-o FILE: ghi các cặp đăng nhập / mật khẩu được tìm thấy vào FILE thay vì stdout
-f / -F: thoát khi tìm thấy cặp đăng nhập / vượt qua (-M: -f trên mỗi máy chủ, -F toàn cầu)
-t TASKS: chạy TASKS số lượng kết nối song song (trên mỗi máy chủ lưu trữ, mặc định:
16)
-w / -W TIME: thời gian chờ phản hồi (32 giây) / giữa các kết nối trên mỗi chuỗi
-4 / -6: ưu tiên địa chỉ IPv4 (mặc định) hoặc IPv6
-v / -V / -d: chế độ tiết / hiển thị đăng nhập + vượt qua cho mỗi lần thử / chế độ gỡ lỗi
-U: chi tiết sử dụng mô-đun dịch vụ
2.2.3 Cài đặt công cụ hỗ trợ tấn công hydra
Gõ lệnh như sau:
-git clone https://github.com/vanhauser-thc/thc-hydra-git
-cd thc-hydra ./configure make
-make install
2.3 TÌM HIỂU KỸ THUẬT SQLMAP
2.3.1 Giới thiệu về Sqlmap
SQLMAP là công cụ khai thác những lổ hỏng của cơ sở dữ liệu SQL. Công cụ này được
xem là công cụ khai thác SQL tốt nhất hiện nay. Được giới bảo mật và giới hacker sử dụng
thường xuyên. Với người dùng Kali hoặc Back Track 5 thì SQLMAP đã được tích hợp sẵn
vào hệ điều hành. Riêng Windows thì chúng ta phải cài đặt thêm python và SQLMAP để sử
dụng.
Đây là công cụ mã nguồn mở, tự động hóa quá trình phát hiện và khai thác lỗ hổng SQL. Nó
đi kèm với một công cụ phát hiện mạnh mẽ, nhiều tính năng thích hợp cho trình kiểm tra
thâm nhập cuối cùng
15

Hình 2. 5 Sqlmap
2.3.2 Tính năng của Sqlmap
Hỗ trợ đầy đủ làm việc với các hệ quản trị cơ sở dữ liệu MySQL, Oracle,
PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase,
SAP MaxDB, Informix, MariaDB, MemSQL, TiDB, CockroachDB, ...
Hỗ trợ đầy đủ cho các kỹ thuật tấn công SQL Injection: boolean-based blind, time-
based blind, error-based, UNION query-based, stacked queries và out-of-band
Kết nối trực tiếp với cơ sở dữ liệu mà không cần thông qua SQL SQL, bằng cách cung cấp
thông tin đăng nhập DBMS, địa chỉ IP, cổng và tên cơ sở dữ liệu.
Liệt kê người dùng, password hash, đặc quyền, vai trò, cơ sở dữ liệu, bảng và cột

.
Hình 2. 6 Tính năng splmap
Tự động nhận dạng các định dạng băm mật khẩu và hỗ trợ bẻ khóa chúng bằng cách sử dụng
một cuộc tấn công dựa trên từ điển.
Trích xuất hoàn toàn các bảng cơ sở dữ liệu, một loạt các mục hoặc các cột cụ thể theo lựa
chọn của người dùng
16

Tìm kiếm tên cơ sở dữ liệu cụ thể, các bảng cụ thể trên tất cả các cơ sở dữ liệu hoặc các cột
cụ thể trên tất cả các bảng của cơ sở dữ liệu
Tải xuống và tải lên bất kỳ tệp nào từ máy chủ cơ sở dữ liệu bên dưới hệ thống tệp khi phần
mềm cơ sở dữ liệu là MySQL, PostgreQuery hoặc Microsoft SQL Server.
Thực hiện các lệnh tùy ý và truy xuất đầu ra tiêu chuẩn của chúng trên máy chủ cơ sở dữ liệu
bên dưới hệ điều hành khi phần mềm cơ sở dữ liệu là MySQL, PostgreQuery hoặc Microsoft
SQL Server
2.3.3 Các tham số có trong Sqlmap
Cách sử dụng: sqlmap
Tùy chọn:
-h, --help Hiển thị thông báo trợ giúp cơ bản và thoát
-hh Hiển thị thông báo trợ giúp nâng cao và thoát
--version Hiển thị số phiên bản của chương trình và thoát
-v ĐỘNG TỪ Mức độ chi tiết: 0-6 (mặc định 1)
Mục tiêu:
Ít nhất một trong các tùy chọn này phải được cung cấp để xác định (các) mục tiêu
-u URL, --url = URL Mục tiêu URL (ví dụ: "http://www.site.com/vuln.php?id=1")
-g GOOGLEDORK Xử lý kết quả Google dork dưới dạng URL mục tiêu
Yêu cầu:
Các tùy chọn này có thể được sử dụng để chỉ định cách kết nối với URL mục tiêu
--data = DATA Chuỗi dữ liệu sẽ được gửi qua POST (ví dụ: "id = 1")
--cookie = COOKIE HTTP giá trị tiêu đề Cookie (ví dụ: "PHPSESSID = a8d127e ..")
--random-agent Sử dụng giá trị tiêu đề Tác nhân Người dùng HTTP được chọn ngẫu nhiên
--proxy = PROXY Sử dụng proxy để kết nối với URL đích
--tor Sử dụng mạng ẩn danh Tor
--check-tor Kiểm tra xem Tor có được sử dụng đúng cách không
Mũi tiêm:
Các tùy chọn này có thể được sử dụng để chỉ định tham số nào cần kiểm tra, cung cấp tải
trọng tiêm tùy chỉnh và tập lệnh giả mạo tùy chọn
-p TESTPARAMETER (Các) thông số có thể kiểm tra
17

--dbms = DBMS Buộc DBMS back-end đến giá trị được cung cấp
Phát hiện:
Các tùy chọn này có thể được sử dụng để tùy chỉnh giai đoạn phát hiện
--level = LEVEL Mức độ kiểm tra cần thực hiện (1-5, mặc định 1)
--risk = RỦI RO Rủi ro các thử nghiệm phải thực hiện (1-3, mặc định 1)
Kỹ thuật:
Các tùy chọn này có thể được sử dụng để điều chỉnh kiểm tra SQL njection cụ thể
--technique = TECH .. Các kỹ thuật chèn SQL để sử dụng (mặc định là "BEUSTQ")
Liệt kê:
Các tùy chọn này có thể được sử dụng để liệt kê thông tin, cấu trúc và dữ liệu của hệ
thống quản lý cơ sở dữ liệu back-end chứa trong các bảng
-a, - tất cả Truy xuất mọi thứ
-b, --banner Truy xuất biểu ngữ DBMS
--current-user Truy xuất người dùng hiện tại của DBMS
--current-db Truy xuất cơ sở dữ liệu hiện tại của DBMS
--passwords Liệt kê các băm mật khẩu của người dùng DBMS
--tables Liệt kê các bảng cơ sở dữ liệu DBMS
--của cột Liệt kê các cột trong bảng cơ sở dữ liệu DBMS
--schema Liệt kê lược đồ DBMS
--dump Dump các mục nhập trong bảng cơ sở dữ liệu DBMS
--dump-all Dump tất cả các mục nhập của bảng cơ sở dữ liệu DBMS
-D DB DBMS cơ sở dữ liệu để liệt kê
-T (các) bảng cơ sở dữ liệu DBMS TBL để liệt kê
-C COL DBMS trong bảng cơ sở dữ liệu để liệt kê
Quyền truy cập hệ điều hành:
Các tùy chọn này có thể được sử dụng để truy cập vào quản lý cơ sở dữ liệu phía sau
hệ điều hành cơ bản
--os-shell Lời nhắc cho một hệ điều hành tương tác shell
--os-pwn Prompt cho OOB shell, Meterpreter hoặc VNC
Chung:
18

Các tùy chọn này có thể được sử dụng để thiết lập một số thông số làm việc chung
--batch Không bao giờ yêu cầu đầu vào của người dùng, hãy sử dụng hành vi mặc định
--flush-session Flush các tệp phiên cho mục tiêu hiện tại
Điều khoản khác:
Các tùy chọn này không phù hợp với bất kỳ danh mục nào khác
--wizard Giao diện thuật sĩ đơn giản cho người mới bắt đầu
19

CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG


3.1 KỸ THUẬT NMAP
Bước 1: Định cấu hình Nmap để quét một mục tiêu:
Câu lệnh : nmap [địa chỉ IP] –A
20

Bước 2 : Tính toán mạng con và quét một phạm vi cụ thể để tìm ra thiêt bị. Quét ARP
với truy vấn –PR

Bước 3 Tạo một danh sách hoạt động máy chủ có mục tiêu

Bước 4: Xác định hệ điều hành trên các thiết bị:


Ta có thể lấy danh sách .txt đã tạo ở mục trước và quét hệ điều hành, yêu cầu quyền root. Sử
dụng –O để quét hệ điều hành, -IL để đọc file .txt của máy chủ đích
21

• Quét một port cụ thể: Trong một số trường hợp, chúng ta có thể chỉ muốn biết nếu một
cổng duy nhất được mở. Chẳng hạn, ta có thể xem hệ thống này có mở cổng 80 hay không
bằng cách thêm -p sau địa chỉ IP đích và số cổng.
nmap -p 80 192.168.1.129

• Kiểm tra xem host còn alive không: nmap -sn

• Quét xác định phiên bản của dịch vụ đang chạy trên host: nmap -sV 192.168.40.1

• Quét 1 domain: nmap testasp.vulnweb.com


22

3.2. KỸ THUẬT THC-HYDRA


3.2.1 Phương pháp brute force of websites
3.2.1.1 Công cụ đi kèm
Công cụ đi kèm firefox: trình duyệt Firefox là một trình duyệt web mã nguồn mở
được sử dụng để truy cập dữ liệu có sẵn trên World Wide Web. So với Internet Explorer,
trình duyệt web phổ biến Firefox cung cấp cho người dùng giao diện người dùng đơn giản
và tốc độ tải xuống nhanh hơn. Nó sử dụng công cụ bố cục Gecko để dịch các trang web,
thực thi các tiêu chuẩn web hiện tại và dự đoán. Firefox được sử dụng rộng rãi như một giải
pháp thay thế cho Internet Explorer 6.0 vì nó cung cấp khả năng bảo vệ người dùng khỏi
phần mềm gián điệp và bảo vệ khỏi các phần mềm độc hại
3.2.1.2 Mô tả
Khi muốn tấn công tài khoản thì người tấn công cần xác định được trên tài khoản của
người dùng. Sau dó sử dụng trình đuyệt firefox để xác định phương thức gửi của trang web
là post hay get từ đó thay đổi tỳ chọn trong cấu trúc hydra để tấn công đò mật khẩu, và cần
chuẩn bị file word cập nhật mới nhất để tăng khả năng đò mật khẩu. Mật khẩu càng phức tạp
thì thời gian dò mật khẩu càng lâu.
3.2.1.3 Các bước thực hiện
a. Lấy các thông số trên trang web cần tấn công
Trong trình duyệt firefox, bạn vào trang đăng nhập sau đó nhấn tổ hợp phím ‘CTRL +
SHIFT + Q’ hoặc chuột phải.
B1: tìm -l <username>
Ta cần vào trang đăng nhập để thử tên username đăng nhập
Vậy thành phần hydra -l <username> -> hydra -l tuituyenne. Tương ứng với hydra -l
tuituyenne.

Hình 3. 1 Nhập tên usernam


B2: tìm đanh sách mật khẩu trong kali
23

Trong kali lunix tai chọn theo đường dẫn /usr/share/wordlists sẽ hiển thị 2 file password cho
bạn có thể chọn là file fasttrack.txt và file rockyou.txt.gz hoặc tạo 1 file paslist.txt có chứa
mật khẩu.

Hình 3. 2 File password dò mật khẩu


-P <password tương ứng là – P passlist.txt
B3: Tìm ip của trang web
Phía trên trang web bạn chọn có đường link bạn sẽ chọn phần đầu của link

Hình 3. 3 Lấy địa chỉ ip trang web


<ip> tương ứng là testasp.vulnweb.com
B4: tìm phần "/<login url>
Đây là phần phí sau của link trang web

Hình 3. 4 Lấy login url


Tương ứng với "/<login url> trong cấu trúc hydra sẽ là /Login.asp RetURL=%2 FDefault
%2Easp%3F
B5: Tìm phương thức gửi của trang web
B5.1
Bạn cần chọn trình duyệt firefox
Vào trang đăng nhập
24

Nhập đúng tên tài khoản và nhập ngẫu nhiên mật khẩu
Bạn clik chuột phải sau đó chọn kiểm tra và chọn mạng

Hình 3. 5 Xác dịnh phương thức


Tiếp theo ban nhấn vào phương thức cụ thể ở trang web này là POST

Hình 3. 6 Xác định chuỗi tai khoản và mật khẩu


Tiếp theo bạn chọn vào phần yêu cầu thì chuỗi tài khoản và mật khẩu được gửi sẽ hiện ra

Hình 3. 7 Xác định chuỗi tài khoản và mật khẩu


Vậy tương ứng với phần :username=^USER^&password=^PASS^ của cấu trúc hydra sẽ
là :tfUName=^USER^&tfUPass=^PASS^.
Và đồng thời ta cũng xác định đươc là http-post-form
B6: là các tỳ chọn khi trong hydra
Mình vừa hướng dẫn các bạn tìm từng phần trong cấu trúc hydra và tương ứng với cấu trúc
25

hydra -l <username> -P <password list> <ip> http-post-form "/<login


url>:username=^USER^&password=^PASS^:F=incorrect" -V. Hydra này thì sau khi ghép
các phần lại ta được hydra -l tuituyenne -P passlists.txt testasp.vulnweb.comhttp-post-
form"/Login.asp?RetURL=%2FDefault%2Easp %3F:
tfUName=^USER^&tfUPass=^PASS^:S=logout" -V
Và ở phần các lựa chọn các bạn có thể thay đổi :S=logout bằng F=incorrect, hoặc có thể
thay thế -V bằng nhiều tùy chọn khác như -vV -f tùy theo mục đích bạn cần
b. Chạy thực nghiệm trên kalilinux
B1: Bạn cần cho kali linux chạy với quyền root
Gõ lệnh sudo su

Hình 3. 8 Truy cập quyền root


B2: Bạn nhâp lên hydra -h để xem các tùy chọn

Hình 3. 9 Các thông số kỹ thuật hydra


26

B3: bạn cần gõ cấu trúc hydra mà mình vừa hướng dẫn các bạn tìm vào
hydra -l tuituyenne -P passlist.txt testasp.vulnweb.com http-post-form "/Login.asp?
RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^: S=logout" -V

Hình 3. 10 Dò mật khẩu


B4: Ghi nhận thành quả của bạn
Ta có được mật khẩu cho tài khoản tuituyenne là admin@

Hình 3. 11 kết quả dò mật khẩu


3.3 BIỆN PHÁP PHÒNG TRÁNH
3.2.1 Với người dùng
Không sử dụng thông tin liên quan đến bản thân mà có thể lấy được trên mạng như
tên, ngày sinh, vv...
Có càng nhiều ký tự càng tốt: việc sử dụng từ 10 ký tự trở lên có thể khiến cho việc
brute-force tốn rất nhiều thời gian, thời gian có thể lên cả năm trời.
Kết hợp các chữ cái, số và các ký hiệu đặc biệt.
Tránh sử dụng những mật khẩu đơn giản như: 123456, password,...
Bên cạnh đó việc không sử dụng cùng 1 mật khẩu trên nhiều tài khoản khác nhau có
thể tránh tối đa hậu quả khi bị mất mật khẩu.
3.2.2 Với người quản trị
Yêu cầu mật khẩu mạnh: bạn có thể buộc người dùng xác định mật khẩu dài và phức
tạp. Bạn cũng nên thực thi các thay đổi mật khẩu định kỳ.
27

Hạn chế số lần đăng nhập sai: Giới hạn số lần thử cũng làm giảm khả năng bị tấn công
brute-force. Đi kèm với đó là việc làm tăng thời gian cho phép nhập khi nhập quá nhiều lần
sai.
Xác thực hai yếu tố: Quản trị viên có thể yêu cầu xác thực hai bước và cài đặt hệ
thống phát hiện xâm nhập phát hiện các cuộc tấn công. Điều này yêu cầu người dùng theo
dõi nỗ lực đăng nhập bằng yếu tố thứ hai, chẳng hạn như khóa USB vật lý hoặc quét sinh
trắc học dấu vân tay.
Captcha: các công cụ như reCAPTCHA yêu cầu người dùng hoàn thành các tác vụ
đơn giản để đăng nhập vào hệ thống. Việc này có thể ngăn chặn các công cụ brute-force tự
động.
3.4 KỸ THUẬT SQLMAP
3.4.1 Cài đặt công cụ hỗ trợ tấn công Sqlmap
SQLMap đã được cài đặt sẵn trong Kali
Để sử dụng, vào mục Applications -> Exploitation Tool -> SQLMap hoặc tại Terminal gõ
sqlmap
3.4.2 Cài đặt tấn công
Trong demo này, chúng ta sẽ thử tìm cách lấy được thông tin đăng nhập vào trang
Web: http://testphp.vulnweb.com/ (Đây là trang Web demo nên các bạn có thể thử thoải mái
nhé)
Bước 1: Mở teminal và gõ lệnh như sau:

Hình 3. 12 Trang web tấn công bằng sqlmap


28

sqlmap –u “http://testphp.vulnweb.com/search.php?test=query”
u: là url của mục tiêu
SQLMap sẽ phát hiện lỗ hổng của mục tiêu vào đưa ra thông tin về lỗ hổng.
Bước 2: Khi đã xác định được là website mục tiêu tồn tại lỗ hổng SQL injection, ta tiến
hành tìm tên cơ sở dữ liệu
python sqlmap –u “http://testphp.vulnweb.com/search.php?test=query” –dbs
dbs là option để liệt kê các cơ sở dữ liệu của website

Hình 3. 13 Tìm cơ sở dữ liệu


Bước 3: Sau khi xác định được tên cơ sở dữ liệu, ta sẽ tìm tiếp tên các bảng có trong cơ
sở dữ liệu
sqlmap -u"http://testphp.vulnweb.com/search.php?test=query" --tables -D acuart
Option – tables để liệt kê tất cả các bảng có trong cơ sở dữ liệu
Option –D là tên cơ sở dữ liệu cần liệt kê bảng
Câu lệnh trên để liệt kê các bảng trong cơ sở dữ liệu acuart
29

Hình 3. 14 Tìm các tên bảng có trong cơ sở dữ liệu


Bước 4: Xác định tên các cột trong bảng
Ta thấy table user có thể chứa thông tin đăng nhập nên ta sử dụng lệnh sau để xác định tên
các cột trong bảng user
sqlmap -u"http://testphp.vulnweb.com/search.php?test=query" --columns -D acuart -T users
Option –columns để liệt kê ra các cột trong bảng Option –D tên csdl Option –T tên bảng cần
liệt kê các cột Câu lệnh liệt kê các trường của bảng user trong csdl acuart

Hình 3. 15 Xác đinh các cột trong bảng user


30

Trong bản users có các trường uname và pass khả năng cao chưa tên tài khoản và mật khẩu
để đăng nhập vào hệ thống
Bước 5: Lấy dữ liệu trong bảng
Sqlmap -u"http://testphp.vulnweb.com/search.php?test=query" --dump -D acuart -T users
Câu lệnh trên để lấy ra các bản ghi của bảng users

Hình 3. 16 Lấy dữ liệu trong bảng


Bảng users có 1 bản ghi chứa thông tin của username và password là "test", "test" Sử dụng
tài khoản này, ta sẽ đăng nhập vào được hệ thống
3.4.3. Biện pháp phòng tránh
Nói chung có thể ngăn chặn việc đưa vào SQL bằng cách sử dụng Câu lệnh chuẩn bị
.Khi chúng tôi sử dụng một câu lệnh đã chuẩn bị, về cơ bản chúng tôi đang sử dụng một
mẫu cho mã và phân tích mã và đầu vào của người dùng một cách riêng biệt. Nó không kết
hợp truy vấn người dùng đã nhập và mã. Trong ví dụ được đưa ra ở đầu bài viết này, đầu
vào do người dùng nhập được chèn trực tiếp vào mã và chúng được biên dịch lại với nhau,
do đó chúng ta có thể thực thi mã độc. Đối với các câu lệnh đã chuẩn bị, về cơ bản, chúng
tôi gửi truy vấn sql với trình giữ chỗ cho đầu vào của người dùng và sau đó gửi đầu vào
của người dùng thực tế dưới dạng một lệnh riêng biệt.
Hãy xem xét đoạn mã php sau đây.
$ db = new PDO ('chi tiết kết nối');
$ stmt = db-> standard ("Chọn tên từ người dùng có id =: id");
$ stmt-> execute (array (': id', $ data));
31

Trong mã này, đầu vào của người dùng không được kết hợp với câu lệnh đã chuẩn bị.
Chúng được biên dịch riêng biệt. Vì vậy, ngay cả khi mã độc hại được nhập dưới dạng đầu
vào của người dùng, chương trình sẽ đơn giản coi phần mã độc hại là một chuỗi chứ không
phải lệnh.
Lưu ý: Ứng dụng này chỉ được sử dụng cho mục đích thử nghiệm
32

CHƯƠNG 4: KẾT LUẬN


4.1 KẾT QUẢ ĐẠT ĐƯỢC
- Tìm hiểu và mô phỏng thành công Hydra,Nmap, Sqlmap.
- Củng cố kiến thức về an ninh mạng.
Thuận lợi
- Được sự chỉ dẫn tận tình của giảng viên môn học.
- Những kỹ thuật tẫn công mạng đều thuộc mã nguồn mở nên thuận lợi trong quá trình
tìm kiếm và tham khảo tài liệu.
Khó khăn
- Do hạn chế về thời gian.
- Chưa có kinh nghiệm thực tiễn về tấn công mạng.
4.2 HƯỚNG PHÁT TRIỂN
- Tối ưu khả năng tìm ra các lỗ hỏng từ các kỹ thuật Hydra,Nmap, Sqlmap. Và từ đó sử
dụng tốt các biện pháp phòng tránh.
-
33

TÀI LIỆU THAM KHẢO


[1] http://testasp.vulnweb.com
[2] http://testphp.vulnweb.com
[3]https://vi.wikipedia.org/wiki/Hydra#:~:text=Theo%20th%E1%BA%A7n%20tho%E1%
BA%A1i%20Hy%20L%E1%BA%A1p,ti%C3%AAu%20di%E1%BB%87t%20con%20r
%E1%BB%93ng%20n%C3%A0y.
[4]https://www.google.com/search?q=sqlmap+l%C3%A0+g%C3%AC&rlz=1C1CHBF_
enVN998VN998&oq=SQLMA&aqs=chrome.1.69i57j69i59j0i512l8.4057j0j9&sourceid=ch
rome&ie=UTF-8

You might also like