1 Phá DeepFreeze 2009-11-07, 09:46
than_chet09
Thành Viên
Hiện nay, phần mềm UnDeepFreeze 1 phần mềm có sức “tàn phá” kinh khủng …khiếp. Nó chẳng những làm hư DeepFreeze mày còn l�m hư luôn hệ thống (system) của Windows. Bài viết này sẽ trình bày cách phá Deepfreeze mà không cần dùng đếm phần mềm nguy hiểm trên.
B� i hướng dẫn n� y l� chỉ muốn chia sẽ kinh nghệm m� mình đã học hỏi được. Vậy kính mong các bạn đừng áp dụng b� i viết n� y với mục đích xấu, c� i keylog, trojan… nhất l� những người đang kinh doanh h� ng net, họ thường hay sử dụng Deepfreeze để giảm thiểu tối đa khả năng bị hư máy v� bị virus tấn công. :twisted:
Bạn chỉ nên sử dụng b� i viết n� y với mục đích học hỏi, tốt nhất chỉ áp dụng cho máy nh� khi bạn lỡ quên password của DeepFreeze
I. MỘT SỐ LƯU Ý TRƯỚC KHI TIẾN HÀNH PHÁ DEEPFREEZE
1. OllyDebug
Đầu tiên, bạn phải có công cụ OllyDebug. Đây l� công cụ để dịch ngược file *.exe, *.dll về ngôn ngữ ASM. Nhưng tôi chọn v� dùng nó để phá DeepFree mặc dù không dính dáng gì đến ngôn ngữ ASM.
OllyDebug hiện nay trên giang hồ l� rất hiếm gặp. Nếu có gặp đi nữa thì nguyên bản n� y lại không có phần Plugins (chứa phần Ollyscript, l� phần chính để phá DeepFree, v� phần Plugins lại c� ng hiếm gặp hơn cái OllyDebug đó nữa). Tôi phải bỏ ra thời gian hơn 1 tuần để tìm kiếm, nhưng chỉ tìm được phần mã nguồn của Plugins n� y, tôi phải nhờ 1 bạn trong diễn đ� n dịch hộ th� nh file thư viện.
Nhưng bạn đừng lo, nếu tô đã viết b� i hướng dẫn rồi thì cũng phải cung cấp công cụ chứ ?
Bạn cần có----------->
===== > Download OllyDebug < ======(tớ sẽ cập nhật link down sau.Nhưng mấy yu có thể tìm trên google)
Sau khi bạn tải OllyDebug về, tiến h� nh giải nén v� chạy file OllyDBG.exe để v� o giao diện chính của OllyDebug
2. Vị trí biểu tượng của DeepFreeze trên thanh taskbar
Bạn phải để ý vị trí của biểu tượng n� y, vì khi tiến h� nh phá DeepFreeze, sẽ có 1 biểu tượng DeepFreeze khác xuất hiện nằm kế bên. Bạn để ý nó để phân biệt đâu l� biểu tượng cũ, v� đâu l� biểu tượng mới.
3. Xem phiên bản của DeepFree m� máy đang dùng:
Để xem được phiên bản của DeepFreeze m� máy đang dùng, bạn hãy ấn phím tổ hợp CTRL + ALT + SHIFT + F6. Khi đó, menu nhập password của DeepFree sẽ hiển thị lên. Bạn nhìn v� o góc trái, trên của menu n� y thì sẽ thấy phiên bản của nó.
Bạn hãy ghi nhớ số phiên bản n� y, đây l� cơ sở để tìm offset phá DeepFreeze
4. Tìm đường dẫn, thư mục c� i đặt tệp FrzState2k.exe của DeepFreeze:
Thông thường, DeepFreeze được c� i mặc định tại thư mục “ C:\Program Files\Faronics\Deep Freeze\Install C-0"
Trong thư mục n� y lại có chứa 1 tệp (DF5Serv.exe ) v� 1 thư mục con ( _$Df ). Trong thư mục con lại chứa tệp FrzState2k.exe. Đây l� tệp chính thức dùng để phá.
Túm lại, nó có đường dẫn đầy đủ như sau:
C:\Program Files\Faronics\Deep Freeze\Install C-0\_$Df\FrzState2k.exe
Lưu ý: trên đây chỉ l� 1 ví dụ về đường dẫn của tệp FrzState2k.exe. Nó có thể thay đổi tùy theo sự c� i đặt của chủ máy
II. TIẾN HÀNH PHÁ DEEPFREEZE :@#::
1. Dùng OllyDebug, mở tệp FrzState2k.exe:
Bạn hãy chạy tệp OllyDBG.exe để v� o giao diện của OllyDebug. Sau đó bấm v� o biểu tượng open trên thanh menu (hoặc bấm phím tắt F3, hoặc v� o menu File\Open).
Trong hộp thọai Open n� y, bạn lần theo đường dẫn của tệp FrzState2k.exe (vừa tìm được trên mục II.4). Hãy nhập v� o các mục của hộp thọai Open như sau
- File name: FrzState2k.exe
- Arguments: 1 106917 0 (lưu ý, có khoảng trắng)
Sau đó bấm open. OllyDebug sẽ hiển thị 1 hộp thọai thông báo khác, nội dung như sau:
Trong quá trình OllyDebug tiến h� nh dịch mã, có thể sẽ có lỗi xảy ra về modul như sau:
2. Chạy scripts, vô Plugins>>script>>Run script>>Load…
Như tôi đã nói ngay từ đầu, phần Spcript n� y chỉ có khi bạn đã plugins thư viện script cho OllyDebug. Nếu chưa có, bạn hãy tìm file Ollyscript.dll v� plugins cho nó, nhớ xóa tệp Ollydbg.ini trong cùng thư mục của nó trước khi chạy OllyDBG.exe.
Khi OllyDebug dịch mã sang ASM xong, bạn bấm v� o menu Plugins của OllyDebug. Chọn Ollyscript>>Run script >> Load…
Lúc n� y, OllyDebug sẽ hiển thị hộp thọai Load lên, bạn chọn file "UPS.OSC". File n� y đã có sẵn trong thư mục đã bung OllyDebug.zip (như hình dưới)
Sau khi script hòan tất. Bạn bấm OK. Bạn sẽ được Address mới trong Editor của OllyDebug.
3. Dịch chuyển đến vị trí Expression(ứng với từng phiên bản DeepFree thì vị trí n� y khác nhau)
Tiếp theo, bạn chuột phải lên bất kì vị trí n� o của m� n hình OllyDebug, chọn "Go to>>Expression" để dịch chuyển đến vị trí mới khác nữa. Thao tác n� y bạn có thể l� m nhanh bằng cách ấn phím tổ hợp CTRL + G
Trong hộp thọai Goto (enter expression to follow), bạn gõ v� o con số (hexa) tương ứng với từng phiên bản của DeepFreeze . Lần lượt, tôi sẽ đưa ra các con số tương ứng với từng phiên bản như sau:
Version ---->Hexa Number
4.20.020.0598 ----> 40368D
4.20.020.0604 ----> 40368D
4.20.021.0598 ----> 40368D
4.20.121.0613 ----> 4034F5
5.20.022.1125 ----> 4037E9
5.30.021.1181 ----> 4037E9
Nếu bạn đang sử dụng DeepFree với 1 phiên bản khác (không thấy trong list trên) thì bạn có thể nhập lần lượt các Hexa Number trên để thử, cho đến khi n� o được thì thôi.
Do tôi đang thực h� nh trên phiên bản 5.30.021.1181 nên tôi nhập v� o con số 4037E9
Sau đó ấn OK. Tôi sẽ được OllyDebug đưa đến 1 vị trí mới trên "bảng xếp hạng" Address.
4. Xác định điểm breakpoint cho OllyDebug
Kế tiếp, bạn nhấn F2 - hoặc chuột phải v� o vị trí goto vừa đến trên m� n hình của OllyDebug, sau đó chọn BreakPoint>>Toggle - xác định điểm Break Point.
Nếu OllyDebug hiển thị hộp thọai xác nhận thì bạn bấm OK. Nội dung hộp thọai xác nhận như sau:
Khi có được vị trí BreakPoint rồi, bạn ấn F9 (hoặc v� o menu Debug>>Run) để tiến h� nh test lần thứ 1 chương trình FrzState2k.exe
Sau khi OllyDebug test xong. Sẽ có 1 biểu tượng DeepFreeze mới (new icon) xuất hiện dưới taskbar của bạn, biểu tượng n� y nằm tại vị trí thứ 1 kể từ bên trái sang.
Bạn hãy phân biệt cái biểu tượng mới (new icon) n� y so với cái biểu tượng cũ (old icon) m� ta đã để ý ở phần II.2 trên.
6. Mở hộp thọai nhập password của new icon
Để mở hộp thọai password của biểu tượng thứ 2 n� y, ta không thể n� o dùng phím tổ hợp CTRL + ALT + SHIFT + F6, vì nếu vậy thì máy tính sẽ lầm tưởng ta mở hộp thọai password của biểu tượng thứ 1 (old icon). Ta hãy dùng chuột để mở password của cái new icon n� y. Bạn hãy bấm tổ hợp phím CTRL + ALT + SHIFT, sau đó nhấp kép chuột trái v� o biểu tượng mới (new icon).
Khi hộp thọai nhập password hiển thị, bạn nhập v� o đó một chuỗi kí tự bất kì để l� m password. Xong ấn OK. Hộp thọai password n� y không mất đi m� nó vẫn còn hiển thị trên m� n hình (bạn chịu khó nhé, đừng bao giờ tắt nó – m� tắt cũng hổng được trừ khi bạn tắt OllyDebug). Sau khi nhập password xong, OllyDebug sẽ lần lượt đưa bạn đến các vị trí khó tìm ( khó tìm trong các thủ thuật mò password khác).
Khi n� y, nếu thấy chữ "Pause" m� u đỏ nền v� ng hiển thị phía dưới, góc phải của OllyDebug. Bạn hãy bấm F8 để OllyDebug tiếp tục gọi các function khác. Có thể trong quá trình gọi function, OllyDebug sẽ hiển thị hộp thọai breakpoint. Nội dung hộp thọai như sau:
Lặp lại các thao tác trên cho đến khi n� o trên thanh Registers của OllyDebug hiển thị:
Registers
EAX 00000000
ECX 00000001
EDX 0012FB80
EBX 009D5610
ESP 0012FB70
7. Thay đổi giá trị thanh ghi AX (tương ứng l� EAX trong OnlyDebug)
Bạn hãy chú ý vị trí thanh AX, giá trị của thanh n� y hiện giờ l� 0. Bạn hãy bấm kép v� o vị trí EAX n� y để OllyDebug hiển thị hộp thọai chỉnh sửa giá trị. Bạn nhập v� o đó giá trị 1
Xong nhấn OK.
8. Đăng nhập v� o hộp thọai Boot Control của DeepFree – hòan tất quá trình phá DeepFree
Khi thay đổi giá trị của thanh AX xong. Bạn tiếp tục F9 (hoặc v� o menu Debug>>Run) để OllyDebug test lần 2 với giá trị AX vừa mới nhập n� y. V� cái điều gì đã xảy ra sau đó ????
Công đọan tiếp theo l� gì, đó l� tùy v� o mục đích của bạn. Bạn có thể chọn Boot Thawed on next, hoặc Boot Thawed để mở phá băng. Sau đó restart lại máy.
B� i hướng dẫn n� y l� chỉ muốn chia sẽ kinh nghệm m� mình đã học hỏi được. Vậy kính mong các bạn đừng áp dụng b� i viết n� y với mục đích xấu, c� i keylog, trojan… nhất l� những người đang kinh doanh h� ng net, họ thường hay sử dụng Deepfreeze để giảm thiểu tối đa khả năng bị hư máy v� bị virus tấn công. :twisted:
Bạn chỉ nên sử dụng b� i viết n� y với mục đích học hỏi, tốt nhất chỉ áp dụng cho máy nh� khi bạn lỡ quên password của DeepFreeze
I. MỘT SỐ LƯU Ý TRƯỚC KHI TIẾN HÀNH PHÁ DEEPFREEZE
1. OllyDebug
Đầu tiên, bạn phải có công cụ OllyDebug. Đây l� công cụ để dịch ngược file *.exe, *.dll về ngôn ngữ ASM. Nhưng tôi chọn v� dùng nó để phá DeepFree mặc dù không dính dáng gì đến ngôn ngữ ASM.
OllyDebug hiện nay trên giang hồ l� rất hiếm gặp. Nếu có gặp đi nữa thì nguyên bản n� y lại không có phần Plugins (chứa phần Ollyscript, l� phần chính để phá DeepFree, v� phần Plugins lại c� ng hiếm gặp hơn cái OllyDebug đó nữa). Tôi phải bỏ ra thời gian hơn 1 tuần để tìm kiếm, nhưng chỉ tìm được phần mã nguồn của Plugins n� y, tôi phải nhờ 1 bạn trong diễn đ� n dịch hộ th� nh file thư viện.
Nhưng bạn đừng lo, nếu tô đã viết b� i hướng dẫn rồi thì cũng phải cung cấp công cụ chứ ?
Bạn cần có----------->
===== > Download OllyDebug < ======(tớ sẽ cập nhật link down sau.Nhưng mấy yu có thể tìm trên google)
Sau khi bạn tải OllyDebug về, tiến h� nh giải nén v� chạy file OllyDBG.exe để v� o giao diện chính của OllyDebug
2. Vị trí biểu tượng của DeepFreeze trên thanh taskbar
Bạn phải để ý vị trí của biểu tượng n� y, vì khi tiến h� nh phá DeepFreeze, sẽ có 1 biểu tượng DeepFreeze khác xuất hiện nằm kế bên. Bạn để ý nó để phân biệt đâu l� biểu tượng cũ, v� đâu l� biểu tượng mới.
3. Xem phiên bản của DeepFree m� máy đang dùng:
Để xem được phiên bản của DeepFreeze m� máy đang dùng, bạn hãy ấn phím tổ hợp CTRL + ALT + SHIFT + F6. Khi đó, menu nhập password của DeepFree sẽ hiển thị lên. Bạn nhìn v� o góc trái, trên của menu n� y thì sẽ thấy phiên bản của nó.
Bạn hãy ghi nhớ số phiên bản n� y, đây l� cơ sở để tìm offset phá DeepFreeze
4. Tìm đường dẫn, thư mục c� i đặt tệp FrzState2k.exe của DeepFreeze:
Thông thường, DeepFreeze được c� i mặc định tại thư mục “ C:\Program Files\Faronics\Deep Freeze\Install C-0"
Trong thư mục n� y lại có chứa 1 tệp (DF5Serv.exe ) v� 1 thư mục con ( _$Df ). Trong thư mục con lại chứa tệp FrzState2k.exe. Đây l� tệp chính thức dùng để phá.
Túm lại, nó có đường dẫn đầy đủ như sau:
C:\Program Files\Faronics\Deep Freeze\Install C-0\_$Df\FrzState2k.exe
Lưu ý: trên đây chỉ l� 1 ví dụ về đường dẫn của tệp FrzState2k.exe. Nó có thể thay đổi tùy theo sự c� i đặt của chủ máy
II. TIẾN HÀNH PHÁ DEEPFREEZE :@#::
1. Dùng OllyDebug, mở tệp FrzState2k.exe:
Bạn hãy chạy tệp OllyDBG.exe để v� o giao diện của OllyDebug. Sau đó bấm v� o biểu tượng open trên thanh menu (hoặc bấm phím tắt F3, hoặc v� o menu File\Open).
Trong hộp thọai Open n� y, bạn lần theo đường dẫn của tệp FrzState2k.exe (vừa tìm được trên mục II.4). Hãy nhập v� o các mục của hộp thọai Open như sau
- File name: FrzState2k.exe
- Arguments: 1 106917 0 (lưu ý, có khoảng trắng)
Sau đó bấm open. OllyDebug sẽ hiển thị 1 hộp thọai thông báo khác, nội dung như sau:
Bạn cứ bấm OK.
---------------------------
Entry Point Alert
---------------------------
Module 'FrzState' has entry point outside the code (as specified in the PE header). Maybe this file is Self-extracting or self-modifying. Please keep it in mind when setting breakpoints!
---------------------------
Trong quá trình OllyDebug tiến h� nh dịch mã, có thể sẽ có lỗi xảy ra về modul như sau:
Trường hợp n� y bạn bấm YES. Hoặc:---------------------------
Compressed code?
---------------------------
Quick statistical test of module 'FrzState' reports that its code section is either compressed, encrypted, or contains large amount of embedded data. Results of code analysis can be very unreliable or simply wrong. Do you want to continue analysis?
---------------------------
Yes No
---------------------------
Trường hợp n� y bạn bấm OK.---------------------------
Error
---------------------------
In module 'FrzState' OllyDbg encountered several corrupted breakpoints, where first byte of the actual command differs from that in the previous debugging session. This happens when program was recompiled or code is self-modifying (for example, self-extracting). For security reasons, OllyDbg will disable suspicious INT3 breakpoints. You can re-enable them in Breakpoints window.
---------------------------
OK
---------------------------
2. Chạy scripts, vô Plugins>>script>>Run script>>Load…
Như tôi đã nói ngay từ đầu, phần Spcript n� y chỉ có khi bạn đã plugins thư viện script cho OllyDebug. Nếu chưa có, bạn hãy tìm file Ollyscript.dll v� plugins cho nó, nhớ xóa tệp Ollydbg.ini trong cùng thư mục của nó trước khi chạy OllyDBG.exe.
Khi OllyDebug dịch mã sang ASM xong, bạn bấm v� o menu Plugins của OllyDebug. Chọn Ollyscript>>Run script >> Load…
Lúc n� y, OllyDebug sẽ hiển thị hộp thọai Load lên, bạn chọn file "UPS.OSC". File n� y đã có sẵn trong thư mục đã bung OllyDebug.zip (như hình dưới)
Sau khi script hòan tất. Bạn bấm OK. Bạn sẽ được Address mới trong Editor của OllyDebug.
3. Dịch chuyển đến vị trí Expression(ứng với từng phiên bản DeepFree thì vị trí n� y khác nhau)
Tiếp theo, bạn chuột phải lên bất kì vị trí n� o của m� n hình OllyDebug, chọn "Go to>>Expression" để dịch chuyển đến vị trí mới khác nữa. Thao tác n� y bạn có thể l� m nhanh bằng cách ấn phím tổ hợp CTRL + G
Trong hộp thọai Goto (enter expression to follow), bạn gõ v� o con số (hexa) tương ứng với từng phiên bản của DeepFreeze . Lần lượt, tôi sẽ đưa ra các con số tương ứng với từng phiên bản như sau:
Version ---->Hexa Number
4.20.020.0598 ----> 40368D
4.20.020.0604 ----> 40368D
4.20.021.0598 ----> 40368D
4.20.121.0613 ----> 4034F5
5.20.022.1125 ----> 4037E9
5.30.021.1181 ----> 4037E9
Nếu bạn đang sử dụng DeepFree với 1 phiên bản khác (không thấy trong list trên) thì bạn có thể nhập lần lượt các Hexa Number trên để thử, cho đến khi n� o được thì thôi.
Do tôi đang thực h� nh trên phiên bản 5.30.021.1181 nên tôi nhập v� o con số 4037E9
Sau đó ấn OK. Tôi sẽ được OllyDebug đưa đến 1 vị trí mới trên "bảng xếp hạng" Address.
4. Xác định điểm breakpoint cho OllyDebug
Kế tiếp, bạn nhấn F2 - hoặc chuột phải v� o vị trí goto vừa đến trên m� n hình của OllyDebug, sau đó chọn BreakPoint>>Toggle - xác định điểm Break Point.
Nếu OllyDebug hiển thị hộp thọai xác nhận thì bạn bấm OK. Nội dung hộp thọai xác nhận như sau:
5. Test lần thứ 1 chương trình FrzState2k.exe---------------------------
Suspicious breakpoint
---------------------------
It looks like you are trying to set breakpoint on the data. If this is really the case, such breakpoint will not execute and may have disastrous influence on the debugged program. Do you really want to set breakpoint here?
---------------------------
Yes No
---------------------------
Khi có được vị trí BreakPoint rồi, bạn ấn F9 (hoặc v� o menu Debug>>Run) để tiến h� nh test lần thứ 1 chương trình FrzState2k.exe
Sau khi OllyDebug test xong. Sẽ có 1 biểu tượng DeepFreeze mới (new icon) xuất hiện dưới taskbar của bạn, biểu tượng n� y nằm tại vị trí thứ 1 kể từ bên trái sang.
Bạn hãy phân biệt cái biểu tượng mới (new icon) n� y so với cái biểu tượng cũ (old icon) m� ta đã để ý ở phần II.2 trên.
6. Mở hộp thọai nhập password của new icon
Để mở hộp thọai password của biểu tượng thứ 2 n� y, ta không thể n� o dùng phím tổ hợp CTRL + ALT + SHIFT + F6, vì nếu vậy thì máy tính sẽ lầm tưởng ta mở hộp thọai password của biểu tượng thứ 1 (old icon). Ta hãy dùng chuột để mở password của cái new icon n� y. Bạn hãy bấm tổ hợp phím CTRL + ALT + SHIFT, sau đó nhấp kép chuột trái v� o biểu tượng mới (new icon).
Khi hộp thọai nhập password hiển thị, bạn nhập v� o đó một chuỗi kí tự bất kì để l� m password. Xong ấn OK. Hộp thọai password n� y không mất đi m� nó vẫn còn hiển thị trên m� n hình (bạn chịu khó nhé, đừng bao giờ tắt nó – m� tắt cũng hổng được trừ khi bạn tắt OllyDebug). Sau khi nhập password xong, OllyDebug sẽ lần lượt đưa bạn đến các vị trí khó tìm ( khó tìm trong các thủ thuật mò password khác).
Khi n� y, nếu thấy chữ "Pause" m� u đỏ nền v� ng hiển thị phía dưới, góc phải của OllyDebug. Bạn hãy bấm F8 để OllyDebug tiếp tục gọi các function khác. Có thể trong quá trình gọi function, OllyDebug sẽ hiển thị hộp thọai breakpoint. Nội dung hộp thọai như sau:
Bạn hãy bấm YES.--------------------------
Suspicious breakpoint
---------------------------
It looks like you are trying to set breakpoint on the data. If this is really the case, such breakpoint will not execute and may have disastrous influence on the debugged program. Do you really want to set breakpoint here?
---------------------------
Yes No
---------------------------
Lặp lại các thao tác trên cho đến khi n� o trên thanh Registers của OllyDebug hiển thị:
Registers
EAX 00000000
ECX 00000001
EDX 0012FB80
EBX 009D5610
ESP 0012FB70
7. Thay đổi giá trị thanh ghi AX (tương ứng l� EAX trong OnlyDebug)
Bạn hãy chú ý vị trí thanh AX, giá trị của thanh n� y hiện giờ l� 0. Bạn hãy bấm kép v� o vị trí EAX n� y để OllyDebug hiển thị hộp thọai chỉnh sửa giá trị. Bạn nhập v� o đó giá trị 1
Xong nhấn OK.
8. Đăng nhập v� o hộp thọai Boot Control của DeepFree – hòan tất quá trình phá DeepFree
Khi thay đổi giá trị của thanh AX xong. Bạn tiếp tục F9 (hoặc v� o menu Debug>>Run) để OllyDebug test lần 2 với giá trị AX vừa mới nhập n� y. V� cái điều gì đã xảy ra sau đó ????
Công đọan tiếp theo l� gì, đó l� tùy v� o mục đích của bạn. Bạn có thể chọn Boot Thawed on next, hoặc Boot Thawed để mở phá băng. Sau đó restart lại máy.