记一次利用cs进行内网渗透的过程
记一次利用cs进行内网渗透的过程
首先搭建好cs的服务端和客户端连接,下面正式进行渗透
环境
kali:192.168.0.226
域控机:192.168.0.138
成员机:192.168.0.251 192.168.0.141
操作
cs上线
-
首先开启监听cobalt->listeners,host和beacons都为cs服务端的ip地址
-
生成相应的windows木马,上传到靶机251中执行。
选择对应的监听和木马格式
最后将生成的木马传到靶机中,让靶机执行。
-
机器上线成功
部分cs命令利用
getsystem
logonpasswords 抓取密码
net view /domain 查询域列表
net time /domain 判断主域
net user /domain 查询域内用户
获取到内网域相应的信息
存活主机探测和获取凭证
-
内网横向探测
获取到一个 cs 的 beacon 后可以目标内网情况和端口开放情况,在 beacon 上右键 -> 目
标 -> 选择 net view 或者 port scan:
可以在菜单栏中,view视窗的targets选项中查看
-
用 cs 的 hashdump 读内存密码:hashdump,用 mimikatz 读注册表密码:logonpasswords。获取相应账户凭证
或者:
右键->Access->Dump Hashes(需要Administrator权限)
右键->Access->Run Mimikatz
可以在凭证栏中查看获取的凭证
SMB Beacon和psexec传递(msf中的hash传递攻击)
在探测到其他两个内网机器开了445端口的前提下,可以使用SMB beacon获取。相当于在msf里面使用永恒之蓝获取shell。有两种方法
-
直接派生,新建一个listener,pyload设置为beacon_smb
在已有的 Beacon 上右键 Spawn(生成会话 / 派生),选择创建的 smb beacon 的 listerner:
选择后会反弹一个子会话,在 external 的 ip 后面会有一个链接的小图标:
这就是派生的 SMB Beacon,当前没有连接,可以在主 Beacon 上用 link host 连接它,或者unlink host 断开
就是说通过之前的beacon为跳板通过SMB去连接新beacon获取权限shell
可以在视图界面查看图形化连接情况
-
前面横向探测已经获取到内网内的其他 Targets 以及读取到的凭证信息,尝试使用 psexec
模块登录其他主机,右键选择一台非域控主机 ROOT-TVI862UBEH 的 psexec 模块:
-
在弹出的窗口中选择使用 god.org 的 Administrator 的凭证信息,监听器选择之前创建的
smb beacon,会话也选择对应的 smb beacon 的会话:
-
成功上线,并返回新的beacon
另一种方式token 窃取
除了直接使用获取到的 hash 值,也可以直接窃取 GOD\Administrator 的 token 来登录其
他主机,选择 beacon 右键 -> 目标 -> 进程列表,选择 GOD\Administrator 的 token 盗取:
找到相应账户的conhost.exe信息,获取其token
再在之前获取的凭证中选择相应账户,勾选token选项就好了
补充;
cs与MSF会话传递
-
MSF 创建监听自己的 ip 跟端口:
-
CS 创建监听 listeners,Listeners 的 ip 为 msf 的 ip,端口为 msf 监听的端口(注:如果
msf 是内网下的,则需要把端口映射到公网,或者使用 ngrok 等工具做流量转发)
-
回到 cs 上,选中拿下的计算机会话,右键选中 spawn,然后在弹出来的框中选择刚刚创
建的 listeners 监听器,然后执行。
-
msf收到会话
推荐网址:
cobaltstrike安装加破解教程+使用教程 - BBSMAX
Cobalt strike在内网渗透中的使用 - FreeBuf网络安全行业门户