|
|
Trong tình hình hàng họ, đồ chơi, em bé của tùm lum nhóm ra liên tục, việc upload mẫu tới từng AV một sẽ lâu và hầu hết là lười, chậm chạp.
Sáng nay, em bỏ công hỏi đại ca Gú gồ mấy chục phút, lòi ra 1 tool và 1 website cho phép ta gởi một mẫu tới cùng 1 lúc mấy chục web submit mẫu của các AV:
1. Website: http://www.uploadmalware.com
2. Tool: http://www.raymond.cc/blog/xray/
Sau này, nếu stl ra mẫu mới, chỉ cần vào website trên hay dùng tool trên là ta đã có thể đẩy mẫu đi một loạt. Cho anh em stl hết dám lòi ra con mèo què nào nữa luôn, giải nghệ luôn ha
|
|
|
Hì hì, lại workaround mà không hiểu hết vấn đề rồi. Tối kỵ trong nghề coder.
sum += 1; // comment vô đây giùm tui cái, sau này thằng nào đọc, bảo trì mà hiểu được, why ?
|
|
|
Tại sao không mang đoạn code checksum function đó qua PC, Linux hay Windows, build 1 tiny app để test, debug thử code mình có đúng không chưa ?
Bất cứ các hàm nào có liên quan tới các phép toán modify trên bit, tui cũng phải debug, đưa ra 3 test case: bình thường, tràn trên, tràn dưới hết. Tại sao lại sai +1 ? while của bạn đúng chưa ?
Vd nhé, bạn hãy nhìn kỹ đoạn code sau của bạn, bạn có hiểu nó làm theo thứ tự nào không, làm cái gì không ? Cần quái gì mà code phải cho cao siêu, khó hiểu, rắm rối. Cứ viết rõ ràng, tường minh ra, cũng bao nhiêu code sau khi được compile thôi, còn dể bảo trì, nâng cấp, fix bug nữa.
Code:
while(len>1)
{
sum += 0xFFFF & (*rxtx_buffer<<8|*(rxtx_buffer+1));
rxtx_buffer+=2;
len-=2;
}
if (len)
{
sum += (0xFF & *rxtx_buffer)<<8;
}
while (sum>>16)
{
sum = (sum & 0xFFFF)+(sum >> 16);
}
Xor, shiff, or, and tá lã âm binh. Em giờ mà đọc đoạn code này thì em phải mở "heo" của C ra đọc lại, vừa đọc, vừa dò. Viết lại đi bạn ơi.
Đó là phương diện read code, về phương diện optimize code, em sẽ không cho đại ca dùng *rxtx_buffer tá lã vậy đâu. Em hỏi nhé, tại sao đại ca không khai báo:
Code:
int c0 = rxtx_buffer[0]; // thay vì *rxtx_buffer
int c1 = rxtx_buffer[1]; // thay vì *(rxtx_buffer + 1);
Cái nào dể đọc, dể bảo trì hơn ? Sau đó muốn inc rxtx_buffer thì cứ inc. Vì * <=> []
Sau khi hàm của ta đã chạy đúng, nếu có time, chúng ta mới optimize về độ ngắn của function. Cái này không cần thiết lắm. Em đã từng viết những function 20 dòng, chạy nhanh gấp trăm lần những đoạn code 5 dòng.
Vài lời nói thẵng, mong bạn đừng giận. Em mắc cái bệnh review code của coder # quen rồi !
|
|
|
Trời quơi, viết code được như vậy mà không biết debug, step, trace à ? Xem bị tràn số, sai thứ tự ưu tiên ở đâu. Chả lẽ cứ run là xong à ?
|
|
|
SysLang.sys, thấy quen quen, của BKAV hay Syser vậy ?
Chỉ các file của MS build với public symbol thì mới có symbol.
|
|
|
Đợt vừa rồi, file 1st.rar của BKAV có file xin.exe. Lúc đó tui thấy cũng là lạ, tại sao lại là Delphi, dùng KOL library. KOL library gần như VN, TQ không bao giờ xài, chỉ toàn là 99% là tụi Nga xài. Mục đích KOL để tạo file .exe build = Delphi nhỏ, nhanh. Lúc đó em RCE lại nữa chừng rồi thôi.
Không lý hồi xưa anh PXMMRF có nói là stl có dính dáng tới hacker mafia Nga à ? Và có dấu hiệu stl cấu kết với thế giới ngầm, giang hồ mạng của Nga à. Vụ này thì mệt đây, tui Nga code trâu bò lắm. Tui cũng phải kêu là sư phụ luôn.
|
|
|
Nhậu say mất tiêu rồi thì lấy gì làm tiếp em !
Lúc đầu tui cứ ngờ ngợ đây là code của tụi hacker Nga, không chắc là code của stl. Nhưng tới ngày hôm nay, sau khi extract từ file info.exe đã unpack, tui lại được tiếp 3 em exe nữa. Trong đó có 1 em exe em kích thước 306 KB, build = VC++ 2010, và code của em này, mặc dù không dùng static link với C RTL, dùng dynamic link với msvcrt.dll, nhưng nhiều hàm đã rất quen. Vd hàm dùng ROR, ROL để giãi mã, mã hoá chuỗi mà ta đã gặp trong fake unikey vừa rồi. Và cũng ba cái vụ zlib/gzip, can thiệp Firefox, IE, Skype... 95% là em đã gặp lại mấy anh "người quen nhưng ghét" stl này.
Mấy anh giàu ha, giờ không chơi đồ tự viết, tự chế nữa, mua đồ của xã hội đen mạng về xài ha, chỉ cần viết 1 module (exe) nhỏ làm những việc các anh cần ăn cắp, nhúng thật sâu 2-3 lớp.
Bà con có thể dùng plugin PE Extract cho PEiD của Bob để rút 3 cái exe đó ra. Dùng file info_unpacked_.exe của onlyida cũng được. File này dư 2 section của imprec do onlyida máy móc dùng OllyDump và ImpREC để dum và fix IAT.
2 myumi2: em nên Google về shimeng.dll của MS. Đó là file của MS, dùng cho update các hotfix của MS mà không cần đợi tới reboot. Nó patch ở opcode mov edi, edi đấy.
|
|
|
Không quan trọng, stl dùng, share, mua, ăn cắp gì đó thì kệ cha nó.
Cái code của info.exe unpacked rất quái, và em có thể nghi ngờ không thằng coder của stl nào có thể code được tới mức đó, dùng toàn native Ntdll API. Chỉ có tụi guru của Nga mới đủ khả năng làm việc này.
Em chỉ muốn nhắn gởi với mấy anh em sờ ti lợn, cao thủ nhiều như mây, cao nhân giấu mặt khắp nơi, nếu muốn người ta không biết thì đừng nên làm. Ba cái exploit, toolkit đã được public, đã document đầy ra đấy chỉ là chuyện nhỏ ! Zero-Day còn chưa sợ nữa là !
Em cũng mong tới một lúc nào đó mấy anh release cở Stuxnet, Duqu, dùng unknown programming language cho mấy anh em cao thủ trẻ tuổi ở đây hứng thú, vất vã cho vui.
|
|
|
Đúng là HVA cao thủ nhiều như mây, toàn là ngoạ hổ tàng long. Lớp trẻ bây giờ: bolzano, miyumi, accourisct, onlyida, quygia.... sóng trẻ đè sóng già như TQN này. Từ bây giờ tôi đã an tâm rút lui, gác kiếm để lớp trẻ ra tay hiệp nghĩa tiêu diệt đám dơ bẩn stl này.
PS: Sống dai, lỳ vừa vừa chứ mấy đại ca ?
|
|
|
Quân ta bây giờ cũng đông, thiện chiến không kém gì mấy anh em kia rồi. Ha ha, say rồi, nói đùa vài câu cho vui. Giờ thì em đã yên tâm gác kiếm !
|
|
|
Good job onlyida. Cậu hảy mô tả sơ sơ quá trình unpack để lấy được PE nhúng trong info.exe cho bà con biết.
Trời quơi, lại zlib/gzip nữa à. Sao mấy anh khoái dùng nó thế ! Lại cái trò lấy password lưu trong Firefox và IE nữa.
Code lên tay lắm đấy. Đạt mức cao thủ rồi đấy, vậy mới xứng đáng đồng tiền bát gạo được đầu tư chứ. Lần này build = DDK/WDK luôn à, không thèm xài Visual Studio nữa à !
Hay là hacker Nga, TQ, VN share nhau kỹ thuật đây ?
|
|
|
Sao đợt này code phức tạp, mã hoá, obfuscated tùm lum vầy nè. Em có lộn không, sao lại thấy có mùi code cao cấp của hacker Nga trong đây. Chiều giờ nó quần em đuối luôn, sinh EXE trong bộ nhớ và harddisk tá lã, rồi xài code inject để download nữa. Mà lạ là cái máy cùi ngoài xưỡng em, cài MS Essential lại bắt hết.
Rầu, nhanh thiệt, mấy anh lại ngồi túc trực HVA này, em wget http://fb-sv10.co.uk/w.php?f=c01c5&e=1 không được, mấy anh chơi xoá mất tiêu rầu. Mới chưa được 2 tiếng đồng hồ.
Em lại sơ ý để MS AV xoá mất tiêu file wpbt0.dll nữa rồi. Bà con ai down kịp share lại giúp em cái ! Ngày mai em làm tiếp, làm cho ra. Giờ thì em út gọi đi nhậu mới chết, nói: em làm mồi nhậu cho anh nè, nhớ anh quá. Theo bà con thì ngồi RCE hay đi nhậu đây ?
|
|
|
Dà, giờ em đi làm rồi, tính về nhà nghỉ một chút mà mấy anh đấy lại làm em mất giấc ngủ trưa rồi. Tội tụi em quá mấy anh. Mấy anh cứ quậy suốt vầy không chán sao. Lòi cái nào ra bị thì bị chụp cái đó mà. Em cũng ngán mấy anh tới tận cổ rồi.
Cái wrap đó không phải là code thực đâu anh conmale. Nghi binh bên ngoài đó, phải debug, trace vào thật sâu mới lòi ra code VC++ của mấy anh "người quen mà chưa bao giờ gặp" này.
|
|
|
Hì hì, có TQN say xỉn này liền anh. Nói ông anh anh chửi, vạch mặt thằng đó đi. Định chơi JavaScript exploit à ? Exploit đó tên JS/Exploit-Blacole.al. Bà con google ra thì thấy.
Kết quả phân tích file .php đó đây (nhờ máy làm cho khoẻ cho rồi):
http://wepawet.cs.ucsb.edu/view.php?hash=236c22c7ba122ba97cee01ee04017968&type=js
loài ra một con downloader: http://fb-sv10.co.uk/w.php?f=c01c5&e=1, được download về %Temp% dir với tên: wpbt0.dll.
Em đã chụp được em nó, đang unpack, nhưng giờ phải đi rồi.
Anh nói anh anh cô lập máy ngay, ngắt Internet ngay. Tạm thời tháo cất cái ổ cứng đó đi. Nguy hiểm. KAV 2011 của em không phát hiện ra virus trong file main.php và wpbt0.dll.
Kết quả quét = VirusTotal:
https://www.virustotal.com/file/adbb143c510ac867ef347c218d2ab5e2af031aabeeb35c9db4829c4e6c5da550/analysis/1334301244/
Nay lại lòi ra thêm cái trò comment trên FB = link exploit Integer Overflow của Firefox, browser nữa à ! Kinh thật, đúng là quá lỳ lợm, = mọi giá !
|
|
|
Sorry, cho em rút lại lời trên, các anh stl coder code có lên tay đấy chứ, giờ dùng rất nhiều class của ATL/MFC của VC++ 2010 đấy chứ, không dùng pure C&API nữa. Chiều giờ, trời mưa, ngồi diff code của mấy anh với mấy cái idb của VC++ 2010, em mới phát hiện được điều này.
Nhưng hình như VC++2010 của mấy anh không có update service pack phải không ?
|
|
|
Lâu quá rồi em không đụng tới code Unix hay xxx gì đó, nhưng nhìn vào error của compiler thì thằng coder cùi, lụt nghề như em cũng biết là phang đại: #define ENDIAN 0 (hay 1), tương đương little hay big endian gì đó. Còn đã #define không được thì Gấu gồ, chuyện nhỏ mà.
|
|
|
Google: Blackberry COD file format
|
|
|
Coder stl giờ không thèm xài large stack buffer nữa, cứ CString mà phang. Dùng CString dày đặc.
Nhận diện các hàm của CString của ATL/MFC đúng là không dể, nhưng đã nhận diện được một lần rồi thì nhìn vô là thấy ngay.
Lần này không thèm dùng ZLib, gzip library nữa. Mã hoá thì chuyển qua dùng Crypto API function của MS luôn mới ghê chứ. Tiếc là mấy cái hàm đó có đồ cú mần, prototype hết rồi. Lại chia buồn stl coder lần nữa. Không lên tay gì cả
|
|
|
Lỡ user bình thường, cứ allow hết thì sao ?
|
|
|
Già rồi mà đổi cái gì nữa mà đổi, chỉ có nhiều hay ít tiền hơn, uống nhiều hay uống ít hơn thôi. Tay nghề thì lụt dần rồi, né qua một bên cho lớp trẻ tiến lên, không thì tụi nó đè chết bỏ xxx.
|
|
|
Update Java Runtime Enviroment đi.
Mấy anh stl coder giờ đồng loạt chơi lên Visual Studio 2010 hết hà. Đồ mua hay đồ lậu đấy ? Chắc chắn là đồ lậu rồi.
Sau một thời gian im hơi lặng tiếng, tu luyện, vậy mà code của mấy anh cũng chã lên tay gì cả, thất vọng quá đi mất, buồn, tắt máy, đi nhậu tiếp thôi
|
|
|
Hoan hô miyumi2. HVA ta đã có thêm 1 người giỏi về malwares analyze. stl chuyến này mệt rồi, thò vòi nào ra là bị chặt vòi đó.
Code của cái đám mèo què này, em mới xem sơ sơ, 100% là code VC++ 2010 fake/hack Unikey site vừa rồi. Bà con mau mau download các file của miyumi2 vừa upload, submit lên các AVs.
File rss.exe mà có size = 25k là file sạch, của MS, có signed và pdb symbol đàng hoàng. Bà con có thể xoá và không cần submit file đó.
Trong bụng FBAgent còn một con nữa, bà con reverser cố gắng rút nó ra luôn.
PS: Biết cái nghề RCE chi cho khổ vậy trời, muốn nghỉ ngơi, rữa tay gác kiếm mà cũng không yên. Giang hồ dậy sóng hoài !
|
|
|
Lại là fake resource type TypeLib. Đám này với đám hack và chèn fake Unikey vừa rồi là 1.
|
|
|
Mô chi, "những kẻ viết virus là tuyệt", xin cho em té xuống ghế cái. Vậy cái đám "sờ ti lợn" đấy là tuyệt à ? Mèo què tụi nó viết gần mức advance rồi đấy ?
Nếu em là thầy giáo (chắc không bao giờ), em sẽ cho sv làm đề tài thiết thực hơn:
- Phát hiện và gỡ bỏ các hành vi theo dõi bàn phím, chuột, màn hình.
- Gở bỏ các phương thức điều khiển được chuột và bàn phím = auto.
- Detect các process/services/drivers ẩn => anti Rootkit.
Dùng cái gì thì kệ cha mày, làm được 3 cái trên là được. Mày dùng C/C++ thì càng dể bị RCE, ăn cắp công nghệ.
Vậy có thiết thực hơn không ?
Tại sao 2,3 năm gần đây, tui lại thấy rộ lên cái vụ đào tạo, tuyển malwares coder, rồi mấy bài tập lớn, đồ án dạng này. Nhiều lắm. CNTT VN ta đi tắt đón đầu bằng cách bắt chước tq, cài cắm malwares vào các công ty, tập đoàn, cơ quan NN nước ngoài để ăn cắp công nghệ, thông tin à ????
|
|
|
Mới đọc mà đã chán ngán rồi rao ? Vậy thì làm sao tìm hiểu được virus trên Windows được ?
Bản chất ASM cho x86 là như nhau, chỉ khác syntax. Cố gắng học cho tới nơi tới chốn.
Hồi xưa cố lắm, cuối cùng tui còn viết Game cho Win32 = MASM32, dựa trên document OpenGL của NeHe. Cái gì cũng có cái giá của nó, bỏ ra 1 thì nhận 1.
|
|
|
Tính đào tạo các coder tương lai cho stl à ?
Ẩn được khỏi các AV, reverser thì em bó tay, không làm được, phải gọi là sư phuuuuuu !
|
|
|
Cũng không được luôn !
Cậu huydd còn giữ được file reader_sl.exe không, nằm trong thư mục con Acrobat hay Adobe gì đó.
Nếu bạn nào có được con này thì hay quá, thử xem stl coder có code lên tay chưa ?
Có một string lạ trong 3.exe, Google không ra: "NOKIAN95/WEB7.0.2.02/28/800"
Sáng nay, sau khi update KAV 2012, đã submit cái đống này cho KAV. Rảnh rỗi không biết làm gì, thôi thì anh em stl ra cái gì, em submit cái đó nhen ?
|
|
|
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.
|
|
|
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
|
|
|
|
|
|
|