Hack mật khẩu ẩn với Smbexec

Hack mật khẩu ẩn với Smbexec

Chúng tôi viết thường xuyên về cách tin tặc thường dựa vào việc khai thác phương pháp hack không cần mã độcđể tránh bị phát hiện. Họ theo nghĩa đen "sống sót trên đồng cỏ", sử dụng các công cụ Windows tiêu chuẩn, từ đó vượt qua các phần mềm chống vi-rút và các tiện ích khác để phát hiện hoạt động độc hại. Chúng tôi, với tư cách là những người bảo vệ, giờ đây buộc phải giải quyết những hậu quả đáng tiếc của những kỹ thuật hack thông minh như vậy: một nhân viên có vị trí tốt có thể sử dụng cách tiếp cận tương tự để ngấm ngầm đánh cắp dữ liệu (sở hữu trí tuệ của công ty, số thẻ tín dụng). Và nếu anh ta không vội vàng mà làm việc chậm rãi và lặng lẽ thì sẽ vô cùng khó khăn - nhưng vẫn có thể thực hiện được nếu anh ta áp dụng đúng cách và phương pháp thích hợp. Công cụ, - để xác định hoạt động đó.

Mặt khác, tôi không muốn coi thường nhân viên vì không ai muốn làm việc trong môi trường kinh doanh như thời Orwell năm 1984. May mắn thay, có một số bước thực tế và mẹo vặt cuộc sống có thể khiến cuộc sống của người trong cuộc trở nên khó khăn hơn nhiều. Chúng tôi sẽ xem xét phương pháp tấn công bí mật, được tin tặc sử dụng bởi các nhân viên có kiến ​​thức kỹ thuật nhất định. Và xa hơn một chút, chúng tôi sẽ thảo luận về các phương án để giảm thiểu những rủi ro như vậy - chúng tôi sẽ nghiên cứu cả các phương án kỹ thuật và tổ chức.

Có chuyện gì với PsExec vậy?

Edward Snowden, dù đúng hay sai, đã trở thành đồng nghĩa với hành vi trộm cắp dữ liệu nội bộ. Nhân tiện, đừng quên xem qua ghi chú này về những người trong cuộc khác, những người cũng xứng đáng có được danh tiếng nào đó. Một điểm quan trọng cần nhấn mạnh về các phương pháp mà Snowden đã sử dụng là, theo hiểu biết tốt nhất của chúng tôi, anh ấy không cài đặt không có phần mềm độc hại bên ngoài!

Thay vào đó, Snowden đã sử dụng một chút kỹ thuật xã hội và sử dụng vị trí quản trị viên hệ thống của mình để thu thập mật khẩu và tạo thông tin xác thực. Không có gì phức tạp - không có gì bắt chước, tấn công người đàn ông đứng giữa hoặc siêu lợi dụng.

Các nhân viên của tổ chức không phải lúc nào cũng ở vị trí đặc biệt của Snowden, nhưng có một số bài học cần rút ra từ khái niệm "sống sót nhờ chăn thả" cần lưu ý - không tham gia vào bất kỳ hoạt động độc hại nào có thể bị phát hiện và đặc biệt là cẩn thận với việc sử dụng thông tin xác thực. Hãy nhớ suy nghĩ này.

Psexec và anh họ của anh ấy crackmapexec đã gây ấn tượng với vô số pentester, hacker và blogger an ninh mạng. Và khi kết hợp với mimikatz, psexec cho phép kẻ tấn công di chuyển trong mạng mà không cần biết mật khẩu văn bản rõ ràng.

Mimikatz chặn hàm băm NTLM từ quy trình LSASS và sau đó chuyển mã thông báo hoặc thông tin xác thực - cái gọi là. tấn công "vượt qua hàm băm" – trong psexec, cho phép kẻ tấn công đăng nhập vào máy chủ khác như nữa người dùng. Và với mỗi lần di chuyển tiếp theo đến một máy chủ mới, kẻ tấn công sẽ thu thập thông tin xác thực bổ sung, mở rộng phạm vi khả năng của chúng trong việc tìm kiếm nội dung có sẵn.

Khi tôi mới bắt đầu làm việc với psexec, điều đó đối với tôi thật kỳ diệu - cảm ơn bạn Mark Russinovich, nhà phát triển xuất sắc của psexec - nhưng tôi cũng biết về anh ấy ồn ào các thành phần. Anh ấy không bao giờ bí mật!

Sự thật thú vị đầu tiên về psexec là nó sử dụng cực kỳ phức tạp Giao thức tệp mạng SMB từ Microsoft. Sử dụng SMB, psexec chuyển số tiền nhỏ nhị phân các tập tin vào hệ thống đích, đặt chúng vào thư mục C:Windows.

Tiếp theo, psexec tạo một dịch vụ Windows bằng cách sử dụng tệp nhị phân được sao chép và chạy nó dưới cái tên cực kỳ “bất ngờ” PSEXECSVC. Đồng thời, bạn thực sự có thể thấy tất cả những điều này, giống như tôi đã làm, bằng cách xem một máy từ xa (xem bên dưới).

Hack mật khẩu ẩn với Smbexec

Thẻ điện thoại của Psexec: dịch vụ "PSEXECSVC". Nó chạy một tệp nhị phân được đặt qua SMB trong thư mục C:Windows.

Bước cuối cùng, tệp nhị phân được sao chép sẽ mở ra Kết nối RPC đến máy chủ mục tiêu và sau đó chấp nhận các lệnh điều khiển (thông qua cmd shell của Windows theo mặc định), khởi chạy chúng và chuyển hướng đầu vào và đầu ra đến máy chủ của kẻ tấn công. Trong trường hợp này, kẻ tấn công nhìn thấy dòng lệnh cơ bản - giống như khi hắn được kết nối trực tiếp.

Rất nhiều thành phần và một quá trình rất ồn ào!

Phần bên trong phức tạp của psexec giải thích thông báo khiến tôi bối rối trong những lần thử nghiệm đầu tiên cách đây vài năm: “Đang khởi động PSEXECSVC…” sau đó là một khoảng dừng trước khi dấu nhắc lệnh xuất hiện.

Hack mật khẩu ẩn với Smbexec

Psexec của Impacket thực sự cho thấy những gì đang diễn ra.

Không có gì đáng ngạc nhiên: psexec đã thực hiện rất nhiều công việc bí mật. Nếu bạn quan tâm đến lời giải thích chi tiết hơn, hãy xem tại đây bằng cách này mô tả tuyệt vời.

Rõ ràng, khi được sử dụng như một công cụ quản trị hệ thống, nó mục đích ban đầu psexec, không có gì sai với sự “ồn ào” của tất cả các cơ chế Windows này. Tuy nhiên, đối với kẻ tấn công, psexec sẽ tạo ra sự phức tạp và đối với một người trong cuộc thận trọng và xảo quyệt như Snowden, psexec hoặc một tiện ích tương tự sẽ có quá nhiều rủi ro.

Và sau đó đến Smbexec

SMB là một cách thông minh và bí mật để truyền tệp giữa các máy chủ và tin tặc đã xâm nhập trực tiếp vào SMB trong nhiều thế kỷ. Tôi nghĩ mọi người đều đã biết rằng điều đó không đáng mở ra Cổng SMB 445 và 139 ra Internet phải không?

Tại Defcon 2013, Eric Millman (dũng cảm) trình bày smbexec, để những người pentester có thể thử hack SMB lén lút. Tôi không biết toàn bộ câu chuyện, nhưng sau đó Impacket đã cải tiến thêm smbexec. Trên thực tế, để thử nghiệm, tôi đã tải xuống các tập lệnh từ Impacket bằng Python từ Github.

Không giống như psexec, smbexec tránh chuyển một tập tin nhị phân có khả năng bị phát hiện sang máy mục tiêu. Thay vào đó, tiện ích hoạt động hoàn toàn từ đồng cỏ thông qua việc khởi chạy địa phương Dòng lệnh Windows.

Đây là những gì nó thực hiện: nó chuyển lệnh từ máy tấn công thông qua SMB tới một tệp đầu vào đặc biệt, sau đó tạo và chạy một dòng lệnh phức tạp (như dịch vụ Windows) có vẻ quen thuộc với người dùng Linux. Nói tóm lại: nó khởi chạy shell cmd gốc của Windows, chuyển hướng đầu ra sang một tệp khác và sau đó gửi nó qua SMB trở lại máy của kẻ tấn công.

Cách tốt nhất để hiểu điều này là xem dòng lệnh mà tôi có thể sử dụng từ nhật ký sự kiện (xem bên dưới).

Hack mật khẩu ẩn với Smbexec

Đây không phải là cách tốt nhất để chuyển hướng I/O sao? Nhân tiện, việc tạo dịch vụ có ID sự kiện 7045.

Giống như psexec, nó cũng tạo ra một dịch vụ thực hiện tất cả công việc, nhưng dịch vụ sau đó đã xóa – nó chỉ được sử dụng một lần để chạy lệnh rồi biến mất! Nhân viên an ninh thông tin giám sát máy của nạn nhân sẽ không thể phát hiện được rõ ràng Các dấu hiệu tấn công: Không có tệp độc hại nào được khởi chạy, không có dịch vụ liên tục nào được cài đặt và không có bằng chứng nào về việc RPC được sử dụng vì SMB là phương tiện truyền dữ liệu duy nhất. Xuất sắc!

Từ phía kẻ tấn công, một “pseudo-shell” có sẵn với độ trễ giữa việc gửi lệnh và nhận phản hồi. Nhưng điều này là khá đủ để kẻ tấn công - dù là hacker nội bộ hay hacker bên ngoài đã có chỗ đứng - bắt đầu tìm kiếm nội dung thú vị.

Hack mật khẩu ẩn với Smbexec

Để xuất dữ liệu từ máy mục tiêu về máy của kẻ tấn công, nó được sử dụng smbclient. Vâng, đó là Samba giống nhau tiện ích, nhưng chỉ được Impacket chuyển đổi thành tập lệnh Python. Trên thực tế, smbclient cho phép bạn bí mật lưu trữ các hoạt động truyền FTP qua SMB.

Hãy lùi lại một bước và suy nghĩ xem điều này có thể mang lại lợi ích gì cho nhân viên. Trong kịch bản hư cấu của tôi, giả sử một blogger, nhà phân tích tài chính hoặc nhà tư vấn bảo mật được trả lương cao được phép sử dụng máy tính xách tay cá nhân để làm việc. Kết quả của một quá trình kỳ diệu nào đó, cô ấy đã xúc phạm công ty và “mọi chuyện trở nên tồi tệ”. Tùy thuộc vào hệ điều hành máy tính xách tay, nó sử dụng phiên bản Python từ Impact hoặc phiên bản Windows của smbexec hoặc smbclient dưới dạng tệp .exe.

Giống như Snowden, cô ấy tìm ra mật khẩu của người dùng khác bằng cách nhìn qua vai cô ấy, hoặc cô ấy gặp may và tình cờ tìm thấy một tệp văn bản có mật khẩu. Và với sự trợ giúp của những thông tin xác thực này, cô bắt đầu tìm hiểu hệ thống ở cấp độ đặc quyền mới.

Hack DCC: Chúng tôi không cần Mimikatz "ngu ngốc" nào

Trong các bài viết trước đây về pentesting, tôi rất thường xuyên sử dụng mimikatz. Đây là một công cụ tuyệt vời để chặn thông tin xác thực - băm NTLM và thậm chí cả mật khẩu văn bản rõ ràng ẩn bên trong máy tính xách tay, chỉ chờ được sử dụng.
Thời gian đã thay đổi. Các công cụ giám sát ngày càng tốt hơn trong việc phát hiện và ngăn chặn mimikatz. Các quản trị viên bảo mật thông tin giờ đây cũng có nhiều lựa chọn hơn để giảm thiểu rủi ro liên quan đến các cuộc tấn công băm (PtH).
Vậy một nhân viên thông minh nên làm gì để thu thập thêm thông tin xác thực mà không cần sử dụng mimikatz?

Bộ công cụ của Impacket bao gồm một tiện ích có tên là bí mật, truy xuất thông tin xác thực từ Bộ đệm thông tin xác thực tên miền hoặc viết tắt là DCC. Tôi hiểu rằng nếu người dùng miền đăng nhập vào máy chủ nhưng bộ điều khiển miền không khả dụng, DCC sẽ cho phép máy chủ xác thực người dùng. Dù sao, secretdump cho phép bạn kết xuất tất cả các giá trị băm này nếu chúng có sẵn.

Băm DCC là không phải băm NTML không thể được sử dụng để tấn công PtH.

Chà, bạn có thể thử hack chúng để lấy mật khẩu ban đầu. Tuy nhiên, Microsoft đã trở nên thông minh hơn với DCC và hàm băm DCC đã trở nên cực kỳ khó bị bẻ khóa. Vâng tôi có băm, "công cụ đoán mật khẩu nhanh nhất thế giới" nhưng nó yêu cầu GPU để chạy hiệu quả.

Thay vào đó, chúng ta hãy thử suy nghĩ như Snowden. Một nhân viên có thể tiến hành kỹ thuật xã hội trực tiếp và có thể tìm ra một số thông tin về người có mật khẩu mà cô ấy muốn bẻ khóa. Ví dụ: tìm hiểu xem tài khoản trực tuyến của người đó đã từng bị hack hay chưa và kiểm tra mật khẩu văn bản rõ ràng của họ để tìm manh mối.

Và đây là kịch bản mà tôi quyết định thực hiện. Giả sử rằng một người trong cuộc biết được rằng sếp của anh ta, Cruella, đã bị tấn công nhiều lần trên các tài nguyên web khác nhau. Sau khi phân tích một số mật khẩu này, anh nhận ra rằng Cruella thích sử dụng định dạng tên đội bóng chày "Yankees" theo sau là năm hiện tại - "Yankees2015".

Nếu bây giờ bạn đang cố gắng tái tạo nó ở nhà thì bạn có thể tải xuống một bản ghi "C" nhỏ , thực hiện thuật toán băm DCC và biên dịch nó. John the RipperNhân tiện, đã thêm hỗ trợ cho DCC nên nó cũng có thể được sử dụng. Giả sử rằng một người trong cuộc không muốn bận tâm đến việc tìm hiểu John the Ripper và thích chạy "gcc" trên mã C cũ.

Giả vờ là người trong cuộc, tôi đã thử nhiều cách kết hợp khác nhau và cuối cùng phát hiện ra rằng mật khẩu của Cruella là "Yankees2019" (xem bên dưới). Nhiệm vụ hoàn thành!

Hack mật khẩu ẩn với Smbexec

Một chút kỹ thuật xã hội, một chút bói toán và một chút Maltego và bạn đang trên đường phá vỡ hàm băm DCC.

Tôi đề nghị chúng ta kết thúc ở đây. Chúng ta sẽ quay lại chủ đề này trong các bài đăng khác và xem xét các phương pháp tấn công lén lút và chậm hơn nữa, tiếp tục xây dựng dựa trên bộ tiện ích tuyệt vời của Impacket.

Nguồn: www.habr.com

Thêm một lời nhận xét