Chính vì vậy thay vì phải sử dụng nhiều công cụ một lúcthì 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ỉ
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
Bài báo cáo:
Tìm hiểu công cụ Sn1per
Giảng viên hướng dẫn: TS Đặng Minh Tuấn Sinh viên thực hiện: Nhóm 2
Họ và tên: Nguyễn Hoàng Việt
Hà Nội 2021
Trang 2MỤ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 toà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 toà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ò quét 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
Trang 3là 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 toà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ò quét, 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úcthì 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 quét 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
Trang 4Sự 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
Trang 52 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
3 Kiến trúc của Sn1per
Trang 6Hì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ứcnă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,
Trang 7Notifications, 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 đặtmô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 quá 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
Trang 8Hì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
Quá 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
Trang 9Hì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
Trang 10Như 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ó đủ toà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 quét quá nhiều thông tin không cần thiết rất dễ gây ra đánh động chủ sở hữukhiế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ế độ quét 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.vnCô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,…
Trang 11Hình 7: Chế độ Normal
- Chế độ Stealh:
Đây là phương pháp quét 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
Trang 12Chỉ đơ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
Trang 13Hì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ò
Trang 14Hì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
Trang 15sniper -t <CIDR>-m discover -w <workspace>
Câu lệnh:
Trang 16sniper -t <TARGET> -m port -p <PORT_NUMBER>
độ 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> -fpsniper -f path/to/targets.txt -m massportscan
Ví dụ:
sniper -t cafebiz.vn -fpsniper -f /targets.txt -m massportscanCâ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ế độ quét trước thì cũng có quét ở 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 quét thông thường Chế
độ MassWeb thì hoàn toàn tương tự Web chỉ khác là MassWeb sẽ chạy cho nhiều mụctiêu cùng một lúc
Trang 17sniper -t <TARGET> -m web
Câu lệnh:
sniper -t <TARGET> -m webporthttp -p <port>
sniper -t <TARGET> -m webporthttps -p <port>
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
Trang 18sniper -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
Trang 19để 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 quantrọ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ànhphần và những mục nổi bật mà Sn1per quét được trong quá 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 https://bizflycloud.vn, đây là một trang lớn nên ta có thể quét đượ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: Quét 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
Trang 20Hình 13: Quét 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,…
Trang 21Hình 15: Kiểm tra các giao thức, headers của dịch vụ
- Rò quét đượ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
Trang 22Hì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: Quét các thông tin liên lạc như email, số điện thoại
Trang 23- 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 íchkhi 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
- Ngoà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
Trang 24Thử 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ỹ
Trang 25thuật social engineering để lấy những thông tin từ nhân viên trong công ty Từ đó việc tấncô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ênkế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
Trang 26napthengay.com Ta bắt đầu rò quét với chế độ quét normal kết hợp với OSINT và
Recon
Trang 27Đầu tiên với các thông tin quét được về domain ta có như hình
Trang 28Tuy domain là tiếng việt nhưng thông tin đăng ký lại ở bên Canada với thông tin tác hoàntoàn nên đây khả năng cao là thông tin giả không có nhiều giá trị.
Tiếp theo ta quét được các máy chủ với các địa chỉ IP đang chạy website với nhiều
domain khác nhau Từ đây ta có thể tập trung tấn công vào các domain quan trọng như admin.napthengay.com hoặc taikhoan.napthengay.com thay vì nhằm vào trang chủ chỉ có
dữ liệu giao diện
Sau khi quét cổng đang mở của mục tiêu này ta nhận ra các dịch vụ mà mục tiêu này đang chạy, tại máy chủ này đang chạy mail server tại cổng mặc định 25, dịch vụ web server tại cổng 80 và 443 và cùng với đó là database chạy lại cổng 3306