Hướng dẫn sử dụng công cụ tạo kịch bản phishing – King Phisher
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ế. Hướng dẫn cài đặt Yêu cầu: Hệ điều hành Linux (nên sử dụng Kali Linux) Phần 1: King Phisher Server Bước 1: Cài ...
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ế.
Hướng dẫn cài đặt
Yêu cầu: Hệ điều hành Linux (nên sử dụng Kali Linux)
Phần 1: King Phisher Server
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ết: pip3 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:
- wget http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
- Đổi tên và di chuyển vào thư mục sao cho đúng đường dẫn trong server_config.yml phần geoip:database:<your_new_path>/geoip.mmdb (mặc định là database:/var/lib/king-phisher/geoip.mmdb).
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:
Phần 2: King Phisher Client
- 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:
Phần 3: DEMO kịch bản thực tế
- 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ủ đề << CyStack Security ra mắt nền tảng bảo mật website toàn diện4 quy trình chuẩn kiểm tra bảo mật một ứng dụng website >>