Notification texts go here Contact Us Buy Now!

[Bản dịch] Hướng dẫn dành cho người mới bắt đầu về việc săn lùng các thư mục mở độc hại

Table of Contents

Giới thiệu

Các nhà phân tích mối đe dọa đang điều tra cơ sở hạ tầng độc hại có khả năng gặp phải "thư mục mở" trong quá trình điều tra của họ. Các thư mục này, thường được gọi là "opendirs", là các máy chủ có thể truy cập công khai, nơi các tác nhân đe dọa lưu trữ các tệp độc hại liên quan đến hoạt động của chúng.

Thư mục mở là một khái niệm đơn giản mà nhiều người sẽ quen thuộc. Mặc dù vậy, có rất ít tài liệu công khai về việc khám phá ra chúng và cách xác định và theo dõi cơ sở hạ tầng thư mục mở mới.

Blog này sẽ trình bày những kiến ​​thức cơ bản về thư mục mở, cách bạn có thể khám phá chúng trong quá trình tìm kiếm và cách tiếp tục tìm hiểu về cơ sở hạ tầng thư mục mở.

Thư mục mở là gì?

Thư mục mở đơn giản là máy chủ nơi thư mục được để “mở” và có thể truy cập công khai bằng cách duyệt đến IP hoặc tên miền của trang web.

Theo quan điểm của tác nhân đe dọa, thư mục này cho phép các tệp độc hại dễ dàng truy cập và phân phối khi và nơi cần thiết. Đây thường là các tệp giai đoạn thứ hai của phần mềm độc hại hoặc công cụ được sử dụng trong các hoạt động thực hành.

Cũng có những trường hợp sử dụng hợp pháp, khi một dịch vụ hợp pháp cần tạo một tệp công khai và dễ truy cập, nhưng hôm nay, chúng ta sẽ tập trung vào các trường hợp sử dụng có mục đích xấu và cách phân biệt chúng với các ví dụ thực tế.

Dưới đây (được chia sẻ bởi RussianPanda9XX trên X/Twitter) là một ví dụ độc hại trong đó một thư mục mở đang lưu trữ các tệp độc hại. Ví dụ này hiển thị một thư mục mở dựa trên Apache khi xem trực tiếp trong trình duyệt.

Một ví dụ khác là thư mục mở được ValleyRat sử dụng và được Zscaler báo cáo.

Thư mục mở đang sử dụng phần mềm HFS (Máy chủ tệp HTTP).

Giao diện khác nhau giữa các phần mềm, nhưng chức năng vẫn như nhau. Đây là một ví dụ khác về sự khác biệt nhỏ giữa Apache và Python. Những khác biệt này được đề cập chi tiết hơn trong Báo cáo “ Dorking The Internet ” của Censys.

Vậy làm thế nào bạn có thể tìm được một thư mục mở?

Có thể khám phá các thư mục mở trong phiên bản cộng đồng của Censys bằng cách tìm kiếm nhãn open-dir.

Censys tự động quét internet để tìm các thư mục mở và áp dụng nhãn open-dir, bất kể phần mềm nào được sử dụng. Điều này có nghĩa là Apache, Python, HFS và các phần mềm khác đều sẽ được bao gồm và không cần phải tìm kiếm riêng lẻ.

Nhãn này sẽ bao gồm tất cả các thư mục mở, bao gồm cả kết quả độc hại và hợp pháp. Chỉ riêng nhãn có thể trả về hàng trăm nghìn kết quả.

Chúng ta thấy điều này bên dưới khi tìm kiếm label:open-dir,  kết quả trả về là 450.153 thư mục đang mở hiện tại.


Như đã hiển thị, tìm kiếm labels:open-dir sẽ trả về tất cả kết quả bất kể chúng là độc hại hay hợp pháp.

Phần còn lại của blog này sẽ trình bày cách kết hợp truy vấn này với các tham số bổ sung để chỉ xác định các kết quả độc hại.

Phần 1: Tên tệp tĩnh để săn tìm thư mục mở

Phương pháp đơn giản nhất để xác định thư mục độc hại là sử dụng tên tệp từ các sự cố trước đó.

Hãy xem xét 81.71.147[.]158, được chia sẻ bởi @morimolymoly2 trên Twitter/X. IP này chứa một thư mục mở với số lượng lớn các tệp đáng ngờ.

Nếu chúng ta tìm kiếm IP trên Censys, chúng ta sẽ đến được trang máy chủ nơi có thông tin sau trên cổng 80.


Thư mục mở trên 81.71.147[.]158 chứa nhiều tệp đủ duy nhất để được sử dụng làm điểm trục. Là các giá trị đủ duy nhất để được sử dụng trong truy vấn.

Có hai mô hình chính nổi bật.
  • A.dll, a.exe, a.hta, a.jpg – Các tệp đáng ngờ có tên tệp ngắn và chỉ có một ký tự.
  • Yaml-payload.jar – Tệp đáng ngờ có chứa “payload” trong tên tệp. Có khả năng liên quan đến khai thác Java Deserialization .
Chúng ta có thể kết hợp các tên tệp này với labels:open-dir để xác định các tệp lưu trữ cơ sở hạ tầng thư mục mở có cùng tên.

Xoay vòng trên Tên tệp tĩnh

Tên tệp như a.exe có thể được kết hợp với tham số labels:open-dir để xác định các thư mục mở lưu trữ các tệp có cùng tên (mặc dù không nhất thiết phải có cùng nội dung tệp).

Censys lưu trữ nội dung thư mục mở trong trường services.http.response.body , vì vậy đây là nơi chúng ta có thể đặt tên tệp kết hợp với labels:open-dir

Do đó, chúng ta có thể tìm kiếm các thư mục mở chứa a.exe bằng cách tìm kiếm labels:open-dirservices.http.response.body:a.exe . Tìm kiếm đơn giản này trả về 9 máy chủ tương tự.


Như được hiển thị ở trên, kết quả tìm kiếm cho thấy 9 thư mục mở chứa file .exe .

Kết quả đầu tiên từ tìm kiếm là 159.223.130[.]216 . Duyệt đến trang máy chủ liên quan sẽ hiển thị một thư mục mở lưu trữ a.exe, cũng như các tệp khác có lược đồ đặt tên ký tự đơn tương tự. Ngoài a.exe , chúng ta hiện có b.exe , c.exe và curl.exe .

Curl là một công cụ “hợp pháp” được sử dụng để tải xuống các tệp, do đó curl.exe không có khả năng là phần mềm độc hại, mà thay vào đó là một công cụ hỗ trợ được sử dụng để “install” curl trong các hoạt động mà công cụ curl không có mặt.


Để xác nhận bản chất của các tệp này, chúng ta có thể tải xuống (sử dụng hộp cát hoặc máy phân tích riêng) bằng cách duyệt trực tiếp đến trang web và sau đó thực hiện phân tích thủ công hoặc gửi chúng đến hộp cát. Điều này không phải lúc nào cũng được khuyến nghị vì lý do bảo mật hoạt động, nhưng đây là chủ đề để thảo luận khác.

Trong trường hợp cơ sở hạ tầng không nhạy cảm, các tệp có thể được quét bằng cách nhập URL trực tiếp vào VirusTotal . Trong trường hợp này, chúng ta có thể nhập <IP>/b.exe và thấy rằng nó có 34 lần phát hiện và chứa một Cấy ghép Sliver C2.

Lưu ý rằng loại quét này thường sẽ cảnh báo cho tác nhân rằng máy chủ của họ đang bị điều tra. Bạn nên cân nhắc điều này khi điều tra cơ sở hạ tầng.


Tệp  b.exe có 34 lần phát hiện, nhưng thư mục mở lưu trữ tệp này có 0.

Điều này có nghĩa là chúng tôi có thể đã tìm thấy một số cơ sở hạ tầng “mới”, chỉ sử dụng một tên tệp đơn giản để phân tích.


Chúng ta có thể tiếp tục điều tra kết quả tìm kiếm để tìm thêm nhiều trường hợp của a.exe.

Một kết quả khác từ tìm kiếm trước đó của chúng tôi là 121.43.135[.]166, chứa tệp a.exe và nhiều tệp đáng ngờ khác.


Có thể thấy cùng kiểu đặt tên tệp trên các máy chủ khác được trả về bởi tìm kiếm, tất cả đều chứa a.exe kết hợp với các tệp đáng ngờ khác.

Xoay quanh tên tệp khai thác

IP ban đầu chứa một tệp đáng ngờ khác có tên là yaml-payload.jar. Tìm kiếm tệp này trên Google cho thấy nó liên quan đến khai thác Yaml Deserialization.

Lặp lại quy trình từ trước, chúng ta có thể xác định các máy chủ tương tự bằng cách tìm kiếm labels:open-dirservices.http.response.body:yaml-payload.jar


Search đơn giản sẽ trả về 8 thư mục mở lưu trữ các tệp có cùng tên.

Một trong các kết quả chứa yaml-payload.jar và tham chiếu đến artifact_x86.exe , đây là tên tệp phổ biến cho Cobalt Strike.

Điều này có nghĩa là sự thay đổi đơn giản của chúng ta trên yaml-payload.jar có thể dẫn đến việc máy chủ của một tác nhân tận dụng Cobalt Strike.


Tên artifact_x86.exe đủ duy nhất để được sử dụng làm điểm xoay khác. Nhà phân tích có thể thực hiện xoay bổ sung trên tên artifact_x86.exe .

Việc này đơn giản như lặp lại các tìm kiếm trước đó với tên tệp khác nhau trong trường services.http.response.body .

Tóm tắt – Tên tệp tĩnh để săn tìm thư mục mở

Tên tệp tĩnh đóng vai trò là phương tiện đơn giản và hiệu quả cao để phát hiện các thư mục mở độc hại mới.

Bằng cách sử dụng báo cáo công khai (Mạng xã hội, Intel Repos, Sự cố nội bộ), bạn có thể dễ dàng xác định tên tệp đơn giản có thể dẫn đến cơ sở hạ tầng mới.

Để thực hiện tất cả những điều này, chỉ cần tìm kiếm labels:open-dir rồi thêm tên tệp đáng ngờ của bạn vào trường services.http.response.body.

Mục 2: Hệ thống tự động và nhà cung cấp dịch vụ lưu trữ

Việc tìm kiếm thư mục mở có thể được hỗ trợ rất nhiều bằng cách kết hợp các nhà cung cấp dịch vụ lưu trữ với nhãn:truy vấn open-dir .

Điều này có thể đặc biệt hiệu quả khi một diễn viên sử dụng nhà cung cấp dịch vụ lưu trữ độc đáo hoặc không phổ biến.

Hãy xem xét IP 77.105.160.30 (ban đầu được chia sẻ bởi @karol_paciorek ). Máy chủ này có thư mục mở và được lưu trữ trên EVILEMPIRE với Số hệ thống tự động là 216309.


Vì đây là nhà cung cấp không phổ biến nên chúng ta có thể khám phá thêm nhiều thư mục mở bằng cách kết hợp số ASN liên quan với labels:open-dir.

Việc sử dụng EVILEMPIRE khá độc đáo khi chỉ có 8 thư mục mở được lưu trữ ở đó.


Một trong những kết quả đó là 77.105.132[.]27, phù hợp với tiêu chí tìm kiếm của chúng tôi và đã được đánh dấu là C2 đã biết.


Khi duyệt đến trang lưu trữ và xem nội dung thư mục, có vẻ như nó đang lưu trữ cả phần mềm độc hại Vidar và Lumma.

Tóm tắt – Hệ thống tự động và nhà cung cấp dịch vụ lưu trữ

Kết hợp tìm kiếm thư mục mở với các nhà cung cấp dịch vụ lưu trữ khác thường có thể nhanh chóng mang lại kết quả mới.

Phương pháp này hiệu quả nhất khi nhà cung cấp không phổ biến hoặc nổi tiếng vì lưu trữ các tác nhân độc hại. Vì vậy, hãy cẩn thận khi áp dụng kỹ thuật này cho một nhà cung cấp lớn như Amazon hoặc CloudFlare. Các nhà cung cấp lớn như thế này có thể liên kết với hàng chục nghìn kết quả, có thể khó phân tích và cực kỳ dễ xảy ra kết quả dương tính giả nếu không có bộ lọc bổ sung.

Hãy xem xét rằng CloudFlare đã được liên kết với 38.614 thư mục mở chỉ tính riêng trong năm 2023. Trong khi Amazon được liên kết với 21.805 thư mục mở. Nhiều số liệu thống kê hơn được đề cập chi tiết trong “ Dorking The Internet ”.

Phần 3: Mẫu tên tệp và biểu thức chính quy

Trong phần đầu tiên, chúng tôi đã sử dụng tên tệp tĩnh để xoay sang các thư mục mở bổ sung. Tuy nhiên, có một cách tốt hơn nhiều để thực hiện việc này bằng cách thêm biểu thức chính quy.

Hãy xem xét tìm kiếm “files named a.exe ” so với tìm kiếm “ANY single character .exe”. Tùy chọn thứ hai mang tính chung chung hơn (theo nghĩa tốt) và cho phép tìm kiếm hiệu quả hơn.

Chúng ta có thể tóm tắt tên tệp a.exe bằng cách sử dụng biểu thức chính quy để thay vào đó tìm kiếm bất kỳ tệp thực thi một ký tự nào. Để tìm kiếm hiệu quả hơn, chúng ta thậm chí có thể mở rộng điều này thành bất kỳ tên tệp một ký tự nào có phần mở rộng exe, hta hoặc rtf .

Hãy xem xét các tên tệp sau đây từ một trong những tìm kiếm trước đây của chúng tôi.


Thư mục mở chứa 9 tệp chỉ có một ký tự trước phần mở rộng ( a.dll , 1.rtf , a.hta , v.v.).

Thay vì tìm kiếm từng tên riêng lẻ, chúng ta hãy tạo một biểu thức chính quy để tìm kiếm tên tệp một ký tự có phần mở rộng là exe , rtf hoặc hta .

Chúng ta có thể tạo một nguyên mẫu đơn giản bằng CyberChef, sau đó thêm nó vào trường services.http.response.body.


Lưu ý rằng bây giờ chúng ta cần sử dụng nội dung HTML thô chứ không phải kết xuất HTML từ các ảnh chụp màn hình trước đó, vì vậy chúng ta sẽ thêm . *\" vào cả hai bên biểu thức chính quy của mình. Điều này giải thích cho cú pháp HTML (hiển thị bên dưới) và chỉ định rằng chúng ta chỉ muốn các tệp có tên là a.exe, không phải các tệp có chứa a.exe. 

Bên dưới chúng ta có thể thấy dấu ngoặc kép “trước và sau tên tệp”, chúng ta cần lưu ý đến điều này trong biểu thức chính quy của mình.


Xét đến HTML thô, chúng ta có thể tìm kiếm tên tệp một ký tự bằng truy vấn sau.

labels:open-dir và dịch vụ.http.response.body:/.*\”\w\.(exe|hta|rtf)\”.*/

Đối với những ai không quen với biểu thức chính quy, đây là hình ảnh trực quan được cung cấp bởi regexper.com


Thực hiện tìm kiếm mới này sẽ trả về 57 kết quả cho các thư mục mở có tên tệp chỉ gồm một ký tự.


Một trong những kết quả này là 20.98.129[.]89 , chứa một tệp e.hta ký tự đơn (phù hợp với biểu thức chính quy của chúng tôi) cũng như một payload.exe rất đáng ngờ.


Một kết quả tìm kiếm khác là 1.92.96[.]35 , trong đó biểu thức chính quy của chúng tôi khớp với tên tệp một ký tự như f.exe, m.exe, m.hta, p.hta.

Ngoài các tên trùng khớp, hiện chúng ta có một thư mục mở tham chiếu đến cs4.9 , có khả năng là tham chiếu đến Cobalt Strike Phiên bản 4.9. Chuỗi cs4.9 sẽ rất tuyệt vời để sử dụng cho các điểm xoay bổ sung.


Một kết quả tìm kiếm khác là 38.206.173[.]58 , có vẻ như đang lưu trữ phần mềm tống tiền do có unlocker.exeREAD_TO_DECRYPT.html.

Có rất nhiều cơ hội ở đây để các tập tin có thể được sử dụng để chuyển sang các máy chủ bổ sung.

Tóm tắt – Mẫu tên tệp và biểu thức chính quy

Các mẫu tên tệp dưới dạng biểu thức chính quy có thể hiệu quả hơn nhiều so với tìm kiếm tên tĩnh. Nếu bạn thấy nhiều tên tệp có giá trị khác nhau nhưng "tương tự", hãy thử sử dụng biểu thức chính quy để nhóm chúng lại với nhau.

Các truy vấn nâng cao sử dụng biểu thức chính quy thường sẽ dẫn đến các máy chủ độc hại bổ sung.

Phần 4: Kết hợp phần mở rộng tệp

Phần mở rộng tệp có thể là một cách đơn giản và hiệu quả khác để xác định các thư mục mở đáng ngờ.

Ví dụ, sự kết hợp của tệp .exe.hta trong cùng một thư mục mở là rất hiếm và không có khả năng xảy ra trong một thư mục hợp lệ. Vì vậy, chúng ta có thể sử dụng ý tưởng này để xác định máy chủ độc hại. Khái niệm tương tự có thể được áp dụng cho tệp .hta.ps1 chia sẻ cùng một thư mục.

Hãy xem xét một trong những kết quả trước đây của chúng tôi, trong đó có sự kết hợp của .hta, .png, .exe, .msi.txt . Chúng ta có thể sử dụng sự kết hợp này (hoặc một tập hợp con) để xác định cơ sở hạ tầng bổ sung.


Chúng ta có thể xây dựng truy vấn tìm kiếm tất cả các thư mục mở có chứa cả phần mở rộng .hta.exe.

labels:open-dir and same_service(services.http.response.body:*.hta* và services.http.response.body:*.exe*) and not services.http.response.body:*htaccess*

Một vài ghi chú nhanh về truy vấn đó:
  • Same_service – Điều này cho biết tìm kiếm chỉ bao gồm các kết quả mà các tệp được quan sát trên cùng một cổng. Chúng tôi không muốn một máy chủ có .hta trên cổng 443 và .exe riêng biệt trên cổng 80.
  • Không phải .htaccess – Đây là tệp hợp lệ khớp với tìm kiếm đại diện của chúng tôi đối với .hta , chúng tôi muốn loại trừ tệp này khỏi kết quả mà không cần dùng đến biểu thức chính quy.
Chạy truy vấn đó sẽ trả về 9 kết quả, một trong số đó là thư mục mở trên 20.163.176[.]155.

Thư mục này khớp với tìm kiếm của chúng tôi về cả tệp .hta.exe trên cùng một dịch vụ.


Thư mục mở này trên 20.163.176[.]155 chứa nhiều tệp "cập nhật" được VirusTotal đánh dấu là trình tải xuống. Vì vậy, chúng tôi đã gặp phải một máy chủ khác chứa các tệp độc hại.

Thư mục mở cũng chứa một mẫu mới của các tệp ps1exe , do đó chúng ta có thể điều chỉnh truy vấn để tìm kiếm tệp này và xác định thêm các kết quả đáng ngờ.

Truy vấn này sẽ tìm kiếm các thư mục mở chứa cả tập lệnh PowerShell và tệp thực thi.

labels:open-dir and same_service(services.http.response.body:*.ps1* and services.http.response.body:*.exe*)


Tìm kiếm trả về 84 kết quả cho các thư mục mở chứa tập lệnh và tệp thực thi PowerShell.

Một trong những kết quả này là 96.255.173[.]42, chứa cả .exe ps1, cũng như một bộ sưu tập các tệp đáng ngờ khác có thể liên quan đến PowerSploit Toolkit.

Phần thưởng Pivot trên các mẫu tên tệp

Thư mục được hiển thị trước đó chứa nhiều tệp có tên tệp là “power”, theo sau là phần mở rộng ps1 hoặc py.

Bằng cách sử dụng biểu thức chính quy, chúng ta có thể biến điều này thành truy vấn chung cho bất kỳ thư mục mở nào chứa .py hoặc ps1 và tên tệp bắt đầu bằng power .

Đầu tiên chúng ta có thể tạo nguyên mẫu biểu thức chính quy bằng CyberChef.


Biểu thức chính quy hoạt động, chúng ta có thể tìm kiếm các tệp .ps1 hoặc .py có tên tệp chứa power.


Tìm kiếm trả về 7 kết quả, một trong số đó là 95.111.214[.]111.

Chúng ta có thể thấy rằng thư mục này chứa nhiều tệp liên quan đến bộ công cụ Powershell tấn công hơn.


Một kết quả khác là 116.114.20[.]180, chứa powercat.ps1 cùng với nhiều tên tệp đáng ngờ khác.

Tệp Powercat có thể là tham chiếu đến việc triển khai Netcat của Powershell.

Tóm tắt: Kết hợp các phần mở rộng tập tin

Phần mở rộng tệp có thể hữu ích và đơn giản như tên tệp khi tìm kiếm các thư mục mở.

Nếu một cuộc điều tra cho thấy một thư mục mở với sự kết hợp bất thường của các loại tệp, hãy thử sử dụng điều đó trong truy vấn của bạn. Bạn sẽ ngạc nhiên về mức độ đơn giản của điều này, nhưng nó có thể dẫn đến kết quả độc hại mới thường xuyên như thế nào.

Phần kết luận

Chúng tôi đã trình bày 4 kỹ thuật hữu ích để xác định và săn lùng các thư mục mở độc hại. Các kỹ thuật này cực kỳ hiệu quả để tìm và săn lùng cơ sở hạ tầng thư mục mở được các tác nhân đe dọa sử dụng.

Mặc dù đây không phải là danh sách đầy đủ, nhưng những kỹ thuật này, cả riêng lẻ lẫn kết hợp, đều là những phương pháp tuyệt vời cần có trong bộ công cụ điều tra của bạn.

Ngoại trừ biểu thức chính quy, tất cả các kỹ thuật này đều có thể dùng thử trong phiên bản Community edition của Censys.

Và đối với những người yêu thích số liệu thống kê và tìm hiểu sâu, hãy xem báo cáo Dorking The Internet của Censys. Báo cáo khổng lồ dài 31 trang này sẽ xem xét tất cả các chi tiết nhỏ nhặt về việc lộ danh mục mở, bao gồm cả cách thức và địa điểm chúng được tìm thấy trong cả các tình huống độc hại và hợp pháp.

Các truy vấn liên quan đến tiền thưởng 

Dành cho người dùng cộng đồng

Bất kỳ thư mục mở nào (Link)

labels:open-dir

Mở các thư mục chứa các tập tin .exe (Link)

labels:open-dir và dịch vụ.http.response.body:a.exe

Mở các thư mục chứa “Payload.exe

labels:open-dir và dịch vụ.http.response.body:payload.exe

Mở thư mục tham chiếu CS4.9 (Link)

labels:open-dir và dịch vụ.http.response.body:cs4.9

Đối với người dùng có quyền truy cập biểu thức chính quy

Mở các thư mục chứa các tệp “Power” có phần mở rộng ps1 hoặc py

labels:open-dir and services.http.response.body:/.*power[az]+\.(ps1|py).*/


Mở các thư mục chứa các tệp RTF, HTA hoặc PS1 ký tự đơn

labels:open-dir and services.http.response.body:/.*\W\w\.(hta|rtf|ps1)\W.*/


Mở các thư mục tham chiếu đến bất kỳ phiên bản nào của Cobalt Strike theo định dạng csX.X (Link)

labels:open-dir and services.http.response.body:/.*\W(cs|cobalt)[34]\.\d(\.exe)?.*/


Mở thư mục có tên số ngắn cho các tệp PNG

labels:open-dir and services.http.response.body:/.*\”[0-9]{1,5}\.png\W.*/



Nguồn: censys.com


إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
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.
Site is Blocked
Sorry! This site is not available in your country.