Cách tạo một con Bot ( botnet ) cơ bản nhất

0
664

Botnet một cái tên nghe rất quen nhưng hầu như còn huyền bí với đa số dân CNTT Việt Nam

Bài viết trước AD đã nói qua cơ bản về botnet nên bài này không nói lại nhiều nữa.

loading...

Để làm sáng tỏ về botnet và công nghệ tạo một bot hôm nay AD viết một tutorial về cách tạo một mạng botnet như là kim chỉ nam cho những người muốn hiểu rõ hơn về botnet.

I.Botnet là gì?

Botnet là một mạng gồm từ hàng trăm tới hàng triệu máy tính bị điều khiển hoàn toàn (theo thuật ngữ người ta gọi các máy tính này là Zombie tức các thây ma),chúng bị điều khiển để cùng làm một công việc gì đó theo mục đích của hacker điều khiển chúng vd: tải về cài đặt các chương trình quảng cáo, hay cùng đồng loạt tấn công một trang web nào đó thông qua kĩ thuật DDoS

II.Mạng BotNet đc tạo nên bởi gì ?

Nền tảng của BotNet là một chương trình máy tính đc thiết kế để liên lạc với hacker ,nhận lệnh và thực hiện lệnh của hacker, người ra gọi chương trình này là “Bot” (viết tắt từ robot).

III.Các con bot liên lạc với hacker bằng gì?

Kể từ những phiên bản đầu tiên các bot đã đc thiết kế để nhận lệnh thông qua các IRC server tức các máy chủ Internet Relay Chat một dạng máy chủ chạy dịch vụ chat công cộng (thường các máy chủ này là các máy chủ thuộc họ *nix ) để nhận đc lệnh từ hacker một cách nhanh nhất.

IV.Vậy các con bot đã dùng các server IRC như thế nào ?

Các máy chủ chạy dịch vụ IRC thường lắng nghe trên port 6667 ( một port cao ).Và các chương trình IRC server sử dụng một tập các chỉ thị gọi là lệnh IRC ( IRC commands )

Các bot thực hiện việc tạo một kết nối ( connection ) thông qua giao thức TCP/IP đến port 6667 của máy chủ IRC rồi sau đó dùng tập lệnh IRC để gửi và nhận các tin nhắn tới hacker.

V.Vậy các bot làm thế nào để có thể đc cài vào máy của người sử dụng bình thường ( Normal User ) ?

Các Bot đều có tính năng đầy đủ của một trojan và sự kết hợp nhuần nhuyễn từ virus vì vậy các con bot đều có thể tự lây lan thông qua các lỗ hổng của hệ điều hành và chiếm quyền điều khiển máy của “người dùng bình thường”.Ngoài ra một số bot không đc tích hợp tính năng lây lan nên nó cần đc sự hộ tống của một virus ( đây chính là dạng lây lan phổ biến của các bot hiện nay )

VI.Cách tạo một con “Bot”:

Với ví dụ này AD sẽ dùng ngôn ngữ lập trình Visual Basic để minh họa vì ngôn ngữ này đc nhiều người sử dụng.

Con bot này sẽ có tính năng cơ bản là kết nối tới server IRC và trả lời khi hacker hỏi “DeadOrAlive”

1.Điều đầu tiên mà bạn phải học là tập lệnh IRC:

Tập lệnh IRC sẽ có sự khác biệt đôi chút khi nó chạy trên các chương trình quản lý IRC server khác nhau

Code:

USER <Real Name>  là lệnh thiết lập tên thật cho bot khi nó vào IRC server

NICK <NickName>   là lệnh thiết lập nick name cho bot

JOIN <Channel>   là lệnh cho bot truy cập vào một "kênh" (channel), channel tương tự như một room chat vậy

PRIVMSG <Channel> : <Message>  là lệnh gửi tin nhắn tới hacker

Thứ tự các lệnh từ 1 tới 3 mà AD nêu chính là thứ tự các lệnh mà bạn phải gửi tới IRC server

2.Một số Sub chính cho bot:

Khai báo hằng và biến:

Code:

Const Server As String = "irc.anonymousvn.tk"   'tên channel   ( Ví dụ minh họa)
Const Port As Integer = 23                        'port
Const Channel As String = "Anonymousvntk"             'Kênh mà bot sẽ chui vào
Dim Nick As String                                    'Nick của bot

Bạn tạo môt Form mới và kéo thả vào đó thành phần WinSock đặt thuộc tính name là ws

Code:

Private Sub Form_Load()
  ws.Connect Server, Port           'Tạo một kết nối tới server IRC
  Nick = "Tester" & LTrim(RTrim(Str(Int(Rnd * 100))))
 End Sub

Sub thực hiện việc gời command sau khi kết nối hoàn thành

Code:

Private Sub ws_Connect()
    Dim UserName, RealName As String
    UserName = Nick
    RealName = Nick
    ws.SendData "USER " & UserName & " 0 * " & RealName & vbCrLf
    ws.SendData "NICK " & Nick & vbCrLf
    ws.SendData "JOIN " & Channel & vbCrLf
    ws.SendData "PRIVMSG " & Channel & ":" & " Bot chao master" & vbCrLf
End Sub

Sub đáp trả khi bot nhận đc lệnh

Code:

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
    Dim Pos As Integer
    Dim Master As String
    ws.GetData strData
    DoEvents



    If InStr(strData, "DeadOrAlive") <> 0 Then
        Pos = InStr(1, strData, "!")
        Master = Mid(strData, 2, Pos - 2)
        ws.SendData Replace(strData, "DeadOrAlive", "Alive") & vbCrLf
        ws.SendData "PRIVMSG " & Master & " " & Replace(strData, "DeadOrAlive", "Alive") & vbCrLf End If EndSub

VII.Điều khiển bot thế nào ?

Để điều khiển bot bạn hãy cho chạy thử con bot trên để làm ví dụ
Sau đó bật một chương trình IRC Client nào đó ví dụ mIRC
Rồi kết nối vào máy server là irc.anonymousvn.tk với port 23 ( phần trên AD viết là port 6667 nhưng đa phần các IRC server của Việt Nam lại dùng port 23 ) với một nick tùy ý

gõ lệnh:

Code:

/JOIN Anonymousvntk   (phải có dấu "/" vì mIRC .... bắt phải thế chứ IRC server không bắt thế đâu )

Ngay lập tức bạn đã có mặt trong cùng channel với bot của bạn

sau đó hãy gõ lệnh:

Code:

DeadOrAlive      (chú ý viết hoa và viết thường nhé, vì nó phân biệt )

Con bot sẽ trả lời bạn rằng

Code:

Alive



-------------------------

Trên đây là AD hướng dẫn tạo 1 bot cơ bản có thể trả lời bạn, còn nếu bạn muốn tạo các bot có thêm nhiều chức năng khác như DDoS thì bạn cần phải thêm các thành phần bổ
sung, câu lệnh sao cho phù hợp với mục đích của mình. Chúc mọi người có thêm kiến thức để học tập tốt
-------------------------

Bạn nào có kiến thức tiếng Anh tốt có thể đọc thêm bài này viết trên Wiki Here

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here