WannaCry đã đi qua được khoảng thời gian bùng nổ dữ dội nhất, tuy nhiên, những bài học và mối nguy hiểm của nó vẫn còn nguyên ở đó. Sau đây, Securitybox xin tóm tắt lại toàn thông tin về quá trình phát triển, phân tích của mã độc này.
1. Khái quát về mã độc tống tiền WannaCry và tầm ảnh hưởng
WannaCry với các tên gọi khác: WannaCrypt, WannaCryp0r, WannaDecrypt0r, là loại mã độc tống tiền với hành vi mã hóa dữ liệu trên máy nạn nhân và đòi trả tiền chuộc bằng Bitcoin. Nó hỗ trợ 28 ngôn ngữ và thực hiện mã hóa trên 179 định dạng file khác nhau.
Mã độc này được thực thi và lây nhiễm trên các máy tính chạy hệ điều hành Microsoft Windows, từ các phiên bản Windows XP cho tới Windows 10, đa số nạn nhân của WannaCry là người dùng sử dụng Windows 7.
Vào ngày 12/5/2017, cuộc tấn công không gian mạng quy mô lớn sử dụng mã độc WannaCry gây lây nhiễm trên 237.000 máy tính ở 99 quốc gia (tính tới 15/5/2017, 3 ngày sau khi WannaCry được biết đến rộng rãi), yêu cầu thanh toán khoản tiền chuộc tương đương 300 hoặc 600 USD bằng Bitcoin. Hệ thống máy tính của nhiều tổ chức lớn như: NHS (Anh), Telefónica (Tây Ban Nha), FedEx (Mỹ), Deutsche Bahn (Đức), MegaFon (Nga), Bộ Nội vụ Nga,… đã bị ảnh hưởng. Số máy tính bị lây nhiễm hiện tại đã lên đến hơn 300.000.
Cho tới thời điểm hiện tại, người ta đã biết tới 5 địa chỉ ví Bitcoin mà hacker sử dụng để nhận tiền chuộc, chưa tới 130 nạn nhân chịu trả tiền để chuộc lại mã khóa giải mã dữ liệu, với tổng giá trị tiền chuộc khoảng 30.000 USD.
Tại Việt Nam, tính tới ngày 18/5/2017, đã có hơn 1.900 máy tính bị lây nhiễm mã độc và ước lượng 52% số máy tính trong nước (khoảng 4 triệu máy) có khả năng lây nhiễm mã độc WannaCry
Tên gọi phổ biến của WannaCry được tìm thấy trong phần chú thích mã nguồn của người viết nên mã độc này.
2. Hành vi và cách thức lây nhiễm
Kịch bản lây nhiễm WannaCry đầu tiên
- WannaCry được phát tán qua việc nhúng Dropper vào file đính kèm trong email (thường là file Office hoặc PDF), các phần mềm crack, các ứng dụng tạo serial number (keygen),… Kẻ phát tán mã độc cũng có thể nhúng đường dẫn tải Dropper vào các trang web có nhiều người truy cập. Các hình thức phát tán trên có thể được thực hiện hàng loạt qua các ExploitKit.
- Dropper khi được thực thi sẽ tải về payload, payload này sẽ thực hiện việc tải về và cài đặt mã độc.
3. Địa chỉ máy chủ điều khiển (Command and Control servers):
Wannacry kết nối đến máy chủ thông qua dịch vụ Tor để nhận lệnh. Danh sách một số máy chủ tên miền .onion phát hiện được:
gx7ekbenv2riucmf.onion
57g7spgrzlojinas.onion
xxlvbrloxvriy2c5.onion
76jdd2ir2embyv47.onion
cwwnhwhlz52maqm7.onion
Các bước thực thi mã độc được giải thích cụ thể theo thứ tự trong sơ đồ sau:
Lây nhiễm ban đầu:
- Kết nối tới hxxp://www[.]iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com. Nếu kết nối thành công, mã độc sẽ không làm gì và thoát.
Killswitch đã được cài đặt bởi tác giả của mã độc như một “công tắc an toàn” trong trường hợp nó trở nên không kiểm soát được.
Killswitch lần đầu tiên được phát hiện bởi kỹ sư Darien Huss từ nhóm ProofPoint vào buổi trưa ngày 13/5/2017 (theo giờ CET). Domain name được hardcoded trong mã nguồn của WannaCry có vẻ như được nhập ngẫu nhiên từ bàn phím và tại thời điểm phát hiện killswitch, domain name này chưa được đăng ký. Gần như ngay sau đó, nhóm MalwareTech cũng phát hiện ra killswitch này và đã đăng ký domain name trên. Đã có thời điểm có tới 1.400 kết nối đồng thời request tới địa chỉ này, chỉ 10 giờ sau khi nó được đăng ký.
Chỉ 72 giờ sau khi phát hiện killswitch trong phiên bản đầu tiên, người ta đã tìm ra 3 domain name khác trong các biến thể. Biến thể WanaDecrypt0r 2.0 về sau đã loại bỏ killswitch này và nhanh chóng lây lan trở lại.
Ifferfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com
Iuqerssodp9ifjaposdfjhgosurijfaewrwergwea[.]com
ayylmaotjhsstasdfasdfasdfasdfasdfasdfasdf[.]com
Tham khảo tại: http://thehackernews.com/2017/05/wannacry-ransomware-cyber-attack.html?m=1
2. Thực thi .exe ban đầu như một service mới:
a.Nếu đối số dòng lệnh là “-m security”
- Mở SCmanager
- Tạo service mới tên “mssecsvc.exe” (Microsoft Security Center (2.0) Service) –
- mssecsvc2.0
- Chạy mssecsvc.exe
- Tải “tasksche.exe”
- Lưu C:\\WINDOWS\\tasksche.exe
- Đổi C:\\WINDOWS\\tasksche.exe thành C:\\WINDOWS\\qeriuwjhrf
b.Nếu không, lây nhiễm qua lỗ hổng SMB ETERNALBLUE / DOUBLEPULSAR
- Mở SCmanager
- Truy cập “mssecsvc2.0”
- Thay đổi cấu hình service
- Chạy Service Ctrl Dispatcher (khai thác SMB)
a.Chạy thread chứa Payload
b.GetAdaptersInfo để lấy các địa chỉ IP
c. Tạo thread mới để lây nhiễm payload
- Get TCP Socket cho cổng 445 (SMB)
- Kết nối SMB socket và lấy SMB tree_id
a.SMB_COM_NEGOTIATE
b.Get Tree: ipc_share = “\\\\#{ip}\\IPC$” and
SMB_COM_TREE_CONNECT_ANDX
c.SMB_COM_TRANSACTION
3. Chạy hàm smb ms17-010 Exploit
a.do_smb_ms17_010_probe(tree_id)
b.Nếu tồn tại lỗ hổng, do_smb_doublepulsar_probe(tree_id)
Chuẩn bị Base64 Payload trong RAM
Setup gói tin SMBv1 echo
Make_smb_trans2_doublepulsar
Nếu code == 0x51, payload thành công
c.Thực thi Payload Shellcode.
d. Sau khi chạy service
Lấy thông tin tên máy tính
Tạo string ngẫu nhiên
Lấy đối số lệnh command line và kiểm tra switch “/i”
Chuẩn bị cho hành vi mã hóa:
- Giải nén Zip và chuẩn bị thông tin Tor và Bitcoin
Giải nén file file zip XIA với password “WNcry@2ol7”
Get c.wnry, chứa thông tin cấu hình Tor
c. Xuất thông tin cấu hình từ c.wnry để lấy danh sách onion site:
gx7ekbenv2riucmf.onion;
57g7spgrzlojinas.onion;
xxlvbrloxvriy2c5.onion;
76jdd2ir2embyv47.onion;
cwwnhwhlz52maqm7.onion;
hxxps://dist[.]torproject[.]org/torbrowser/6.5.1/tor-win32-0.2.9.10.zip
d. Tải địa chỉ ví Bitcoin và cập nhật c.wnry:
“13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94”
“12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw”
“115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn”
4. Ẩn thư mục giải nén Zip và sửa Security Descriptors
a. Tạo tiến trình chạy lệnh ẩn thư mục hiện tại: “attrib +h . “
b. Chạy lệnh “icacls . /grant Everyone:F /T /C /Q.” cho phép mọi user có quyền truy cập cao nhất
đến thư mục hiện tại và mọi thư mục con.
5. Chuẩn bị khóa công khai để mã hóa, khóa AES, giải mã DLL
a.Tải các export với hàm getprocaddress: CreateFileW, WriteFile, ReadFile, MoveFileW,
MoveFileExW, DeleteFileW, CloseHandle
b. Set up khóa mã hóa.
1.SetUp export hàm Crypto: CryptGenKey, CryptDecrypt, CryptEncrypt,
CryptDestroyKey, CryptImportKey, CryptAcquireContextA
2.Lấy RSA_AES Cryptographic
3.Nhập khóa công khai bằng hàm CryptImportKey
BOOL WINAPI CryptImportKey(
_In_ HCRYPTPROV hProv,
_In_ BYTE *pbData,
_In_ DWORD dwDataLen, 1172B 2048 bit RSA key (See Appendix)
_In_ HCRYPTKEY hPubKey,
_In_ DWORD dwFlags,
_Out_ HCRYPTKEY *phKey
);
4. Lấy khóa AES từ t.wnry để giải mã DLL
WANACRY! Length 8
Read length 100h = Encrypted AES key
Read 4h = 04 00 00 00
Read 8h DLL length = 00 00 01 00 00 00 00 00
Decrypt Encrypted AES key with Public key
Read encrypted DLL length 1000h
Decrypt DLL with custom AES-128-CBC algorithm with 16B AES Key
5. Lấy thông tin hệ thống và GetProcessHeap
6.Đẩy dữ liệu đã mã hóa vào Heap Location
7. Thay đổi thông tin protection của memory location
- Chạy DLL Export trong hàm TaskStart
- Tạo khóa mã hóa dùng để mã hóa dữ liệu người dùng
a.Khóa mã hóa được tạo bằng cách mã hóa khóa bí mật của người dùng với khóa công khai của
mã độc và lưu trong “%08X.eky”
b.Thử truy cập “%08X.dky” để nhận khóa giải mã
8.Tạo Mutex cho mọi luồng thực thi: Global\\MsWinZonesCacheCounterMutexW
a.Một nghiên cứu cho biết nếu mutex này tồn tại, mã độc sẽ không tiếp tục thực thi, có thể là một
hướng để chống lại WannaCry (?!)
- Tạo thread mới bắt đầu mã hóa file.
a. Tạo khóa AES để mã hóa file bằng hàm CryptGenKey
Mã hóa dữ liệu người dùng:
- Tạo luồng (thread) mới để ghi đè file trên đĩa
a. Tạo 1 khóab.Tạo bộ đệm dữ liệu cho mỗi file
c.Gọi hàm StartAddress để bắt đầu ghi dữ liệu mã hóa
d.Ghi tên mở rộng “.WNCRYPT”
11.Chạy tiến trình mới taskdl.exe trong thread mới
12. Set up Decrypter Persistence:
a.Đọc file cấu hình
b.Tìm vị trí @[email protected]
c.Tạo tiến trình “taskse.exe @[email protected]”
d.Set khóa bền vững để sử dụng sau mỗi lần reboot
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
e.CheckTokenMembership, GetComputerName
f.Chạy cmd.exe /c reg add “HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” /v
“<rand>” /t REG_SZ /d “\”tasksche.exe\”” /f
g.Tìm “f.wnry” (chưa rõ để làm gì)
13.Chạy: @[email protected] fi
a. Đọc file cấu hình cho Tor Client
b. Chạy Tor Client
14. Tạo @[email protected] bền vững và backup:
a.Tạo Ink file @[email protected]
@echo off
echo SET ow = WScript.CreateObject(“WScript.Shell”)> m.vbs
echo SET om = ow.CreateShortcut(“@[email protected]”)>> m.vbs
echo om.TargetPath = “@[email protected]”>> m.vbs
echo om.Save>> m.vbs
cscript.exe //nologo m.vbs
del m.vbs
b. Ghi vào <số_nguyên_ngẫu_nhiên>.bat
1.Chạy batch script trên
2.Xóa: del /a %%0
15. Tạo Ransom Notes: @[email protected] từ “r.wnry”
16. Mã hóa file, kill /database và các tiến trình liên quan đến mail server nếu đang chạy
a.Lưu UserName
b.Lấy Drive Type
c. Chạy:
taskkill.exe /f /im Microsoft.Exchange.*
taskkill.exe /f /im MSExchange*
taskkill.exe /f /im sqlserver.exe
taskkill.exe /f /im sqlwriter.exe
taskkill.exe /f /im mysqld.exe
d. Kiểm tra dung lượng đĩa trống
e. Lặp đối với tất cả các file với tên mở rộng cho trước
17. Chạy: @[email protected] co
a. Ghi vào file .res được biên dịch bởi decryptor
b. Chạy Tor service: taskhsvc.exe TaskData\Tor\taskhsvc.exe
18. Chạy: cmd.exe /c start /b @[email protected] vs
Xóa các bản sao volume shadow: cmd.exe /c vssadmin delete shadows /all /quiet & wmic
a. Xóa các bản sao volume shadow: cmd.exe /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -quiet with the command: Cmd.exe /c vssadmin delete shadows /all /quiet & wmic shadowcopy delete & bcdedit /set {default} bootstatuspolicy ignoreallfailures & bcdedit /set {default} recoveryenabled no & wbadmin delete catalog -quiet
Chi tiết về mã hóa:
– Mỗi lây nhiễm sinh một cặp khóa RSA-2048.
– Khóa công khai được xuất và lưu trong 00000000.pky.
– Khóa bí mật được mã hóa với khóa công khai của ransomware và lưu trong 00000000.eky.
– Mỗi file được mã hóa với một khóa AES-128-CBC riêng.
– Mỗi khóa AES được sinh bởi hàm CryptGenRandom.
Các địa chỉ ví Bitcoin:
https://blockchain.info/address/13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94
https://blockchain.info/address/12t9YDPgwueZ9NyMgw519p7AA8isjr6SMw
https://blockchain.info/address/115p7UMMngoj1pMvkpHijcRdfJNXj6LrLn
Các file không bị mã hóa:
“Content.IE5”
“Temporary Internet Files”
” This folder protects against ransomware. Modifying it will reduce protection”
“\Local Settings\Temp”
“\AppData\Local\Temp”
“\Program Files (x86)”
“\Program Files”
“\WINDOWS”
“\ProgramData”
“\Intel”
“$”
Các định dạng file bị mã hóa:
.doc, .docx, .xls, .xlsx, .ppt, .pptx, .pst, .ost, .msg, .eml, .vsd, .vsdx, .txt, .csv, .rtf, .123, .wks, .wk1, .pdf, .dwg, .onetoc2, .snt, .jpeg, .jpg, .docb, .docm, .dot, .dotm, .dotx, .xlsm, .xlsb, .xlw, .xlt, .xlm, .xlc, .xltx, .xltm, .pptm, .pot, .pps, .ppsm, .ppsx, .ppam, .potx, .potm, .edb, .hwp, .602, .sxi, .sti, .sldx, .sldm, .sldm, .vdi, .vmdk, .vmx, .gpg, .aes, .ARC, .PAQ, .bz2, .tbk, .bak, .tar, .tgz, .gz, .7z, .rar, .zip, .backup, .iso, .vcd, .bmp, .png, .gif, .raw, .cgm, .tif, .tiff, .nef, .psd, .ai, .svg, .djvu, .m4u, .m3u, .mid, .wma, .flv, .3g2, .mkv, .3gp, .mp4, .mov, .avi, .asf, .mpeg, .vob, .mpg, .wmv, .fla, .swf, .wav, .mp3, .sh, .class, .jar, .java, .rb, .asp, .php, .jsp, .brd, .sch, .dch, .dip, .pl, .vb, .vbs, .ps1, .bat, .cmd, .js, .asm, .h, .pas, .cpp, .c, .cs, .suo, .sln, .ldf, .mdf, .ibd, .myi, .myd, .frm, .odb, .dbf, .db, .mdb, .accdb, .sql, .sqlitedb, .sqlite3, .asc, .lay6, .lay, .mml, .sxm, .otg, .odg, .uop, .std, .sxd, .otp, .odp, .wb2, .slk, .dif, .stc, .sxc, .ots, .ods, .3dm, .max, .3ds, .uot, .stw, .sxw, .ott, .odt, .pem, .p12, .csr, .crt, .key, .pfx, .der
Một số string đáng chú ý:
BAYEGANSRV\administrator
Smile465666SA
Thông tin về ETERNALBLUE:
EternalBlue là kỹ thuật khai thác được phát tán bởi nhóm hacker ShadowBrokers vào ngày 14 tháng 4 năm 2017, cùng với các công cụ khác dường như đã bị rò rỉ từ Equation Group, được cho là một phần của Cơ quan An ninh Quốc gia Hoa Kỳ NSA.
EternalBlue khai thác lỗ hổng MS17-010 của giao thức SMB của Microsoft (Server Message Block). MS17-010 không phải là một lỗ hổng zero-day, Microsoft đã đưa ra một “Critical” advisory cùng với hotfix để vá lỗ hổng vào ngày 14/3/2017. Microsoft cũng đã thúc giục mọi người ngừng sử dụng giao thức SMB1 cũ và thay vào đó sử dụng giao thức SMB3 mới và an toàn hơn.
Vào ngày 12 tháng 5 năm 2017, WannaCry bắt đầu gây ảnh hưởng đến các máy tính trên toàn thế giới. Sau khi xâm nhập vào các máy tính, mã độc tống tiền mã hóa ổ đĩa cứng của máy tính, sau đó cố gắng khai thác lỗ hổng SMB để lây lan sang các máy tính ngẫu nhiên trên Internet và các máy tính trên cùng mạng LAN.
Thông tin thêm về EternalBlue tại: https://blog.comae.io/the-nsa-compromised-swift-network-50ec3000b195
Minh họa WannaCry lây nhiễm giữa các máy tính trong mạng LAN, sử dụng EternalBlue exploit: https://www.youtube.com/watch?v=I7blRhtWHNs
3.Các biến thể
WannaCry đã có tới 5 biến thể, khác nhau chủ yếu ở giao diện nạn nhân và thông tin tệp bị mã hóa.
DarkoderCrypt0r
Là biến thể xuất hiện sớm nhất. Biến thể này sao chép nguyên giao diện nạn nhân từ WannaCry, chỉ chỉnh sửa title, địa chỉ ví bitcoin,… DarkoderCrypt0r chỉ mã hóa các file trong thư mục Desktop của nạn nhân và file sau khi mã hóa có định dạng .DARKCRY. File thực thi của mã độc này mang tên @[email protected].
Mẫu: https://www.virustotal.com/en/file/2ffd9ba7b5dbccf734da02498fa2a6af8caaf8b9f98d4b32bc226516eee5c832/analysis/
Thời điểm phát hiện: 14/5/2017
Aron WanaCrypt0r 2.0 Generator v1.0
Aron WanaCrypt0r 2.0 Generator v1.0 là biến thể thú vị vì nó cho phép hacker tùy chỉnh giao diện như chèn text, ảnh, thay đổi màu cho thêm sinh động. Tới thời điểm hiện tại (Generator v1.0), nó chỉ cho phép hacker tùy biến giao diện, nhưng có thể trong phiên bản tiếp theo, hacker có thể tùy biến cả cách thực thi?!
Mẫu: https://www.virustotal.com/en/file/b46c6addef8894d5079f592152481d259338175806eb9a983ddb8edb9ec5aa44/analysis/
Thời điểm phát hiện: 14/5/2017
Wanna Crypt v2.5
Biến thể này vẫn đang trong giai đoạn phát triển rất sơ sài.
Mẫu: https://www.virustotal.com/en/file/925b3acaa3252bf4d660eab22856fff155f3106c2fee7567711cb34374b499f3/analysis/
Ngày phát hiện: 14/5/2017
WannaCrypt 4.0
Cũng như WannaCrypt v2.5, WannaCrypt 4.0 đang trong giai đoạn phát triển và chưa mã hóa bất kì thứ gì. Ngôn ngữ giao tiếp mặc định của mẫu mã độc này lại là tiếng Thái Lan
Mẫu: https://www.virustotal.com/en/file/cd7542f2d7f2285ab524a57bc04ae1ad9306a15b9efbf56ea7b002d99d4b974f/analysis/
Thời điểm phát hiện: 14/5/2017
Wana Decrypt0r 2.0
Biến thể phổ biến và nguy hiểm hơn cả. Biến thế này được biên dịch và xây dựng file thực thi với tên tiến trình là diskpart.exe để ngụy trang là trình quản lý ổ đĩa của Windows nhằm đánh lừa nạn nhân.
Mẫu: https://www.hybrid-analysis.com/sample/ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa?environmentId=100
Thời điểm phát hiện: 15/5/2017
Cập nhật thêm tại: https://github.com/fabrimagic72/malware-samples/tree/master/Ransomware/Wannacry
4.Tác giả của WannaCry
Có nhiều nguồn tin thảo luận về tác giả thực sự của WannaCry.
- Theo bài phân tích của ZScaler tại https://www.zscaler.com/blogs/corporate/wannacry-20-ransomware-attacks-continue, có một chuỗi địa chỉ thư mục trong mã nguồn của WanaDecrypt0r 2.0 chứa tên tác giả của nó.
Twitter của Cazanova163: https://twitter.com/cazanova163
Không ngoại trừ khả năng đây là một trường hợp ném đá giấu tay 😀
- Chuyên gia bảo mật của Google, Neel Mehta vào ngày 15-5 đã nhận ra sự tương đồng giữa một đoạn mã của WannaCry và một số virus từ một loạt các cuộc tấn công mạng trước đây, mà bị cho là xuất phát từ Lazarus Group, một nhóm hacker của Bắc Triều Tiên.
Công ty an ninh mạng Nga Kapersky giải thích sau khi phân tích mã này, khám phá của Mehta “hiện tại là dấu vết quan trọng nhất về nguồn gốc của WannaCry”. Theo Kaspersky những mã này cho thấy nó xuất phát từ nhóm tin tặc Lazarus. Nhóm này bị cho là chịu trách nhiệm cho vụ tấn công vào hãng phim Sony Pictures trong năm 2014
Tuy nhiên nhiều chuyên gia an ninh mạng cho biết những dấu vết này chưa đủ để chứng minh.
Tham khảo tại: https://securelist.com/blog/research/78431/wannacry-and-lazarus-group-the-missing-link/
- Dường như những kẻ viết đoạn đòi tiền chuộc đã dùng Google Translate để dịch ra các ngôn ngữ khác nhau. Bản tiếng Trung thì có lẽ không được dịch theo kiểu này. Một lý do là họ có thể dùng một chương trình dịch khác. Hoặc là họ biết nói tiếng Trung. Bản tiếng Hàn cũng như một số các ngôn ngữ khác, có sự thay đổi nhỏ từ bản dịch của Google.
5. Hướng phòng tránh, khắc phục
Phòng tránh lây nhiễm WannaCry:
- Cập nhật bản vá : Microsoft MS17-010
Microsoft đã tung ra bản vá cho lỗ hổng ETERANLBLUE vào tháng 3/2017 cho tất cả các
hệ điều hành đang được hỗ trợ
(https://technet.microsoft.com/en-us/library/security/ms17-010.aspx); tuy nhiên, nhiều tổ
chức vẫn sử dụng những hệ điều hành có bản quyền nhưng cũ hơn mà Microsoft đã
ngừng hỗ trợ, điển hình như Windows XP. Đối với các hệ điều hành này, Microsoft đã
tung ra bản vá khẩn cấp vào cuối tuần trước nhằm ứng phó trước cuộc tấn công của
WannaCry. Bản vá khẩn cấp này được tải tại:
https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-at
tacks/
- Đóng các cổng: 445/137/138/139
Giải mã file đã bị WannaCry mã hóa bằng công cụ WanaKiwi:
Wanakiwi được viết bởi Benjamin Delpy (gentilkiwi), phát triển từ công cụ wanakey của Adrien Guinet (aguinet).
Link tải 2 công cụ này tại:
https://github.com/gentilkiwi/wanakiwi/releases
https://github.com/aguinet/wannakey
Người thử nghiệm và xác nhận tính hiệu quả của công cụ này đầu tiên có lẽ là Matt Suiche (https://blog.comae.io/wannacry-decrypting-files-with-wanakiwi-demo-86bafb81112d).
WanaKiwi được xác nhận là chạy hiệu quả trên Windows XP, Windows Server 2003 và Windows 7 (mọi version), chưa xác nhận trên Windows Vista và Windows Server 2008.
WanaDecrypt0r sau khi sinh khóa bí mật để mã hóa các file sẽ chạy lệnh xóa khóa này ngay sau đó.
Tuy nhiên, thuật toán sinh khóa bí mật RSA sử dụng các số nguyên tố ngẫu nhiên và WanaDecrypt0r không xóa các số này trước khi giải phóng bộ nhớ. Ý tưởng của Guinet và Delpy là tìm lại các số nguyên tố này trong bộ nhớ, từ đó có thể tái tạo khóa bí mật để giải mã các file.
Khi chạy, Wanakiwi sẽ tự động tìm kiếm fie 00000000.pky, nó cũng tái tạo file .dky. Tất cả đều chạy tự động, chúng ta chỉ cần ngồi cầu nguyện các Số nguyên tố chưa bị ghi đè trong không gian địa chỉ bộ nhớ
Wanakiwi sẽ không có tác dụng trong các trường hợp sau:
- Sau khi nhiễm mã độc, máy tính đã bị người dùng khởi động lại, dữ liệu trên bộ nhớ sẽ bị xóa trong quá trình khởi động.
- Khi bị nhiễm mã độc, máy tính đang chạy nhiều ứng dụng và các process của các ứng dụng này khi được nạp vào bộ nhớ đã ghi đè các số nguyên tố của WanaDecrypt0r