目录
环境搭建
域基础知识
工作组和域
现实背景
常规信息收集
方式一:操作系统命令执行
常用总结
方式二:使用CS插件
关键信息收集
密码抓取测试
自动化信息收集工具
ADFind
BloodHound域分析使用(渗透流程信息)
从今天开始,将进入内网渗透的学习
环境搭建
测试环境:https://pan.baidu.com/s/1L1u8d07zd5fXhdW3p3xf-A?pwd=83k6
域基础知识
工作组和域
工作组是局域网中的一个概念,它是最常见的资源管理模式,简单是因为默认情况下计算机都是采用工作组方式进行资源管理的。将不同的电脑按功能分别列入不同的组中,以方便管理。默认情况下所有计算机都处在名为 WORKGROUP 的工作组中,工作组资源管理模式适合于网络中计算机不多,对管理要求不严格的情况。
域(domain)是微软为集中管理计算机而推出的一种方式,用来描述一种架构,和“工作组”相对应,由工作组升级而来的高级架构,域 (Domain)是一个有安全边界的计算机集合( 安全边界,意思是在两个域中,一个域中的用户无法访问另一个域中的资源)。可以简单的把域理解成升级版的“工作组”,相比工作组而言,它有一个更加严格的安全管理控制机制,如果你想访问域内的资源,就必须拥有一个合法的身份登陆到该域中,而你对该域内的资源拥有什么样的权限,还需要取决于你在该域中的用户身份。
现实背景
一个具有一定规模的企业,每天都可能面临员工入职和离职,因此网络管理部门经常需要对域成员主机进行格式化消除磁盘的文件,然后重装系统及软件,以提供给新员工使用;因此,为了便于后期交接,大多网络管理员会做好一个系统镜像盘,统一安装所有的电脑,并且在安装的时候设置惯用、甚至统一的密码。
因此,域中的计算机本地管理员账号,极有可能能够登陆域中较多的计算机,本地管理员的密码在服务器上后期修改的概率,远低于在个人办公电脑上的概率,而域用户权限是较低的,是无法在域成员主机上安装软件的,这将会发生下面的一幕:
这是域中用户尝试安装软件,但是失败
某个域用户需要使用viso软件进行绘图操作,于是联系网络管理员进行安装,网络管理员采用域管理员身份登录了域成员主机,并帮助其安装了viso软件,于是这个有计算机基础的员工,切换身份登录到了本地计算机的管理员,后执行mimikatz,从内存当中抓取了域管理员的密码,便成功的控制了整个域。
因此,域渗透的思路就是:通过域成员主机,定位出域控制器IP及域管理员账号,利用域成员主机作为跳板,扩大渗透范围,利用域管理员可以登陆域中任何成员主机的特性,定位出域管理员登陆过的主机IP,设法从域成员主机内存中dump出域管理员密码,进而拿下域控制器、渗透整个内网。
域成员主机——>定位出域控制器IP及域管理员账号——>域成员主机作为跳板——>域管理员登陆过的主机IP——>从域成员主机内存中dump出域管理员密码——>拿下域控制器、渗透整个内网
在实际中,我们往往是拿下一台主机的权限后,才开始域渗透的。然后我们的目标是尝试拿下域控,倘若域控拿不下来,也可以尝试操作系统或者主机上服务的漏洞尝试能否拿下更多的主机。
常规信息收集
域内的渗透一般使用CS以及其插件,集成了很多的命令以及EXP。
方式一:操作系统命令执行
常用总结
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 查看已启动的程序信息
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 查看域密码策略
方式二:使用CS插件
不再赘述,有手即可。
关键信息收集
旨在收集各种密文,明文,口令等,为后续横向渗透做好测试准备
计算机用户HASH,明文获取-mimikatz(win),mimipenguin(linux)
计算机各种协议服务口令获取-LaZagne(all),XenArmor(win),CS插件
项目地址:
https://github.com/gentilkiwi/mimikatz/
https://github.com/AlessandroZ/LaZagne/
https://github.com/huntergregal/mimipenguin
https://xenarmor.com/allinone-password-recovery-pro-software/
密码抓取测试
先上线一台主机
运行需要密码抓取需要系统权限才行,提权一下
使用插件抓取密码
成功抓取
自动化信息收集工具
ADFind
ADFind插件:GitHub - lintstar/LSTAR: LSTAR - CobaltStrike 综合后渗透插件
直接使用插件拿下
列出域控制器名称:AdFind -sc dclist
查询当前域中在线的计算机:AdFind -sc computers_active
查询当前域中在线的计算机(只显示名称和操作系统):AdFind -sc computers_active name
operatingSystem查询当前域中所有计算机:AdFind -f “objectcategory=computer”
查询当前域中所有计算机(只显示名称和操作系统):AdFind -f “objectcategory=computer” name
operatingSystem查询域内所有用户:AdFind -users name
查询所有GPO:AdFind -sc gpodmp
当然你也可以选择上传ADFind.exe再执行命令,上传工具和直接使用命令原理是一样的。
BloodHound域分析使用(渗透流程信息)
内网域渗透提权分析工具
BloodHound是一种单页的JavaScript的Web应用程序,构建在Linkurious上,用Electron编译,NEO4J数据库是PowerShell/C# ingestor.
BloodHound使用可视化图来显示Active Directory环境中隐藏的和相关联的主机内容。攻击者可以使用BloodHound轻松识别高度复杂的攻击路径,否则很难快速识别。防御者可以使用BloodHound来识别和防御那些相同的攻击路径。蓝队和红队都可以使用BloodHound轻松深入了解Active Directory环境中的权限关系。
安装:GitHub - BloodHoundAD/BloodHound: Six Degrees of Domain Admin
使用:http://cn-sec.com/archives/146548.html
这个工具是纯英文的,目前还没玩明白,暂且搁置。