Tìm hiểu về cơng cụ RouterSploit
1
MỤC LỤC
Danh mục các thuật ngữ tiếng Anh và từ viết tắt
3
Danh mục hình ảnh
4
Lời mở đầu
6
Chương 1. Giới thiệu kiểm thử xâm nhập(PenTest)
7
1.1.
7
1.2.
8
1.3.
9
1.4.
9
1.5.
12
1.6.
15
1.7.
20
Chương 2. Giới thiệu RouterSploit
2.1.
21
2.2.
22
2.3.
22
2.4.
23
2.5.
29
20
Chương 3. Hướng dẫn cài đặt và sử dụng RouterSploit
3.1.
39
3.2.
39
3.3.
43
Chương 4. Demo một số bài lab bằng RouterSploit
4.1.
48
4.2.
54
4.3.
57
Chương 5. Đánh giá, so sánh, kết luận
5.1.
61
5.2.
61
5.3.
63
38
47
60
Lời cảm ơn
64
Danh mục tài liệu tham khảo
65
2
●
Danh mục các thuật ngữ tiếng Anh và từ viết
tắt
Từ viết tắt
API
XSS
PDF
HTML
Thuật ngữ tiếng Anh
Application programming interface
Cross-site scripting
Portable Document Format
Hypertext Markup Language
URL
Uniform Resource Locator
FTP
SSH
HTTP
File Transfer Protocol
Secure Shell
HyperText Transfer Protocol
3
Thuật ngữ tiếng Việt
Giao diện lập trình ứng dụng đ
Lỗ hổng bảo mật XSS
Định dạng tài liệu di động
Ngôn ngữ đánh dấu siêu văn
bản
Địa chỉ định vị tài nguyên toàn
cầu
Giao thức truyền tải tập tin
Giao thức điều khiển từ xa
Giao thức truyền tải siêu văn
bản
●
Danh mục hình ảnh
Hình 1.1 PenTest là gì?
9
Hình 1.2 Có những loại nào?
11
Hình 1.3 Vai trị và trách nhiệm của PenTest
17
Hình 2.1 Giao diện intro của RouterSploit
22
Hình 2.2 Mơ hình tấn cơng hệ thống Cherry Blossom
26
Hình 2.3 Intro của RouterSploit 3.0 trong Kali
30
Hình 2.4 Thử nghiệm API Mikrotil
32
Hình 2.5 Mơ-đun trả về một cặp thơng tin xác thực hợp lệ
32
Hình 2.6 Tính năng Scanning trong RouterSploit
33
Hình 2.7 Khai thác mục tiêu
33
Hình 2.8 Khai thác thiết bị Netgear
34
Hình 2.9 Thực thi việc khai thác Exploitation
34
Hình 2.10 Chọn tại trọng shell
35
Hình 2.11 Nhận được quyền truy cập vào mục tiêu
35
Hình 2.12 Thiết lập payloads
36
Hình 2.13 Bluetooth Low Energy Scan
37
Hình 2.14 Thơng tin hiển thị sau khi scan
38
Hình 2.15 Ghi một số dữ liệu
39
Hình 3.1 Cài đặt RouterSploit qua Reposity
40
Hình 3.2 Cài đặt python3-pip
41
Hình 3.3 Clone routersploit về
42
Hình 3.4 Cài đặt mơi trường python3
42
Hình 3.5 Cài thư viện về
43
Hình 3.6 Tải về python3 rsf.py
43
Hình 3.7 Giao diện của RouterSploit
44
Hình 3.8 Cập nhật RouterSploit
44
Hình 3.9 Search scanner
45
Hình 3.10 Kết quả sau khi search scanner
45
4
Hình 3.11 Kiểm tra nhanh một đối tượng
46
Hình 3.12 Thơng tin sau khi kiểm tra 1
46
Hình 3.13 Thơng tin sau khi kiểm tra 2
47
Hình 3.14 Thơng tin sau khi kiểm tra 3
47
Hình 4.1 Khởi chạy RouterSploit
49
Hình 4.2 Khởi chạy mơ-đun Autowpse
50
Hình 4.3 Cấu hình khởi chạy
51
Hình 4.4 Cơng cụ bắt đầu qt
52
Hình 4.5 Các thơng tin sau khi qt
53
Hình 4.6 Các thơng tin sau khi qt 2
54
Hình 4.7 Qt router xung quanh nhà
54
Hình 4.8 Khơng tìm được lỗ hổng bảo mật
55
Hình 4.9 Khai thác một số mơ-đun
56
Hình 4.10 Target vào một mơ đun cụ thể
56
Hình 4.11 Hiển thị thơng tin vừa quét
57
Hình 4.12 Đặt mục tiêu
58
Hình 4.13 Kiểm tra lỗ hổng của mục tiêu
58
Hình 4.14 Tìm địa chỉ ip của camera
59
Hình 4.15 Khởi động RouterSploit
59
Hình 4.16 Sau khi gõ xong 3 lệnh trên
60
Hình 4.17 Ta quét được kết quả như sau
61
●
Lời mở đầu
5
Ngày nay, mạng máy tính là một khái niệm đã trở nên quen thuộc với hầu
hết tất cả mọi người, đặc biệt chiếm vị trí hết sức quan trọng với các doanh
nghiệp. Với xu thế phát triển mạnh mẽ của hệ thống mạng như: mạng internet, hệ
thống thương mại điện tử, hệ thống thông tin trong các cơ quan, doanh nghiệp,…
vấn đề quản trị và an ninh mạng trở nên hết sức cần thiết. Làm thế nào để thiết kế
một mạng máy tính tối ưu cho từng tổ chức, doanh nghiệp và làm thế nào để
mạng máy tính đó hoạt động tốt với tính bảo mật cao? Để hướng đến một xã hội
thơng tin an tồn và có độ tin cậy cao, có thể triển khai được các dịch vụ, tiện ích
qua mạng để phục vụ đời sống xã hội, chính trị, qn sự,… thì vấn đề quản trị và
an ninh mạng phải được cân nhắc và đánh giá đúng tầm quantrọng của nó.
Bằng góc nhìn của một hacker, kỹ thuật Penetration Testing sẽ giúp cho
hệ thống mạng của thổ chức, doanh nghiệp được bảo mật một cách tối ưu nhất.
6
Chương 1. Giới thiệu kiểm thử xâm nhập(PenTest)
1.1. PenTest là gì?
PenTest là viết tắt của Penetration Testing (Pen Testing – Kiểm thử thâm
nhập). Đây là một kiểu của Security Testing, dùng để phát hiện ra các lỗ hổng, rủi
ro hay mối đe dọa bảo mật mà các hacker có thể khai thác trong ứng dụng phần
mềm, mạng hay ứng dụng web. Mục đích của PenTest là xác định và kiểm tra tất
cả lỗ hổng bảo mật có thể có trong phần mềm.
Hình 1.1 PenTest là gì?
Tiến trình này bao gồm 1 q trình phân tích linh hoạt (active anlusis) trên hệ
thống về bất kỳ điểm yếu, lỗ hổng nào.
7
Q trình phân tích này được tiến hành từ vị trí của 1 attacker, và có thể bao
gồm việc lợi dụng các lỗ hổng về bảo mật.
Lỗ hổng bảo mật (Vulnerability) dùng để chỉ những rủi ro bảo mật, chẳng hạn
như các hacker có thể làm gián đoạn hay giành được quyền truy cập vào hệ thống
hoặc bất kỳ dữ liệu nào bên trong. Các lỗ hổng thường xuất hiện tình cờ trong giai
đoạn triển khai và phát triển phần mềm. Một số lỗ hổng phố biến gồm: lỗi thiết
kế, lỗi cấu hình, lỗi phần mềm… PenTest phụ thuộc vào hai cơ chế: Vulnerability
Assessment và Penetration Testing (gọi chung là VAPT).
Khi phát hiện thấy bất kỳ vấn đề nào liên quan tới security nó sẽ hiển thị cho
admin của hệ thống biết, đồng thời cũng đưa ra đánh giá những tác động của
chúng và đi kèm với những đề xuất, giải pháp kỹ thuật thay thế.
1.2. Các khái niệm bảo mật cơ bản
Lỗ hổng (Vulnerabilities): Vulnerabilities là lỗ hổng bảo mật trong một phần
của phần mềm, phần cứng hoặc hệ điều hành, cung cấp một góc tiềm năng để tấn
cơng hệ thống. Một lỗ hổng có thể đơn giản như mật khẩu yếu hoặc phức tạp như
lỗi tràn bộ đệm hoặc các lỗ hổng SQL injection.
Khai thác (Exploits): Để tận dụng lợi thế của một lỗ hổng, thường cần một sự
khai thác, một chương trình máy tính nhỏ và chun môn cao mà lý do duy nhất
là để tận dụng lợi thế của một lỗ hổng cụ thể và để cung cấp truy cập vào một hệ
thống máy tính. Khai thác thường cung cấp một tải trọng (payloads) đến mục tiêu
hệ thống và cung cấp cho kẻ tấn công truy cập vào hệ thống.
8
Tải trọng (Payloads): Tải trọng (payloads) là các thành phần của phần mềm
cho phép kiểm soát một hệ thống máy tính sau khi nó đang được khai thác lỗ
hổng ,thường gắn liền với vài giao khai thác (exploits).
1.3. Tại sao cần Audit Pentest?
Vậy lý do chúng ta cần audit PenTest là gì? Đầu tiên, penetration đặc biệt quan
trọng đối với các doanh nghiệp, bởi vì:
● Các lĩnh vực tài chính như Ngân hàng, Ngân hàng đầu tư, Sở giao dịch chứng
khốn…ln muốn dữ liệu được bảo mật và cần audit Pentest thường xuyên để
có thể đảm bảo an ninh tối đa.
● Nếu hệ thống phần mềm đã bị tấn công, tổ chức cần xác định xem có cịn mối đe
dọa nào tồn tại trong hệ thống khơng. Từ đó giảm thiểu khả năng bị tấn công
trong tương lai.
● Chủ động audit Pentest chính là cách hiệu quả nhất để chống lại các hacker.
1.4. Có những loại Penetration Testing nào?
Hình 1.2 Có những loại nào?
9
PenTest thường được phân loại dựa trên phạm vi tấn cơng. Ngồi ra nó cịn phụ
thuộc vào việc các tổ chức có muốn mơ phỏng cuộc tấn cơng bởi một nhân viên, Network
Admin (Internal Sources) hay bởi External Sources.
Có ba loại PenTest khác nhau:
⮚ Black Box Testing
● Kiểm thử từ bên ngồi vào (Black box Pentest): Các cuộc tấn cơng sẽ được thực
hiện mà khơng có bất kỳ thơng tin nào, pentester sẽ đặt mình vào vị trí của những
tin tặc mũ đen và cố gắng bằng mọi cách để thâm nhập vào được hệ thống của
khách hàng.
● Pentester sẽ mô phỏng một cuộc tấn công thực sự vào hệ thống. Quá trình thử
nghiệm bao gồm một loạt ứng các lỗ hổng bảo mật ở cấp dụng được xác định bởi
OWASP và WASC, nhắm mục tiêu các lỗ hổng bảo mật nguy hiểm tiềm tàng
trong ứng dụng của khách hàng . Quá trình thử nghiệm sẽ tiết lộ các lỗ hổng, thiệt
hại khai thác tiềm năng và mức độ nghiêm trọng.
● Phân loại:
o Blind Testing: Mô phỏng các phương pháp của một hacker khơng có hoặc
cực kì ít thơng tin được cung cấp cho nhóm kiểm tra thâm nhập, quá trình
kiểm thử thường tốn thời gian và cơng sức thực hiện.
o Double-Blind Testing: Rất ít người trong tổ chức biết về kiểm tra thâm
nhập đang được tiến hành. Quá trình kiểm thử có liên quan đến kiểm tra
bảo mật của tổ chức giám sát, xác định sự cố và các thủ tục ứng phó
⮚ White Box Penetration Testing
● Kiểm thử từ bên trong ra (White box Pentest): Là các thông tin về mạng nội bộ và
ngoại sẽ được cung cấp bởi khách hàng và Pentester sẽ đánh giá an ninh mạng dựa
trên đó.
10
● Phân loại:
o Announced Testing: Q trình kiểm thử có sự hợp tác và tham gia cùng
của đội quản trị hệ thống thông tin.
o Unannounced Testing: Thường chỉ những quản lý cấp cao được biết đến
quá trình kiểm thử. Thực hiện kiểm tra việc xử lý, phản hồi các cuộc tấn
công của nhân viên quản trị hệ thống thông tin.
● Grey Box Penetration Testing
Kiểm thử hộp xám (Gray-box hay Crystal-box): Giả định như tin tặc được cung
cấp tài khoản một người dùng thông thường và tiến hành tấn công vào hệ thống
như một nhân viên của doanh nghiệp.
Đối với Black Box Testing, tester sẽ khơng hề biết gì về hệ thống sắp được test.
Tester chỉ có nhiệm vụ thu thập các thông tin về mạng hay hệ thống mục tiêu.
Trong hình thức White Box Penetration Testing, tester thường được cung cấp đầy
đủ thông tin về mạng hoặc hệ thống sẽ được test. Trong đó bao gồm địa chỉ IP, mã nguồn,
chi tiết về hệ điều hành… Đây có thể được xem như một cuộc mô phỏng tấn công bởi bất
kỳ Internal Source nào.
Với Grey Box Penetration Testing, tester sẽ được cung cấp một phần thơng tin về
hệ thống. Đây có thể được xem như là một cuộc tấn công từ hacker bên ngoài, đã truy cập
vào được các tài liệu cơ sở hạ tầng mạng của tổ chức.
Việc lựa chọn phương pháp kiểm thử do tổ chức quyết định, dựa vào yêu cầu, mục
đích, thời gian và khả năng tài chính của tổ chức đó. Trong khi kiểm tra bằng phương
pháp blackbox đem lại đánh giá chính xác về khả năng tấn cơng của những hacker thực
sự thì whitebox đem lại lợi thế về thời gian, quyền truy cập hệ thống cũng như những hiểu
biết chính xác về hệ thống, từ đó tìm ra các điểm u tồn tại trên hệ thống. Lập kế hoạch
kiểm tra cẩn thận và hiểu biết về các ràng buộc kiểm tra là cần thiết khi có giới hạn thời
gian và nguồn lực để kiểm tra được tiến hành. Dựa vào lợi thế của các phương pháp, tổ
chức cần đưa ra kế hoạch và lựa chọn phương pháp phù hợp
11
1.5. Triển khai PenTest
Sau đây là một số hoạt động cần thiết để triển khai PenTest:
Bước 1: Lập kế hoạch và khảo sát trước
Giai đoạn đầu tiên bao gồm:
● Xác định phạm vi và mục tiêu của thử nghiệm, bao gồm các hệ thống
được xử lý và những phương pháp thử nghiệm sẽ được sử dụng.
● Thu thập thông tin (ví dụ như tên mạng và tên miền, mail server) để hiểu
rõ hơn cách mục tiêu hoạt động và các lỗ hổng tiềm năng của nó.
Bước 2: Khám phá
Bước tiếp theo là hiểu cách ứng dụng mục tiêu sẽ phản ứng với các yếu tố xâm
nhập khác nhau. Điều này thường được thực hiện bằng cách sử dụng:
● Phương pháp phân tích tĩnh - Kiểm tra code của ứng dụng để xác định hành
vi của nó trong khi chạy. Các cơng cụ này có thể qt tồn bộ code trong
một lần chạy.
● Phương pháp phân tích động - Kiểm tra code của ứng dụng trong trạng thái
đang chạy. Đây là phương pháp qt thực tế hơn, vì nó cung cấp chế độ xem
thời gian thực đối với hiệu suất của ứng dụng.
12
Ở bước này ta cần phải thực hiện:
● Thu thập càng nhiều thông tin về hệ thống càng tốt. Trong đó bao gồm cả
dữ liệu, username và password. Đây cịn được gọi là FINGERPRINTING.
● Scan và thăm dò các port.
● Kiểm tra lỗ hổng của hệ thống.
Bước 3: Tấn cơng
Tìm cách khai thác các lỗ hổng khác nhau (Cần có các đặc quyền bảo mật cần thiết)
Giai đoạn này sử dụng các cuộc tấn công ứng dụng web, chẳng hạn như
XSS, SQL injection và backdoor, để khám phá ra những lỗ hổng mục tiêu. Sau
đó, người kiểm tra sẽ thử khai thác các lỗ hổng này, thường là bằng cách giành
quyền kiểm sốt tồn bộ hệ thống, đánh cắp dữ liệu, chặn lưu lượng, v.v.. để biết
được thiệt hại mà chúng có thể gây ra.
Bước 4: Duy trì truy cập
Mục tiêu của giai đoạn này là để xem liệu lỗ hổng có thể được sử dụng để
khai thác lâu dài trong hệ thống bị xâm nhập hay không (đủ lâu để một hacker có
thể truy cập sâu vào hệ thống). Ý tưởng là bắt chước các cuộc tấn công APT,
thường tồn tại nhiều tháng trong một hệ thống để đánh cắp dữ liệu nhạy cảm nhất
của tổ chức.
13
Bước 5: Phân tích
Kết quả kiểm thử thâm nhập sau đó được tổng hợp thành một báo cáo chi tiết,
bao gồm:
● Một báo cáo phải chỉ ra được các phát hiện chi tiết.
● Tìm ra các rủi ro về lỗ hổng bảo mật, và ảnh hưởng của chúng đến hoạt
động kinh doanh.
● Đưa ra giải pháp, gợi ý.
Nói chung, nhiệm vụ hàng đầu trong PenTest là thu thập thông tin hệ thống.
Có hai cách để có thể thu thập thơng tin, gồm:
● Mơ hình “One to one” hoặc “One to many” với host: Một tester sẽ thực
hiện các kỹ thuật tuyến tính chống lại một host đích, hoặc một nhóm các
host (ví dụ như một subnet).
● Mơ hình “Many to one” hoặc “many to many”: Tester sẽ sử dụng nhiều
host để thực hiện các kỹ thuật thu thập thông tin theo cách ngẫu nhiên, có
giới hạn về tốc độ, phi tuyến tính.
Thơng tin này được nhân viên phụ trách bảo mật phân tích, giúp cấu hình cài
đặt WAF cho doanh nghiệp, đưa ra những giải pháp bảo mật ứng dụng khác để vá
các lỗ hổng và bảo vệ chống lại các cuộc tấn công trong tương lai.
14
1.6. Vai trị và trách nhiệm của Penetration Tester
Hình 1.3 Vai trò và trách nhiệm của PenTest
Pentest được sử dụng vào đối tượng nào?
Pentest được sử dụng để kiểm thử an ninh rất nhiều đối tượng khác nhau, mỗi đối
tượng mà pentest được sử dụng lại có nhiều cách thức và phạm vi thực hiện khác nhau.
Dưới đây là một số đối tượng sử dụng pentest như một phương thức đánh giá đảm bảo an
ninh
⮚ Network Penetration Testing
● Giúp xác định các vấn đề bảo mật trong thiết kế, triển khai và vận hành mạng network
● Một số vấn đề an ninh thường gặp phải đối với mạng network:
15
o Sử dụng các giao thức kém bảo mật (telnet, http, ftp..)
o Mở nhiều cổng và dịch vụ mà không sử dụng tới
o Phần mềm và hệ điều hành không được cập nhật thường xuyên
o Thiết lập sai các config trong các thiết bị mạng: firewall, IDS, server
⮚ Web Application Penetration Testing
● Giúp tìm ra các điểm yếu bảo mật web tồn tại trong thiết kế, phát triển và triển khai
ứng dụng web
● Các điểm yếu bảo mật trong web thông dụng: (Theo OWASP TOP 10 2017):
o Injection: Các lỗi về tiêm nhiễm mã độc hại
o Broken Authentication: Phá vỡ cơ chế xác thực
o Sensitive Data Exposure: Lộ lọt các thông tin nhạy cảm
o ML External Entities (XXE): Lỗi liên quan đến xử lý XML
o Broken Access Control: Phá vỡ cơ chế phân quyền truy cập
o Security Misconfiguration: Cấu hình bảo mật không đúng
o Cross-Site Scripting (XSS): Tấn công tiêm nhiễm mã javascript độc hại
o Insecure Deserialization: Cơ chế deserialization thiếu an toàn
o Using Components with Known Vulnerabilities: Sử dụng các thành phần chứa lỗ
hổng
o Insufficient Logging & Monitoring: Ghi nhật ký và giám sát không đầy đủ
o
⮚ Social Engineering Penetration Testing
● Giúp xác định nhân viên xác thực, theo dõi, xác thực, xử lý, các quy trình và cơng
nghệ không đúng cách
16
● Các vấn đề thường gặp phải:
o Truy cập vào các đường link, email độc hại
o Trở thành nạn nhân của tấn công lừa đảo (phishing) qua email, điện thoại
o Để lộ thông tin nhạy cảm cho người lạ
o Cho phép người lạ, khơng có thẩm quyền vào
o Kết nối USB vào máy trạm
⮚ Wireless Network Penetration Testing
● Giúp xác định các cấu hình sai trong cơ sở hạ tầng mạng không dây
● Các vấn đề bảo mật thường gặp mạng không dây:
o Sự hiện diện của các điểm truy cập không được phép, điểm truy cập lừa đảo
o Các tiêu chuẩn mã hóa khơng dây khơng an tồn
o Cơng nghệ khơng dây mã hóa yếu
o Khơng hỗ trợ cơng nghệ mạng không dây
⮚ Mobile Device Penetration Testing
● Giúp bạn phát hiện các vấn đề bảo mật liên quan đến thiết bị di động và việc sử dụng
chúng
● Các vấn đề bảo mật phổ biến với thiết bị di động
o Khơng thực hiện hoặc thực hiện khơng đúng chính sách BYOD (Bring Your
Own Device)
17
o Sử dụng thiết bị di động trái phép
o Sử dụng thiết bị di động đã root hoặc bẻ khóa
o Kết nối với các mạng WIFI khơng an tồn
⮚ Cloud Penetration Testing
● Giúp bạn xác định các vấn đề bảo mật trong cơ sở hạ tầng đám mây
● Các dịch vụ đám mây cũng phải đối mặt với các vấn đề bảo mật cụ thể của đám mây
sau
o Bảo vệ không đủ dữ liệu
o Các vấn đề về băng thông và kết nối mạng
o Quản lý truy cập người dùng kém
o API khơng an tồn
o Khơng có chính sách quyền riêng tư đối với hành động của người dùng trên
đám mây
o Các mối đe dọa bảo mật từ bên trong
Vai trò
⮚ Đánh giá cơ sở hạ tầng mạng
● Đánh giá cấu trúc mạng.
● Đánh giá các biện pháp bảo mật được thiết lập.
● Đánh giá việc tuân thủ các tiêu chuẩn.
18
● Đánh giá các hệ thống như Firewall: Cấu hình, cấu trúc, quản trị, vá lỗi bảo mật,
ghi nhật ký, chính sách, khả năng sẵn sàng,…
● Đánh giá thiết bị phát hiện và phịng chống xâm nhập IPS: Cấu hình, khả năng phát
hiện xâm nhập, cấu trúc, quản trị, vá lỗi bảo mật, ghi nhật ký, chính sách, khả năng
sẵn sàng,…
● Đánh giá thiết bị VPN: Cấu hình, quản trị, chính sách truy nhập, nhật ký,…
● Đánh giá Router/Switch: Cấu hình, xác thực, cấp quyền, kiểm sốt truy nhập, nhật
ký,…
⮚ Đánh giá hệ thống máy chủ
● Máy chủ Windows và Linux: đánh giá phiên bản, cập nhật, cấu hình các dịch vụ,
vá lỗi, chính sách tài khoản và mật khẩu, chính sách ghi nhật ký, rà sốt cấp quyền.
● Khả năng dự phòng, cân bằng tải, cơ sở dử liệu phân tán.
⮚ Đánh giá ứng dụng web
● Đánh giá từ bên ngồi: Dùng các cơng cụ chun dụng tấn cơng thử nghiệm, từ
đó phát hiện ra các lỗ hổng như: Lỗi tràn bộ đệm, SQL injection, Xss, upload, Url
bypass và các lỗ hổng ứng dụng khác.
● Đánh giá từ bên trong: Kiểm tra mã nguồn web nhằm xác định các vấn đề về xác
thực, cấp quyền, xác minh dữ liệu, quản lý phiên, mã hóa.
19
1.7. Kết luận
Trong thời đại công nghệ ngày một phát triển chóng mặt, kéo theo tội phạm mạng gia
tăng và để tránh được những rắc rối không mong muốn đến hệ thống thông tin và website,
các cá nhân và doanh nghiệp cần trang bị kiến thức về bảo mật nhiều hơn. Mong rằng bài
viết này sẽ giúp cho các bạn bảo vệ cho website và hệ thống server của mình tốt hơn trước
những đối thủ cạnh tranh không lành mạnh và các thành phần nhàn rỗi thích phá hoại.
Chương 2. Giới thiệu RouterSploit
RouterSpoit được sử dụng ở Bước 2 của kiểm thử xâm nhập. Chương này sẽ
giới thiệu tổng quan về RouterSploit, về cách thức hoạt động, cũng như mục đích
và đối tượng sử dụng
20
Hình 2.1 Giao diện intro của RouterSploit
2.1. Tổng quan về RouterSploit
Tương tự như Metasploit Framework, RouterSploit Framework là một khung khai
thác mã nguồn mở để khai thác các thiết bị nhúng, cụ thể là các bộ định tuyến của
Threatnine (). Cơng cụ này có thể được cài đặt vào Kali chỉ
bằng cách chạy apt-get install routersploit từ Terminal. Phiên bản mới nhất của
RouterSploit là 3.4.0 và nó đi kèm với 130 cách khai thác đã biết và 4 trình quét khác
nhau, tùy thuộc vào loại thiết bị.
RouterSploit có một bộ sưu tập tốt các khai thác và cách tổ chức công việc khá
thuận tiện với chúng liên quan đến các bộ định tuyến riêng lẻ. Phần mềm này cũng có
thể được sử dụng với mục đích xấu. Bạn có thể sử dụng RouterSploit và đánh giá tính
bảo mật của một số thiết bị (bộ định tuyến, máy ảnh, v.v.) và thực hiện kiểm tra bằng
bút. RouterSploit hỗ trợ Linux (Kali, Debian, Ubuntu, CentOS), macOS / Mac OS X,
Raspberry Pi, Windows và cả điện thoại Android chưa root.
RouterSploit là một khuôn khổ để khai thác các thiết bị nhúng như camera và
bộ định tuyến. Nó có thể được sử dụng trong q trình kiểm thử thâm nhập để
kiểm tra tính bảo mật của nhiều loại thiết bị. RouterSploit đi kèm với một số môđun để quét và khai thác các thiết bị. Công cụ này trợ giúp trong tất cả các bước,
như từ kiểm tra chứng chỉ đến triển khai tải trọng để thực hiện nỗ lực khai thác.
21
Vì RouterSploit là một ứng dụng dựa trên Python, nên bạn có thể dễ dàng
phát triển các mơ-đun của riêng mình. RouterSploit tương tự như Metasploit,
RouterSploit cũng được tạo thành từ nhiều mô-đun khác nhau. xploits, payloads,
scanners, và creds là các mơ-đun của nó cũng đang gọi các mơ-đun “chung
chung”. Mô-đun chung thực hiện các hành động chung, chẳng hạn như các cải
tiến mã khác nhau.
2.2. Cách thức hoạt động
RouterSploit có thể được bắt đầu để thực hiện quét trên một thiết bị cụ thể.
Cơng cụ xác định xem nó có dễ bị khai thác từ cơ sở dữ liệu của nó hay khơng.
Nó sử dụng các cổng dịch vụ liên quan để đưa ra dự đốn ước tính về những trọng
tải nào có thể liên quan.
2.3. Cách sử dụng và đối tượng
RouterSploit thường được sử dụng để kiểm tra thâm nhập , tự đánh giá ,
kiểm tra phần mềm hoặc quét lỗ hổng . Người dùng mục tiêu cho công cụ này là
các chuyên gia bảo mật và các chuyên gia bảo mật.
Routersploit dùng để khai thác thiết bị nhúng, cụ thể là bộ định tuyến bới
Threatnine, bộ công cụ này tập hợp các lỗ hổng đã biết của rất nhiều nhà sản xuất
thiết bị mạng, tập trung các thiết bị là modem-router, wifi-router và các thiết bị
camera-ip. Do hoạt động trên python, nên bạn chỉ cần một hệ thống có thể cài đặt
22
được python là cơng cụ này có thể chạy được. Ngồi ra trên hệ điều hành Kalilinux, routersploit cịn được tích hợp trên kho ứng dụng riêng (repository).
Phiên bản mới nhất của RouterSploit là 3.4.0 nó đi kèm với 130 cách khai
thác và 4 trình quét khác , tuỳ thuộc vào loại thiết bị.
Nó bao gồm các Module khác nhau hỗ trợ các hoạt động kiểm tra thâm nhập:
●
exploits : Khai thác các lỗ hổng đã xác định
●
creds : Module chứng chỉ được thiết kế để kiểm tra thông tin xác thực đối
với các dịch vụ mạng
●
scanners : Kiểm tra xem mục tiêu có dễ bị khai thác hay khơng
●
playloads : Payloads chịu trách nhiệm tạo “tải trọng” cho các kiến trúc và
điểm “tiêm” khác nhau
●
generic/encoders : Các module chịu trách nhiệm tấn công tổng quát.
2.4. Đặc trưng
Một số đặc trưng của RouterSploit:
● Kết quả được đổi thành màu dễ nhìn dễ phân biệt
● Giao diện dịng lệnh
● Có thể tùy chỉnh và bổ sung
● Hỗ trợ Docker
● Công cụ là mô-đun
RouterSploit được tạo thành từ các modules khác nhau như exploits, payloads,
scanners and creds .
23
● Exploits : Được sử dụng để khai thác các lỗ hổng trong bộ định tuyến
nhằm có được quyền truy cập.
● Payloads : Thực tế payloads/data . Vì vậy, mã được sử dụng để lây nhiễm /
viết lại một bộ định tuyến bị khai thác.
● Scanner : Là module quét mạng/thiết bị để xem liệu nó có khả năng bị
khai thác hay khơng (và do đó liệu có lỗ hổng bảo mật hay không).
● Creds : Module được sử dụng để kiểm tra thông tin đăng nhập trên các
thiết bị khác nhau. Với module creds , bạn có thể thực hiện tấn công từ
điển trên các giao thức mạng khác nhau như:
o
o
o
o
FTP
SSH
Telnet
HTTP
Routers (và các thiết bị khác như IoT và webcam) là mục tiêu dễ dàng của tin
tặc mà còn đối với các dịch vụ bảo mật. Như đã biết, CIA và NSA có đầy đủ
mạng lưới các bộ định tuyến bị lây nhiễm để tất cả các thiết bị có thể bị nghe
trộm một cách dễ dàng. Bộ định tuyến của bạn thường được cung cấp chương
trình cơ sở đặc biệt sau vụ hack, có nghĩa là người dùng khơng thể cập nhật
chương trình cơ sở được nữa. Chúng tôi gọi đây là "rootkitting". CherryBlossom
là một trong những rootkit này được CIA sử dụng và bị rò rỉ trong các tài liệu của
WikiLeaks.
24
Hình 2.2 Mơ hình tấn cơng hệ thống Cherry Blossom
Nếu CIA và NSA có thể làm được điều này, thì ai nói rằng tin tặc khơng
thể. Ngăn chặn bộ định tuyến của bạn tham gia vào mạng tội phạm và được sử
dụng để gửi dữ liệu độc hại (proxy). Vì vậy, định kỳ quét mạng riêng của bạn thì
RouterSploit cực kỳ thích hợp cho việc này.
SourceCode
rsf.py
#!/usr/bin/env python3
from __future__ import print_function
import logging.handlers
import sys
if sys.version_info.major < 3:
print("RouterSploit supports only
application in Python3 environment.")
exit(0)
25
Python3.
Rerun