Tải bản đầy đủ (.docx) (32 trang)

Bài tập lớn môn an toàn mang, học viện bưu chính viễn thông (7)

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 (1.66 MB, 32 trang )

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

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

Tìm hiểu cơng cụ Sn1per

Giảng viên hướng dẫn:
Sinh viên thực hiện:
Họ và tên:
Mã sinh viên:

TS. Đặng Minh Tuấn
Nhóm 2
Nguyễn Hồng Việt
B18DCAT264

Hà Nội 2021
1


MỤC LỤC

DANH MỤC HÌNH ẢNH

LỜI MỞ ĐẦU
Khi cơng nghệ đang phát triển từng ngày, hàng loạt công nghệ mới được phát triển
và đem ra thử nghiệm liên tục thì kéo theo với đó là tính an tồn và chất lượng bảo mật
của các sản phẩm cần được kiểm tra, đánh giá. Bởi lẽ theo nghiên cứu gần đây thì những
thiệt hại bởi các lộ hổng an tồn thơng tin trong các sản phẩm gây ra thiệt hại vô cùng


lớn, lớn hơn nhiều so với quá trình kiểm thử, đánh giá sản phẩm. Chính vì vậy, việc đánh
giá, rị qt lỗ hổng của một sản phẩm trước khi được phát hành là vô cùng quan trọng và
cần thiết.
Sn1per là một công cụ sẽ giúp chúng ta có thể đánh giá nhanh chóng một sản
phẩm, phát hiện ra các lỗi tồn tại trong nó và khắc phục nhanh nhất có thể. Vậy tại sao lại
là Sn1per mà không phải là bất cứ một cơng cụ rà sốt, phát hiện lỗ hổng nào khác? Nếu
2


là một người đã có tìm hiểu một chút về lĩnh vực pentest hay bảo mật an tồn thơng tin
thì các bạn cũng đã biết có rất nhiều các cơng cụ khác nhau giúp chúng ta thực hiện các
thao tác rị qt, thu thập thơng tin. Tuy nhiên, Sn1per đem lại cho chúng ta khả năng
đồng bộ và đầy đủ nhất, cùng với đó là khả năng quét rất mạnh mẽ và chi tiết được tích
hợp từ nhiều cơng cụ khác nhau. Chính vì vậy thay vì phải sử dụng nhiều cơng cụ một lúc
thì ta chỉ cần phải sử dụng duy nhất một cơng cụ mà vẫn có thể thu thập những thông tin
cần thiết.
Trong bài báo cáo này, tôi sẽ chỉ ra các chức năng của công cụ Sn1per và cùng với
đó là cách sử dụng với các ví dụ cụ thể để chúng ta có thể hiểu được hết các tính năng và
khả năng mà Sn1per có thể đem lại.

Chương I: GIỚI THIỆU KHÁI QUÁT CÔNG CỤ SN1PER
1. Sn1per là gì?
Như đã giới thiệu ở phần mở đầu, Sn1per Community Edition là một trình qt tự
động có thể được sử dụng trong quá trình kiểm tra xâm nhập để liệt kê và quét các lỗ
hổng. Sn1per Professional là tiện ích bổ sung báo cáo cao cấp của Sn1perSecurity
dành cho người kiểm tra thâm nhập chuyên nghiệp, người săn tìm lỗi và các nhóm
bảo mật của cơng ty để quản lý một môi trường làm việc lớn. Sn1per Community
Edition là phiên bản miễn phí được bảo trì bởi cộng đồng bao gồm các tính năng cơ
bản, cịn phiên bản Sn1per Professional và Sn1per Elite là các phiên bản trả phí với
các tính năng nâng cao, cùng với đó các phiên bản cập nhật mới dành cho bản

Professional và Elite sẽ đều là các bản ổn định đã được Sn1perSecurity kiểm duyệt.
3


Sự hình thành và ra đời của cơng cụ Sn1per là một điều thiết yếu khi các công cụ
kiểm thử và thu thập thông tin trên thị trường quá nhiều và không công cụ nào đem lại
được kết quả đầy đủ và thông nhất. Sn1per được sinh ra để giúp người dùng có được
kết quả như mong muốn.

Hình 1: Các phiên bản của cơng cụ Sn1per

Các phiên bản trả phí Professional hay Elite sẽ hỗ trợ giao diện web để người dùng
có thể dễ dàng tương tác, sử dụng cơng cụ và hình dung được các thành phần trong
Sn1per, cịn phiên bản Community chỉ hỗ trợ giao diện dòng lệnh nên địi hỏi người
dùng cần có kinh nghiệm thao tác với các lệnh ở hệ điều hành Linux/Unix.
4


2. Chức năng nổi bật
Cơng cụ Sn1per được tích hợp tính năng từ rất nhiều các cơng cụ khác nhau nên
chức năng rất nhiều, chính vì vậy ở đây tơi sẽ chỉ nêu ra nhưng tính năng mang tính
nổi bật mang tính khái quát và cũng được nhà phát triển nêu trên trang chủ của sản
phẩm.
-

Attack Surface Discovery
IT Asset Inventory
Vulnerability Management
Continuous Scan Coverage
Penetration Testing

Red Team
Web Application Scans
Bug Bounty
Workspace Navigator
Detailed Host Reports
Reporting
Notifications & Changes
Visual Recon
Notepad
OSINT Collection
Domain Takeovers

Như liệt kê ở bên trên ta có thể thấy các tính năng của Sn1per đã bao gồm hầu hết
khía cạnh trong mảng an tồn thơng tin, từ dị qt lỗ hổng, tấn cơng đến báo cáo và cảnh
báo. Ở phần tiếp theo chúng ta sẽ đi tìm hiểu rõ ràng cách thức sử dụng và kết quả sẽ
nhận được khi chạy các câu lệnh.
3. Kiến trúc của Sn1per

5


Hình 2: Mơ hình kiến trúc của cơng cụ Sn1per

Với mơ hình kiến trúc của Sn1per như trên ta có thể thấy được tổng quan các chức
năng mà Sn1per có, và từ đây người dùng cũng có thể dễ dàng hình dung được các tính
năng có ở bản Professional mà bản Community khơng có.
Đối với các cơng cụ có chung một mục đích sử dụng sẽ được liệt kê ở cùng một nhóm,
cách thức này hỗ trợ người dùng dễ dàng tra cứu, bật tắt những công cụ cần thiết hoặc
khơng cần thiết. Ở đây ta có thể liệt kê ra các cơng cụ với các chức năng chính hay cũng
chính là chức năng của cơng cụ “all-in-one” Sn1per: SSL,TLS Scanning, Exploitation,

Screenshots, Web Application Scanners, Network Scanning, Vulnerability Scanning.
6


Notifications, Reconnasaince (Sub-domain Enumeration), Sub-domain Takeover, OSINT,
S3 Buckets, Brute Force.
4. Cài đặt
Sn1per không hỗ trợ cài đặt từ các tệp thơng thường như .deb, .exe hay .rpm mà thay
vào đó nhà phát triển đã phát hành công cụ này dưới dạng image của container chạy với
Docker. Docker sẽ giúp chúng ta chạy một máy ảo container và bên trong máy ảo đó sẽ
chứa cơng cụ Sn1per. Cả hai phiên bản Community và Professional đều được cài qua
phương thức này. Việc cài đặt cơng cụ trên container cũng sẽ có cả ưu nhược điểm riêng.
Ưu điểm:
-

Có thể chạy trên bất cứ máy host nào có hỗ trợ chạy mơi trường container
(Windows, Linux, MacOS,…).
Dễ dàng cài đặt chỉ với một vài câu lệnh ngắn.
Hạn chế lỗi so với cách cài đặt thông thường do không phải cài các thư viện
phụ thuộc.

Nhược điểm:
-

Hiệu năng rà quét có thể bị ảnh hưởng một phần
Nếu có lỗi xảy ra thì rất khó khắc phục nếu người dùng không hiểu cách sử
dụng docker.

Sau đây chúng ta sẽ tìm hiểu cách cài đặt cơng cụ Sn1per, tơi sẽ giới thiệu cách cài đặt
môi trường để chạy container Sn1per là docker và sau đó là cách thức để chạy công cụ

này trên docker trên Ubuntu. Đối với các hệ điều hành khác thì chỉ khác ở việc cài đặt
docker cịn q trình cài đặt cơng cụ chạy trên nền Docker là giống nhau.
Cài đặt Docker:
sudo apt update && apt upgrade -y
sudo apt install docker.io -y
Sau khi chạy xong hai câu lệnh trên để kiểm tra đã cài đặt thành cơng hay chưa thì
ta sử dụng câu lệnh:
sudo systemctl status docker

7


Hình 3: Cài đặt cơng cụ Docker

Nếu kết quả trả về như hình thì đã cài đặt thành cơng. Tiếp theo ta sẽ tải về image
của công cụ Sn1per và chạy image đó như một máy ảo chứa cơng cụ.
Tải về image cơng cụ Sn1per:
sudo docker pull xer0dayz/sn1per

Hình 4: Tải về image chứa cơng cụ Sn1per

Q trình tài về image có thể mất vài phút, sau khi chạy xong mà khơng có báo lỗi
gì là đã thành cơng, bạn có thể kiểm tra image có trong local bằng câu lệnh
sudo docker images
Tiếp theo chúng ta sẽ chạy image này để tạo một container với công cụ Sn1per bên trong:
sudo docker run -it xer0dayz/sn1per /bin/bash

8



Hình 5: Giao diện dịng lệnh cơng cụ Sn1per

Với 2 flag -it sau khi khởi tạo xong container thì ngay lập tức bạn sẽ được chuyển vào
trong container với giao diện như hình trên.
Để xem được các câu lệnh và chỉ dẫn của Sn1per ta sử dụng câu lệnh:

Hình 6: Tất cả các câu lệnh có thể sử dụng với Sn1per

9


Như vậy chỉ với một vài câu lệnh ta đã cài thành cơng cơng cụ Sn1per chạy trên
docker. Thay vì phải cài nhiều công cụ khác nhau với nhiều câu lệnh khó nhớ, giờ đây chỉ
cần cài Sn1per ta đã có đủ tồn bộ các cơng cụ đó.

Chương II: CÁC TÍNH NĂNG NỔI BẬT CỦA SN1PER
1. Các chế độ quét
Một trong những tính năng đắt giá của Sn1per đó chính là hỗ trợ đa dạng các kiểu
quét, tìm kiếm thu thập thông tin khác nhau. Các chế độ quét này sẽ giúp người dùng có
thể chạy với mục đích nhất định, tùy vào từng chế độ quét sẽ cho kết quả chi tiết hơn.
Thay vì chỉ chạy một chế độ nhất định quét tất cả các thành phần của mục tiêu thì sẽ đem
lại nhiều thơng tin khơng cần thiết và nếu chúng ta muốn quét mục tiêu một cách âm
thầm thì việc qt q nhiều thơng tin khơng cần thiết rất dễ gây ra đánh động chủ sở hữu
khiến bị cấm ngay lập tức.
Các chức năng quét khác nhau sẽ phù hợp với từng kiểu mục tiêu khác nhau, chính
vì vậy việc chọn chế độ qt trong Sn1per cũng rất quan trọng, ta sẽ đi qua từng chế độ
của Sn1per và câu lệnh tương ứng cho từng chế độ.
-

Chế độ Normal:

Bằng cách sử dụng các công cụ quét cơ bản vào mục tiêu và thực hiện quét
các cổng mở bằng cả phương thức bị động và chủ động để có hiệu năng tối ưu
nhất. Đây là chế độ quét mặc định của Sn1per, chính vì thế câu lệnh của chế độ
này cũng đơn giản nhất.
Câu lệnh:
sniper -t <target>
Ví dụ:
sniper -t bizflycloud.vn

Công cụ sẽ tiến hành khởi tạo database và đọc vào cấu hình mặc định của cơng cụ,
cấu hình này sẽ bao gồm các thông số cơ bản để quét, các công cụ được bật,…
10


Hình 7: Chế độ Normal

- Chế độ Stealh:
Đây là phương pháp qt có phần cẩn trọng hơn, thay vì sử dụng mọi biện
pháp có thể để quét như chế độ normal thì chế độ stealh này nhanh chóng liệt kê
các mục tiêu đơn lẻ bằng cách sử dụng chủ yếu là quét không xâm nhập để tránh
bị các công cụ như WAF hay IPS ngăn chặn.
Câu lệnh:
sniper -t <target> -m stealh
Ví dụ:
sniper -t bizflycloud.vn -m stealh

11


Chỉ đơn giản với cách thêm flag -m giá trị stealh thì các bước quét sẽ được đổi

sang chế độ lẩn tránh, âm thầm hơn.
-

Chế độ Flyover:
Chế độ này sẽ sử dụng nhiều luồng cùng một lúc thay vì chỉ chạy ở duy
nhất một luồng như những chế độ quét trước. Việc quét sử dụng nhiều luồng cùng
một lúc sẽ rất hiệu quả khi chúng ta quét nhiều mục tiêu cùng một lúc giúp chúng
ta giảm thời gian đáng kể so với quét chỉ sử dụng một luồng duy nhất.

-

Chế độ Airstrike:
Chế độ này sẽ giúp người tấn công nhanh chóng xác định các cổng và dịch
vụ đang mở trên cùng một lúc nhiều máy chủ cùng với đó thực hiện thao tác lấy
dấu vân tay cơ bản. Để sử dụng được chế độ này ta phải chỉ định rõ tệp chứa các
mục tiêu muốn rà quét
Câu lệnh:
sniper -f path/to/targets.txt -m airstrike
Ví dụ:
sniper -f targets.txt -m airstrike

12


Hình 8: Chế độ AirStrike

-

Chế độ Nuke:
Đây là chế độ sẽ chạy một cách đầy đủ và chi tiết một tệp nhiều mục tiêu

cùng một lúc. Kết quả được đưa ra khi chạy chế độ này sẽ bao hàm tất cả các kết
quả chạy ở các bước trên. Chạy chế độ này nếu bạn muốn biết nhiều thông tin nhất
về đối tượng bạn muốn thăm dò.
Câu lệnh:
sniper -f path/to/targets.txt -m nuke -w <workspace>
Ví dụ:
sniper -f targets.txt -m nuke -w congtyA

13


Hình 9: Chế độ Nuke

-

Chế độ Discover:
Đây là chế độ để thực hiện quét tất cả các host trong cùng mạng hoặc một
mạng con nội bộ, chức năng này rất hữu ích để có thể có được sơ đồ mạng, nắm
bắt được các máy tính có trong mạng mà dễ dàng quản lý và xử lý khi có sự cố
xảy ra.

Câu lệnh:
14


sniper -t <CIDR>-m discover -w <workspace>
Ví dụ:
sniper -t 192.168.52.0/24 -m discover -w congtyA

Hình 10: Chế độ Discover


Tại chế độ này sau khi qt xong ta sẽ có các thơng tin cơ bản của các máy trong
mạng như tình trạng bật tắt, các cổng đang mở của từng máy,…
-

Chế độ Port:
Nếu như ở các chế độ trên công cụ đều quét ở tất cả các cổng có thể thì đối
với chế độ port này, công cụ sẽ chỉ tập trung duy nhất vào một cổng duy nhất và
tìm ra các lỗ hổng ở cổng đó.
Câu lệnh:
15


sniper -t <TARGET> -m port -p <PORT_NUMBER>
Ví dụ:
sniper -t unturnedvn.ddns.net -m port -p 443
-

Chế độ FullPortOnly và MassPortScan:

Cả hai chế độ này đều có chức năng quét mục tiêu trên tất cả các cổng, tuy nhiên ở
chế độ FullPortOnly sẽ chỉ hỗ trợ cho người dùng quét một mục tiêu duy nhất, thay
vào đó nếu muốn quét được nhiều mục tiêu cùng một lúc thì bạn có thể sử dụng chế
độ MassPortScan. Để quét được nhiều mục tiêu cùng một lúc thì ta phải liệt kê các
mục tiêu đó vào 1 tệp nhất định và sử dụng cờ -f cùng đường dẫn đến tệp danh sách
mục tiêu đã lưu.
Câu lệnh:
sniper -t <TARGET> -fp
sniper -f path/to/targets.txt -m massportscan
Ví dụ:

sniper -t cafebiz.vn -fp
sniper -f ./targets.txt -m massportscan
Câu lệnh đầu tiên được sử dụng với chế độ FullPortOnly và câu lệnh phía sau sử
dụng chế độ MassPortScan.

-

Chế độ Web và MassWeb:

Đây là chế độ dành riêng cho mục tiêu là các trang web, với chế độ này Sn1per sẽ
chỉ tiến hành rà quét vào hai cổng chính thường được chạy cho các website là cổng 80
(http) và 443 (https). Trong các chế độ qt trước thì cũng có qt ở cả hai cổng này
tuy nhiên với chế độ dành riêng cho web, công cụ sẽ tiến hành quét chi tiết cho web
hơn và đồng nghĩa việc này cũng sẽ tốn thời gian hơn so với qt thơng thường. Chế
độ MassWeb thì hồn tồn tương tự Web chỉ khác là MassWeb sẽ chạy cho nhiều mục
tiêu cùng một lúc.

Câu lệnh:
16


sniper -t <TARGET> -m web
Ví dụ:
sniper -t -m web
-

Chế độ WebPortHTTP và WebPortHTTPs:

Chế độ WebPortHTTP sẽ tiến hành quét một website chạy với giao thức http, điểm
đặc biệt là với chế độ này công cụ sẽ tự chọn ra các phương pháp hợp lý và phù hợp

với mục tiêu là trang web chạy giao thức http để có thể rà quét được nhiều thông tin
nhất. Tương tự như WebPortHTTP, WebPortHTTPs là chế độ để quét trang web mục
tiêu sử dụng giao thức https.
Câu lệnh:
sniper -t <TARGET> -m webporthttp -p
sniper -t <TARGET> -m webporthttps -p
Ví dụ:
sniper -t -m webporthttp -p 80
sniper -t -m webporthttps -p 443
-

Chế độ WebScan và MassWebScan:

Đây là chế độ cho phép ta có thể thực hiện đầy đủ các tính năng qt của cả web
http và web https sử dụng công cụ Burpsuite và Arachni. Việc sử dụng các công cụ
riêng này giúp chúng ta phân tích được một cách rõ ràng và có mục đích hơn. Tương
tự thì chế độ MassWebScan sẽ là chế độ giúp quét cùng một lúc nhiều mục tiêu với
các chức năng tương tự WebScan.
Câu lệnh:
sniper -t <TARGET> -m webscan
sniper -f path/to/targets.txt -m masswebscan
Ví dụ:
sniper -t tamlyhoctoipham.com -m webscan
17


sniper -f path/to/targets.txt -m masswebscan

Hình 11: Chế độ WebScan


-

Chế độ VulnScan và MassVulnScan:

Đây là chế độ thiên về hướng tấn công hơn, khi chạy công cụ với chế độ này
Sn1per sẽ tiến hành khởi động OpenVAS (Open Vulnerability Assessment Scanner)
18


để rà quét các lỗ hổng chưa được vá của mục tiêu. Tương tự thì với chế độ
MassVulnScan cơng cụ sẽ rà quét với một danh sách các mục tiêu đã được định trước.
Câu lệnh:
sniper -t <TARGET> -m massvulnscan -w <WORKSPACE>
Ví dụ:
sniper -f targets.txt -m massvulnscan -w congtyA

2. Thu thập thơng tin
Việc thu thập thơng tin trước khi có bất cứ một động thái nào khác là việc rất quan
trọng, thu thập được những thơng tin chính xác, có ích có thể giúp người tấn cơng dễ
dàng chọn ra các điểm yếu và tiến hành khảo sát sâu ở từng vùng đó thay vì đi lan man
tìm kiếm ở nhiều vị trí khác nhau. Trong phần này chúng ta sẽ cùng tìm hiểu những thành
phần và những mục nổi bật mà Sn1per qt được trong q trình thu thập thơng tin từ
mục tiêu.
Mục tiêu mẫu trong bài viết này sẽ là trang web , đây là một
trang lớn nên ta có thể qt được ra nhiều mục tiêu và thơng tin. Để tiến hành thăm rò ta
bắt đầu với chế độ normal và tính năng OSINT và RECON, câu lệnh hoàn chỉnh sẽ như
sau:
sniper -t bizflycloud.vn -o -re
Ngay lập tức khi chạy câu lệnh thì Sn1per sẽ tạo workspace riêng cho mục tiêu
này ở đường dẫn mặc định là /usr/share/sniper/loot/workspace/bizflycloud.vn/

-

Tìm kiếm thơng tin về domain tại WHOIS

Hình 12: Qt thơng tin domain với Whois

-

Tìm kiếm các thơng tin có liên quan với công cụ urlscan.io

19


Hình 13: Qt thơng tin với cơng cụ urlscan

-

Thực hiện chạy scan các port đang mở hosting mà trang web này đang chạy trên

Hình 14: Quét các port đang mở

-

Kiểm tra và lấy về thông tin giao thức, header,…

20


Hình 15: Kiểm tra các giao thức, headers của dịch vụ


-

Rị qt được thơng tin địa chỉ IP, vị trí hosting, phiên bản web server

Hình 16: Lấy một số thơng tin địa lý

-

Quét được tất cả các link công khai từ trang web

21


Hình 17: Rà quét các đường link trong mục tiêu

-

Cùng với đó cơng cụ sẽ lưu lại các thơng tin công khai về trang web bao gồm số
điện thoại và email

Hình 18: Qt các thơng tin liên lạc như email, số điện thoại

22


-

Cơng cụ cho phép ta tìm ra các sub domain của domain chính, việc này rất hữu ích
khi tại các trang phụ được bảo mật kém hơn nhiều so với trang chính


Hình 19: Tìm kiếm ra các subdomain của mục tiêu

-

Ngồi ra một khả năng khác vơ cùng hữu ích đó là quét các đường liên kết dễ bị
khai thác, giúp người tấn cơng dễ dàng tìm kiếm lỗ hổng

Hình 20: Quét ra các đường dẫn có nguy cơ tấn công cao

23


Thử với một mục tiêu khác là trang web https:// happyorder.vn/, khi chạy quét với chế độ
OSINT ta thu thập nhiều thơng tin về nhân viên cùng chức vụ:

Hình 21: Thông tin các nhân viên trong công ty mục tiêu

Các thông tin này vô cùng nguy hiểm khi bị lọt ra ngoài, bởi lẽ khi biết được hệ
thống chức vụ trong công ty của mỗi người, kẻ tấn công dễ dàng thực hiện những kỹ
24


thuật social engineering để lấy những thông tin từ nhân viên trong cơng ty. Từ đó việc tấn
cơng vào hệ thống trở nên dễ dàng hơn rất nhiều.
Ngoài ra với khả năng quét toàn bộ mã nguồn của trang web, ví dụ như ở đây
Sn1per đã quét và lưu lại toàn bộ các comment ở trong code của trang web giúp cho
người tấn công hiểu được logic hoạt động của trang web, dễ dàng khai thác hơn.

Hình 22: Thơng tin các đoạn mã bình luận trong code


Hay cịn nhiều tính năng khác đem lại người người rị tìm rất nhiều các thơng tin có liên
quan như: đường dẫn các tệp code, các thư viện được sử dụng, các lỗi của trang được liên
kết đến,…
Như vậy ở trong chương này ta đã tìm hiểu được các chế độ sử dụng của cơng cụ Sn1per,
cùng với đó ta hiểu được các câu lệnh có thể làm được những gì và cho ta những thơng
tin gì. Đến với chương tiếp theo ta sẽ tiến hành rà quét một mục tiêu cụ thể xem từ đó ta
xem rằng sẽ khai thác được thơng tin gì nhờ cơng cụ Sn1per.

Chương III: Demo
Trong phần này chúng ta sẽ cùng thu thập thông tin về một mục tiêu nhất định và đưa ra
các suy luận với những thơng tin tìm kiếm được. Mục tiêu trong phần này là trang web
25


×