Trong phần này, chúng ta sẽ tìm hiểu về các cuộc tấn công phía Máy khách. Tốt hơn là giành quyền truy cập vào máy tính mục tiêu bằng các cuộc server-side Attacks, như cố gắng tìm kiếm các khai thác trong các ứng dụng đã cài đặt hoặc trong hệ điều hành. Nếu chúng tôi không thể tìm thấy kẻ khai thác hoặc nếu mục tiêu của chúng tôi bị ẩn sau một IP hoặc sử dụng mạng ẩn, trong trường hợp này, chúng tôi sẽ sử dụng các cuộc tấn công phía máy khách.
Các Client-side Attacks yêu cầu người dùng thực hiện một số việc, chẳng hạn như tải xuống hình ảnh, mở liên kết, cài đặt bản cập nhật, sau đó sẽ chạy mã trong máy của họ. Các cuộc tấn công phía máy khách yêu cầu sự tương tác của người dùng, đó là lý do tại sao việc thu thập thông tin là rất quan trọng. Nó thu thập thông tin về ứng dụng của một cá nhân và họ là ai với tư cách là một người. Để thực hiện tấn công phía máy khách thành công, chúng ta cần biết bạn bè của người đó, mạng và trang web họ sử dụng cũng như trang web mà họ tin tưởng. Trong cuộc tấn công phía máy khách, khi chúng tôi thu thập thông tin, trọng tâm của chúng tôi là con người, thay vì các ứng dụng hoặc hệ điều hành của họ.
Máy mục tiêu sẽ là máy Window và máy tấn công sẽ là máy Kali. Để đảm bảo chúng ở trên cùng một mạng, cả hai máy sẽ sử dụng mạng NAT. Trong ví dụ của chúng tôi, chúng tôi sẽ sử dụng các kết nối dự trữ, vì vậy địa chỉ IP riêng biệt không cần thiết trong trường hợp này.
Trong phần này, chúng ta sẽ tìm hiểu cách sử dụng một công cụ có tên là Veil để tạo ra một backdoor không thể phát hiện được. Sau đó, chúng ta cũng sẽ thảo luận về Payload. Khi chúng tôi có ý tưởng ngắn gọn về các Payload, chúng tôi sẽ tạo ra một backdoor mà qua đó chúng tôi sẽ thực hiện các cuộc tấn công phía máy khách vào hệ thống của mình và cho phép chúng tôi lắng nghe các kết nối. Cuối cùng, chúng ta sẽ học cách triển khai backdoor trong thời gian thực, cũng như các kỹ thuật mà chúng ta có thể sử dụng để bảo vệ hệ thống của mình khỏi các cuộc tấn công như vậy.
Trong các cuộc tấn công phía máy khách, chúng tôi sẽ đề cập đến các chủ đề sau:
Installing Veil
Trong phần này, chúng ta sẽ tìm hiểu cách tạo một backdoor mà phần mềm chống vi-rút không thể phát hiện được. Backdoor chỉ là một tệp và khi tệp đó được thực thi trên một máy tính mục tiêu, nó sẽ cung cấp cho chúng ta toàn quyền truy cập vào máy mục tiêu đó. Có một số cách tạo backdoor, nhưng chúng tôi quan tâm đến việc tạo backdoor mà các chương trình chống vi-rút không thể phát hiện được. Điều này thực sự không khó, nếu chúng ta sử dụng một công cụ có tên là Veil-Evasion.
Chúng tôi sẽ tải xuống phiên bản mới nhất của Veil, là phiên bản 3, bằng cách sử dụng liên kết GitHub sau:
https://github.com/Veil-Framework/Veil
GitHub là một hệ thống kiểm soát phiên bản cho phép các lập trình viên đăng, chia sẻ và cập nhật mã nguồn. Nó được sử dụng rất nhiều khi tải các chương trình. Kho lưu trữ của Veil có thể được tải xuống thông qua liên kết của GitHub hoặc bằng cách sao chép nó vào thiết bị đầu cuối của chúng tôi. Ảnh chụp màn hình sau đây cho thấy liên kết của GitHub mà chúng tôi phải sao chép:
Bây giờ, trước khi chúng tôi tải xuống, chúng tôi thực sự muốn lưu trữ nó trong thư mục / opt. Vì vậy, chúng ta sẽ thực hiện cd để điều hướng đến một thư mục khác và chúng ta sẽ đặt / opt để mở một thư mục có tên là opt. Bây giờ chúng ta sẽ chạy ls để liệt kê các thư mục có sẵn, chúng ta sẽ thấy rằng chúng ta chỉ có một thư mục cho một chương trình có tên là Teeth.
Bây giờ, nếu chúng ta muốn tải xuống Veil, chúng ta phải sao chép liên kết kho lưu trữ từ GitHub như trong ảnh chụp màn hình ở trên. Sau đó, chúng tôi sẽ đi đến Terminal của mình, để xác định nơi chúng tôi muốn tải xuống. Vì vậy, điều đầu tiên chúng ta sẽ làm là thay đổi thư mục thành / opt, sau đó chúng ta sẽ đặt git clone và nhập URL của kho lưu trữ. Lệnh như sau:
Ở đây, lệnh clone được sử dụng để cho git biết rằng chúng ta muốn sao chép hoặc tải xuống khuôn khổ, chương trình hoặc dự án này trước khi chia sẻ liên kết với Veil. Để tải xuống dự án mong muốn, chỉ cần nhấn Enter, như được hiển thị trong ảnh chụp màn hình sau:
Nếu chúng ta sử dụng lệnh ls để liệt kê các tệp của mình, chúng ta sẽ thấy một thư mục mới có tên là Veil. Chúng tôi có thể điều hướng đến thư mục đó bằng cách nhập cd Veil /. Lệnh ls được sử dụng để liệt kê tất cả các tệp có sẵn, bao gồm cả Veil.py, mà chúng ta cần cài đặt. Để thực hiện việc này, hãy điều hướng đến thư mục cấu hình bằng cách nhập cd config /, sau đó chạy tập lệnh bash setup.sh. Tập lệnh này sẽ cài đặt Veil-Evasion. Để chạy một tệp thực thi từ thiết bị đầu cuối, chúng tôi nhập ./ và sau đó nhập tên của tệp thực thi là setup.sh, như được hiển thị trong ảnh chụp màn hình sau:
Lệnh trên sẽ tạo ra các kết quả sau:
Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng chúng ta đang được hỏi nếu chúng ta muốn cài đặt Veil, chúng ta nên thực hiện y. Lưu ý rằng quá trình cài đặt có thể mất một lúc.
Sau khi cài đặt, đầu tiên chúng tôi mở Terminal của mình, sau đó chúng tôi sẽ điều hướng đến thư mục opt bằng cách nhập cd / opt, vì đó là nơi chúng tôi nhân bản Veil. Vì vậy, chúng ta sẽ nhập lệnh cd Veil / để thay đổi thư mục làm việc. Bây giờ chúng ta đang ở bên trong thư mục Veil. Nếu chúng ta chạy lệnh ls, chúng ta sẽ thấy rằng chúng ta có thể thực thi Veil. Vì vậy, chúng tôi có thể chạy tệp thực thi này bằng cách đặt ./ theo sau là tên của một khai thác là Veil.py.
Bây giờ chúng ta sẽ khởi chạy lệnh trên, dẫn đến màn hình chào mừng cho Veil, như được hiển thị trong ảnh chụp màn hình sau:
Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng Veil của chúng ta có hai công cụ. Trong phần tiếp theo, chúng ta sẽ tìm hiểu cách sử dụng của công cụ này.
Tổng quan về Payload
Sau khi Veil được cài đặt, chúng ta sẽ xem xét các lệnh của nó. Các lệnh rất đơn giản như được hiển thị trong ảnh chụp màn hình sau. Thoát cho phép chúng tôi thoát khỏi chương trình, thông tin được sử dụng để cung cấp cho chúng tôi thông tin về một công cụ cụ thể, danh sách được sử dụng để liệt kê các công cụ có sẵn, cập nhật được sử dụng để cập nhật Veil, sử dụng được sử dụng để cho phép sử dụng bất kỳ công cụ nào, như được hiển thị trong ảnh chụp màn hình đã cho:
Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng có hai loại công cụ được sử dụng trong Veil:
- Evasion: Công cụ này được sử dụng để tạo ra một backdoor không thể phát hiện được.
- Ordnance: Công cụ này được sử dụng để tạo các Payload được sử dụng bởi Evasion. Đây là một công cụ phụ.
Payload là một phần của mã, nó thực hiện những gì chúng ta muốn. Trong trường hợp này, nó cung cấp cho chúng tôi một kết nối ngược lại, tải xuống và thực thi một cái gì đó trên máy tính mục tiêu. Bây giờ chúng ta đang sử dụng lệnh sử dụng để cho phép sử dụng bất kỳ công cụ nào. Chúng tôi muốn chạy Evasion, vì vậy chúng tôi sẽ chạy bằng cách sử dụng 1 lệnh. Khi Veil-Evasion đã được tải, chúng ta sẽ thấy một cái gì đó tương tự như lệnh sau:
Trong ảnh chụp màn hình ở trên, chúng ta có thể thấy rằng Veil cung cấp cho chúng ta danh sách các lệnh có thể chạy trên công cụ này. Chúng tôi muốn liệt kê tất cả các Payload có sẵn, trong đó có 41. Trong ảnh chụp màn hình sau, chúng tôi có thể thấy rằng mỗi Payload được chia thành ba phần và chúng tôi đã đánh dấu các Payload mà chúng tôi sẽ sử dụng là 15) go/meterpreter/rev_https.py:
Phần đầu tiên của tên payload là ngôn ngữ lập trình mà payload sẽ được bao bọc. Trong ảnh chụp màn hình trước, chúng ta có thể thấy ngôn ngữ được sử dụng bao gồm CS, Python, GO, C, PowerShell và Ruby. Trong ví dụ này, chúng ta sẽ sử dụng ngôn ngữ go.
Phần thứ hai của Payload là loại Payload. Nói cách khác, loại mã sẽ được thực thi trên mạng đích. Trong ví dụ này, chúng ta sẽ sử dụng Meterpreter, là một Payload được thiết kế bởi Metasploit. Metasploit là một khung công tác khổng lồ và đôi khi nó được sử dụng để hack. Meterpreter chạy trong bộ nhớ nên rất khó bị phát hiện và nó không để lại dấu vết lớn. Với Meterpreter, chúng tôi có thể có toàn quyền truy cập qua máy tính mục tiêu. Nó cho phép chúng tôi điều hướng qua hệ thống tệp, cài đặt hoặc tải xuống tệp và hơn thế nữa.
Phần thứ ba của tên payload là phương thức sẽ được sử dụng để thiết lập kết nối của nó. Trong ví dụ của chúng tôi, đó là rev_https. Trong đó rev là viết tắt của đảo ngược và https là giao thức sẽ được sử dụng để thiết lập kết nối. Trong ảnh chụp màn hình trước, có một vài ví dụ về rev_tcp, tạo kết nối TCP ngược.
Kết nối ngược là nơi máy mục tiêu kết nối với máy của kẻ tấn công thông qua một backdoor. Phương pháp này bỏ qua các chương trình chống vi-rút, vì kết nối không hướng vào máy tính mục tiêu mà thay vào đó là kẻ tấn công. Trong ví dụ của chúng tôi, chúng tôi sẽ sử dụng cổng 80 hoặc 8080, mà nhiều trang web sử dụng, do đó kết nối sẽ xuất hiện như một kết nối trang web vô hại.
Tạo backdoor Veil
Bây giờ, chúng ta sẽ tạo Veil bằng cách sử dụng backdoor. Đầu tiên, chúng ta sẽ chạy lệnh danh sách, sau đó chúng ta sẽ gõ lệnh use 1, khi chúng ta muốn sử dụng Evasion. Bây giờ nhấn Enter, vì chúng tôi muốn sử dụng Payload thứ 15, vì vậy chúng tôi sẽ chạy lệnh sử dụng 15, như sau:
Bây giờ chúng ta sẽ thay đổi IP LHOST của Payload thành địa chỉ IP của máy Kali bằng cách sử dụng các tùy chọn sau.
Chúng ta phải chạy lệnh ifconfig để lấy địa chỉ IP của máy Kali. Bây giờ chúng ta sẽ chia đôi màn hình bằng cách nhấp chuột phải và chọn Split Horizontal và sau đó chạy lệnh. Trong ảnh chụp màn hình sau, chúng ta có thể thấy rằng IP của máy Kali là 10.0.2.15, đây là nơi chúng ta muốn kết nối của máy tính mục tiêu trở lại sau khi backdoor đã được thực thi:
Để đặt LHOST là 10.0.2.15, chúng ta sẽ viết lệnh set, theo sau là các tùy chọn chúng ta muốn thay đổi, như hình sau:
Bây giờ chúng tôi cần thay đổi LPORT thành 8080. Cổng này cũng được sử dụng bởi các máy chủ web, vì vậy chúng tôi sẽ không xuất hiện đáng ngờ và vẫn nên vượt qua tường lửa. Bây giờ chúng ta sẽ đặt đúng cổng, nhập lệnh LPORT 8080 đã đặt, như được hiển thị trong ảnh chụp màn hình sau:
Theo kinh nghiệm, quá trình này sẽ bỏ qua mọi chương trình chống vi-rút ngoại trừ AVG. Các chương trình chống vi-rút hoạt động bằng cách sử dụng một cơ sở dữ liệu lớn về chữ ký. Những chữ ký này tương ứng với các tệp chứa mã có hại, vì vậy nếu tệp của chúng tôi khớp với bất kỳ giá trị nào trong cơ sở dữ liệu, thì tệp đó sẽ bị gắn cờ là vi-rút hoặc là phần mềm độc hại. Đó là lý do tại sao chúng ta cần đảm bảo rằng backdoor của chúng ta càng độc đáo càng tốt để nó có thể vượt qua mọi phần mềm chống vi-rút. Veil hoạt động tích cực bằng cách mã hóa backdoor, làm xáo trộn nó và đưa nó vào bộ nhớ để nó không bị phát hiện, nhưng điều này không bị ảnh hưởng bởi AVG.
Để đảm bảo backdoor của chúng tôi có thể vượt qua AVG, chúng tôi cần sửa đổi số lượng bộ xử lý tối thiểu được sử dụng bởi nó. Trong trường hợp này, nó được đặt thành 1. Sử dụng lệnh sau để thực hiện việc này:
Chúng tôi sẽ sửa đổi tùy chọn SLEEP, là số giây mà một backdoor sẽ đợi trước khi nó thực thi Payload. Trong trường hợp sau, chúng ta phải đợi 6 giây:
Ảnh chụp màn hình sau đây cho thấy các thay đổi:
Bây giờ chúng ta sẽ sử dụng lệnh create để tạo backdoor, như sau:
Bây giờ chúng ta sẽ đặt tên cho backdoor của chúng ta là rev_https_8080. Ảnh chụp màn hình sau đây minh họa những gì chúng ta thấy khi một backdoor được tạo. Điều này bao gồm các mô-đun được sử dụng bởi backdoor và nơi nó được lưu trữ:
Để kiểm tra backdoor của chúng tôi, chúng tôi sẽ bỏ qua lệnh checkvt của Veil, lệnh này không phải lúc nào cũng chính xác và VirusTotal, chia sẻ kết quả của nó với phần mềm chống vi-rút và thay vào đó chọn trang web NoDistribute như được hiển thị trong ảnh chụp màn hình sau:
Bây giờ, chúng tôi sẽ nhấp vào Duyệt qua … và điều hướng đến tệp của chúng tôi tại /usr/share/veil-output/compiled, như được hiển thị như sau:
Khi chúng tôi đã nhấp vào Quét tệp, chúng tôi có thể rằng tệp chúng tôi đã tải lên đã vượt qua thành công tất cả các chương trình chống vi-rút, như được hiển thị trong ảnh chụp màn hình sau:
Veil sẽ hoạt động tốt nhất khi được cập nhật phiên bản mới nhất.
Listening connections cho backdoor
backdoor mà chúng tôi đã tạo sử dụng Payload kết nối ngược. Để xử lý tải ngược lại, chúng ta cần mở một cổng trong máy Kali của mình để máy mục tiêu có thể kết nối với nó. Khi chúng tôi tạo backdoor, chúng tôi đặt cổng thành 8080, vì vậy chúng tôi cần mở cổng 8080 trên máy Kali của mình. Trong ví dụ này, tên của Payload đã chọn của chúng tôi là meterpreter / rev_https.
Bây giờ, chúng tôi sẽ chia màn hình của mình và lắng nghe các kết nối đến bằng cách sử dụng khung Metasploit. Chúng tôi sẽ sử dụng lệnh msfconsole để chạy Metasploit và nó sẽ tạo ra kết quả tương tự như ảnh chụp màn hình sau:
Để lắng nghe kết nối đến, chúng ta cần sử dụng một mô-đun trong Metasploit, đó là mining / multi / handler. Sử dụng lệnh sau để khởi chạy mô-đun đó:
Khi lệnh này được khởi chạy, hãy điều hướng đến mô-đun khai thác / đa / trình xử lý. Điều quan trọng nhất mà chúng tôi muốn chỉ định trong mô-đun này là Payload, chúng tôi thực hiện với lệnh set. Bây giờ sử dụng lệnh sau để đặt Payload là windows / meterpreter / reverse_https:
Bây giờ, chúng ta sẽ sử dụng lệnh show options để thấy rằng Payload đã thay đổi thành windows / meterpreter / reverse_https, như được hiển thị trong ảnh chụp màn hình sau:
Chúng tôi sẽ đặt LHOST thành địa chỉ IP của máy Kali của chúng tôi bằng cách sử dụng lệnh sau:
Trước khi tiếp tục, chúng tôi sẽ đảm bảo rằng Payload, máy chủ lưu trữ và cổng của chúng tôi được đặt chính xác với cùng giá trị với giá trị được tạo với backdoor ban đầu, như được hiển thị sau:
Việc chúng ta cần làm là thực hiện lệnh khai thác. Bây giờ, Metasploit đang đợi kết nối trên cổng 8080 và trên địa chỉ IP của chúng tôi, là 10.0.2.15, như được hiển thị trong ảnh chụp màn hình sau. Sau khi kết nối được thiết lập, chúng tôi sẽ có thể điều khiển máy tính mục tiêu:
Kiểm tra backdoor
Bây giờ, chúng tôi sẽ kiểm tra xem backdoor của chúng tôi có hoạt động như mong đợi hay không. Để thực hiện việc này, chúng tôi sẽ đặt backdoor trên máy chủ web của mình và tải xuống từ máy Windows đích. Chúng tôi sẽ chỉ sử dụng phương pháp này để kiểm tra backdoor của chúng tôi.
Như chúng ta biết rằng máy Kali có thể được sử dụng như một trang web, vì vậy chúng ta sẽ đặt backdoor trực tuyến và tải nó xuống từ máy tính đích. Chúng tôi sẽ giữ bản tải xuống này trong một thư mục có tên là evil-files, như được hiển thị trong ảnh chụp màn hình sau:
Bây giờ, backdoor mà chúng tôi đã tạo bằng cách sử dụng Veil-Evasion, được lưu trữ trong var / lib / veil-evasion / output / compiled/, cần được sao chép và dán vào thư mục evil-files. Và đó là nó. Chúng tôi có thể tải xuống tệp từ Kali.
Để khởi động trang web hoặc máy chủ web, hãy nhập lệnh sau vào thiết bị đầu cuối:
Ở đây, service là lệnh và apach2 là tên của máy chủ web. Bây giờ, chúng ta sẽ nhấn Enter để thực hiện lệnh trên.
Bây giờ, chúng ta sẽ đến máy Window và điều hướng đến địa chỉ IP của máy Kali của chúng ta là 10.0.2.15. Thao tác này sẽ mở tệp index.html cơ bản mà chúng tôi đã tạo. Nó cho chúng tôi biết rằng máy chủ web của chúng tôi đang hoạt động, như được hiển thị như sau:
Nếu chúng ta muốn truy cập thư mục chứa backdoor, chúng ta sẽ truy cập 10.0.2.15/evil-files và nhấn Enter. Sau đó, chúng tôi có thể tải xuống và chạy backdoor, như được hiển thị trong ảnh chụp màn hình sau:
Bây giờ chúng ta đã chạy backdoor trên máy Windows, máy Kali của chúng ta sẽ cho chúng ta biết rằng chúng ta đã nhận được kết nối từ máy tính mục tiêu, như thể hiện trong ảnh chụp màn hình sau:
Bây giờ chúng tôi có toàn quyền truy cập trên máy Windows. Như chúng ta có thể thấy trong ảnh chụp màn hình trước, chúng ta có phiên Meterpreter, cho phép chúng ta làm bất cứ điều gì mà người dùng hợp pháp của máy tính đó có thể làm.
Chúng ta có thể sử dụng lệnh sysinfo để kiểm tra xem backdoor có hoạt động chính xác hay không. Sau khi thực hiện lệnh này, chúng ta sẽ thấy rằng chúng ta đang ở bên trong máy MSEDGEWIN10, chạy Windows 10 (Bản dựng 17134), có kiến trúc x64, sử dụng ngôn ngữ en_US và Meterpreter x86 dành cho Windows, như được hiển thị trong ảnh chụp màn hình sau:
Bây giờ về cơ bản chúng ta đã hack máy tính mục tiêu của mình.
Cập nhật Fake bdm1
Bây giờ, chúng tôi có một backdoor không thể phát hiện được, nhưng chúng tôi vẫn chưa tìm ra cách hiệu quả để cung cấp backdoor này đến máy tính mục tiêu. Trong cuộc sống thực, nếu chúng ta yêu cầu mục tiêu tải xuống và chạy tệp thực thi, nó có thể sẽ không tải xuống và chạy tệp đó, vì vậy bây giờ chúng ta đang tìm cách giả mạo bản cập nhật để người dùng muốn tải xuống và cài đặt tệp thực thi trên của họ. cỗ máy.
Kịch bản này sẽ hoạt động cho đến khi chúng tôi đang ở giữa một kết nối. Ví dụ: khi chuyển hướng lưu lượng truy cập qua điện thoại di động, khi thực hiện tấn công trung gian hoặc khi sử dụng mạng giả.
Trong phần này, chúng ta sẽ xem xét việc giả mạo DNS với ngộ độc ARP. Điều này có nghĩa là chúng ta đang ở trong cùng một mạng với máy mục tiêu. Trong ví dụ của chúng tôi, mạng có dây. Chúng tôi sẽ sử dụng một công cụ có tên là Evilgrade để hoạt động như một máy chủ để tạo ra các bản cập nhật giả mạo. Sử dụng liên kết sau, chúng tôi có thể tải xuống Evilgrade:
https://github.com/PacktPublishing/Fundamentals-of-Ethical-Hacking-from-Scratch
Khi chúng tôi đã tải xuống và chạy lệnh evilgrade, chúng tôi sẽ chạy lệnh show mô-đun để xem danh sách các chương trình và chúng tôi có thể chiếm quyền điều khiển các bản cập nhật, như được hiển thị trong ảnh chụp màn hình sau:
Trong ảnh chụp màn hình ở trên, có 67 chương trình có thể chiếm đoạt các bản cập nhật, bao gồm một số chương trình phổ biến như Nokia, Safari, Google, Analytics và Download Accelerator Plus, đây là những gì chúng tôi sẽ sử dụng cho ví dụ này.
Bây giờ, chúng ta sẽ chạy lệnh config dap để sử dụng DAP Module. Sau đó, chúng tôi sẽ sử dụng các tùy chọn hiển thị để hiển thị tất cả các tùy chọn có thể định cấu hình có sẵn, như được hiển thị trong ảnh chụp màn hình sau:
Trong ảnh chụp màn hình ở trên, chúng ta sẽ tập trung vào tác nhân, vì vậy chúng ta cần thay thế đường dẫn ./agent/agent.exe bằng đường dẫn chương trình sẽ được cài đặt dưới dạng bản cập nhật. Trong trường hợp của chúng tôi, chúng tôi muốn cài đặt một backdoor làm bản cập nhật.
Trong phần Tạo backdoor của Veil, chúng tôi sử dụng Payload reverse_http, không hoạt động với DAP. Nhưng trong phần này, chúng ta sẽ sử dụng một backdoor khác có tên là backdoor.exe sử dụng Payload reverse_http.
Lưu ý: Để tạo một backdoor như vậy, vui lòng tham khảo các bước trong phần Tạo Veil backdoor.
Bây giờ, chúng ta sẽ thay đổi tác nhân để nó thực thi backdoor của chúng ta thay vì cập nhật, như được hiển thị trong lệnh sau:
Chúng tôi sẽ thay thế đường dẫn trong lệnh thành đường dẫn nơi backdoor ngược_http được đặt. Sau đó, chúng tôi sẽ chạy lệnh tùy chọn hiển thị để kiểm tra xem nó đã được định cấu hình chính xác chưa, như thể hiện trong ảnh chụp màn hình sau:
Chúng tôi cũng có thể đặt bất kỳ tùy chọn nào khác mà chúng tôi muốn tại đây. Chúng tôi chỉ nhập tên tùy chọn đã đặt, sau đó là giá trị của tùy chọn.
Trong tương lai, có thể trang web này sẽ không hoạt động, vì vậy nếu nó hiển thị lỗi trên máy tính mục tiêu, chúng tôi sẽ thay đổi trang web này thành bất kỳ trang web nào mà chúng tôi muốn. Chúng tôi sẽ thay đổi nó thành update.speedbit.com.
Khi mọi thứ đã sẵn sàng, thì chúng ta sẽ chạy lệnh start để khởi động máy chủ, như thể hiện trong ảnh chụp màn hình sau:
Bây giờ, bất cứ lúc nào Evilgrade nhận được yêu cầu cập nhật, nó sẽ cho bất kỳ ai đang yêu cầu cập nhật biết rằng có cập nhật backdoor của chúng tôi. Để thực hiện việc này, chúng tôi cần chuyển hướng bất kỳ yêu cầu nào từ trang web update.speedbit.com đến Evilgrade.
Chúng tôi sẽ thực hiện chuyển đổi này bằng cách sử dụng cuộc tấn công giả mạo DNS. Sử dụng điều này, chúng tôi có thể giả mạo bất kỳ yêu cầu nào từ update.speedbit.com tới Evilgrade (và địa chỉ IP của chính chúng tôi).
Bây giờ, chúng ta mở tệp mitmf.conf bằng Leafpad với lệnh leafpad /etc/mitmf/mitmf.conf. Sau đó, để tránh xung đột với Evilgrade, chúng tôi sẽ thay đổi cổng cho máy chủ DNS thành 5353, như được hiển thị trong ảnh chụp màn hình sau:
Nếu chúng ta xem xét các bản ghi A của mình, chúng ta sẽ thấy rằng chúng ta hiện đang chuyển hướng bất kỳ yêu cầu nào đến update.speedbit.com đến 10.0.2.15, địa chỉ IP của chính chúng ta, mà Evilgrade đang chạy.
Bây giờ, chúng ta sẽ chạy MITMF bằng lệnh sau:
Nhấn Enter. Quá trình giả mạo DNS đã hoàn tất. Bây giờ Evilgrade đang chạy, backdoor của chúng tôi có thể được tải xuống và thực thi từ update.speedbit.com:
Để lắng nghe các kết nối, hãy thay đổi các tùy chọn trên msfconsole Terminal. Để thực hiện việc này, chúng tôi sẽ sử dụng mô-đun khai thác / đa / xử lý, đặt Payload thành windows / meterpreter / reverse_http, đặt LHOST thành 10.0.2.15, là IP máy Kali của chúng tôi và LPORT thành 8080, như được hiển thị trong ảnh chụp màn hình sau :
Để nhắc lại, chương trình mục tiêu sẽ kiểm tra các bản cập nhật bằng cách sử dụng update.speedbit.com, sẽ chuyển hướng đến các địa chỉ IP nơi Evilgrade đang chạy.
Bây giờ, chúng ta cần kiểm tra các bản cập nhật DAP trên máy tính mục tiêu. Trong trường hợp của chúng tôi, máy đích là máy Windows. Khi chúng tôi cố gắng cập nhật ứng dụng DAP, một hộp thoại sẽ cho chúng tôi biết rằng cần có bản Cập nhật Quan trọng, như thể hiện trong ảnh chụp màn hình sau:
Khi bản cập nhật đã được tải xuống và cài đặt, chúng tôi sẽ chạy lệnh sysinfo trên Meterpreter Ter phiên minal trên máy Kali của chúng tôi để xác nhận rằng chúng tôi có quyền kiểm soát máy mục tiêu, như được hiển thị trong ảnh chụp màn hình sau:
Bảo vệ chống lại các phương thức tấn công client-side attach
Trong phần này, chúng ta sẽ học cách bảo vệ khỏi các phương thức phân phối. Chúng tôi sẽ sử dụng các công cụ như XArp hoặc bảng ARP tĩnh để ngăn chặn cuộc tấn công trung gian và tránh các mạng mà chúng tôi không biết. Một biện pháp phòng ngừa khác là đảm bảo rằng chúng tôi đang sử dụng HTTP khi chúng tôi tải xuống các bản cập nhật. Điều này sẽ giảm nguy cơ tải xuống bản cập nhật giả mạo.
Chúng ta sẽ tìm hiểu một công cụ hữu ích khác, đó là WinMD5. Chương trình này sẽ cảnh báo cho chúng tôi khi chữ ký hoặc tổng kiểm tra của tệp đã được sửa đổi theo bất kỳ cách nào, điều này cho thấy rằng tệp không phải là tệp gốc. Để kiểm tra, chúng tôi sẽ tải xuống và chạy WinMD5, nơi chúng tôi có thể so sánh chữ ký và tổng kiểm tra cho một tệp. Nếu các giá trị của chữ ký và tổng kiểm tra bằng nhau, tệp sẽ an toàn. Chúng ta có thể tải xuống WinMD5 bằng liên kết sau:
http://www.winmd5.com/
Trong ảnh chụp màn hình sau, phần được đánh dấu hiển thị chữ ký của công cụ này:
Bây giờ, nếu chúng ta vào Browse, nó sẽ hiển thị cho chúng ta các tệp chữ ký. Trong ví dụ này, chúng tôi sẽ chọn tệp đã tải xuống cho chính công cụ này. Bây giờ, chúng ta sẽ so sánh chữ ký này với chữ ký trên trang web và chúng ta có thể thấy trong ảnh chụp màn hình sau đây rằng cả hai chữ ký đều giống nhau. Điều này có nghĩa là công cụ chưa được sửa đổi và tải xuống từ trang web:
Bảo vệ chống lại các phương thức phân phối