You are on page 1of 15

I. Security Assessment là gì?

Để có thể bảo mật thông tin và phòng chống các cuộc tấn công
của hacker thì chính những người chịu trách nhiệm về an ninh cần
phải nắm rõ những cách thức mà hacker sẽ tiến hành để tấn công vào
hệ thống. Nói cách khác, chúng ta cần phải đột nhập vào hệ thống
của mình như là một hacker, quá trình này được gọi là penetration
test (gọi tắt là pentest) còn những người thực hiện chính là các
penetration tester. Quá trình penetration tester hay những chuyên gia
an ninh mạng cần tiến hành đánh giá mức độ bảo mật thông tin, ước
lượng các rủi ro có thể xảy ra cho hệ thống mạng được gọi là
Security Assessment. Đây cũng là một bước trong tiến trình kiểm
định bảo mật mà chúng ta hay gọi bằng thuật ngữ security audit và
cuối cùng là thực hiện penetration test. Đây là các công việc quan
trọng cần được thực hiện bởi những chuyên gia có kinh nghiệm và
tiến hành theo quy trình khoa học để đem lại hiệu quả cao nhất.

Trong quá trình kiểm định bảo mật hay đánh giá các điểm yếu
của hệ thống chúng ta cần quét các lớp mạng để tìm ra những lổ
hỗng của hệ thống tồn tại trong các dịch vụ hay máy trạm, máy chủ,
xác định các hệ thống đang hoạt động cùng những dịch vụ đang chạy
trên các cổng tương ứng, và có hay không những lỗi cấu hình như
gán quyền sai, sử dụng thông tin cấu hình mặc định là các default
password có thể bị các hacker mũ đen lợi dụng để xâm nhập hệ
thống và đánh cắp dữ liệu. Sau đó, các Ethical hacker hay pentration
tester sẽ dựa trên những thông tin này để thực hiện một cuộc tấn
công thực sự vào hệ thống nhằm kiểm tra xem mức độ thiệt hại và
khả năng chịu đựng các cuộc tấn công trên.

II. Các Mô Hình Penetration Test


1. Hộp đen (Black box)

1.1.1 Khái niệm về Black box

Kiểm thử từ bên ngoà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

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.

1.1.2 Phân loại:

 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.

 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ó.

2. Hộp trắng (White box)

2.1.1 Khái niệm về White box


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 đó.

2.1.2 Phân loại:

 Announced Testing: Quá 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.

 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.

3. Hộp xám (Gray box)

3.1.1 Khái niệm về Gray box

Kiểm thử hộp xám (Gray-box hay Crystal-box): Là phương pháp kết
hợp cà white-box và black-box testing.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. Ở đây, pentester được cung cấp một phần
thông tin của hệ thống, và giới hạn truy cập một phần vào hệ thống.

III. Các bước của quá trình Penetration Test

1. Information Gathering

Thu thập thông tin về đối tượng,thông tin về server. Bước này rất
quan trọng bởi khi đã xác định được chính xác thông tin liên quan sẽ
hình thành nên kịch bản để các Pentester có thể tấn công khai thác
những lỗi liên quan đến websever mà không cần quan tâm tới ứng
dụng đang chạy có an toàn hay không, từ đó có cách nhìn tổng quát
về sản phầm cần pentest.
2. Configuration and Deployment Mangement Testing

Cần đánh giá về hệ thống máy chủ, không chỉ dừng ở bước đánh giá
ứng dụng, bạn cần phải đánh giá cả nền tảng mà các ứng dụng chạy
trên đó bởi nó có thể gây nguy hại không chỉ đến web mà còn đến cả
hệ thống server. Hình thức kiểm tra được sử dụng là whitebox và
graybox.

3. Identify Management Testing

Sau khi đã thu thập xong thông tin về ứng dụng. Bước tiếp theo là
nhận định khả năng có lỗi nằm ở đâu. Xác định những điểm để thực
hiện tấn công được. Kiểm tra lại cách thức tạo tài khoản trong ứng
dụng. Logic trong xử lý và các quyền của người dùng.

4. Authentication Testing

Kiểm tra bảo mật với chức năng đăng nhập là vấn đề cực kỳ quan
trọng, bạn phải đảm bảo việc đăng nhập cần sự an toàn và đúng với
ý định của nhà phát hành ứng dụng.

5. Authorization Testing

Sau khi đăng nhập vào hệ thống. kiểm tra tính logic đã cấp đầy đủ và
đúng các chức năng của ứng cho user đã đăng nhập hay chưa. Khả
năng vượt qua cơ chế bảo mật để leo thang đặc quyền. cần đảm bảo
và giới hạn quyền cho các user.

6. Sesstion Management Testing

Kiểm tra phiên đăng nhập.

7. Input Validation Testing


Thực hiện kiểm tra các biến nhập liệu khả năng inject vào các biến
đầu vào này. Không bao giờ tin tưởng hoàn toàn người dùng, đó là 1
phương châm rất quan trọng đối với lập trình viên. Việc kiểm tra dữ
liệu được nhập vào từ người dùng là công việc vô cùng quan trọng.

8. Testing for Error Handing

Kiểm tra cách xử lý lỗi của ứng dụng thông tin về lỗi cũng là 1
nguồn thu thập dữ liệu cho hacker có thể tấn công vào website.
Những lúc đó ứng dụng cần có cơ chế xử lý để không gặp phải hiện
tượng tự nhiên đột tử mà quản trị chẳng hay sập khi nào và vì sao lại
sập.

9. Testing for weak Cryptography

Kiểm tra mã hóa thông tin trên đường truyền. Đối với đối thượng là
những website thương mại điện tử hay giao dịch thì việc kiểm tra,
mã hóa đường truyền là một vấn đề hết sức quan trọng.

10. Bussiness Logic Testing

Kiểm tra về tính logic nghiệp vụ của ứng dụng. Kiểm tra này giúp
kiểm định xem xử lý của ứng dụng đã hợp với logic và chức năng
của ứng dụng hay không.

11. Client Side Testing

Kiểm tra việc thực thi mã trên máy người dùng.Response nhận từ
server sẽ được brower hiển thị cho người dùng. Ngoài mã html ra
còn có mã JavaScript. Nếu có thể inject code đặc biệt là javascript
vào response này sẽ làm cho browser thực thi mã làm thay đổi một
số tính năng của ứng dụng.
IV. Các công cụ
1. Nessus

Nessus cũng là một trình quét phổ biến dành cho pen-testers. Đây là một
trong những công cụ nhận dạng lỗ hổng mạnh mẽ nhất hiện có. Nó chuyên
kiểm tra tính tuân thủ, tìm kiếm dữ liệu nhạy cảm, quét IP, quét trang web, v.v.
và hỗ trợ trong việc tìm kiếm những điểm yếu bảo mật.

2. Burpsuite

Burpsuite về cơ bản cũng là một máy quét (với một công cụ can thiệp có
giới hạn cho các cuộc tấn công). Nhiều chuyên gia kiểm tra bảo mật cho rằng
họ không thể pen-testing nếu thiếu Burpsuite. Điểm mạnh của ứng dụng là
chặn proxy, thu thập nội dung và chức năng, quét ứng dụng web, v.v. Bạn có
thể sử dụng Burpsuite trên Windows, Mac OS X và Linux. Tuy công cụ này
không miễn phí nhưng rất đáng tiền.

3. John the Ripper


Một công cụ bẻ khóa mật khẩu khác là John the Ripper. Công cụ này
hoạt động trên hầu hết các hệ điều hành, mặc dù nó chủ yếu dành cho UNIX.
Nó được coi là một trong những công cụ nhanh nhất trong thể loại này. Mã
băm mật khẩu và mã kiểm tra cường độ cũng được cung cấp để tích hợp vào
phần mềm/mã của riêng bạn. Công cụ này có ở dạng pro và miễn phí.

4. 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.
Nó hỗ trợ: Cisco AAA, Cisco auth, Cisco enable, CVS, FTP, HTTP (S)
-FORM-GET, HTTP (S) -FORM-POST, HTTP (S) -GET, HTTP (S) -HEAD,
HTTP- Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle
Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP,
Rexec, Rlogin, Rsh, SIP, SMB (NT) , SMTP, SMTP Enum, SNMP v1 + v2 +
v3, SOCKS5, SSH (v1 và v2), SSHKEY, Subversion, Teamspeak (TS2),
Telnet, VMware-Auth, VNC và XMPP.

5. SQL map

5.1 Khái niệm 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

5.2 Tính năng

 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.

 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

 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

6. Kali linux
Kali Linux là một dự án nguồn mở được duy trì bởi Offensive Security.
Một số tính năng chính của Kali Linux bao gồm Khả năng truy cập, tùy chỉnh
hoàn toàn của Kali ISOs, Live USB với Persistence Stores, mã hóa toàn bộ đĩa,
chạy trên Android, mã hóa đĩa trên Raspberry Pi 2, v.v.

7. Metasploit

Đây là framework tiên tiến và phổ biến nhất được sử dụng để thâm nhập
kiểm thử. Nó hoạt động dựa trên khái niệm “exploit” – một mã khai thác có thể
vượt qua các biện pháp bảo mật và thâm nhập vào một hệ thống nhất định. Nếu
được nhập, Metasploit sẽ chạy “payload”, một mã thực hiện các hoạt động trên
máy đích, do đó tạo ra một framework hoàn hảo để kiểm tra thâm nhập.

Metasploit có thể được sử dụng trên các ứng dụng web, mạng, máy chủ,
… đồng thời sở hữu giao diện dòng lệnh và GUI, hoạt động trên Linux, Apple
Mac OS X và Microsoft Windows. Mặc dù vậy, vì là một sản phẩm thương mại
nên nên Metasploit chỉ có một vài bản dùng thử miễn phí.

8. ImmuniWeb

ImmuniWeb là một nhà cung cấp web và ứng dụng mobile về kiểm thử
bảo mật, chấm điểm bảo mật toàn cầu.
Nền tảng AI của ImmuniWeb® đã giành giải thưởng sử dụng công nghệ
Multilayer Application Security Testing (AST) để thử nghiệm thâm nhập ứng
dụng nhanh và có hỗ trợ DevSecOps. Các nhà phân tích của Gartner, Forrester
và IDC đã đề cao ImmuniWeb vì sự đổi mới và hiệu quả của nó.

ImmuniWeb cung cấp bốn sản phẩm thương mại chính:

 ImmuniWeb® Discovery – phát hiện tài sản và xếp hạng rủi ro bảo mật
(web, mobile, cloud, tên miền, certs, IoT);

 ImmuniWeb® On-Demand – thâm nhập kiểm thử web (web, API, đám
mây, AWS);

 ImmuniWeb® MobileSuite – thâm nhập kiểm thử mobile (Ứng dụng iOS
và Android, API cuối cùng);

 ImmuniWeb® Continuous – Giám sát bảo mật và xâm nhập kiểm thử liên
tục 24/7 (web, API, đám mây, AWS).

ImmuniWeb cũng cung cấp các bài kiểm tra bảo mật MIỄN PHÍ sau đây cho
cộng đồng an ninh mạng:

 SSL Security Test

 Website Security Test

 Mobile App Security Test

 Phishing Test

ImmuniWeb® đã giành giải thưởng SC Awards Châu Âu 2018 ở hạng mục


“Best Usage of Machine Learning and AI Technology”.
9. RAPID7 INSIGHTVM

9.1 Khái niệm RAPID7 INSIGHTVM

Rapid7 là sản phẩm nằm trong nhóm dẫn đầu trong đánh giá về các sản
phẩm phục vụ an toàn thông tin và kiểm soát lỗ hổng của hệ thống được thực
hiện vào năm 2020. Rapid7 luôn được các tổ chức bảo mật uy tín đáng giá cao
nhờ sự nỗ lực không ngừng. Rapid7 tin tưởng rằng các sản phẩm của họ sẽ đáp
ứng tốt nhất nhu cầu về bảo mật toàn diện cho hệ thống của khách hàng.

Sản phẩm Rapid7 InSighTVM là giải pháp đánh giá lỗ hổng, nguy cơ bị
tấn cơ của các phần mềm, thiết bị trên toàn hệ thống. Từ đó người quản trị có
cái nhìn tổng quát, chủ động thực hiện các bước cập nhật, vá lỗ hổng, nâng cấp
hệ thống để ngăn chặn ngay lập tức các nguy cơ bị tấn công có thể xảy ra.

9.2 Các tính năng nổi bật của Rapid7 INSIGHTVM

9.2.1 Lightweight Endpoint Agent

Giám sát trực tiếp với Insight Agent

Rapid7 Insight Agent tự động thu thập dữ liệu từ tất cả các thiết bị đầu cuối,
ngay cả những người dùng làm việc ở xa và ít khi tham gia vào mạng nội bộ
của công ty.
Giám sát liên tục và gọn nhẹ

Insight Agent sẽ chụp nhanh một snapshot trong khi cài đặt, từ đó Agent
chỉ gửi những thay đổi đến Insight flatform để giảm thiểu tối đa tác động đến
các thiết bị đầu cuối và môi trường mạng.

Nhẹ và mạnh mẽ, Rapid7 Insight Agent cũng thống nhất dữ liệu trên
InsightIDR và InsightOps. Vì vậy bạn chỉ cần cài đặt một Agent duy nhất để
đánh giá các lỗ hổng bảo mật liên tục, phát hiện sự cố và thu thập các Data
Log.

Đánh giá thiết bị truy cập từ xa

Insight Agent có thể thu thập dữ liệu từ những thiết bị bất kỳ có truy cập
với Internet. Vì vậy, với những nhân viên ở xa hoặc những khu vực có băng
thông mạng yếu có thể được đánh giá liên tục như khi họ đang ngồi tại trong
phòng máy chủ của bạn.

Giới hạn quản lý thông tin xác thực

Chức năng Credentialed Scanning mang lại kết quả chính xác nhất
nhưng nó cũng có thể gây khó khăn trong việc quản lý thông xin xác thực.
Agent-based scanning giúp bạn đánh giá chuyên sâu về hiện trạng mà không
cần lưu trữ và ghi nhớ thông tin đăng nhập.

Triển khai dễ dàng hơn

Insight Agent có thể triển khai dễ dàng trên các nền tảng thiết bị
Windows, MAC, và Linux, tự động Updates mà không cần cấu hình bổ xung.
Nó cũng có thể được nhúng vào Gold Images để đảm bảo các thiết bị mới của
bạn sẽ tự động gửi dữ liệu lỗ hổng bảo mật đến InsightVM để InsightVM tiến
hành phân tích.

9.2.2 Real risk prioritization

Xác định mức độ ưu tiên của các lỗ hổng bảo mật

Hàng ngàn lỗ hổng bảo mật được phát hiện bởi CVSS-Based risk scores.
Không có doanh nghiệp hoặc các nhà phân tích nào có thời gian để có thể làm
được điều đó. Những mối rủi ro thực sự được chúng tôi cung cấp dựa trên
thang điểm 1-1000 để có thể dễ dàng xác định và hành động dựa trên khả năng
kẻ tấn công khai thác lỗ hổng trong một cuộc tấn công thực sự. InsightVM cho
phép bạn ưu tiên các lỗ hổng bảo mật theo cách mà những kẻ tấn công sẽ làm.

You might also like