环境搭建
God.org内网域环境镜像文件百度云链接
域基础知识
工作组和域
工作组是局域网中的一个概念,它是最常见的资源管理模式,简单是因为默认情况下计算机都是采用工作组方式进行资源管理的。将不同的电脑按功能分别列入不同的组中,以方便管理。默认情况下所有计算机都处在名为 WORKGROUP 的工作组中,工作组资源管理模式适合于网络中计算机不多,对管理要求不严格的情况。 域(domain)是微软为集中管理计算机而推出的一种方式,用来描述一种架构,和“工作组”相对应,由工作组升级而来的高级架构,域 (Domain)是一个有安全边界的计算机集合( 安全边界,意思是在两个域中,一个域中的用户无法访问另一个域中的资源)。可以简单的把域理解成升级版的“工作组”,相比工作组而言,它有一个更加严格的安全管理控制机制,如果你想访问域内的资源,就必须拥有一个合法的身份登陆到该域中,而你对该域内的资源拥有什么样的权限,还需要取决于你在该域中的用户身份。
背景与思路
一个具有一定规模的企业,每天都可能面临员工入职和离职,因此网络管理部门经常需要对域成员主机进行格式化消除磁盘的文件,然后重装系统及软件,以提供给新员工使用;因此,为了便于后期交接,大多网络管理员会做好一个系统镜像盘,统一安装所有的电脑,并且在安装的时候设置惯用、甚至统一的密码。 因此,域中的计算机本地管理员账号,极有可能能够登陆域中较多的计算机,本地管理员的密码在服务器上后期修改的概率,远低于在个人办公电脑上的概率,而域用户权限是较低的,是无法在域成员主机上安装软件的,这将会发生下面的一幕:
某个域用户需要使用viso软件进行绘图操作,于是联系网络管理员进行安装,网络管理员采用域管理员身份登录了域成员主机,并帮助其安装了viso软件,于是这个有计算机基础的员工,切换身份登录到了本地计算机的管理员,后执行mimikatz,从内存当中抓取了域管理员的密码,便成功的控制了整个域。 因此,域渗透的思路就是:通过域成员主机,定位出域控制器IP及域管理员账号,利用域成员主机作为跳板,扩大渗透范围,利用域管理员可以登陆域中任何成员主机的特性,定位出域管理员登陆过的主机IP,设法从域成员主机内存中dump出域管理员密码,进而拿下域控制器、渗透整个内网。 域成员主机——>定位出域控制器IP及域管理员账号——>域成员主机作为跳板——>域管理员登陆过的主机IP——>从域成员主机内存中dump出域管理员密码——>拿下域控制器、渗透整个内网
常规信息类收集-应用&服务&权限等
常用命令:
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 查看域密码策略
关键信息类收集-密码&凭据&口令等
旨在收集各种密文,明文,口令等,为后续横向渗透做好测试准备 计算机用户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/
1.站点源码备份文件、数据库备份文件等 2.各类数据库Web管理入口,如PHPMyAdmin 3.浏览器保存密码、浏览器Cookies 4.其他用户会话、3389和ipc$连接记录、回收站内容 5.Windows 保存的WIFI密码 6.网络内部的各种帐号和密码,如:Email、VPN、FTP、OA等
自动化工具探针-插件&Adfind&BloodHound
https://github.com/k8gege/LadonGo https://github.com/BloodHoundAD/BloodHound http://www.joeware.net/freetools/tools/adfind/index.htm
CS插件
LSTAR Ladon OLa TaoWu等 使用插件进行信息收集
Adfind
列出域控制器名称: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
上传工具和直接使用命令原理是一样的
BloodHound域分析使用(渗透流程信息)
内网域渗透提权分析工具 BloodHound是一种单页的JavaScript的Web应用程序,构建在Linkurious上,用Electron编译,NEO4J数据库是PowerShell/C# ingestor. BloodHound使用可视化图来显示Active Directory环境中隐藏的和相关联的主机内容。攻击者可以使用BloodHound轻松识别高度复杂的攻击路径,否则很难快速识别。防御者可以使用BloodHound来识别和防御那些相同的攻击路径。蓝队和红队都可以使用BloodHound轻松深入了解Active Directory环境中的权限关系。 安装&使用:
http://cn-sec.com/archives/146548.html https://github.com/BloodHoundAD/BloodHound
1、启动neo4j neo4j.bat console
第一次登陆需要修改密码在http://localhost:7474/browser/中
2、启动BloodHound BloodHound.exe
3、运行程序后将生成数据导入,筛选查看 左边是对应功能,右边是图形化描述