注意:
1.本篇文章是Gcow安全团队绝影小组的小离师傅原创的,未经许可禁止转载
2.本文只是提供思路学习,切勿用于实战。也请不要把文中情况代入实战中,感谢!
3.本文适合于新手以及中等选手的水平,dalao还是绕过吧.......
提示:全文将近3651字 94张图片 预计18分钟时间阅读完毕
我们看一下公开信息:
图片1 靶机的公开信息
我们可以得知以下信息:
win7 ip为双网卡 模拟内外网
win2008为单网卡
win7 ip:
192.168.1.165(与笔者家中路由器相通,因为笔者的kali为实体机)
192.168.138.136
win2008 ip:
192.168.138.138
kali ip:
192.168.1.119
为了不让各位产生混淆,在这里先进行提前的声明: 1.文中所用的cs部署于kali之上 2.kali
(192.168.1.119)与win7
的其中一个网卡(192.168.1.165)在本靶场环境中属于外网环境 3.win2008
(192.168.138.138)与win7
的另外一个网卡(192.168.138.136) 在本靶场环境中属于内网环境
为了更加清晰的描述,笔者绘制了一张图进行描述:
拓扑图
启动靶场,win7 靶场使用本地管理员用户,非域管理员用户打开C:\phpstudy\phpstudy.exe
(1). 利用nmap
扫描端口,发现开启了两个端口:80
和3306
图片2 利用nmap扫描端口
访问80
端口 发现是thinkphp v5
的站
图片3 访问80端口
随便访问一个错误页面得到其版本号是5.0.22
图片4 获取thinkphp版本号
那第一反应就去寻找ThinkPHP
的RCE
漏洞
Searchsploit
搜一搜,然后使用-m
参数将载荷导出到本地
图片5 Searchsploit搜索漏洞并且-m导出
读取带有其漏洞载荷的文件
图片6 读取导出文件获取载荷
这里笔者选用的是倒数第二个载荷修改最后一个参数为执行的命令
我们尝试执行命令ipconfig
,如下图所示:
图片7 尝试执行ipconfig命令
通过回显部分我们得知,我们已经成功的执行了ipconfig
指令
那接下来,就是cs
登场的时间
启动cobaltstrike
图片8 启动cobaltstrike
界面如下
图片9 cobaltstrike界面如下
这里为了防止对面的机器上可能存在杀软,我们采用shellcode加载的方式来绕过部分杀毒软件的查杀(这个方法存在一定的通用性 其shellcode加载器适合go之类的编写 可以自己修改会达到更好的免杀效果 这里笔者采用的是shellcode_launcher.exe来进行shellcode加载)
图片10 利用shellcode_launcher加载器
将shellcode_launcher.exe
重命名为sl.exe
方便于日后操作
图片11 重命名shellcode_launcher.exe
先新建一个listener
图片12 新建一个新的listener
因为是靶机所以回弹地址就写了本机的ip,如果实战还请各位看官自行考虑
图片13 回弹地址
使用cs
生成raw
格式的payload
,payload绑定于刚刚新建的listener
上
图片14 生成raw格式的payload
将生成好的raw
格式的payload
重命名为32.bin
.与重命名后的shellcode加载器放在同一目录下
图片15 将raw格式的paylaod存于32.bin
同时这里我们使用在kali
里启动一个smb共享服务,这样我们就可以通过这个共享服务通过之前存在的RCE
漏洞将生成的payload
拷贝到靶机上
图片16 启动smb共享服务
在命令执行的最后的参数填入net view \\192.168.1.119
查看smb服务是否正常
图片17 通过执行命令查看smb服务是否正常
运行Dir \\192.168.1.119\test
查看我部署于kali上的文件
图片18 执行dir命令
我们通过回显可以知道smb共享是没有问题的
利用xcopy
将shellcode加载器(sl.exe
)与raw版的载荷(32.bin
)拷贝到目标机器192.168.1.165
中