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 In
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Mục lục
Lời mở đầu 2
Chương I: Giới thiệu 3
1 Giới thiệu về Internet Scanning 3
2 Mục đích Internet Scanning 3
3 Tình trạng Internet Scanning hiện nay 3
Chương II: Masscan 4
1 Masscan là gì? 4
2 Những đặc điểm chính 4
3 Masscan dành cho ai 5
4 Lưu ý khi sử dụng 5
Chương III: Sử dụng Masscan 6
1 Cài đặt 6
2 Hướng dẫn sử dụng 11
3 Ví dụ 16
Chương IV: Các bài Lab 21
Lab 1: Tự kiểm tra 21
Lab 2: Quét Google IP, lấy biểu ngữ & kết quả đầu ra 23
Lab 3: Tạm dừng & Tiếp tục Quét 26
Lab 4: Loại trừ các địa chỉ cụ thể và các tùy chọn khác 29
Lab 5: Kết hợp tất cả lại với nhau trong một cấu hình tùy chỉnh 34
Chương V: So sánh Masscan với Nmap 35
1 Tổng quát 35
2 Chi tiết 36
Kết luận 37
Tài liệu tham khảo 38
Lời cảm ơn 39
Trang 3Lời mở đầu
Nếu ví rằng công việc Pentesting như là một cuộc chiến, thì Information
Gathering có lẽ là quá trình trinh sát Nó đại diện cho triết lý vô cùng quan trọng
"Biết địch biết ta, trăm trận trăm thắng" Thành công cũng ở đây, thất bại cũng ở đây Càng nắm vững được thông tin của mục tiêu, bạn càng tăng cơ hội chiếm quyền điều khiển mục tiêu Và ở bài báo cáo này tôi sẽ giới thiệu về Masscan, một công cụ sử dụng phương pháp Internet Scanning để thu thập thông tin
Trang 4Chương I: Giới thiệu
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 công cụ quét tốc độ cao là 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
Trang 5đổ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
Chương II: Masscan
1 Masscan là gì?
Masscan là một trình quét mạng mã nguồn mở có thể quét nhanh các mạng
lớn Đặc biệt, nó có thể quét toàn bộ Internet IPv4 trong vòng chưa đầy 5 phút [3] ,
từ một máy tính duy nhất, khi được cung cấp đủ băng thông mạng (20-gbps) cho Internet
So với các máy quét mạng phổ biến khác, chẳng hạn như Nmap tập trung vào việc quét một vài mục tiêu theo chiều sâu, thì máy quét Masscan tập trung vào việc quét nhẹ nhiều mục tiêu
Masscan được đưa vào các phần mềm hack như Kali Linux, cũng như nhiều bản phân phối Linux Nó thường được sử dụng bởi tội phạm ransomware Nó phổ biến trong số các hậu vệ để quét mạng của họ một cách nhanh chóng
Khi các lỗ hổng mới lớn được phát hiện, những người bảo vệ thường sẽ sử dụng masscan kết hợp với một tập lệnh khác để nhanh chóng tìm ra lỗ hổng đó trên mạng Ví dụ, sau khi lỗ hổng BlueKeep được Microsoft tiết lộ, những người bảo vệ
đã sử dụng máy quét khối và một tập lệnh để nhanh chóng phát hiện các thiết bị
bị ảnh hưởng trên mạng của họ Người bảo vệ thường phải chạy đua với những kẻ tấn công để tìm và sửa chữa các máy chủ công cộng của họ trước.
2 Những đặc điểm chính
• Không đồng bộ : Đây là một thiết kế không đồng bộ Nó có các luồng truyền và
nhận riêng biệt mà phần lớn độc lập với nhau Đó là cùng một loại thiết kế được tìm thấy trong scanrand, unicornscanvà ZMap Bởi vì nó không đồng bộ,
nó chạy nhanh như tốc độ truyền gói bên dưới cho phép
• Ngẫu nhiên hóa: Một điểm khác biệt chính giữa Masscan và các máy quét khác
là cách nó ngẫu nhiên hóa các mục tiêu
Trang 6Nguyên tắc cơ bản là có một biến chỉ số duy nhất bắt đầu từ 0 và được tăng thêm một cho mỗi đầu dò Trong mã C, điều này được biểu thị như sau:
for (i = 0; i < range; i++) {
scan(i);
}
• Khả năng mở rộng : Có lẽ tính năng quan trọng nhất của Masscan là khả năng
truyền tải tới 10 triệu gói tin mỗi giây thông qua kiến trúc không đồng bộ của
nó
• Tính di động : Phần mềm có thể được biên dịch và chạy trên cả ba hệ điều
hành chính: Windows, MacOS và Linux
• Kiểm tra biểu ngữ : Ngoài việc chỉ thực hiện quét cổng, công cụ này còn có thể
hoàn thành các kết nối TCP để tìm nạp thông tin biểu ngữ cơ bản
• Khả năng tương thích của Nmap : Masscan được phát triển với mục tiêu làm
cho việc sử dụng và đầu ra của công cụ càng giống với Nmap càng tốt Điều này cho phép người dùng dịch kiến thức Nmap của họ một cách nhanh chóng Mặc dù có rất nhiều khả năng tương thích với Nmap, nhưng có một số điểm khác biệt đáng nói là tách Masscan khỏi Nmap:
- Không có cổng mặc định để quét bằng Masscan
- Masscan chỉ hỗ trợ địa chỉ IP và phạm vi đơn giản (trong khi Nmap cũng hỗ trợ tên DNS)
3 Masscan dành cho ai
Masscan hữu ích cho những người thực hiện nghiên cứu tấn công (như thử nghiệm thâm nhập) cũng như những người và các nhà quản lý CNTT thực hiện nghiên cứu phòng thủ (như tìm kiếm các vectơ tấn công trong mạng của họ) Masscan cũng hữu ích cho cả người mới bắt đầu và người dùng nâng cao Nó không khó sử dụng và cung cấp chức năng có giá trị cho các nhà nghiên cứu thực hiện các cuộc điều tra lớn hơn
4 Lưu ý khi sử dụng
• Cách sử dụng (thông số, đầu ra) của nó tương tự như nmap, máy quét cổng nổi tiếng nhất Khi nghi ngờ, hãy thử một trong những tính năng đó
Trang 7• Các tính năng hỗ trợ quét rộng rãi trên nhiều máy được hỗ trợ, trong khi quét chuyên sâu các máy đơn lẻ thì không
• Bên trong, nó sử dụng truyền tải không đồng bộ, tương tự như máy quét cổng như scanrand, unicornscan, và ZMap Nó linh hoạt hơn, cho phép các phạm vi cổng và địa chỉ tùy ý
• Masscan sử dụng ngăn xếp TCP / IP đặc biệt của riêng nó Bất kỳ điều gì khác
ngoài việc quét cổng đơn giản có thể gây ra xung đột với ngăn xếp TCP / IP cục
bộ Điều này có nghĩa là bạn cần sử dụng src-ip tùy chọn chạy từ một địa chỉ
IP khác hoặc sử dụng src-port để định cấu hình cổng nguồn nào mà masscan
sử dụng, sau đó cũng định cấu hình tường lửa nội bộ (như pfhoặc iptables) để tường lửa các cổng đó từ phần còn lại của hệ điều hành
• Hiểu tốc độ truyền:
Ngăn xếp mạng của bạn đôi khi cần được điều chỉnh Môi trường ảo hóa có thể giới hạn tốc độ ở mức 10.000 gói / giây Linux bình thường thường chỉ cung cấp 300.000 gói mỗi giây Linux được điều chỉnh tốt cho 1.000.000 gói mỗi giây Các
trình điều khiển mạng chuyên biệt như PF_RING là cần thiết để chạy nhanh hơn,
nhằm đạt được 10.000.000 gói mỗi giây
Nếu bạn không nhận được kết quả như mong đợi, đó là do masscan gửi các gói nhanh hơn mức mà mạng có thể xử lý Công cụ này không chỉ nhấn mạnh đến băng thông mạng thô mà còn cả khả năng chuyển tiếp gói tin trên giây của thiết
bị, cũng như các bộ định tuyến để xử lý các tuyến đường mới trên giây
Chương III: Sử dụng Masscan
1 Cài đặt
• Cơ bản
Bước đầu tiên là cài đặt một số phần mềm cần thiết:
root@kali:~# apt update
root@kali:~# apt upgrade
Trang 8root@kali:~# apt install git gcc make libpcap-dev
Tiếp theo, chúng tôi sao chép repo chính thức và biên dịch phần mềm:
root@kali:~# git clone https://github.com/robertdavidgraham/masscan
security/masscan-web-ui và cài đặt library
root@kali:~# apt-get install apache2 php5 php5-mysql mysql-server
Trang 9root@kali:~# systemctl start mysql
root@kali:~# systemctl start apache2
root@kali:~# git clone https://github.com/offensive-security/masscan-web-ui
root@kali:~# mv masscan-web-ui/* /var/www/html/
root@kali:~# cd /var/www/html/
Sau đó thực hiện tạo CSDL MYSQL
root@kali:/var/www/html# mysql -u root -p
Enter password:
Type 'help;' or '\h' for help Type '\c' to clear the current input statement
mysql> create database masscan;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE USER 'masscan'@'localhost' IDENTIFIED BY 'changem3';
Query OK, 0 rows affected (0.00 sec)
mysql>GRANT ALL PRIVILEGES ON masscan.* TO 'masscan'@'localhost';
Query OK, 0 rows affected (0.01 sec)
mysql> exit
Bye
root@kali:/var/www/html# mysql -u root -p masscan < db-structure.sql
Enter password:
Trang 10root@kali:/var/www/html# rm db-structure.sql README.md
Bước cuối cùng bạn sẽ phải cập nhật lại cấu hình cài đặt mysql vào file config
masscan 10.0.0.0/8 -p80,21,53 banners source-ip 10.0.0.2 max-rate 100000 -oX 01.xml
scan-Kết quả
root@kali:/var/www/html# ls -l scan*
-rw-r r 1 root root 212929324 Dec 1 13:23 scan-01.xml
-rw-r r 1 root root 700816226 Dec 1 13:55 scan-02.xml
root@kali:/var/www/html# php import.php scan-01.xml
Do you want to clear the database before importing (yes/no)?: yes
Trang 11Took about:3 minutes,18 seconds
root@kali:/var/www/html# php import.php scan-02.xml
Do you want to clear the database before importing (yes/no)?: no
Trang 12Đây là phiên bản web ui để các bạn tham khảo
2 Hướng dẫn sử dụng
2.1 Dạng câu lệnh
Câu lệnh sử dụng Masscan sẽ có dạng như sau:
masscan <ip addresses/ranges> -p ports options
Trang 13mục tiêu có thể được chỉ định Điều này có thể được chỉ định là nhiều tùy chọn được phân tách bằng dấu cách hoặc có thể được phân tách bằng dấu phẩy như một tùy chọn duy nhất, chẳng hạn như 10.0.0.0/8,192.168.0.1
• range <ip/range>: giống như thông số phạm vi mục tiêu được mô tả ở trên,
ngoại trừ tham số được đặt tên thay vì tham số chưa được đặt tên
• -p <ports, ports <ports>: Chỉ định cổng để được quét Một cổng duy nhất có
thể được chỉ định, như -p80 Một loạt các cổng có thể được chỉ định như-p
20-25 Danh sách các cổng / phạm vi có thể được chỉ định, như -p80,20-25 Các cổng UDP cũng có thể được chỉ định, như – ports U: 161, U: 1024-1100
• banners: chỉ định rằng các biểu ngữ nên được lấy, như phiên bản máy chủ
HTTP, HTML trường tiêu đề, v.v Chỉ một số giao thức được hỗ trợ
• rate <packets-per-second>: chỉ định tốc độ truyền gói tin mong muốn Đây
có thể là những con số rất nhỏ, chẳng hạn như 0,1 để truyền các gói với tốc độ
cứ 10 giây một lần , cho những số rất lớn như 10000000, cố gắng truyền với tốc độ 10 triệu gói / giây Theo kinh nghiệm của tôi, Windows và có thể thực hiện 250 nghìn gói mỗi giây và các phiên bản mới nhất của Linux có thể thực hiện 2,5 triệu gói mỗi giây Trình điều khiển PF_RING là cần thiết để đạt 2,5 triệu gói / giây
• -c <filename>, conf <filename>: đọc trong tệp cấu hình Định dạng của tệp
cấu hình được mô tả bên dưới
• resume <filename>: giống như conf , ngoại trừ một số tùy chọn được đặt
tự động , chẳng hạn như append-output Định dạng của tệp cấu hình được
mô tả bên dưới
• echo: không chạy, nhưng thay vào đó kết xuất cấu hình hiện tại vào một tệp
Sau đó, tệp này có thể được sử dụng với tùy chọn -c Định dạng của đầu ra này được mô tả bên dưới trong tập tin ´CONFIGURATION FILE´
• -E <ifname> , adapter <ifname> : sử dụng giao diện mạng thô được đặt tên,
chẳng hạn như "eth0" hoặc "dna1" Nếu không được chỉ định, giao diện mạng đầu tiên được tìm thấy với cổng mặc định sẽ được sử dụng
• adapter-ip <ip-address>: gửi gói tin bằng địa chỉ IP này Nếu không được chỉ
định, thì địa chỉ IP đầu tiên liên kết với giao diện mạng sẽ được sử dụng Thay
vì một địa chỉ IP, một dải ô có thể được chỉ định LƯU Ý: Kích thước của phạm
vi phải là lũy thừa chẵn của 2, chẳng hạn như địa chỉ 1, 2, 4, 8, 16, 1024, v.v
Trang 14• adapter-port <port>: gửi các gói sử dụng số cổng này làm nguồn Nếu không
được chỉ định, một cổng ngẫu nhiên sẽ được chọn trong phạm vi 40000 đến
60000 Cổng này phải được lọc bởi tường lửa máy chủ (như iptables) để ngăn ngăn xếp mạng máy chủ can thiệp vào các gói đến Thay vì một cổng duy nhất, một phạm vi có thể được chỉ định, chẳng hạn như 40000-40003 LƯU Ý: Kích thước của phạm vi phải là lũy thừa chẵn của 2, chẳng hạn như ví dụ trên có tổng cộng 4 địa chỉ
• adapter-mac <mac-address>: gửi các gói tin sử dụng nó làm địa chỉ MAC
nguồn Nếu không được chỉ định, thì địa chỉ MAC đầu tiên liên kết với giao diện mạng sẽ được sử dụng
• router-mac <mac address>: gửi các gói đến địa chỉ MAC này làm đích Nếu
không được chỉ định, thì địa chỉ cổng của giao diện mạng sẽ được ARPed
• ping: chỉ ra rằng quá trình quét nên bao gồm một yêu cầu ICMP echo Điều
này có thể được bao gồm với tính năng quét TCP và UDP
• exclude <ip/range>: danh sách đen một địa chỉ IP hoặc dải ô, ngăn không
cho nó bị quét Điều này ghi đè bất kỳ thông số kỹ thuật mục tiêu nào, đảm bảo rằng địa chỉ / phạm vi này sẽ không được quét Điều này có cùng định dạng với đặc tả mục tiêu bình thường
• excludefile <filename>: đọc trong danh sách các phạm vi loại trừ, ở cùng
định dạng mục tiêu được mô tả ở trên Các phạm vi này ghi đè bất kỳ mục tiêu nào, ngăn không cho chúng bị quét
• append-output: khiến đầu ra thêm vào tệp, thay vì ghi đè tệp
• iflist: liệt kê các giao diện mạng có sẵn, sau đó thoát
• retries: số lần gửi thử lại, ở các khoảng thời gian 1 giây Lưu ý rằng vì điều
này máy quét không trạng thái, các thử nghiệm được gửi đi bất kể đã nhận được câu trả lời hay chưa
• nmap: trợ giúp in các lựa chọn thay thế tương thích nmap cho các tùy chọn
này
• pcap-payloads: đọc các gói từ tệp libpcap có chứa các gói và trích xuất các tải
trọng UDP, đồng thời liên kết các tải trọng đó với cổng đích Các trọng tải này sau đó sẽ được sử dụng khi gửi các gói UDP với cổng đích phù hợp Chỉ một
trọng tải sẽ được ghi nhớ trên mỗi cổng Tương tự với nmap-payloads
Trang 15• -nmap-payloads <filename>:đọc trong tệp có cùng định dạng với tệp nmap nmap-payloads Điều này chứa tải trọng UDP, để chúng tôi có thể gửi các gói UDP hữu ích thay vì các gói trống Tương tự với pcap-payloads
• http-user-agent <user-agent>: thay thế trường user-agent hiện có bằng giá
trị được chỉ định khi thực hiện các yêu cầu HTTP
• open-only: chỉ báo các cổng đang mở, không báo các cổng đã đóng
• pcap <filename>: lưu các gói đã nhận (nhưng không phải gói được truyền)
vào tệp định dạng libpcap
• packet-trace: in tóm tắt các gói được gửi và nhận Điều này hữu ích ở tốc độ
thấp, chẳng hạn như một vài gói mỗi giây, nhưng sẽ áp đảo thiết bị đầu cuối ở tốc độ cao
• pfring: buộc sử dụng trình điều khiển PF_RING Chương trình sẽ thoát nếu
không có bộ xử lý DNA PF_RING
• resume-index: điểm trong quá trình quét tại thời điểm nó bị tạm dừng
• resume-count: số lượng đầu dò tối đa cần gửi trước khi thoát Điều này rất hữu ích với resume-index để cắt một bản quét và chia nó thành nhiều trường hợp, mặc dù tùy chọn shards có thể tốt hơn
• shards <x>/<y>: phân chia quá trình quét giữa các phiên bản x là id cho lần quét này, trong khi y là tổng số phiên bản Ví dụ: shards 1/2 yêu cầu một phiên bản gửi mọi gói tin khác, bắt đầu bằng chỉ mục 0 Tương tự như vậy, shards 2/2 gửi mọi gói tin khác , nhưng bắt đầu bằng chỉ mục 1, để nó không
trùng lặp với ví dụ đầu tiên
• rotate <time>: xoay tệp đầu ra, đổi tên tệp bằng dấu thời gian hiện tại,
chuyển nó vào một thư mục riêng biệt Thời gian được chỉ định bằng số giây, chẳng hạn như "3600" cho một giờ Hoặc, đơn vị thời gian có thể được chỉ định, chẳng hạn như "hàng giờ" hoặc "6 giờ" hoặc "10 phút" Thời gian được căn chỉnh trên một ranh giới chẵn, vì vậy nếu "hàng ngày" được chỉ định, thì tệp sẽ được xoay hàng ngày vào lúc nửa đêm
• rotate-offset <time>: một khoảng thời gian Điều này là để điều chỉnh các
múi giờ
• rotate-dir <directory>: khi xoay tệp, điều này chỉ định thư mục sẽ chuyển tệp đến Một thư mục hữu ích là / var / log / masscan
• seed <integer>: một số nguyên tạo ra số ngẫu nhiên Việc sử dụng một hạt
giống khác sẽ khiến các gói được gửi theo một thứ tự ngẫu nhiên khác Thay vì
Trang 16một số nguyên, thời gian chuỗi có thể được chỉ định, tạo ra bằng cách sử dụng dấu thời gian cục bộ, tự động tạo ra một thứ tự quét ngẫu nhiên khác nhau Nếu không có hạt giống nào được chỉ định, thời gian là mặc định
• regress: chạy kiểm tra hồi quy, trả về ´0´ khi thành công và ´1´ nếu thất bại
• ttl <num>: chỉ định TTL của các gói gửi đi, mặc định là 255
• wait <seconds>: chỉ định số giây sau khi truyền xong để đợi nhận gói trước
khi thoát khỏi chương trình Mặc định là 10 giây Chuỗi mãi mãi có thể được chỉ định để không bao giờ kết thúc
• offline: không thực sự truyền gói tin Điều này rất hữu ích với tốc độ thấp và
packet-trace để xem những gói nào có thể đã được truyền Hoặc, nó hữu ích
với rate 100000000 để đánh giá mức độ truyền nhanh sẽ hoạt động như thế
nào (giả sử một trình điều khiển trên không) PF_RING chậm hơn khoảng 20%
so với kết quả điểm chuẩn từ chế độ ngoại tuyến
• -sL: điều này không thực hiện quét mà thay vào đó tạo ra một danh sách các
địa chỉ ngẫu nhiên Điều này rất hữu ích để nhập vào các công cụ khác Các tùy
chọn shard , resume-index và resume-count có thể hữu ích với tính
năng này
• interactive: hiển thị kết quả trong thời gian thực trên bàn điều khiển Nó
không có tác dụng nếu được sử dụng với format hoặc
để đọc tệp nhị phân Nhị phân các tệp có dung lượng nhỏ hơn so với các tệp tương đương XML của chúng, nhưng yêu cầu một bước riêng để chuyển đổi trở lại thành XML hoặc một định dạng có thể đọc được khác
• -oX <filename>: đặt định dạng đầu ra thành XML và lưu đầu ra trong tên tệp
đã cho Điều này tương đương với việc sử dụng các tham số output-format xml và output-filename
Trang 17• -oG <filename>: đặt định dạng đầu ra thành grepable và lưu đầu ra trong tên
tệp đã cho Điều này tương đương với việc sử dụng các tham số format grepable và output -filename
output-• -oJ <filename>: đặt định dạng đầu ra thành JSON và lưu đầu ra trong tên tệp
đã cho Điều này tương đương với việc sử dụng các tham số json format và output-filename
output-• -oL <filename>: đặt định dạng đầu ra thành định dạng danh sách đơn giản và
lưu đầu ra trong tên tệp đã cho Điều này tương đương với việc sử dụng danh sách output-format và output-filename
• readscan <binary-files>: đọc các tệp được tạo bởi tùy chọn -oB từ quá trình
quét, sau đó xuất chúng ở một trong các định dạng khác, tùy thuộc vào các tham số dòng lệnh Nói cách khác, nó có thể lấy phiên bản nhị phân của đầu ra
và chuyển đổi nó sang định dạng XML hoặc JSON
3 Ví dụ
- Quét cổng IP đơn
Thử nghiệm đầu tiên của tôi là quét một IP và một cổng duy nhất của một IP
quảng cáo độc hại mà chúng tôi đang theo dõi
./masscan 198.134.112.244 -p443
Trang 18Công cụ xác nhận rằng cổng 443 thực sự đang mở tại IP đã chọn
- Quét cổng nâng cao với nhiều cổng
Quá trình quét nâng cao có thể được thực hiện để phân tích nhiều cổng hoặc một loạt các cổng trên mạng con IP Tôi sẽ chia sẻ các ví dụ cho cả hai và đầu ra cho phân tích đa cổng
./masscan 198.134.112.240 / 28 -p80, 443 , 25 #multiple ports
./masscan 198.134.112.240 / 28 -p1000 -9999 #range of ports
Máy quét cho tôi biết có bao nhiêu máy chủ (16) đã được tìm thấy, sau đó hiển thị cổng nào đang mở trên địa chỉ IP nào
- Quét các cổng trên cùng
phổ biến nhất bằng cách sử dụng tùy chọn 'top-port' từ lệnh Nmap với Masscan
Trang 19Cú pháp rất đơn giản, chỉ cần thêm “–top-port X”, thay thế X bằng một số cổng phổ biến, ví dụ 10 hoặc 100, là những cổng phổ biến nhất được các nhà nghiên cứu bảo mật sử dụng
Vì vậy, cú pháp đầy đủ sẽ giống như sau:
Tôi chuyển các kết quả của quá trình quét này vào một tệp để chúng tôi có thể lưu trữ các kết quả của quá trình quét Kết quả cho thấy 4096 máy chủ đã được tìm thấy và trong số đó, chúng tôi tìm thấy một số chi tiết thú vị Bên cạnh các cổng thông thường là 80/443, một số địa chỉ IP có các cổng mở như: 21, 23, 53, 111,
427 và 514
Một điều quan trọng cần lưu ý về Masscan là tất cả các quá trình quét chạy theo mặc định ở chế độ “SYN Stealth Scan” Trang web Nmap giải thích điều này như sau:
“SYN scan là tùy chọn quét mặc định và phổ biến nhất vì lý do chính đáng Nó có thể được thực hiện nhanh chóng, quét hàng nghìn cổng mỗi giây trên một mạng nhanh chóng mà không bị cản trở bởi tường lửa xâm nhập SYN quét tương đối kín đáo và lén lút, vì nó không bao giờ hoàn thành các kết nối TCP Nó cũng hoạt động dựa trên bất kỳ ngăn xếp TCP tuân thủ nào thay vì phụ thuộc vào đặc quyền riêng của các nền tảng cụ thể như FIN / NULL / Xmas, Maimon và quét nhàn rỗi của Nmap Nó cũng cho phép phân biệt rõ ràng, đáng tin cậy giữa các trạng thái
mở, đóng và lọc ”
Tính năng này sẽ giải thích lý do tại sao máy quét cổng có thể quét qua rất nhiều địa chỉ IP mà không bị cấm bởi các bức tường lửa cơ bản Tuy nhiên, với phần
Trang 20mềm bảo vệ tiên tiến hơn, chúng tôi nghi ngờ rằng ngay cả kiểu quét này cũng có thể bị chặn
- Loại trừ các mục tiêu khỏi quá trình quét của bạn
Đôi khi bạn cần giảm số lượng máy chủ sẽ được quét Để bỏ qua một số trong
số chúng, tùy chọn 'loại trừ mục tiêu' có thể hữu ích
Masscan cho phép bạn tạo tệp loại trừ, vì vậy bạn có thể sử dụng tham số –
excludefile cho bất kỳ bản quét nào của mình Cú pháp sẽ như thế này:
masscan 192.168.1.105 ‐‐top-ports 10 ‐‐excludefile exclude-list.tx t
Sau khi bạn chạy quá trình quét, một cảnh báo sẽ được nhìn thấy khi bắt đầu quá trình quét:
exclude-list.txt: excluding 1 range from file
- Quét toàn bộ Internet bằng Masscan
Như tôi đã nói trước đây, Masscan được chế tạo tập trung là tốc độ Nó được chuẩn bị để chạy một lượng lớn các lần quét cổng trên các mạng Do đó, ở đây bạn có một vài ví dụ về cách quét toàn bộ Internet, cho một cổng cụ thể hoặc cho tất cả 65535 cổng cho mỗi máy chủ
Lưu ý quan trọng: Hãy nhớ rằng điều này có thể mang lại rất nhiều kết quả và quan trọng nhất, bạn có thể đang thăm dò các địa chỉ IP liên quan đến máy chủ của chính phủ, honeypots và bẫy kỹ thuật số mà bạn có thể không bao giờ muốn dính vào
Làm cách nào để quét Internet cho một cổng cụ thể?
Chỉ cần sử dụng cú pháp này, ở tốc độ tối đa (10 triệu p / s)
masscan 0.0.0.0 / 0 -p22 rate 10000000 #see footnote below [1]
Điều này sẽ kích hoạt một quá trình quét lớn trên toàn bộ internet, ở cổng 22 Làm cách nào tôi có thể quét Internet để tìm tất cả các cổng hiện có?