hunganh1803
W-------
-
24/06/2015
-
6
-
5 bài viết
Internet Scanning và các công cụ thường sử dụng
I. Internet Scanning
1. Giới thiệu về Internet Scanning
Internet Scanning là một kỹ thuật mạnh mẽ được sử dụng bởi các nhà nghiên cứu để nghiên cứu và đo lường Internet hoặc cũng có thể được sử dụng bởi các hacker với mục đích tìm kiếm những lỗ hổng và khai thác chúng với ý đồ xấu . Mục đích của việc Scanning the Internet là thu thập mọi thông tin cần thiết để phục vụ cho việc nghiên cứu đối với những người vận hành mạng hay phục vụ cho mục đích tấn công đối với những hacker. Những thông tin thu thập được bằng việc Scanning the Internet ở đây có thể là những dịch vụ đang chạy trên Internet, thông tin về hệ điều hành của các máy chủ, những cổng đang mở trên Internet với các dịch vụ tương ứng, những host còn đang chạy trên Internet,.…..
2. Mục đích Internet Scanning
Internet Scanning giúp ta thu thập mọi thông tin có trên internet nhưng về cơ bản có hai lý do chính để thực hiện Scanning. Thứ nhất là để tìm kiếm lỗ hổng để khai thác hoặc nghiên cứu an ninh. Thứ hai là thống kê, để cung cấp cái nhìn tổng quan về các vấn đề trên Internet. Ngoài ra, nhiều tổ chức đang tiến hành những dự án mà ở đó Scanning không dùng để nghiên cứu cũng không dùng để khai thác lỗ hổng mà sử dụng để khám phá, trinh sát phục vụ các hoạt động quân sự.
Ví dụ: Khi một lỗ hổng mới được công bố trên Internet. Sử dụng Internet Scanning giúp ta thống kê được những host nào bị dính lỗ hổng, những host nào đã được vá lỗi hay những dịch vụ nào trên các host bị dính lỗi này.
3. Tình trạng Internet Scanning hiện nay
Theo thống kê, gần 80% lượng quét đều nhắm tới hơn 1% không gian địa chỉ IPV4. Trước đây Scanning the Internet với số lượng địa chỉ IP lớn như vậy là một quá trình chậm chạp và tốn nhiều công sức. Chẳng hạn, trong năm 2010 Electronic Frontier Foundation đã tiến hành quét để thu thập dữ liệu về việc sử dụng mã hóa trực tuyến. Quá trình quét kéo dài hơn 3 tháng. Tuy nhiên trong vài năm vừa qua với sự ra đời của hai công cụ quét tốc độ cao là ZMap và Masscan đã tác động không nhỏ đến Internet Scanning. Thời gian quét đã giảm đáng kể từ vài tuần xuống chỉ còn vài tiếng. Tiến bộ mới trong chức năng quét tốc độ cao đã làm thay đổi cảnh quan an ninh, làm cho những kẻ tấn công có thể hoàn thành việc Scanning với quy mô lớn chỉ trong vài giờ. Nhưng ngược lại, khả năng quét nhanh chóng và tiết kiệm chi phí cũng mở ra một cơ hội hấp dẫn cho ngành nghiên cứu Internet.
4. Phạm vi Scan
• Horizontal scan: Mô tả quá trình quét cùng một cổng trên nhiều địa chỉ IP. Một ví dụ điển hình của Horizontal scan là quét toàn bộ không gian địa chỉ IPV4 trên một cổng duy nhất. Horizontal scan thường được sử dụng bởi những kẻ tấn công để phát hiện các cổng mở trên một số lượng lớn các máy chủ qua đó khai thác lỗ hổng của các ứng dụng đang lắng nghe trên cổng đó. Hoặc cách quét đó cũng có thể sử dụng để quét kiểm tra an ninh. Chẳng hạn như việc thống kê sự phân bố của một lỗ hổng có trên internet.
• Vertical scan: Mô tả chức năng quét nhiều cổng trên cùng một địa chỉ IP. Ví dụ như quét toàn bộ các cổng thông dụng của một máy chủ. Quét như vậy chủ yếu là để phát hiện lỗ hổng trên một hệ thống duy nhất.
• Block scan: Phạm vi quét là sự kết hợp của hai kiểu quét trên – quét nhiều cổng trên nhiều địa chỉ khác nhau. Đối với những khối lớn thì khả năng mở rộng là rất hạn chế. Trên thực tế thì ta cũng chỉ quét một số lượng nhỏ các cổng thông dụng chứ không quét toàn bộ các cổng của một máy chủ. Quét như vậy thích hợp với những chuyên gia nghiên cứu an ninh mạng toàn cầu hoặc những kẻ tấn công nhằm vào nhiều lỗ hổng khác nhau.
Trong bài viết này ta chủ yếu nghiên cứu về loại Horizontal scan và các dịch vụ thường được nhắm đến khi thực hiện một cuộc Scanning the Internet trên quy mô lớn.
5. Một số các kiểu Scanning thông dụng
5.1. Port scanning
Port scanning là một quá trình kết nối các cổng (TCP và UDP) trên internet nhằm xác định xem dịch vụ nào đang chạy hoặc đang trong trạng thái nghe. Xác định các cổng nghe là một công việc quan trọng nhằm xác định được loại hình hệ thống và những ứng dụng đang được sử dụng. Mỗi dịch vụ hay ứng dụng máy tính đều được kết hợp với một số cổng thông dụng.
5.2. Network scanning
Network scanning là một quy trình để xác định máy chủ đang hoạt động trên mạng, hoặc để tấn công chúng hoặc là đánh giá an ninh mạng. Máy chủ được xác định bởi IP cá nhân của chúng. Các công cụ network-scanning cố gắng xác định tất cả các máy chủ trực tiếp hoặc trả lời trên mạng và địa chỉ IP tương ứng của chúng. Khi đã chắc chắn những địa chỉ nào có host đang chạy ta sẽ thực hiện quét cổng chỉ những địa chỉ này nhằm giảm bớt lượng host cần quét ngoài việc giúp tiết kiệm chi phí còn giúp giảm thời gian quét rất đáng kể.
5.3. Vulnerability scanning
Vulnerability scanning là quá trình chủ động xác định các lỗ hổng của các mục tiêu trên internet. Thông thường, một máy quét lỗ hổng đầu tiên xác định các hệ điều hành và số phiên bản, bao gồm các gói dịch vụ có thể được cài đặt. Sau đó, máy quét lỗ hổng xác định các điểm yếu, lỗ hổng trong hệ điều hành. Một hệ thống phát hiện xâm nhập (IDS) hay một mạng an ninh tinh vi chuyên nghiệp với các công cụ thích hợp có thể phát hiện các hoạt động port-scanning. Các công cụ dò quét cổng TCP/IP tìm kiếm các cổng mở và địa chỉ IP, và lỗ hổng thường có thể bị phát hiện, vì các máy quét phải tương tác với các mục tiêu trên mạng
6. Một số cơ quan, tổ chức thực hiện Internet Scanning và các dự án
6.1. Các nhà phát triển ZMap Đại học Michigan
Họ lưu trữ những dữ liệu đã quét được trên một kho dữ liệu được công khai trên internet: https://scans.io. Các trang web lưu trữ kết quả quét được thực hiện bởi không chỉ đội ngũ ZMap mà còn bởi bất kỳ bên thứ ba sẵn sàng công bố dữ liệu nghiên cứu của họ
6.2. Project Sonar
Dự án Sonar là một nỗ lực hướng dẫn cộng đồng của Rapid7, một công ty Mỹ chuyên về bảo mật. Dự án này ban đầu được xác định bởi việc Horizontal Scan trên toàn bộ không gian địa chỉ IPV4 cổng 443(HTTPS) sử dụng ZMap. Tuy nhiên sau đó dự án Sonar được mở rộng để quét UDP cũng như thu thập các tập tin chỉ mục HTML từ cổng 80 và bản ghi DNS. Mục tiêu của dự án này là cung cấp một cái nhìn tổng quan về an ninh các dịch vụ web
6.3. SIPscan
SIPscan là một nhóm internet rộng rãi quét trên các cổng UDP 5060, 5061, 5070 và TCP port 80. SIPscan đã được phát hiện và quan sát bởi UCSD Network Telescope . SIP được sử dụng chủ yếu cho điện thoại trên Internet. SIPscan là một loại scan phổ biến trên toàn cầu được thực hiện bới một spanning botnet trên hơn 3 triệu địa chỉ IPV4.
6.4. Conficker
Conficker traffic là một ví dụ điển hình của việc sử dụng port scanning cho việc tìm kiếm các host có lỗ hổng. Conficker là tên một con worm mà mục tiêu của nó là khai thác các lỗ hổng các dịch vụ của máy chủ sử dụng hệ điều hành windows. Worm này đầu tiên sẽ khởi động một HTTP server trên một cổng TCP ngẫu nhiên; cổng này sau đó được dùng để tải về file thực thi của con worm này đến các máy tính khác. Nó sẽ lấy địa chỉ IP của những máy tính trên cùng mạng và tấn công chúng thông qua lỗi tràn bộ đệm trên dịch vụ Server. Nó gửi một yêu cầu RPC lừa đảo đến một máy tính ở xa, yêu cầu này sẽ làm tràn bộ đệm khi hàm wcscpy_s được gọi trong thư viện netapi32.dll. Điều này làm kích hoạt một đoạn code để download con worm này về, kích hoạt và cài đặt nó lên những hệ thống mới.
6.5. Shodan
Shodan là một công cụ tìm kiếm được tạo ra vào năm 2009 bởi “Internet cartographer” John Matherly phục vụ cho việc tìm kiếm các thiết bị khác nhau có kết nối với internet.Các thiết bị ở đây có thể là các máy chủ, webcam, các thiết bị định tuyến và tất cả những thứ gì kết nối với internet. Shodan chạy 24/7 và thu thập thông tin về khoảng 500 triệu thiết bị và dịch vụ kết nối mỗi tháng. Vô số các đèn tín hiệu giao thông, các camera an ninh, các thiết bị tự động của smart home có kết nối internet đều dễ dàng phát hiện bởi shodan
6.6. NSA/GCHQ HACIENDA
NSA/GCHQ HACIENDA là tên của một chương trình trinh sát của cơ quan an ninh quốc gia Mỹ (NSA) và các trụ sở truyền thông Chính phủ vương quốc anh(GCHQ).Chương trình được đánh giá là tuyệt mật, tuy nhiên vào tháng 8 năm 2014 slide trình bày về chương trình này đã bị lộ ra ngoài. HACIENDA sử dụng Nmap là công cụ quét với các địa chỉ host là ngẫu nhiên
II. Các công cụ thường được sử dụng
1. Zmap
1.1. Giới thiệu
ZMap là công cụ mã nguồn mở được thiết kế để quét dịch vụ mạng trên phạm vi rộng. ZMap có thể quét toàn bộ dãy địa chỉ IPv4 trong một khoảng thời gian ngắn. Công cụ này được sử dụng trong nhiều mục đích khác nhau như: tìm nhanh các IP đang bị nhiễm mã độc, các lỗ hổng bảo mật; đánh giá, liệt kê các thiết bị mạng đang sử dụng…
Zmap rất mạnh khi tiến hành quét theo từng dịch vụ riêng lẻ.
Để ZMap có thể phát huy hết khả năng yêu cầu phải có đường truyền đủ mạnh.
1.2. Sử dụng
Phiên bản ổn định mới nhất của ZMap là phiên bản 2.1.0 và hỗ trợ Linux, Mac OS, và BSD. Nó có thể được cài đặt thông qua quản lý gói tích hợp trên các hệ điều hành sau:
Debian hoặc Ubuntu: sudo apt-get install zmap
Fedora, CentOS, và RHEL : sudo yum install zmap
Mac OS (brew): brew install zmap
Các phiên bản mới nhất của Zmap được cập nhật tại
git://github.com/zmap/zmap.git
Trong bài viết này tôi sẽ demo cách sử dụng cơ bản Zmap trên Linux.
Ví dụ sau đây ta sẽ quét ngẫu nhiên 1000 địa chỉ ip trên cổng 80 với tốc độ gửi tin là 10Mbps. Kết quả quét được lưu trong file result.zmap.
Khi quá trình quét bắt đầu, Zmap sẽ hiển thị cập nhật trạng thái quét sau mỗi giây. Trạng thái bao gồm có: thời gian quét còn lại, số gói tin gửi đi, số gói tin nhận về, lượt truy cập. Kết quả quét được ghi lại trong file result.zmap:
Sau đây là các tham số được sử dụng phổ biến khi tiến hành quét với zmap:
• Tùy chọn chung:
-p, --target-port : Số cổng TCP để quét(VD: 80)
-o, --output-file: File lưu kết quả quét
-b, --blacklist-file : Khi quét Zmap sẽ không quét các địa chỉ nằm trong danh sách này.
• Tùy chọn quét:
-n, --max-targets: Số mục tiêu cần quét.
-N, --max-results: Thoát khỏi quá trình quét sau khi nhận được số kết quả được nhập vào tham số này
-r, --rate: Thiết lập tốc độ gửi các gói tin.
-B, --bandwidth: Thiết lập tốc độ gửi bằng bit/s
• Tùy chọn mạng:
-s, --source-port: Các gói dữ liệu sẽ được gửi từ cổng này.
-S, --source-Ip: Các gói dữ liệu sẽ được gửi từ địa chỉ IP này. Có thể là 1 hay nhiều địa chỉ IP.
-G, --gateway-Mac: Địa chỉ Gateway để gửi gói tin đến.
-i, --interface: Giao diện mạng sử dụng.
• Tùy chọn kiểu quét:
--list-probe-modules: Danh sách module thăm dò (VD: tcp_synscan)
-M, --probe-module: Chọn kiểu module thăm dò. Mặc định là tcp_synscan
• Tùy chọn bổ sung:
-C, --config: Đọc 1 tập tin cấu hình
-q, --quiet: Không hiển thị cập nhật trạng thái trong quá trình quét.
-g, --summary: cấu hình In và tóm tắt các kết quả vào cuối của quá trình quét.
-v, --verbosity: mức độ chi tiết log
-h, --help: trợ giúp
-V, --version: phiên bản
2. Shodan
2.1. Giới thiệu
Shodan là công cụ tìm kiếm Internet tại địa chỉ : https://www.shodan.io/. Không như Google, nó tìm kiếm nội dung online không dành cho người dùng phổ thông. Nội dung này gồm máy chủ, webcam, máy in và tất cả những thứ khác có kết nối Internet.
Shodan cũng giới hạn mức độ khai thác thông tin. Không có tài khoản thì Shodan chỉ cho ra 10 kết quả tìm kiếm. Có tài khoản Shodan hoặc Twitter, Facebook, Google… số lượng kết quả tăng lên 50. Còn nếu trả phí, tức là nâng cấp lên tài khoản VIP, kết quả tìm kiếm sẽ nhiều hơn cộng với khả năng tải về những phân tích về kết quả tìm kiếm đó.
Các từ khóa tìm kiếm trên Shodan chủ yếu là tiếng Anh. Từ khóa tiếng Việt (có dấu) không cho kết quả.
2.2. Sử dụng
Việc đầu tiên bạn cần làm là truy cập vào trang sau: https://www.shodan.io/
Muốn khai thác công cụ tìm kiếm Shodan sâu hơn, bạn sẽ phải có tài khoản (hoặc là tạo tài khoản Shodan mới hoặc sử dụng các tài khoản Gmail, Facebook, Twitter, Yahoo sẵn có của bạn) và trả phí. Nếu không có tài khoản, bạn chỉ được xem 10 kết quả tìm kiếm đầu tiên.
Sau đây là ý nghĩa các kết quả trả về sau khi tìm kiếm 1 cụm từ. Ví dụ khi ta tìm kiếm “youtube” :
Sau khi tìm kiếm từ khóa youtube, kết quả trả về được chia làm 2 cột. Cột bên trái hiển thị các thông tin liên quan tới từ khóa vừa tìm kiếm, cột bên phải hiển thị các kết quả tìm thấy đầu tiên.
Đầu tiên là cột bên trái, mục Services là các giao thức liên quan tới từ khóa đang tìm, như http, smb, netbios… nếu quan tâm nhất tới mục nào thì bấm vào mục đó, nó sẽ giúp thu gọn lại kết quả tìm kiếm. Tương tự như vậy, các mục ở dưới như quốc gia liên quan, thành phố liên quan, hay nhà phát hành liên quan tới từ khóa mà bạn tìm kiếm. Việc chọn lựa các tùy chọn đó sẽ giúp cho ra được kết quả tìm kiếm gần nhất với yêu cầu của bạn.
Tiếp theo đến cột bên phải, hiển thị các kết quả tìm được theo từ khóa . Dòng đầu tiên là địa chỉ IP server đầu tiên tìm thấy được. Dưới địa chỉ IP là nơi đặt server. Tiếp theo là thông tin ngày tháng mà Shodan tìm kiếm và thêm vào hệ thống của Shodan. Dưới nữa là thông tin của quốc gia và thành phố đặt server.
Chú ý thêm thông tin ở cột bên phải, bạn quan tâm đến các dữ liệu như server: đây là thông tin hiển thị hệ điều hành của máy chủ. Còn các thông tin khác hiển thị liên quan tới giao thức hoạt động của kết quả tìm kiếm được.
Để tìm hiểu sâu hơn, có thể bấm vào nút Details, có một mục là Latitude/ Longitude: 26.1882, -80.1711 đây chính là tọa độ đặt server. Còn các thông tin bên dưới cho biết về giao thức hoạt động của kết quả vừa bấm vào.
Để giúp hình dung rõ hơn, tôi thử với từ khóa vozforums.com và chỉ tìm được một kết quả (như hình dưới đây). Theo như kết quả hiển thị, thì chỉ có 1 giao thức liên quan tới vozforums.com là http, chỉ liên quan tới HaNoi – Việt Nam và nơi đặt máy chủ liên quan tới FPT. Máy chủ chạy hệ điều hành nginx.
Nếu tìm kiếm với từ khóa là máy in hoặc modem, thì các kết quả trả về cũng có ý nghĩa tương tự, cột bên trái là các mục liên quan tới từ khóa tìm kiếm, nó sẽ giúp thu gọn kết quả tìm kiếm được. Cột bên phải hiển thị các thông tin liên quan tới kết quả tìm kiếm được.
Shodan là một trang web thu thập thông tin, giúp bạn có thể tìm ra thông tin liên quan đến các server, các dịch vụ, các điểm yếu lỗ hổng của một trang web hay các thiết bị phần cứng có kết nối Internet khác, mà từ đó bạn có thể tiện để khai thác, tấn công mạng vào đó.
Tuy nhiên, nó chỉ như là một người chỉ cho bạn cánh cửa, nhưng không cho bạn chìa khóa để vào, trừ khi cửa đã mở sẵn. Nó chỉ cho bạn lỗ hổng, điểm yếu nhất của mục tiêu bạn đang quan tâm, nhưng không cho bạn sẵn password hay ID để thâm nhập vào, các việc còn lại là của bạn, nếu bạn là một hacker. Còn nếu mà chủ nhà không đặt ID, password thì bạn có thể tự do thoải mái ra vào, cấu hình, chỉnh sửa.
Thực tế khi tìm kiếm từ Shodan, bạn chỉ tới được cánh cửa của một kết quả bạn tìm kiếm được. Tuy nhiên với việc đặt mật khẩu bảo mật với username là admin và password là 1234 đã giúp cho vô số người có thể xâm nhập vào hệ thống máy in, webcam hay bất cứ thứ gì tương tự có kết nối internet. Và đôi khi nếu may mắn bạn cũng có thể tìm được một kết quả mà người quản trị không đặt mật khẩu, lúc đó bạn có thể tùy biến các giá trị trong mục cài đặt.
Tất nhiên là để tìm ra được một kết quả mà bạn có thể đăng nhập vào như vậy sẽ tốn rất nhiều thời gian, thử từng kết quả tìm kiếm được. Và hầu hết các kết quả mà bạn tìm kiếm được sẽ bắt bạn khai báo thông tin đăng nhập, để có thể xem được tiếp các nội dung bên trong. Do vậy, nếu có ý định xem bên trong một mục tiêu nào đó được bảo mật tốt thì Shodan cũng không giúp gì nhiều được cho bạn. Trừ khi bạn là một hacker giỏi, thì Shodan sẽ giúp bạn bớt đi một chút thời gian để tìm kiếm ra những thông tin trên.
1. Giới thiệu về Internet Scanning
Internet Scanning là một kỹ thuật mạnh mẽ được sử dụng bởi các nhà nghiên cứu để nghiên cứu và đo lường Internet hoặc cũng có thể được sử dụng bởi các hacker với mục đích tìm kiếm những lỗ hổng và khai thác chúng với ý đồ xấu . Mục đích của việc Scanning the Internet là thu thập mọi thông tin cần thiết để phục vụ cho việc nghiên cứu đối với những người vận hành mạng hay phục vụ cho mục đích tấn công đối với những hacker. Những thông tin thu thập được bằng việc Scanning the Internet ở đây có thể là những dịch vụ đang chạy trên Internet, thông tin về hệ điều hành của các máy chủ, những cổng đang mở trên Internet với các dịch vụ tương ứng, những host còn đang chạy trên Internet,.…..
2. Mục đích Internet Scanning
Internet Scanning giúp ta thu thập mọi thông tin có trên internet nhưng về cơ bản có hai lý do chính để thực hiện Scanning. Thứ nhất là để tìm kiếm lỗ hổng để khai thác hoặc nghiên cứu an ninh. Thứ hai là thống kê, để cung cấp cái nhìn tổng quan về các vấn đề trên Internet. Ngoài ra, nhiều tổ chức đang tiến hành những dự án mà ở đó Scanning không dùng để nghiên cứu cũng không dùng để khai thác lỗ hổng mà sử dụng để khám phá, trinh sát phục vụ các hoạt động quân sự.
Ví dụ: Khi một lỗ hổng mới được công bố trên Internet. Sử dụng Internet Scanning giúp ta thống kê được những host nào bị dính lỗ hổng, những host nào đã được vá lỗi hay những dịch vụ nào trên các host bị dính lỗi này.
3. Tình trạng Internet Scanning hiện nay
Theo thống kê, gần 80% lượng quét đều nhắm tới hơn 1% không gian địa chỉ IPV4. Trước đây Scanning the Internet với số lượng địa chỉ IP lớn như vậy là một quá trình chậm chạp và tốn nhiều công sức. Chẳng hạn, trong năm 2010 Electronic Frontier Foundation đã tiến hành quét để thu thập dữ liệu về việc sử dụng mã hóa trực tuyến. Quá trình quét kéo dài hơn 3 tháng. Tuy nhiên trong vài năm vừa qua với sự ra đời của hai công cụ quét tốc độ cao là ZMap và Masscan đã tác động không nhỏ đến Internet Scanning. Thời gian quét đã giảm đáng kể từ vài tuần xuống chỉ còn vài tiếng. Tiến bộ mới trong chức năng quét tốc độ cao đã làm thay đổi cảnh quan an ninh, làm cho những kẻ tấn công có thể hoàn thành việc Scanning với quy mô lớn chỉ trong vài giờ. Nhưng ngược lại, khả năng quét nhanh chóng và tiết kiệm chi phí cũng mở ra một cơ hội hấp dẫn cho ngành nghiên cứu Internet.
4. Phạm vi Scan
• Horizontal scan: Mô tả quá trình quét cùng một cổng trên nhiều địa chỉ IP. Một ví dụ điển hình của Horizontal scan là quét toàn bộ không gian địa chỉ IPV4 trên một cổng duy nhất. Horizontal scan thường được sử dụng bởi những kẻ tấn công để phát hiện các cổng mở trên một số lượng lớn các máy chủ qua đó khai thác lỗ hổng của các ứng dụng đang lắng nghe trên cổng đó. Hoặc cách quét đó cũng có thể sử dụng để quét kiểm tra an ninh. Chẳng hạn như việc thống kê sự phân bố của một lỗ hổng có trên internet.
• Vertical scan: Mô tả chức năng quét nhiều cổng trên cùng một địa chỉ IP. Ví dụ như quét toàn bộ các cổng thông dụng của một máy chủ. Quét như vậy chủ yếu là để phát hiện lỗ hổng trên một hệ thống duy nhất.
• Block scan: Phạm vi quét là sự kết hợp của hai kiểu quét trên – quét nhiều cổng trên nhiều địa chỉ khác nhau. Đối với những khối lớn thì khả năng mở rộng là rất hạn chế. Trên thực tế thì ta cũng chỉ quét một số lượng nhỏ các cổng thông dụng chứ không quét toàn bộ các cổng của một máy chủ. Quét như vậy thích hợp với những chuyên gia nghiên cứu an ninh mạng toàn cầu hoặc những kẻ tấn công nhằm vào nhiều lỗ hổng khác nhau.
Trong bài viết này ta chủ yếu nghiên cứu về loại Horizontal scan và các dịch vụ thường được nhắm đến khi thực hiện một cuộc Scanning the Internet trên quy mô lớn.
5. Một số các kiểu Scanning thông dụng
5.1. Port scanning
Port scanning là một quá trình kết nối các cổng (TCP và UDP) trên internet nhằm xác định xem dịch vụ nào đang chạy hoặc đang trong trạng thái nghe. Xác định các cổng nghe là một công việc quan trọng nhằm xác định được loại hình hệ thống và những ứng dụng đang được sử dụng. Mỗi dịch vụ hay ứng dụng máy tính đều được kết hợp với một số cổng thông dụng.
5.2. Network scanning
Network scanning là một quy trình để xác định máy chủ đang hoạt động trên mạng, hoặc để tấn công chúng hoặc là đánh giá an ninh mạng. Máy chủ được xác định bởi IP cá nhân của chúng. Các công cụ network-scanning cố gắng xác định tất cả các máy chủ trực tiếp hoặc trả lời trên mạng và địa chỉ IP tương ứng của chúng. Khi đã chắc chắn những địa chỉ nào có host đang chạy ta sẽ thực hiện quét cổng chỉ những địa chỉ này nhằm giảm bớt lượng host cần quét ngoài việc giúp tiết kiệm chi phí còn giúp giảm thời gian quét rất đáng kể.
5.3. Vulnerability scanning
Vulnerability scanning là quá trình chủ động xác định các lỗ hổng của các mục tiêu trên internet. Thông thường, một máy quét lỗ hổng đầu tiên xác định các hệ điều hành và số phiên bản, bao gồm các gói dịch vụ có thể được cài đặt. Sau đó, máy quét lỗ hổng xác định các điểm yếu, lỗ hổng trong hệ điều hành. Một hệ thống phát hiện xâm nhập (IDS) hay một mạng an ninh tinh vi chuyên nghiệp với các công cụ thích hợp có thể phát hiện các hoạt động port-scanning. Các công cụ dò quét cổng TCP/IP tìm kiếm các cổng mở và địa chỉ IP, và lỗ hổng thường có thể bị phát hiện, vì các máy quét phải tương tác với các mục tiêu trên mạng
6. Một số cơ quan, tổ chức thực hiện Internet Scanning và các dự án
6.1. Các nhà phát triển ZMap Đại học Michigan
Họ lưu trữ những dữ liệu đã quét được trên một kho dữ liệu được công khai trên internet: https://scans.io. Các trang web lưu trữ kết quả quét được thực hiện bởi không chỉ đội ngũ ZMap mà còn bởi bất kỳ bên thứ ba sẵn sàng công bố dữ liệu nghiên cứu của họ
6.2. Project Sonar
Dự án Sonar là một nỗ lực hướng dẫn cộng đồng của Rapid7, một công ty Mỹ chuyên về bảo mật. Dự án này ban đầu được xác định bởi việc Horizontal Scan trên toàn bộ không gian địa chỉ IPV4 cổng 443(HTTPS) sử dụng ZMap. Tuy nhiên sau đó dự án Sonar được mở rộng để quét UDP cũng như thu thập các tập tin chỉ mục HTML từ cổng 80 và bản ghi DNS. Mục tiêu của dự án này là cung cấp một cái nhìn tổng quan về an ninh các dịch vụ web
6.3. SIPscan
SIPscan là một nhóm internet rộng rãi quét trên các cổng UDP 5060, 5061, 5070 và TCP port 80. SIPscan đã được phát hiện và quan sát bởi UCSD Network Telescope . SIP được sử dụng chủ yếu cho điện thoại trên Internet. SIPscan là một loại scan phổ biến trên toàn cầu được thực hiện bới một spanning botnet trên hơn 3 triệu địa chỉ IPV4.
6.4. Conficker
Conficker traffic là một ví dụ điển hình của việc sử dụng port scanning cho việc tìm kiếm các host có lỗ hổng. Conficker là tên một con worm mà mục tiêu của nó là khai thác các lỗ hổng các dịch vụ của máy chủ sử dụng hệ điều hành windows. Worm này đầu tiên sẽ khởi động một HTTP server trên một cổng TCP ngẫu nhiên; cổng này sau đó được dùng để tải về file thực thi của con worm này đến các máy tính khác. Nó sẽ lấy địa chỉ IP của những máy tính trên cùng mạng và tấn công chúng thông qua lỗi tràn bộ đệm trên dịch vụ Server. Nó gửi một yêu cầu RPC lừa đảo đến một máy tính ở xa, yêu cầu này sẽ làm tràn bộ đệm khi hàm wcscpy_s được gọi trong thư viện netapi32.dll. Điều này làm kích hoạt một đoạn code để download con worm này về, kích hoạt và cài đặt nó lên những hệ thống mới.
6.5. Shodan
Shodan là một công cụ tìm kiếm được tạo ra vào năm 2009 bởi “Internet cartographer” John Matherly phục vụ cho việc tìm kiếm các thiết bị khác nhau có kết nối với internet.Các thiết bị ở đây có thể là các máy chủ, webcam, các thiết bị định tuyến và tất cả những thứ gì kết nối với internet. Shodan chạy 24/7 và thu thập thông tin về khoảng 500 triệu thiết bị và dịch vụ kết nối mỗi tháng. Vô số các đèn tín hiệu giao thông, các camera an ninh, các thiết bị tự động của smart home có kết nối internet đều dễ dàng phát hiện bởi shodan
6.6. NSA/GCHQ HACIENDA
NSA/GCHQ HACIENDA là tên của một chương trình trinh sát của cơ quan an ninh quốc gia Mỹ (NSA) và các trụ sở truyền thông Chính phủ vương quốc anh(GCHQ).Chương trình được đánh giá là tuyệt mật, tuy nhiên vào tháng 8 năm 2014 slide trình bày về chương trình này đã bị lộ ra ngoài. HACIENDA sử dụng Nmap là công cụ quét với các địa chỉ host là ngẫu nhiên
II. Các công cụ thường được sử dụng
1. Zmap
1.1. Giới thiệu
ZMap là công cụ mã nguồn mở được thiết kế để quét dịch vụ mạng trên phạm vi rộng. ZMap có thể quét toàn bộ dãy địa chỉ IPv4 trong một khoảng thời gian ngắn. Công cụ này được sử dụng trong nhiều mục đích khác nhau như: tìm nhanh các IP đang bị nhiễm mã độc, các lỗ hổng bảo mật; đánh giá, liệt kê các thiết bị mạng đang sử dụng…
Zmap rất mạnh khi tiến hành quét theo từng dịch vụ riêng lẻ.
Để ZMap có thể phát huy hết khả năng yêu cầu phải có đường truyền đủ mạnh.
1.2. Sử dụng
Phiên bản ổn định mới nhất của ZMap là phiên bản 2.1.0 và hỗ trợ Linux, Mac OS, và BSD. Nó có thể được cài đặt thông qua quản lý gói tích hợp trên các hệ điều hành sau:
Debian hoặc Ubuntu: sudo apt-get install zmap
Fedora, CentOS, và RHEL : sudo yum install zmap
Mac OS (brew): brew install zmap
Các phiên bản mới nhất của Zmap được cập nhật tại
git://github.com/zmap/zmap.git
Trong bài viết này tôi sẽ demo cách sử dụng cơ bản Zmap trên Linux.
Ví dụ sau đây ta sẽ quét ngẫu nhiên 1000 địa chỉ ip trên cổng 80 với tốc độ gửi tin là 10Mbps. Kết quả quét được lưu trong file result.zmap.
Khi quá trình quét bắt đầu, Zmap sẽ hiển thị cập nhật trạng thái quét sau mỗi giây. Trạng thái bao gồm có: thời gian quét còn lại, số gói tin gửi đi, số gói tin nhận về, lượt truy cập. Kết quả quét được ghi lại trong file result.zmap:
Sau đây là các tham số được sử dụng phổ biến khi tiến hành quét với zmap:
• Tùy chọn chung:
-p, --target-port : Số cổng TCP để quét(VD: 80)
-o, --output-file: File lưu kết quả quét
-b, --blacklist-file : Khi quét Zmap sẽ không quét các địa chỉ nằm trong danh sách này.
• Tùy chọn quét:
-n, --max-targets: Số mục tiêu cần quét.
-N, --max-results: Thoát khỏi quá trình quét sau khi nhận được số kết quả được nhập vào tham số này
-r, --rate: Thiết lập tốc độ gửi các gói tin.
-B, --bandwidth: Thiết lập tốc độ gửi bằng bit/s
• Tùy chọn mạng:
-s, --source-port: Các gói dữ liệu sẽ được gửi từ cổng này.
-S, --source-Ip: Các gói dữ liệu sẽ được gửi từ địa chỉ IP này. Có thể là 1 hay nhiều địa chỉ IP.
-G, --gateway-Mac: Địa chỉ Gateway để gửi gói tin đến.
-i, --interface: Giao diện mạng sử dụng.
• Tùy chọn kiểu quét:
--list-probe-modules: Danh sách module thăm dò (VD: tcp_synscan)
-M, --probe-module: Chọn kiểu module thăm dò. Mặc định là tcp_synscan
• Tùy chọn bổ sung:
-C, --config: Đọc 1 tập tin cấu hình
-q, --quiet: Không hiển thị cập nhật trạng thái trong quá trình quét.
-g, --summary: cấu hình In và tóm tắt các kết quả vào cuối của quá trình quét.
-v, --verbosity: mức độ chi tiết log
-h, --help: trợ giúp
-V, --version: phiên bản
2. Shodan
2.1. Giới thiệu
Shodan là công cụ tìm kiếm Internet tại địa chỉ : https://www.shodan.io/. Không như Google, nó tìm kiếm nội dung online không dành cho người dùng phổ thông. Nội dung này gồm máy chủ, webcam, máy in và tất cả những thứ khác có kết nối Internet.
Shodan cũng giới hạn mức độ khai thác thông tin. Không có tài khoản thì Shodan chỉ cho ra 10 kết quả tìm kiếm. Có tài khoản Shodan hoặc Twitter, Facebook, Google… số lượng kết quả tăng lên 50. Còn nếu trả phí, tức là nâng cấp lên tài khoản VIP, kết quả tìm kiếm sẽ nhiều hơn cộng với khả năng tải về những phân tích về kết quả tìm kiếm đó.
Các từ khóa tìm kiếm trên Shodan chủ yếu là tiếng Anh. Từ khóa tiếng Việt (có dấu) không cho kết quả.
2.2. Sử dụng
Việc đầu tiên bạn cần làm là truy cập vào trang sau: https://www.shodan.io/
Muốn khai thác công cụ tìm kiếm Shodan sâu hơn, bạn sẽ phải có tài khoản (hoặc là tạo tài khoản Shodan mới hoặc sử dụng các tài khoản Gmail, Facebook, Twitter, Yahoo sẵn có của bạn) và trả phí. Nếu không có tài khoản, bạn chỉ được xem 10 kết quả tìm kiếm đầu tiên.
Sau đây là ý nghĩa các kết quả trả về sau khi tìm kiếm 1 cụm từ. Ví dụ khi ta tìm kiếm “youtube” :
Sau khi tìm kiếm từ khóa youtube, kết quả trả về được chia làm 2 cột. Cột bên trái hiển thị các thông tin liên quan tới từ khóa vừa tìm kiếm, cột bên phải hiển thị các kết quả tìm thấy đầu tiên.
Đầu tiên là cột bên trái, mục Services là các giao thức liên quan tới từ khóa đang tìm, như http, smb, netbios… nếu quan tâm nhất tới mục nào thì bấm vào mục đó, nó sẽ giúp thu gọn lại kết quả tìm kiếm. Tương tự như vậy, các mục ở dưới như quốc gia liên quan, thành phố liên quan, hay nhà phát hành liên quan tới từ khóa mà bạn tìm kiếm. Việc chọn lựa các tùy chọn đó sẽ giúp cho ra được kết quả tìm kiếm gần nhất với yêu cầu của bạn.
Tiếp theo đến cột bên phải, hiển thị các kết quả tìm được theo từ khóa . Dòng đầu tiên là địa chỉ IP server đầu tiên tìm thấy được. Dưới địa chỉ IP là nơi đặt server. Tiếp theo là thông tin ngày tháng mà Shodan tìm kiếm và thêm vào hệ thống của Shodan. Dưới nữa là thông tin của quốc gia và thành phố đặt server.
Chú ý thêm thông tin ở cột bên phải, bạn quan tâm đến các dữ liệu như server: đây là thông tin hiển thị hệ điều hành của máy chủ. Còn các thông tin khác hiển thị liên quan tới giao thức hoạt động của kết quả tìm kiếm được.
Để tìm hiểu sâu hơn, có thể bấm vào nút Details, có một mục là Latitude/ Longitude: 26.1882, -80.1711 đây chính là tọa độ đặt server. Còn các thông tin bên dưới cho biết về giao thức hoạt động của kết quả vừa bấm vào.
Để giúp hình dung rõ hơn, tôi thử với từ khóa vozforums.com và chỉ tìm được một kết quả (như hình dưới đây). Theo như kết quả hiển thị, thì chỉ có 1 giao thức liên quan tới vozforums.com là http, chỉ liên quan tới HaNoi – Việt Nam và nơi đặt máy chủ liên quan tới FPT. Máy chủ chạy hệ điều hành nginx.
Nếu tìm kiếm với từ khóa là máy in hoặc modem, thì các kết quả trả về cũng có ý nghĩa tương tự, cột bên trái là các mục liên quan tới từ khóa tìm kiếm, nó sẽ giúp thu gọn kết quả tìm kiếm được. Cột bên phải hiển thị các thông tin liên quan tới kết quả tìm kiếm được.
Shodan là một trang web thu thập thông tin, giúp bạn có thể tìm ra thông tin liên quan đến các server, các dịch vụ, các điểm yếu lỗ hổng của một trang web hay các thiết bị phần cứng có kết nối Internet khác, mà từ đó bạn có thể tiện để khai thác, tấn công mạng vào đó.
Tuy nhiên, nó chỉ như là một người chỉ cho bạn cánh cửa, nhưng không cho bạn chìa khóa để vào, trừ khi cửa đã mở sẵn. Nó chỉ cho bạn lỗ hổng, điểm yếu nhất của mục tiêu bạn đang quan tâm, nhưng không cho bạn sẵn password hay ID để thâm nhập vào, các việc còn lại là của bạn, nếu bạn là một hacker. Còn nếu mà chủ nhà không đặt ID, password thì bạn có thể tự do thoải mái ra vào, cấu hình, chỉnh sửa.
Thực tế khi tìm kiếm từ Shodan, bạn chỉ tới được cánh cửa của một kết quả bạn tìm kiếm được. Tuy nhiên với việc đặt mật khẩu bảo mật với username là admin và password là 1234 đã giúp cho vô số người có thể xâm nhập vào hệ thống máy in, webcam hay bất cứ thứ gì tương tự có kết nối internet. Và đôi khi nếu may mắn bạn cũng có thể tìm được một kết quả mà người quản trị không đặt mật khẩu, lúc đó bạn có thể tùy biến các giá trị trong mục cài đặt.
Tất nhiên là để tìm ra được một kết quả mà bạn có thể đăng nhập vào như vậy sẽ tốn rất nhiều thời gian, thử từng kết quả tìm kiếm được. Và hầu hết các kết quả mà bạn tìm kiếm được sẽ bắt bạn khai báo thông tin đăng nhập, để có thể xem được tiếp các nội dung bên trong. Do vậy, nếu có ý định xem bên trong một mục tiêu nào đó được bảo mật tốt thì Shodan cũng không giúp gì nhiều được cho bạn. Trừ khi bạn là một hacker giỏi, thì Shodan sẽ giúp bạn bớt đi một chút thời gian để tìm kiếm ra những thông tin trên.