Intro To Phishing Attacks

Phising là một dạng của social engineering nhằm khiến ai đó tiết lộ thông tin cá nhân, tài khoản hoặc thậm chí là thực thi mã độc. Tấn công phising thường thông qua các email có vẻ như là tin cậy để khiến cho nạn nhân tải về phần mềm, mở tập tin đính kèm hoặc nhấn vào các liên kết dẫn đến các website không có thật.

Spear-phising là một dạng phising nhắm vào các cá nhân hoặc tổ chức cụ thể. Dạng này thường thấy trong các buổi kiểm thử bảo mật của redteam và thường được thiết kế nhằm khó bị phát hiện bởi các spam filter, antivirus và các tường lửa (firewall).

Một vài kiểu tấn công phising khác:

  • Smishing: thông qua tin nhắn SMS
  • Vishing: thông qua điện thoại.

Kịch bản tấn công ví dụ:

  1. Kẻ tấn công xác định vị trí vật lý của doanh nghiệp mục tiêu.
  2. Kẻ tấn công sau đó tìm kiếm các nhà cung cấp thức ăn gần đó và phát hiện ra một công ty có tên là Ultimate Cookies!
  3. Kẻ tấn công đăng ký tên miền ultimate-cookies.thm.
  4. Kẻ tấn công sau đó viết email cho mục tiêu của mình, dụ dỗ họ bằng cách đề xuất rằng họ sẽ nhận được một số bánh quy miễn phí nếu họ đăng ký trên trang web. Vì nạn nhân đã nghe nói về công ty địa phương này, họ có khả năng tin tưởng vào đó hơn.
  5. Nạn nhân sau đó nhấp vào liên kết trong email để truy cập vào trang web giả mạo được tạo ra bởi kẻ tấn công và đăng ký trực tuyến. Để giữ mọi thứ đơn giản, nạn nhân sử dụng lại cùng một mật khẩu cho tất cả các tài khoản trực tuyến của họ.
  6. Kẻ tấn công bây giờ đã có địa chỉ email và mật khẩu của nạn nhân và có thể đăng nhập vào tài khoản email của công ty của nạn nhân. Kẻ tấn công có thể hiện có quyền truy cập vào thông tin riêng tư của công ty và cũng có một nơi để tiến hành một cuộc tấn công lừa đảo khác đối với những nhân viên khác.

Minh họa:

Writing Convincing Phishing Emails

Để viết một email phising thì ta cần quan tâm đến 3 yếu tố: email của người gửi, chủ đề email và nội dung của email.

The Senders Address

Thường là một email của một thương hiệu/công ty nổi tiếng, một liên hệ mà nạn nhân biết hoặc đồng nghiệp của nạn nhân. Chúng ta có thể tìm ra những email này thông qua OSINT (Open Source Intelligence):

  • Theo dõi tài khoản mạng xã hội của nạn nhân để biết được các thương hiệu yêu thích hoặc bạn bè của nạn nhân.
  • Tìm Google về tên của nạn nhân và các review mà họ để lại cho các doanh nghiệp, thương hiệu hoặc địa điểm ở gần địa phương của nạn nhân.
  • Tìm thông tin về nhà cung cấp trong trang web doanh nghiệp của nạn nhân.
  • Tìm đồng nghiệp của nạn nhân trên LinkedIn.

The Subject

Chúng ta nên chọn những chủ đề mà mang tính cấp bách, gây lo lắng hoặc khiêu khích tính tò mò của nạn nhân để họ không thể bỏ qua.

Ví dụ:

  1. Tài khoản của bạn đã bị xâm nhập.
  2. Gói hàng của bạn đã được gửi đi.
  3. Thông tin thanh toán nhân viên (xin đừng chuyển tiếp)
  4. Ảnh của bạn đã được công bố.

The Content

Nếu giả mạo một nhãn hàng hoặc nhà cung cấp, chúng ta nên tìm hiểu về email template, phong cách, logo, … của nhãn hàng đó để bắt chước. Nếu bắt chước một liên hệ hoặc đồng nghiệp của nạn nhân thì ta nên tương tác với họ. Cụ thể hơn, ta nên tìm hiểu email template của họ chẳng hạn như chữ ký email. Ví dụ, một người nào đó có thể có tên là Dorothy và email là dorothy@company.thm nhưng trong phần chữ ký lại để là “Best Regards, Dot”.

Nếu chúng ta thiết lập một trang web giả mạo để thu thập credential hoặc phân phối mã độc thì liên kết trong email cần phải dùng thẻ <a> để che giấu đường dẫn của liên kết. Ví dụ:

<a href="http://spoofsite.thm">Click Here</a>
<a href="http://spoofsite.thm">https://onlinebank.thm</a>

Phishing Infrastructure

Một vài cơ sở hạ tầng cần phải được thiết lập để triển khai tấn công phising:

  • Domain name: chúng ta cần đăng ký một domain name nhìn đáng tin hoặc bắt chước một domain tin cậy nào đó.
  • Chứng chỉ SSL/TLS: sử dung các chứng chỉ này có thể làm cho trang web trở nên đáng tin hơn.
  • Email server: chúng ta cần thiết lập một email server hoặc đăng ký với một SMTP email provider.
  • DNS records: sử dụng các DNS record chẳng hạn như SDF, DKIM hoặc DMARC (các loại record xác thực địa chỉ email của người gửi1) có thể giúp email của chúng ta tránh bị chuyển vào phần spam.
  • Web server: ta cần phải thiết lập các web server.
  • Analytics: chúng ta cần phải theo dõi những email nào được gửi, mở hoặc được bấm nhằm tạo ra các thông tin thống kê.

Một vài cơ sở hạ tầng trên có thể được tự động hóa bằng các công cụ sau:

  • GoPhish: là một framework chạy trên nền web dùng để thiết lập một chiến dịch phising dễ dàng hơn. Một số tính năng:
    • Lưu các thiết lập cho SMTP server.
    • Tạo email template bằng cách sử dụng WYSIWYG (What You See Is What You Get) editor.
    • Lên lịch trình gửi mail.
    • Có analytics dashboard.
  • SET - (Social Engineering Toolkit): bao gồm rất nhiều công cụ. Các công cụ dùng cho phising có thể giúp tạo ra các spear phising attack và deploy phiên bản giả mạo của các trang web phổ biến nhằm lừa nạn nhân nhập tài khoản và mật khẩu.

Using GoPhish

Chạy image của GoPhish như sau:

docker run -p 127.0.0.1:3333:3333 -d --name gophish gophish/gophish

Logs sau khi chạy có cung cấp username và password:

time="2024-04-26T04:35:09Z" level=info msg="Please login with the username admin and the password 2a0e4176c66cb1e3"
time="2024-04-26T04:35:09Z" level=info msg="Creating new self-signed certificates for administration interface"
time="2024-04-26T04:35:09Z" level=info msg="Starting IMAP monitor manager"
time="2024-04-26T04:35:09Z" level=info msg="Background Worker Started Successfully - Waiting for Campaigns"
time="2024-04-26T04:35:09Z" level=info msg="Starting new IMAP monitor for user admin"
time="2024-04-26T04:35:09Z" level=info msg="Starting phishing server at http://0.0.0.0:80"
time="2024-04-26T04:35:09Z" level=info msg="TLS Certificate Generation complete"
time="2024-04-26T04:35:09Z" level=info msg="Starting admin server at https://0.0.0.0:3333"

Sending Profiles

Là các thông tin về kết nối cần thiết để gửi các email phising. Nó chỉ đơn giản là một SMTP server.

Nhấn “New Profile” và nhập thông tin:

Landing Pages

Đây là trang web mà phising email sẽ điều hướng người dùng đến. Trang này thường là một trang giả mạo mà người dùng quen thuộc.

Nhập vào mã nguồn sau:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ACME IT SUPPORT - Admin Panel</title>
    <style>
        body { font-family: "Ubuntu", monospace; text-align: center }
        div.login-form { margin:auto; width:300px; border:1px solid #ececec; padding:10px;text-align: left;font-size:13px;}
        div.login-form div input { margin-bottom:7px;}
        div.login-form input { width:280px;}
        div.login-form div:last-child { text-align: center; }
        div.login-form div:last-child input { width:100px;}
    </style>
</head>
<body>
    <h2>ACME IT SUPPORT</h2>
    <h3>Admin Panel</h3>
    <form method="post">
        <div class="login-form">
            <div>Username:</div>
            <div><input name="username"></div>
            <div>Password:</div>
            <div><input type="password" name="password"></div>
            <div><input type="submit" value="Login"></div>
        </div>
    </form>
</body>
</html>

Click vào nút “Source” để toggle preview. Tích chọn “Capture Submitted Data” và “Capture Passwords” rồi nhấn nút “Save Page”:

Email Templates

Là thiết kế và nội dung của email mà ta gửi cho nạn nhân. Nó cần phải mang tính thuyết phục và chứa liên kết đến trang landing page ở trên để người dùng nhập username và password.

Nội dung của email cần phải có liên kết với text là https://admin.acmeitsupport.thm và URL là {{.URL}}. Giá trị này sẽ được replace bằng URL của landing page.

Email template sẽ có dạng như sau:

Users & Groups

Là nơi chúng ta lưu email của các mục tiêu:

Campaigns

Đây là nơi chúng ta tạo ra các chiến dịch tấn công:

Results

Là dashboard cho biết mức độ thành công của chiến dịch tấn công. Nó cho biết có bao nhiêu email đã được gửi, được mở và được bấm cũng như là có bao nhiêu người dùng gửi dữ liệu đến trang web giả mạo.

Lý do lỗi của tài khoản accounts@acmeitsupport.thm

Chờ một lúc thì Brian đã gửi dữ liệu:

Xem chi tiết thì ta có thể thấy được username và password mà Brian đã gửi:

Droppers

Là các phần mềm mà được các nạn nhân tải về và chạy trên máy của họ. Dropper có thể tự quảng cáo về chính nó như là một công cụ hữu dụng chẳng hạn như là phần mềm dùng để mở một loại file đặc biệt nào đó.

Bản thân các dropper thường không được xem là độc hại nên không bị chặn bởi antivirus. Tuy nhiên, khi được cài đặt, dropper sẽ giải nén hoặc tải về mã độc từ server rồi cài đặt trên máy nạn nhân.

Choosing A Phishing Domain

Chúng ta có thể dùng các phương pháp sau để chọn domain name khi thực hiện phising:

Expired Domains

Việc chọn các domain cũ hết hạn có thể bypass được các spam filter do các filter này thường lọc ra các domain name mới toanh.

Typosquatting

Là khi chúng ta đăng ký một domain giống với domain mục tiêu mà ta đang muốn giả mạo. Một số phương pháp:

  • Misspelling: goggle.com vs google.com
  • Additional period: go.ogle.com vs google.com
  • Switching numbers for letters: g00gle.com vs google.com
  • Phrasing: googles.com Vs google.com
  • Additional word: googleresults.com Vs google.com

TLD Alternatives

Sử dụng một top-level domain khác. Ví dụ: dùng tryhackme.co.uk to để giả dạng tryhackme.com.

IDN Homograph Attack/Script Spoofing

Các domain name thường được cấu thành từ chữ cái a đến z và số 0 đến 9. Tuy nhiên, vào năm 1998, IDN (internationalized domain name) được triển khai nhằm hỗ trợ việc đặt domain name bằng các ngôn ngữ khác tiếng Anh chẳng hạn như tiếng Ả rập, tiếng Trung Quốc, tiếng Hy Lạp và tiếng Do Thái. Vấn đề với IDN implementation là một số ký tự trong các ngôn ngữ khác nhau có thể nhìn giống nhau. Ví dụ, ký tự Unicode U+0430 (chữ a nhỏ của tiếng Hy Lạp) nhìn giống với ký tự Unicode U+0061 (chữ a nhỏ trong tiếng Latin) được sử dụng trong tiếng Anh. Lạm dụng điều này, attacker có thể đăng ký một tên miền nhìn gần như y hệt với tên miền gốc nhằm đánh lừa nạn nhân.

Using MS Office In Phishing

Trong các chiến dịch phising, các file tài liệu Microsoft Office (Word, Excel hoặc PowerPoint) thường được sử dụng để làm tập tin đính kèm trong email. Các tài liệu này có thể chứa macro và macro có thể được dùng để chạy các câu lệnh nhằm cài đặt malware.

Kịch bản: một nhân viên làm việc cho công ty Acme nhận được một email từ phòng nhân sự gửi đến sếp kèm với một bảng tính Excel có tên là Staff_Salaries.xlsx. Sự thật đằng sau email này là: kẻ tấn công đã giả mạo địa chỉ email của phòng nhân sự và tạo ra một email nhằm dụ dỗ nhân viên mở tệp đính kèm.

list
from outgoing([[TryHackMe - Phishing]])
sort file.ctime asc

Resources

Footnotes

  1. tham khảo thêm Tìm hiểu về DMARC, DKIM, SPF trong email server | WhiteHat.vn