[Discussion] Nhờ các cao thủ RE giúp em này |
14/03/2012 23:54:19 (+0700) | #1 | 258695 |
huydd
Member
|
0 |
|
|
Joined: 26/02/2009 17:25:44
Messages: 26
Offline
|
|
Hôm rồi sếp có cái file doc nhận được qua email nhưng mở ra bị lỗi nên forward cho mình check. Thấy nghi nghi nên cũng cần thận kiểm tra thì Microsoft Security Essential không detect được gì, McAfee chạy trên máy cũng không phản ứng. Tuy nhiên check trên virus total thì ra kết quả là 10/43 với exploit code là CVE-2010-3333 (một số bạn nổi tiếng như KAV, McAfee, Trend... thì chẳng thèm nhận mặt, hay thật)
Theo mình hiểu thì CVE-2010-3333 là lỗi tràn bộ đệm khi bị khai thác thì nó thực thi mã trực tiếp connect đến một máy remote để tạo backdoor. Đây là một mã lỗi khá cũ sao các AV hiện tại lại không nhận ra. Vì vậy mình thử mở file word ở trên trong Virtual Box và dùng Wireshark để bắt gói tin thì lại thấy kết quả như dưới đây
Có vẻ như hoạt động không giống với CVE-2010-3333 thông thường vì mình cũng đã thử metasploid với CVE này trước đây để test rồi. Xem thông tin trên wireshark thì chỉ biết nó connect đến billgate2012.xicp.net. Phần còn lại nó chơi https thì mình bó tay, không hiểu nó làm gì tiếp
Kiểm tra tasklist sau khi mở file trên thì chỉ thấy có phát sinh iexplore.exe với thông số như sau
IEXPLORE.EXE 1736 Console 0 1,588 K
WINWORD.EXE 1704 Console 0 8,652 K
Phán đoán của mình là nó dùng IEXPLORE.EXE để connect đến server qua https nhưng nó gửi trao đổi những gì thì chịu. Chỉ chắc chắn là máy sếp đã dính em này vì mình có cài wireshark lên máy sếp thử thì thấy các bản tin gửi đến billgate2012 rất đều đặn, chỉ kill IEXPLORE.EXE đi mới hết
Mình không chuyên về RE và RCE lắm nên đọc qua hex code của mấy file này chẳng hiểu gì, mà hình như nó mã hoá hay sao đó nên cũng không thu được nhiều thông tin như các ví dụ của bác TQN có trình bày. Vậy nhờ các bác RE cao tay ở đây giúp dùm xem mấy em này bản chất nó làm gì, có cài cắm thêm gì vào máy không để mình hỗ trợ sếp trong việc removal
Các file này mình tạm upload tại link: removed.
Cảm ơn các ACE nhiều
conmale edited: remove link đến malware. |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
15/03/2012 06:45:37 (+0700) | #2 | 258714 |
miyumi2
Member
|
0 |
|
|
Joined: 11/03/2012 15:33:55
Messages: 57
Offline
|
|
Cái này hấp dẫn đây, ít nhất 2 cao thủ tại hva đã dính chưởng vì exploit tương tự.
Đâu ai ngờ 1 file .DOC trông lành như thế lại chứa trojan
Mình sẽ dành thời gian analyze 2 file mẫu của bạn xem có gì mới không |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
15/03/2012 12:13:35 (+0700) | #3 | 258788 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Ghê ha, mấy anh em giấu mặt thấy bà con biết cách analyze các file .doc để tìm exploit, malcode rồi, phổ biến rồi, nên lần này né qua dùng RTF (Rich Text Format) exploit trên Office 2003 ha: CVE 2010-3333. Nhưng mà làm sao núp được ?
Hai file mà bạn huydd không phải là file .doc hay .docx, chính xác nó phải là .rtf. Các bạn mở 2 file này ra bằng notepad hay hexeditor nào đó, đừng mở = WordPad hay MS Word, sẽ thấy chuỗi hex string exploit của file này.
Ngộ là 2 file này có tên tiếng Việt đàng hoàng:
1. Chuong trinh Nghi su HN.doc (hay .rtf)
2. Kich ban dieu hanh.doc (hay .rtf)
Tôi đang phân tích và đã extract được shell code. Lại cái trò kéo bầy kéo đống về à ? |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
16/03/2012 11:49:34 (+0700) | #4 | 259005 |
huydd
Member
|
0 |
|
|
Joined: 26/02/2009 17:25:44
Messages: 26
Offline
|
|
Message mà mình chờ đợi nhất reply trong thớt này là của bác TQN thế mà lại bị ẩn đi là sao nhỉ?
Nhờ các cao thủ thảo luận giúp. Máy của Mr Sếp mình thì mình cài lại cho chắc rồi
À, thêm một thông tin nữa cho các bác RE đỡ mất công là hai file DOC trên chỉ kích hoạt được trên Windows XP với Office 2003 thôi còn với Office 2007 thử trên Virtual Box thì không thấy gửi gói tin nào ra ngoài hết
Thanks |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
16/03/2012 13:12:18 (+0700) | #5 | 259022 |
miyumi2
Member
|
0 |
|
|
Joined: 11/03/2012 15:33:55
Messages: 57
Offline
|
|
Mình đang analyze 2 file .doc của bạn và xin chia sẻ một kết quả như sau:
1. Theo kết quả từ VirusTotal thì trung bình có 10/43 AV phát hiện được mã độc nhúng trong 2 file này:
- https://www.virustotal.com/file/678e4b239d5c0a5d88fc7c1a673eeb1ef2af6851a57f8bc06801a3f07906ae37/analysis/1331878915/
- https://www.virustotal.com/file/3e9389f26f5022854de96ea23d3a7ac6dfda99904f5331ce9adcff89a8b5a02a/analysis/
2. Dựa trên kết quả search Google theo từ khoá: CVE-2010-3333 (RTF Stack Buffer Overflow Vulnerability) ra được một số phân tích của các cá nhân, hãng AV liên quan exploit này:
- http://labs.m86security.com/2011/07/resurrection-of-cve-2010-3333-in-the-wild/
- http://p4r4n0id.com/?p=410
3. Cá nhân mình dùng các tool để xem xét đồng thời so sánh với kết quả phân tích ở 2 link trên cho thấy:
- 2 file lưu theo format RTF mặc dù là .DOC;
- Có thể file đã bị nhúng shellcode nhưng cách thức nhúng khác với các phân tích ở 2 link trên, shellcode đã được biến đổi thành dạng HEX thay vì binary mã máy trực tiếp;
- Nhận dạng chuỗi string làm tràn bộ đệm có thể là dãy: 4c4c4c4c4c4c4c4c4c4c4c4c4c4c......., cũng có thể là 1 chuỗi khác phía trước.
- Thử disassembler đoạn shellcode kết quả có vẻ chưa đúng.
Mình test mở file với Office 2003 SP3 chỉ thấy Word crash chứ chưa kích hoạt được shellcode.
Cao thủ RCE nào có kinh nghiệp mong giúp một tay.
AV phổ biến trong nước như Kaspersky chưa detect được, bạn nào có CMC hay BKAV test thử xem.
Hậu quả khôn lường nếu hacker gửi spam tràn lan các file chứa mã độc dạng này mà AV không ngăn chặn được. |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
16/03/2012 13:25:42 (+0700) | #6 | 259025 |
miyumi2
Member
|
0 |
|
|
Joined: 11/03/2012 15:33:55
Messages: 57
Offline
|
|
Mục tiêu tiếp theo là tìm chính xác entrypoint của shellcode và đoạn mã biến đổi từ HEX trở lại mã gốc trước khi execute thật sự chức năng của nó. |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
16/03/2012 15:27:46 (+0700) | #7 | 259034 |
|
xnohat
Moderator
|
Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
|
|
CVE-2010-3333 này có auto exploit trong Metasploit Framework. Exploit thành công với máy windows XP, 2003 dùng Office 2003 ( 2007 đã fix lỗi ). Shellcode trong 2 file trên đã được modify để bypass DEP. Mã khai thác trong metasploit và các mã PoC trên mạng thì không, phải tắt DEP thì mới exploit được |
|
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 |
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
16/03/2012 15:59:05 (+0700) | #8 | 259039 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Một dạng matryoshka. Tìm entrypoint của phần malicious payload của cái shellcode này hơi chăm nhưng chạy thử trên vm thì thấy nó trỏ đến 1 IP thuộc "cộng quà nhơn dơn chung qua":
Code:
inetnum: 112.112.0.0 - 112.115.255.255
netname: CHINANET-YN
descr: CHINANET YUNNAN PROVINCE NETWORK
descr: China Telecom
descr: No.31,jingrong street
descr: Beijing 100032
country: CN
admin-c: CH93-AP
tech-c: ZL48-AP
remarks: service provider
status: ALLOCATED PORTABLE
mnt-by: APNIC-HM
mnt-lower: MAINT-CHINANET-YN
mnt-routes: MAINT-CHINANET-YN
remarks: -+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+
remarks: This object can only be updated by APNIC hostmasters.
remarks: To update this object, please contact APNIC
remarks: hostmasters and include your organisation's account
remarks: name in the subject line.
remarks: -+-+-+-+-+-+-+-+-+-+-+-++-+-+-+-+-+-+-+-+-+-+-+-+-+-+
changed: <a href="mailto:hm-changed@apnic.net">hm-changed@apnic.net</a> 20090121
source: APNIC
person: Chinanet Hostmaster
nic-hdl: CH93-AP
e-mail: <a href="mailto:anti-spam@ns.chinanet.cn.net">anti-spam@ns.chinanet.cn.net</a>
address: No.31 ,jingrong street,beijing
address: 100032
phone: +86-10-58501724
fax-no: +86-10-58501724
country: CN
changed: <a href="mailto:dingsy@cndata.com">dingsy@cndata.com</a> 20070416
mnt-by: MAINT-CHINANET
source: APNIC
person: zhiyong liu
nic-hdl: ZL48-AP
e-mail: <a href="mailto:ynipm@126.com">ynipm@126.com</a>
address: 136 beijin roadkunmingchina
phone: +86-871-8223073
fax-no: +86-871-8221536
country: CN
changed: <a href="mailto:ynipm@126.com">ynipm@126.com</a> 20070813
mnt-by: MAINT-CHINANET-YN
source: APNIC
rdns thì lòi ra một chú ở quảng châu:
Code:
Registrant:
Shanghai Best Oray Information S&T Co., Ltd.
Shanghai Best Oray Information S&T Co., Ltd. (yezi@oray.com)
1st Floor of No. 15 Jian Gong Road Tianhe District
guangzhou
guangdong,510665
CN
Tel. +86.2061073384-
Fax. +86.2061073344-
Creation Date: 2011-09-26 11:13:46
Expiration Date: 2012-09-26 11:13:46
Domain servers in listed order:
NS1.EXHERA.COM,NS2.EXHERA.COM
Administrative Contact:
Shanghai Best Oray Information S&T Co., Ltd.
chen yuye (yezi@oray.com)
1st Floor of No. 15 Jian Gong Road Tianhe District
guangzhou
guangdong,510665
CN
Tel. +86.2061073384-
Fax. +86.2061073344-
Technical Contact:
Shanghai Best Oray Information S&T Co., Ltd.
chen yuye (yezi@oray.com)
1st Floor of No. 15 Jian Gong Road Tianhe District
guangzhou
guangdong,510665
CN
Tel. +86.2061073384-
Fax. +86.2061073344-
Billing Contact:
Shanghai Best Oray Information S&T Co., Ltd.
chen yuye (yezi@oray.com)
1st Floor of No. 15 Jian Gong Road Tianhe District
guangzhou
guangdong,510665
CN
Tel. +86.2061073384-
Fax. +86.2061073344-
Status:ok
He he, ít ra người anh em môi hở răng không lạnh này cũng biết viết mấy chữ tiếng Việt để dụ khị dân An Nam ta .
Đang quậy cái mớ hex. Sẽ post thêm chi tiết sau. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
16/03/2012 17:01:59 (+0700) | #9 | 259048 |
huydd
Member
|
0 |
|
|
Joined: 26/02/2009 17:25:44
Messages: 26
Offline
|
|
Phân tích cả hai em này qua FileInsight thì thấy chúng có chung một đoạn 3737373737373737}}}} và kể từ đoạn này trở về sau thì mã hex gần như giống nhau. Shellcode entry point ở đây chăng các bác?
Cái thứ nhất
Cái thứ hai
|
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
17/03/2012 08:16:30 (+0700) | #10 | 259089 |
miyumi2
Member
|
0 |
|
|
Joined: 11/03/2012 15:33:55
Messages: 57
Offline
|
|
Đọc 2 trang này phân tích khá chi tiết mà chưa lĩnh hội được :-s
1. Analysis of CVE 2010-3333 Microsoft Office RTF File Stack Buffer Overflow Vulnerability
http://0x1byte.blogspot.com/2011/02/cve-2010-3333-microsoft-office-rtf-file.html
2. Metasploit Framework - Microsoft Word RTF pFragments Stack Buffer Overflow (File Format)
http://dev.metasploit.com/redmine/projects/framework/repository/entry/modules/exploits/windows/fileformat/ms10_087_rtf_pfragments_bof.rb
|
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
17/03/2012 18:14:22 (+0700) | #11 | 259117 |
miyumi2
Member
|
0 |
|
|
Joined: 11/03/2012 15:33:55
Messages: 57
Offline
|
|
Bạn huydd và anh conmale dùng Windows và Office phiên bản nào kích hoạt được shellcode được vậy?
Mình dùng WinXP SP3 và Offfice 2003 SP3 nhưng khi mở file chỉ thấy crash và treo not responding, ko thấy kết nối mạng ra ngoài như conmale capture được. |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
17/03/2012 22:24:57 (+0700) | #12 | 259134 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Lỗi này có từ 2006 rồi, update của MS Office fix hết rồi nếu bật Auto Update.
Tip: từ chuỗi hex string, sẽ có một đoạn code convert từ hex string sang hex thiệt. vd: sub al, 30h. |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
18/03/2012 03:33:58 (+0700) | #13 | 259146 |
n2tforever
Member
|
0 |
|
|
Joined: 01/07/2011 15:39:51
Messages: 92
Offline
|
|
thằng này dùng lỗi tràn bộ đệm để exploit cụ thể tại đoạn sau của word:
30E9EB62 . 57 PUSH EDI
30E9EB63 . 8B7C24 0C MOV EDI,DWORD PTR SS:[ESP+C]
30E9EB67 . 85FF TEST EDI,EDI
30E9EB69 . 74 27 JE SHORT mso.30E9EB92
30E9EB6B . 8B4424 08 MOV EAX,DWORD PTR SS:[ESP+8]
30E9EB6F . 8B48 08 MOV ECX,DWORD PTR DS:[EAX+8]
30E9EB72 . 81E1 FFFF0000 AND ECX,0FFFF
30E9EB78 . 56 PUSH ESI
30E9EB79 . 8BF1 MOV ESI,ECX
30E9EB7B . 0FAF7424 14 IMUL ESI,DWORD PTR SS:[ESP+14]
30E9EB80 . 0370 10 ADD ESI,DWORD PTR DS:[EAX+10]
30E9EB83 . 8BC1 MOV EAX,ECX
30E9EB85 . C1E9 02 SHR ECX,2
30E9EB88 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS> <<<HERE
30E9EB8A . 8BC8 MOV ECX,EAX
30E9EB8C . 83E1 03 AND ECX,3
30E9EB8F . F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[>
30E9EB91 . 5E POP ESI
30E9EB92 > 5F POP EDI
mọi người mở cái file kich ban dieu hanh.doc bằng hex editor chú ý đoạn từ offset 0x15e đến 0x653, có thấy mã ascii của nó giống mã hexa không lấy đoạn ascii này đem XOR với 0x91 theo byte rồi disassemble là ra cái shellcode của nó.
[URL=http://imageshack.us/photo/my-images/689/78458059.jpg/]
[/URL]
|
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
18/03/2012 04:48:19 (+0700) | #14 | 259148 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
miyumi2 wrote:
Bạn huydd và anh conmale dùng Windows và Office phiên bản nào kích hoạt được shellcode được vậy?
Mình dùng WinXP SP3 và Offfice 2003 SP3 nhưng khi mở file chỉ thấy crash và treo not responding, ko thấy kết nối mạng ra ngoài như conmale capture được.
Anh chạy con này trên vmware với XP SP1 và Office 2003 nguyên thuỷ. Dính chấu liền tại chỗ . Hình như cái host quỷ ở nước cộng quà nhơn dơn chung qua kia không còn nữa. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
18/03/2012 06:01:52 (+0700) | #15 | 259153 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
2 n2tforever: đoạn code asm trên chính là hàm memcpy của VC++ RTL, trong mso.dll. Làm sao cậu biết xor với 0x91 ? |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
18/03/2012 10:08:48 (+0700) | #16 | 259177 |
n2tforever
Member
|
0 |
|
|
Joined: 01/07/2011 15:39:51
Messages: 92
Offline
|
|
TQN wrote:
2 n2tforever: đoạn code asm trên chính là hàm memcpy của VC++ RTL, trong mso.dll. Làm sao cậu biết xor với 0x91 ?
bắt đầu từ đoạn nó overflow em trace tiếp vài dòng là ra anh ạ,thằng này sau khi over nó vẫn return về đúng địa chỉ nhưng đến cái return thứ hai hay ba gì đó là bị ghi đè,sau đó chương trình bị rẽ hướng đến đoạn decode shell
Đây là đoạn exploit:
Đây là đoạn decode của nó:
|
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
18/03/2012 22:58:24 (+0700) | #17 | 259250 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Con shellcode này rất phức tạp, khó mà static analyze được. Tôi thấy phải cài MS Office gốc vào rồi mới debug được toàn bộ tính năng của shellcode, dù tôi đã extract mà make thành file exe chứa shellcode để debug và analyze. Trong quá trình debug shellcode này, gặp rất nhiều điểm mà ta không thể patch được. Vì vậy chỉ còn cách debug MS Word với chính 2 file đó. Mà giờ cài Office thì tôi lười lắm.
File source .cpp chứa shellcode của file .doc nhỏ, các bạn có thể dùng VC++ hay Borland CBuilder để compile và test:
Code:
// đã remove, code shellcode extract ra bi bug. Các code và các file cần thiết ở mediafie.
Sơ bộ nó tìm dll base của 3 dll sau: ntdll, kernel32 và advapi32.dll
Parse và tìm address trong 3 dll trên các hàm sau:
Stack[000007E8]:0012FF04 dd offset kernel32_GetTempPathA
Stack[000007E8]:0012FF08 dd offset kernel32_SetCurrentDirectoryA
Stack[000007E8]:0012FF0C dd offset kernel32_WriteFile
Stack[000007E8]:0012FF10 dd offset kernel32_CloseHandle
Stack[000007E8]:0012FF14 dd offset kernel32_TerminateProcess
Stack[000007E8]:0012FF18 dd offset kernel32_WinExec
Stack[000007E8]:0012FF1C dd offset kernel32_CreateFileA
Stack[000007E8]:0012FF20 dd offset kernel32_lstrlen
Stack[000007E8]:0012FF24 dd offset kernel32_lstrcat
Stack[000007E8]:0012FF28 dd offset kernel32_WideCharToMultiByte
Stack[000007E8]:0012FF2C dd offset kernel32_CreateFileMappingA
Stack[000007E8]:0012FF30 dd offset kernel32_MapViewOfFile
Stack[000007E8]:0012FF34 dd offset kernel32_GetFileSize
Stack[000007E8]:0012FF38 dd offset kernel32_QueryDosDeviceA
Stack[000007E8]:0012FF3C dd offset ntdll_NtQueryVirtualMemory
Stack[000007E8]:0012FF40 dd offset advapi32_RegOpenKeyA
Stack[000007E8]:0012FF44 dd offset advapi32_RegDeleteKeyA
Stack[000007E8]:0012FF48 dd offset advapi32_RegCloseKey
Stack[000007E8]:0012FF4C dd offset Kernel32_Base
Nó dùng chính các hàm API trên để read chính nó lại lên bộ nhớ, giãi mã cái đám không phải shellcode thành code để thực thi tiếp.
So ra nó phức tạp hơn shellcode của stl trong file .doc trước nhiều lần.
|
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
19/03/2012 00:35:49 (+0700) | #18 | 259256 |
n2tforever
Member
|
0 |
|
|
Joined: 01/07/2011 15:39:51
Messages: 92
Offline
|
|
@TQN đúng như anh nói thằng này dùng self modify nên hơi rối. Mà em thấy con này có cái lạ là sau khi tính được địa chỉ các API nó lại brute force để tìm một cái file handle nào đấy không biết để làm gì, hình như là của iexplorer.exe trên máy em nó không thể tìm được cái handle nào phù hợp nên treo luôn k trace tiếp được, còn đoạn sau hình như nó vẫn theo lối cũ,tạo một vài file trong temp và run. Mong anh tiếp tục phân tích "con mèo" này cho đàn em học hỏi thêm |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
19/03/2012 14:18:37 (+0700) | #19 | 259276 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Con này quả là khó gặm, hơi bị phức tạp, đi tới 3, 4 bước extract, decode mới ra được code cuối cùng. Dùng kỹ thuật lạ, nhưng không mới để inject code cuối cùng từ profile.dat vào iexplorer.exe thật của MS - QueueUserAPC.
billgate2012.xicp.net
debug037:00CC0068 szhttpngoisao_netFilesSubject3b9dbb82ty3_jpg_thumb0x105_ db 'http://ngoisao.net/Files/Subject/3b/9d/bb/82/ty3.jpg.thumb0x105.ns.cr140x105.jpg',0
debug037:00CC00B9 db 0BEh ; +
debug037:00CC00BA db 0ADh ; ¡
debug037:00CC00BB db 0DEh ; ¦
debug037:00CC00BC szty3_jpg_thumb0x105_ns_cr140x1051_jpg db 'ty3.jpg.thumb0x105.ns.cr140x105[1].jpg',0
debug037:00CC00E3 db 0DEh ; ¦
debug037:00CC00E4 szHTTP1_1200OKContentTypeimagejpegKeepAlivetimeout6 db 'HTTP/1.1 200 OK',0Dh,0Ah
debug037:00CC00E4 db 'Content-Type: image/jpeg',0Dh,0Ah
debug037:00CC00E4 db 'Keep-Alive: timeout=60',0Dh,0Ah
debug037:00CC00E4 db 'Content-Length: 4805',0Dh,0Ah
debug037:00CC00E4 db 'ETag: "8ef312ff17fccc1:a24"',0Dh,0Ah
debug037:00CC00E4 db 'X-Powered-By: ASP.NET',0Dh,0Ah
debug037:00CC00E4 db 0Dh,0Ah
Sao lại có ngoisao.net trong đây ?
Phân tích đầy đủ cái shellcode và đống đi kèm này chắc cũng phải mất chục trang Word + mấy chục cái hình.
File exe để debug inject code cuối cùng vào IE là file 3.exe và source 3.cpp. Em dùng C++ Builder để compile.
Các bác cứ tập trung vào file 3.exe là sẽ hiểu các kết nối, tạo file, ghi registry của nó.
http://www.mediafire.com/download.php?hajsiw2fze8kruc
Đặt breakpoint vào các hàm WinExec, CreateProcessA/W, CreateFileA/W, các hàm Registry, và quan trọng là các hàm của WinInet. Quan sát trên stack để xem nó kết nối tới đâu, down cái gì về.
Phải công nhận con shellcode này phức tạp thiệt, làm em mất mấy ngày ngồi extract, make exe, RCE.
Và em lại thấy có cái mùi của stl trong nước, sống dậy, lợi hại hơn à ? Chết em, "heo mi" !
Mong các bác tiếp tục, giờ em không còn đầu óc làm mấy cái này nữa. Bị một em gái tình cờ gặp hồi đi đám cưới hớp hồn rồi
À quên, cậu huydd có máy mó gì trong đó không, shellcode bị một vài lỗi, tui phải workaround khi extract shellcode ra ! File iExplorer.exe và file .doc (.rtf) nguyên thuỷ (tức file gốc, không bị lỗi, không bị chèn shellcode lúc đầu) bị thiếu mất 4 byte sau khi được extract ra. Đoạn code check file size không thoã, phải patch. Bat file thì sinh đủ.
1 đoạn shellcode trong 1 file .rtf, khi run sẽ extract ra 3 file vào %Temp% dir: 1 bat, 1 exe (iExplorer.exe) và 1 rtf (.doc) gốc. Tất cả đều được rút từ file malform .rtf (.doc) ban đầu. Hay, kỹ thuật hay, lần đầu mới gặp.
Khi các bạn debug 1.exe hay 2.exe, ở đoạn check file size = hàm GetFileSize, các bạn patch cho nó khỏi jnz. Và lấy trị hFile mà em in ra để modify esi khi trước khi nó GetFileSize.
iExplorer.exe trong %Temp% dir sẽ create file profile.dat trong Documents xxxx, execute IE thật trên máy victim, rồi dùng vài hàm của ntdll.dll để inject content của profile.dat vào memory của IE.
File 3.exe wrap toàn bộ code inject của profile.dat. |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
19/03/2012 17:57:12 (+0700) | #20 | 259293 |
huydd
Member
|
0 |
|
|
Joined: 26/02/2009 17:25:44
Messages: 26
Offline
|
|
Bác TQN ơi, tôi không máy mó gì đâu ngoại trừ đổi cái tên tiếng Việt có dấu thành không dấu rồi zip nó lại cho gọn
Thú thực theo dõi làm thử cùng các bác đến đoạn XOR mấy phát là bó tay ngồi xem rồi, không dám phát biểu tiếp
|
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
21/03/2012 07:38:22 (+0700) | #21 | 259424 |
miyumi2
Member
|
0 |
|
|
Joined: 11/03/2012 15:33:55
Messages: 57
Offline
|
|
@TQN: Kết quả phân tích của anh quá hay! Xem là thấy có hứng thú học RCE liền!
Em cũng đang tập tành làm lại các bước giống anh nhưng chưa biết đến khi nào được kết quả như vậy, đặc biệt là ở chỗ extract shellcode đưa vào cpp rồi compile xong là chạy, không biết anh có patch code nhiều không ?
Em đang chạy file 3.exe của anh và dùng các tool sau để giả lập, theo dõi:
- apateDNS: Giả lập DNS server, nslookup tìm domain gì cũng trả kết quả về được (IP do mình đặt);
- Apache: Làm web server giả (billgate2012.xicp.net , hiện giờ query thật sẽ ra 0.0.0.0, chắc có người cố tình set lại), bật SSL cho shellcode kết nối tới bằng giao thức HTTPS;
- CaptureBAT: Giám sát và ghi log lại các thao tác tạo, xóa file và registry, hay ở chỗ là các file xóa trong quá trình shellcode chạy sẽ được copy lưu lại 1 bản;
- ProcessMonitor (của SysInternals): Theo dõi chi tiết hơn việc gọi các hàm về file, register, network api (lưu ý add filter Process name=3.exe không capture quá nhiều event của các process khác);
- Wireshark: Theo dõi các kết nối mạng.
Tất nhiên là tất cả phải chạy trong máy ảo. |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
21/03/2012 18:03:58 (+0700) | #22 | 259501 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Bạn huydd đang làm trong lãnh vực nào vậy, xem các topic create và post của bạn, tôi hơi có dấu ? Shellcode này tương đối phức tạp, bạn muốn nắn gân, thử sức anh em phải không ?
Sếp bạn là ai, cơ quan nào, tại sao lại có 2 file tiếng Việt này gởi tới đích danh như vậy ?
Thời điểm cậu post và up hai con .rtf này lên, tui có nhận được mail này, có liên hệ gì không, muốn thử xem Thằng Cu Anh này có bó tay không phải không ?
Hi TQN
Dạo này thấy đồng chí có vẻ căng thẳng vụ BKIS quá nhỉ! hôm nào phải trao đổi một chút về BKIS và các vấn đề liên quan cái nhỉ...
Lần này mình lại muốn nhờ một chút, đợt trước cậu có đề cập đến việc mất pass thông qua file word liên quan đến STL, mình đang cần thông tin về file word đó (tính độc, các hành vi và một số phân tích của bạn nếu có), do mình không phải chuyên gia như TQN nên cần phân tích hành vi hơn là dòng mã, nếu có nghi ngờ sẽ gửi cho TQN phân tích mã giúp, mình đang muốn kiểm tra STL chính xác là ai...
Trân trọng cám ơn trước nếu TQN có thể chia sẻ
Nếu bạn này chịu khó search, thông tin phân tích file .doc đó tui đã post lên từ lâu, từ đầu tiên trong thời gian đấu với stl rồi.
stl là ai thì tự bản thân ai cũng biết rồi, khỏi nói, khỏi cần điều tra. |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
22/03/2012 09:33:29 (+0700) | #23 | 259567 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Tính không post tiếp, vì lười up hình quá, nhưng thôi, cố gắng, đã làm thì làm cho trót.
Chỉ với FileInsight, các bạn có thể extract được toàn bộ shellcode này. Tôi lấy vd là file 2.bin nhé. Là cái file .doc lớn đấy, rename xong rồi quên mất tiêu cái name lúc đầu.
Thông tin về CVE 2010-3333 có rất nhiều trên Internet. Các bạn Google sẽ thấy. 2 link mà miyumi2 đưa lên là mô tả chi tiết nhất.
Đọc kỹ hai link đó, các bạn sẽ để ý và rút ra được là shellcode bắt đầu sau 3 word đứng sau dấu ; thứ 2:
Và kết thúc ở đây:
Mso.dll sẽ convert từ hex string sang binay data thực sự.
Copy từ begin tới end, new file trong FileInsight, paste vào, sau đó chọn tính năng Hex to Ascii để convert toàn bộ hex string đó sang binay data.
Sau khi convert xong, bằng tính năng disassembly của FileInsight, các bạn có thể tìm ra đoạn code excute và giải mã của nó. Các bạn tìm đọc các articles trên Internet để hiểu về các code sẽ được thực thi khi stack bị overflow.
Và quan trọng là đây:
Các bạn để ý:
1. jmp loc_56, rồi call loc_46. Lệnh call này sẽ push address loc_5B vào stack, nhảy tới loc_46.
2. Lệnh pop ebx và dec ebx sẽ gán address 5B - 1 = 5A vào ebx.
3. Tại loc_4E, xor loop sẽ xor từng byte trong block có size 0x4F5, end address = 0x5A + 0x4F5 = 0x54F với xor value là 0x91.
4. Sau khi xor xong, nó sẽ nhảy tới thực thi real code tại loc_5B
Trong FileInsight, select từ offset 0x5B tới 0x54F, xor block đó với 0x91, ta sẽ có được code excute thật sự. Cắt bỏ từ 0 tới 0x5A đi, ta không cần đoạn shellcode đó nữa.
Các bạn vào thư mục "My Documents\FileInsight\plugins", tạo thư mục con "Copy To C Array" và lưu đoạn "Pý thần" code này vào file main.py trong thư mục con đó:
Code:
#!/usr/bin/env python
if getSelectionLength() != 0:
selection = getSelection()
else:
selection = getDocument()
array_text = "unsigned char data[" + str(len(selection)) + "] = {\n"
i = 0
while i < len(selection):
array_text += "\t"
for j in range(i, min(len(selection), i+16)):
array_text += "0x" + "%02X" % ord(selection[j])
if j < len(selection) - 1:
array_text += ", "
array_text += "\n"
i += 16
array_text += "};\n"
newDocument()
setDocument(array_text)
Execute plugin Copy To C Array đó trong FileInsight, ta sẽ được đoạn C/++ code khai báo toàn bộ binary code của shellcode. Copy nó vào 1 trong các file cpp mà tui đã up. Compile và xong, bật debug lên, debug, nắm đầu nó.
File cpp đó các bạn có thể tái sử dụng để debug các đoạn shellcode khác, miễn phí, muốn đề writen by ai đó cũng được, không quan trọng.
Phù, xong, cắt, dán, up hình mệt quá. Nếu em có làm sai, phân tích sai, mong các cao nhân chỉ giáo cho lùn nhân em
PS: JS, PDF, SWF (Flash), Excel, Doc, PPT, RTF đều có các tool analyze và phân tích shellcode hết rồi. Không biết tới đây, mấy anh chuyển sang dùng loại gì để mail shellcode file cho nạn nhân mà mấy anh nhắm tới đây ha ? Nhớ forward cho em một bản luôn nhen |
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
22/03/2012 17:45:04 (+0700) | #24 | 259608 |
huydd
Member
|
0 |
|
|
Joined: 26/02/2009 17:25:44
Messages: 26
Offline
|
|
TQN wrote:
Bạn huydd đang làm trong lãnh vực nào vậy, xem các topic create và post của bạn, tôi hơi có dấu ? Shellcode này tương đối phức tạp, bạn muốn nắn gân, thử sức anh em phải không ?
Sếp bạn là ai, cơ quan nào, tại sao lại có 2 file tiếng Việt này gởi tới đích danh như vậy ?
Thời điểm cậu post và up hai con .rtf này lên, tui có nhận được mail này, có liên hệ gì không, muốn thử xem Thằng Cu Anh này có bó tay không phải không ?
Bác TQN đa nghi quá nhỉ? Chắc với kỹ năng của bác tìm ra huydd làm ở đâu có khó gì vì thông tin về Ip truy nhập hoặc thông tin cá nhân của tôi trên Internet muốn tìm thì chỉ vài phút là ra hết cả anh em vợ con (khéo cả bồ nữa ấy chứ)
Tôi làm về đào tạo, chuyên môn chính là về mạng nhưng cũng có liên qua đến security chút đỉnh. Các bài viết của bác và các anh trên HVA thường là những ví dụ rất hữu ích cho tôi khi đi dạy. Sếp của tôi trong case này là một giáo sư về viễn thông nhưng lại mù tịt về CNTT hix (vẫn dùng XP với Office 2003 ko patch), cụ sắp về hưu rồi nên lười update công nghệ quá.
Làm mất công của anh em nhưng quả thật các bài viết của bác rất hữu ích cho những người muốn nghiên cứu về các kỹ thuật trong RE. Cảm ơn các bác nhiều
|
|
|
|
|
[Discussion] Nhờ các cao thủ RE giúp em này |
23/03/2012 04:52:30 (+0700) | #25 | 259645 |
|
quygia128
Member
|
0 |
|
|
Joined: 15/07/2009 20:50:28
Messages: 119
Location: Somewhere
Offline
|
|
Anh TQN có thể hướnng dẫn em sửa lỗi này không ? đến lúc chạy script để lấy hex table thì không chạy được, cái này mà ngồi làm bằng tay chắc em thần kinh mất thôi. Nó báo thế này:
Mong anh hướng dẫn. chưa có chữ "eothon" nào trong đầu cả
|
|
.::Mới bắt đầu trên con đường dài::.
.::Super Newbiez::. |
|
[Discussion] Nhờ các cao thủ RE giúp em này |
23/03/2012 08:05:38 (+0700) | #26 | 259649 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Hì hì, anh conmale xem lại giúp tag code. Code em post lên không có 1 space ở đầu các dòng.
2 quygia: em del các space ở đầu dòng đi. |
|
|
|