一、域渗透基础
1.1 域用户密码问题
域中的计算机本地管理员账号,极有可能能够登陆域中较多的计算机,本地管理员 的密码在服务器上后期修改的概率,远低于在个人办公电脑上的概率,而域用户权限是较 低的,是无法在域成员主机上安装软件的,这将会发生下面的一幕:
某个域用户需要使用 viso 软件进行绘图操作,于是联系网络管理员进行安装,网络管理 员采用域管理员身份登录了域成员主机,并帮助其安装了 viso 软件,于是这个有计算机 基础的员工,切换身份登录到了本地计算机的管理员,后执行 mimikatz,从内存当中抓 取了域管理员的密码,便成功的控制了整个域。
1.2 域渗透的思路
通过域成员主机,定位出域控制器 IP 及域管理员账号,利用域成员主机作为跳板,扩大渗透范围,利用域管理员可以登陆域中任何成员主机的特性, 定位出域管理员登陆过的主机 IP,设法从域成员主机内存中 dump 出域管理员密码,进 而拿下域控制器、渗透整个内网。
1.3 域环境的信息收集包括
1)当前机器角色的判断
2)当前机器网络环境判断
- 网络环境
- 局域网
- 工作组
- 域环境
3)当前机器角色功能判断
- 机器角色-个人 PC&文件服务器&邮件服务器等
- 角色功能-任务&端口&服务&密码&漏洞&配置等
什么是角色
所谓的角色,就是这个主机的功能是干什么的,比如主机可以分为很多
网站服务器
个人电脑,这里包括:老板、销售、财务....
DNS服务器
数据库服务器
邮件服务器
....
域信息收集可能会有这些工作要做
1)应用&服务&权限等
systeminfo 详细信息
netstat -ano 端口列表
route print 路由表
net start 启动服务
tasklist 进程列表
schtasks 计划任务
ipconfig /all 判断存在域
net view /domain 判断存在域
net time /domain 判断主域
netstat -ano 当前网络端口开放
nslookup 域名 追踪来源地址
wmic service list brief 查询本机服务
net config workstation 查询当前登录域及登录用户信息
wmic startup get command,caption 查看已启动的程序信息
2)架构信息类收集-网络&用户&域控等
- net view /domain 查询域列表
- net time/domain 从域控查询时间,若当前用户是域用户会从域控返回当前时间,亦 用来判 断主域,主域一般用做时间服务器
- net localgroup administrators 本机管理员【通常含有域用户】
- net user /domain 查询域用户(当前域)
- net group /domain 查询域工作组
- net group "domain computers" /domain 查看加入域的所有计算机名
- net group "domain admins" /domain 查询域管理员用户组和域管用户
- net localgroup administrators /domain 查看域管理员
- net group "domain controllers" /domain 查看域控
- net accounts /domain 查看域密码策略
3)关键信息类收集-密码&凭据&口令等
主要是收集各种密文,明文,口令等,为后续横向渗透做好测试准备,其中
- mimikatz(win),mimipenguin(linux):收集计算机用户免密码的是
- LaZagne(all),XenArmor(win),CS 插件:获取计算机各种协议服务口令获取的是
项目相关地址
https://github.com/gentilkiwi/mimikatz/
https://github.com/AlessandroZ/LaZagne/
https://github.com/huntergregal/mimipenguin
XenArmor All-In-One Password Recovery Pro 2022 Software | XenArmor
二、基于CS做域信息收集
2.1 CS简介
Cobalt Strike是由美国Red Team开发, 官网:https://www.cobaltstrike.com/
Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成、有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等多种功能,包括站点克隆获取浏览器的相关信息等。
同时,Cobalt Strike还可以调用Mimikatz等其他知名工具,因此广受渗透技术大佬们的喜爱。
但它的价格是第一年3500美刀,续费的话2500美刀,干,太贵,我只能羡慕用得起的,像我这样的小菜G,只能白嫖各位大佬们破解出来,没有暗桩的Cobalt Strike 3.14 了,前段时间Cobalt Strike 4.0 也被破解了,也在用Cobalt Strike 4.0 但我总有点用不惯,只能慢慢去适应了,本次Cobalt Strike 系列先以Cobalt Strike 3.14,后续会再更新Cobalt Strike 4.0 的姿势。
CobaltStrike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,windows exe 木马生成,windows dll 木马生成,java 木马生成,office 宏病毒生成,木马捆绑。钓鱼攻击包括:站点克隆,目标信息获取,java 执行,浏览器自动攻击等等强大的功能!
2.2 环境简单说明
选择CS的版本
版本号:4.5
下载地址:
链接:https://pan.baidu.com/s/1_cYoc1txNO---vteourvJw
提取码:z2o8
安装CS的系统
Kali 2022
- CS可以安装在windows/linux,但是为了后门的操作更加方便,这里还是选择安装在kali中,读者可以根据自己的实际情况,选择安装在windows还是linux。
- 本例中是将cs安装在kali,如果需要windows版本软件及其使用过程,可以参考另一篇博客。
2.3 安装CS
第一步:解压 coablt_strike_4.5_cracked.zip
第二步:解压CSAgent.zip
第三步:将coablt_strike_4.5_cracked.zip 解压文件中的 coabltstrike.jar 复制到CSAgent.zip的解压目录即可
2.4 启动CS
CS这个软件是基于C/S架构的,因此,在启动的时候,必须先启动cs的服务端,然后才能启动cs的客户端,需要注意的是cs的服务端和客户端可以不在同一个主机上。
首先启动cs的服务端
nohup ./teamserver IP地址 密码 &
说明
1. 启动服务端,就是用CSAgent.zip 解压目录下的文件teamserver
2. ip地址:就是cs服务端监听的IP地址,一般就写当前主机的IP地址
3. 密码:这个密码是cs客户端端链接这个服务端时候要输入的密码,这个密码可以随便写
4. 其实执行 ./teamserver IP地址 密码 就可以启动服务端了,但是,执行这个命令的终端是不能关闭的,一旦终端关闭,那么服务端就关了,为了解决这个问题,我将启动服务端的命令放到了后台执行,也就是前面用nohup ,而且后门用 &
启动服务端效果演示
当前我的kali主机的地址是172.16.100.222,我设置的链接kali的密码是1234
- cs服务端默认监听端口是50050,可以看到端口,就说明cs服务端启动成功了
启动CS客户端
windows启动客户端
直接执行cobaltstrike.bat
Linux启动客户端
将 cobaltstrike.bat 改名成 直接执行cobaltstrike.sh,然后执行即可
- 主机地址:写CS服务端的地址
- 端口:默认都是50050
- 用户名:admin
- 密码:1234
2.5 CS与渗透插件
用cs进行域信息收集和域渗透的时候,需要首先在cs上需要安装信息收集相关的插件
LSTAR
Ladon
OLa
TaoWu
CS加载加载插件,直接导入.cna文件即可
导入插件后的结果
2.6 CS进行信息收集
此例中,是对一个上线的主机进行内网信息收集,CS实现主机上线操作,可参考前面的博客
1)扫描被监控主机内部网络其他的主机
扫描结果如下
2)进行提权操作
选择一个监听器
- 提权后的节点,基于这个监听器进行链接
3)抓取域内主机的账号密码
拿到这个密码以后,就可以对其他扫描到的主机进行横向渗透了
4)基于adfind进行信息收集
下节预告:配置在kali中配置samba,实现和windows互传文件