17/09/2018, 16:43

Phát hiện KeyLogger ẩn náu trong bản IDM Silent “không cần crack”

Một Keylogger vừa tình cờ được phát hiện trong bản IDM Silent “không cần crack” đang được lan tràn trên Internet. Key Logger này được phát hiện nằm trong file: “C:windowssystem32IDMSL Auto Update.exe”, với mục đích là tự động update bản mới của IDM. Nhưng thực chất lại chứa ...

Một Keylogger vừa tình cờ được phát hiện trong bản IDM Silent “không cần crack” đang được lan tràn trên Internet. Key Logger này được phát hiện nằm trong file: “C:windowssystem32IDMSL Auto Update.exe”, với mục đích là tự động update bản mới của IDM. Nhưng thực chất lại chứa những đoạn mã nhằm đánh cắp thông tin người dùng.

IDM Silent là bản IDM được sử dụng rộng rãi và chia sẻ tràn lan trên internet. Đây là bản dùng miễn phí mà không cần không cần phải “crack”.

Những bản Crack hay patch, keygen luôn tiềm ẩn những nguy cơ. Nếu bạn đang sử dụng phiên bản này nên tiến hành xóa bỏ file này (nó không ảnh hưởng tới chương trình của bạn) hoặc dùng một bản IDM khác. Tôi cũng giới thiệu bạn một chương tình download khác có các tính năng tương tự và miễn phí là Orbit Downloader (click vào tên đển download).

Phân tích Keyloger

File này được nén bằng UPX.  Sử dụng CFF Explorer để unpack chúng ta được

anh21[1]

Sau quá trình dịch ngược có thể thu được mã nguồn của chương trình này

Cảnh báo Keylogger ẩn náu trong IDM Silent không cần crack

Phát hiện được đoạn code nghi ngờ:

Func _inetmail($s_mailto, $s_mailsubject, $s_mailbody)
Local $prev = Opt("ExpandEnvStrings", 1)
Local $var, $dflt = RegRead("HKCUSoftwareClientsMail", "")
If $dflt = "Windows Live Mail" Then
$var = RegRead("HKCRWLMail.Url.MailtoShellopencommand", "")
Else
$var = RegRead("HKCRmailtoshellopencommand", "")
EndIf
Local $ret = Run(StringReplace($var, "%1", _inetexplorercapable("mailto:" & $s_mailto & "?
subject=" & $s_mailsubject & "&body=" & $s_mailbody)))
Local $nerror = @error, $nextended = @extended
Opt("ExpandEnvStrings", $prev)
Return SetError($nerror, $nextended, $ret)
EndFunc

Thêm nữa

Func _inetsmtpmail($s_smtpserver, $s_fromname, $s_fromaddress, $s_toaddress, $s_subject =
"", $as_body = "", $s_helo = "", $s_first = " ", $b_trace = 0)
If $s_smtpserver = "" OR $s_fromaddress = "" OR $s_toaddress = "" OR $s_fromname = "" OR
StringLen($s_fromname) > 256 Then Return SetError(1, 0, 0)
If $s_helo = "" Then $s_helo = @ComputerName
If TCPStartup() = 0 Then Return SetError(2, 0, 0)
Local $s_ipaddress, $i_count
StringRegExp($s_smtpserver, "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|
[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9]
[0-9]?)")
...

Đoạn

StringRegExp($s_smtpserver, "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|
[01]?[0-9] [0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9]
[0-9]?)")

Chính là máy chủ email mà KeyLogger này sử dụng, chương trình này không dùng các máy chủ mail thông thường như Gmail, Yahoo, hay hotmail. Sử dụng các kết nối TCP đến cổng 25 để gửi các thông tin, dữ liệu từ máy nạn nhân.

Bạn có thể theo dõi quá trình phân tích chi tiết hơn tại blog cá nhân của tôi. http://hoangcuongflp.wordpress.com/
Hoặc bạn có thể download file gốc tại đây: https://www.dropbox.com/s/17ae5rh3f0k0ec7/Desktop.rar để tự phân tích

0