在此次攻击过程中,需要用到cobalt strike内网渗透工具,而此软件的破解版在国内还是很难找到的,这里有一个扩展阅读,此次事件互联网上简称为contiLeaks,其中就有CS的破解版本。有能力的同学可以用点魔法去找找。另外我找到的泄露出的CS是一个压缩包,其密码就在文件名里。
红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。另外本次实战完全模拟 ATT&CK攻击链路进行搭建,开成完整闭环。后续也会搭建真实 APT 实战环境,从实战中成长。虚拟机所有统一密码:hongrisec@2019
官网下载地址:漏洞详情 (qiyuanxuetang.net)
官网下载下来的靶场包含三个压缩包,将其解压缩后是这三个文件夹
直接从vmware中导入这三个文件夹中的虚拟机
将这三个虚拟机都开机,注意这里会提示密码使用时间过久需要更改密码,这里我把密码改成了admin@123
,由于这三个虚拟机在同一个域中使用一个账号,因此在这三个虚拟机中任意机器中更改密码,另外两个机器上的登录密码都会随之改变。前提是这三个虚拟机配置在一个网段能够互相通信。将win7虚拟机加一个网卡,把加的网卡配成NAT模式,且ip与网关掩码等像如下配置。当前主机ip地址为192.168.37.1,将此虚拟机配到37网段,模拟此主机为公网能访问到的服务器。
将win7原有的主机网卡与另外两个虚拟机都配置到VMnet1(仅主机模式)
在仅主机模式下,VMware Workstation将虚拟机分配到一个虚拟网络适配器上,该适配器将虚拟机连接到一个虚拟网络交换机上。该虚拟网络交换机还将连接主机系统的物理网络适配器,但不会向外部网络公开虚拟机。虚拟机之间可以在虚拟网络上通信,但不会影响到主机系统或外部网络。
由于靶场原本就已将这三个虚拟机配置到了52网段,这是三个虚拟机互相应该就可以通信了。
另外,这里主机ping
win7虚拟机是ping
不通的,把win7的防火墙关了就好了,这里为了测试连通性,就先把防火墙关掉。先尝试在没有防火墙的情况下进行攻击。
然后启动win7中的web服务。
这里第一次可能会启动失败,重启一下虚拟机就好了。
到此环境搭建完成。
访问win7主机的ip地址,发现一个phpStudy探针
另外这里也用awvs扫描了一下,发现可能有目录遍历的漏洞
发现可能有phpMyAdmin数据库管理系统,访问一下这个地址,果然有。
另外有目录遍历漏洞,这里就再用dirmap
再扫描一下。
发现一个地址http://192.168.37.10/beifen.rar
,从文件名来看像是备份。下载下来看一下,果真是备份,并且好像是一个名为yxcms
的web应用
访问一下这个路径,真的能访问到这个应用。
这个页面上透露了管理员的账号密码
按照他的提示登录
观察这里的业务,发现再前台模板
版块里可以修改网页里的php文件,这里就编辑了以下index_index.php
文件
在这个文件的开头加入了一个蚁剑的一句话木马
要连上这个木马,首先我们要找到这个文件的地址,这是就可以回去翻找刚刚下载的备份文件了。直接搜索,发现有好几个这个命名的文件。
其实网页上有所提示,是在default
文件夹下的
那不出意外,改的应该是这个文件。
蚁剑尝试连一下
链接成功
这个网址还有许多其他漏洞,包括之前的phpMyAdmin应用也有上传木马的方法,这里既然已经得到了webshell就不再深入了。
这里把cobalt strike的使用方法写的详细一点,如有错误欢迎指正。
cs分为客户端与服务端,此次攻击将一个kali虚拟机设置为服务端,宿主机设置为客户端。在kali虚拟机中编辑以下cs文件夹下的teamserver
文件,改一下服务器的开放端口。
默认端口不改的话怕别人会连上,这里随便改一个,自己记住就行。
然后运行这个文件。
第一个字段是这台kali主机也就是服务器的地址,第二个字段是客户端连接到这台服务器的密码,这里设置的密码为password
然后在宿主机里双击start.bat
,出现登录对话框。
这里使用的宿主机是windows系统,如果是linux系统就在命令行里运行start.bat
效果是一样的。
在Host
处输入服务端地址,写上刚才配置的端口号,这里User
里随便输入,cs是可以多人合作的,这里就相当于一个昵称。在密码处填上刚才设置的密码password
,成功连上cs的服务端。
接下来要生成一个cs的木马,通过蚁剑传到web服务器上。
首先设置一个Listener
然后像下图一样填上信息
其中name
可以随便起,端口号也随便
单机save
,开始监听。
然后生成木马,选择这个选项,生成.exe
格式的木马。
然后需要选择刚才创建的监听器
然后单击生成,找个地方把木马保存下来就好了。
将这个文件直接拖到蚁剑里就能上传了。
在当前界面右键,在终端里打开,运行木马
此时,cs监听到了上传的木马,发现web服务器已经被控制。
为了隐蔽,木马与服务端的通信默认比较慢,所以发消息可能不能及时回复,这里打靶机的话把session
中调成0就可以了。
在这台主机上打开交互界面,看一下目前已经得到了管理员权限。
然后进行一下网络探测,发现了三台主机,其中192.168.52.143
就是我们目前控制的这台主机。
单击红框中按钮,发现扫描到的主机被自动列出了。
继续,在web服务器上跑一个mimikatz
发现返回了一堆哈希后的密码,别急着看,点击一下红框内的按钮,cs已经自动总结好了。
可以看到抓到了在GOD.ORG
域里的管理员账号,直接使用这个账号登录到其他两个机器。
首先再建立一个smb listener
SMB Beacon 使用命名管道通过父级 Beacon 进行通讯,当两个 Beacons 链接后,子 Beacon 从父 Beacon获取到任务并发送。因为链接的 Beacons 使用 Windows 命名管道进行通信,此流量封装在 SMB 协议中,所以 SMB Beacon 相对隐蔽,绕防火墙时可能发挥奇效
如下列操作,使用收集到的账号密码登录到192。168.52.138
这台机器。
类似的,也可以登录192.168.52.141
这台设备,运行完成后,这三台虚拟机都被控制,且都是管理员权限。
点击红框内按钮,可以看到目标的网络拓扑。