Quản lý dự án phishing bằng King Phisher

King-Phisher là gì?

King-Phisher là công cụ dùng để kiểm tra và nâng cao nhận thức của người dùng bằng cách mô phỏng các cuộc tấn công lừa đảo (phishing attack) với các kịch bản thực tế.

Cài đặt:

Yêu cầu: Hệ điều hành Linux (nên sử dụng Kali Linux)

King-PhisherServer:

Bước 1: Cài đặt Postgresql và các thư viện cần sử dụng:

apt-get install postgresql  

apt-get install libgeos++-dev libgeos-3.4.2 libgeos-dev python-mpltoolkits.basemap python-mpltoolkits.basemap-data

Bước 2: Download phiên bản King-Phisher mới nhất:

  • Tải bản zip của King-Phisher từ Github (https://github.com/securestate/king-phisher).Giải nén file zip vừa tải về vào thư mục /opt. Copy file server_config.yml  từ /opt/king-phisher/data/server/king_phisher ra /opt/king-phisher.
  • King-Phisher chạy trên python 3 và cần phải cài đặt nhiều module cần thiết được liệt kê trong requirements.txt:
    • Nếu hệ điều hành chưa có python3, cài cặt python3 và pip3: apt-get install python3 python3-pip
    • Cài đặt các module cần thiếtpip3 install -r /opt/king-phisher/requirements.txt
    • (lưu ý: xóa “;python_version < 3.3” tại dòng 14 của file requirements.txt tránh gây lỗi khi cài đặt)
  • Download GeoIP, bộ database để chuyển thông tin IP sang địa chỉ quốc gia, thành phố của các nạn nhân, phục vụ cho việc hiển thị của dashboard:

Bước 3: Chỉnh cấu hình Postgresql:

  • Thêm dòng sau vào cuối file /etc/postgresql/x.x/main/pg_hba.conf:

host    “king_phisher”  “king_phisher”  127.0.0.1/32            md5 

(x.x: phiên bản của postgresql đang sử dụng)

  •  Tạo database và user:

root@securitydaily.net:~# su postgres

postgres@securitydaily.net:~# createuser king_phisher –P

Enter password for new role: <yourpassword>

Enter it again: <yourpassword>

postgres@securitydaily.net:~#  createdb –owner=king_phisher king_phisher

postgres@securitydaily.net:~# exit

root@securitydaily.net:~# 

(trong quá trình có các câu hỏi gì liên quan đến user king_phisher thì đều trả lời “N”)

  • Chỉnh sửa /opt/king-phisher/server_config.yml:
    • comment dòng:database: sqlite:////var/king-phisher/king-phisher.db
    • thêm:database: postgresql://king_phisher:<yourpassword>@localhost/king_phisher

Bước 4: Khởi động server:

  • Để chắc chắn dòng lệnh vừa bổ sung chính xác, chúng ta khởi động lại Postgresql Server:

service postgresql restart

  • Để chạy server King-Phisher:

/opt/king-phisher/KingPhisherServer -L INFO -f /opt/king-phisher/server_config.yml 

  • Nếu xuất hiện các dòng tương tự như sau thì server đã được cài đặt chính xác:

INFO     listening on 0.0.0.0:80

INFO     serving files has been enabled

INFO     initializing database connection with driver postgresql

INFO     restored 1 valid sessions and skipped 0 expired sessions from the database

INFO     the job manager has been started:

King-PhisherClient:

  • Khởi động King-Phisher Client:

root@securitydaily.net:~# /opt/king-phisher/KingPhisher

  • Username: your_user
  • Password: <mật khẩu để đăng nhập vào your_user>
  • Tạo Campaign tuỳ ý (ví dụ Company Name là VNIST)
  • Điền các trường còn thiếu vào phần cấu hình:

  • Tạo một folder template trong /opt/king-phisher chứa các email giả mạo.

Ví dụ /opt/king-phisher/template/email.html:

<!DOCTYPE html>

<html>

<head>

</head>

<body>

<a href = “{{url.webserver}}&email={{client.email_address}}&name={{client.first_name}}”>  {{ inline_image(‘/opt/king-phisher/template/thongbao.png’) }} </a>

</body>

</html>

 

  • {{url.webserver}}, {{client.email_address}}, {{client.email_address}},…là các biến của king-phisher:
Variable Name Variable Value
client.company_name The target’s company name
client.email_address The target’s email address
client.first_name The target’s first name
client.last_name The target’s last name
client.message_id The unique tracking identifier (this is the same as uid)
sender.email The email address in the “Source Email (MIME)” field
sender.friendly_alias The value of the “Friendly Alias” field
sender.reply_to The value of the “Reply To” field
url.tracking_dot URL of an image used for message tracking
url.webserver Phishing server URL with the uid parameter
url.webserver_raw Phishing server URL without any parameters
tracking_dot_image_tag The tracking image in a preformatted <img /> tag
uid The unique tracking identifier (this is the same as client.message_id)

 

Ở cuối file /opt/king-phisher/server_config.ymlmặc định là web_root: /var/www/. Đây là thư mục chứa các file của webserver (chỉ chạy được html và javascript, không chạy được php vì sử dụng server king-phisher). Khi người dùng bấm vào đường link trong email, nó sẽ trỏ tới webserver, để có thể lấy được thông tin người dùng, các file của webserver cần phải thêm tag sau:<script src=”/kp.js” type=”text/javascript”></script>.

Ngoài việc tự viết trang web giả mạo đặt tại web_root, ta có thể sử dụng chức năng “Tools/Clone Web Page”, với “Target URL” là cửa số đăng nhập bất kỳ mà bạn muốn giả mạo và “Directory” trỏ đến web_root như trong cấu hình của server.

Trong Edit/Preferences, tab SMTP Server:

  • SMTP Server: Server gửi mail (ví dụ gmail: smtp.gmail.com:25).
  • SMTP Username: <your_email> (ví dụ gmail: <your_email>@gmail.com).

Sau khi cài đặt xong, bấm “start” để gửi mail đi:

DEMO:

  • Configuration

  • Edit (/opt/king-phisher/template/email.html)

  • Preview email(/opt/king-phisher/template/email.html)

  • View Campaign

Hiện nay có rất nhiều phishing framework nhưng Kingphisher là framework vượt trội về độ tin cậy, nhanh chóng và mức độ đa dạng về chức năng. Đây cũng là framework được cộng đồng support liên tục. Đồng thời ngoài kịch bản phishing demo trên, ta có thể tích hợp nhiều phương thức tấn công có độ phức tạp cao và đánh vào tâm lý của nạn nhân hơn (Spear Phishing) bằng việc tạo template email và cấu hình website tinh vi hơn.

Bài viết cung cấp cho đọc giả cái nhìn cơ bản và là bước đầu để độc giả có thể tự tổ chức các cuộc diễn tập phishing, nâng cao kiến thức về an toàn thông tin.

 


Bài viết cùng chủ đề VNIST ra mắt dịch vụ ứng cứu máy tính tại chỗ >>

Bình luận

Từ khóa: