赞
踩
目录
内网安全-域信息收集&应用网络凭据&CS插件&Adfind&BloodHound
0、域产生原因
1、内网域的区别
2、如何判断在域内
3、域内常见信息收集
4、域内自动化工具收集
-局域网&工作组&域环境区别
-域环境信息收集-应用&网络&服务&凭据等
-自动化工具使用-CS插件&Adfind&BloodHound
0x01
一个具有一定规模的企业,每天都可能面临员工入职和离职,因此网络管理部门经常需要对域成员主机进行格式化消除磁盘的文件,然后重装系统及软件,以提供给新员工使用;因此,为了便于后期交接,大多网络管理员会做好一个系统镜像盘,统一安装所有的电脑,并且在安装的时候设置惯用、甚至统一的密码。
0x02
因此,域中的计算机本地管理员账号,极有可能能够登陆域中较多的计算机,本地管理员的密码在服务器上后期修改的概率,远低于在个人办公电脑上的概率,而域用户权限是较低的,是无法在域成员主机上安装软件的,这将会发生下面的一幕:
某个域用户需要使用viso软件进行绘图操作,于是联系网络管理员进行安装,网络管理员采用域管理员身份登录了域成员主机,并帮助其安装了viso软件,于是这个有计算机基础的员工,切换身份登录到了本地计算机的管理员,后执行mimikatz,从内存当中抓取了域管理员的密码,便成功的控制了整个域。
0x03
因此,域渗透的思路就是:通过域成员主机,定位出域控制器IP及域管理员账号,利用域成员主机作为跳板,扩大渗透范围,利用域管理员可以登陆域中任何成员主机的特性,定位出域管理员登陆过的主机IP,设法从域成员主机内存中dump出域管理员密码,进而拿下域控制器、渗透整个内网。
本节课我们会讲内域网,之前学过局域网,这个工作组也在下面做了介绍,工作组和内域网的区别就是
工作组:默认模式,人人平等,不方便管理
域:人人不平等,集中管理,统一管理
局域网络是把分布在数公里范围内的不同物理位置的计算机设备连在一起,在网络软件的支持下可以相互通讯和资源共享的网络系统。
工作组是局域网中的一个概念。它是最常见最简单最普通的资源管理模式,就是将不同的电脑按功能分别列入不同的组中,以方便管理。
在一个公司里面假如有一千台机器,仅仅有工作组是不方便管理的,因此就出现了内域网,域控也就是域控制器可以统一管理下面的域成员。
简单来说这个域就是一个强大的网络中心,有DC(域控)和域成员,你加入这个域之后就会受域控的管制,方便了管理。那么我们以安全角度看待这个域,就是获得域控的权限从而对其他域成员也相当于进行了控制。
并且域里面,一般域控都会有一个DNS服务器,因为如果没有的话就只能用外网运营商的dns服务器来解析ip,如果一旦受到攻击,你的域名就会乱解析。从而解析到攻击者指定的地址。因此域控就有了这个DNS服务器来防止你乱解析,只能按照域控的来解析地址,从而避免这一现象发生。
这个域一般是对于windows来说的,因为linux没有域这个概念,大多是域内主机都是windows,但是linux也可以加入域成为域成员主机
有一点需要注意就是域成员登录主机后想要进行软件安装的话是不可以的,因此上面也说个那个例子就是员工想要安装viso绘图软件只能联系管理员来安装。而如果说不用域成员那个账户去登录主机的话,而是用本地用户去登录的话就可以安装软件,这个时候你就是这台电脑的主人。
这里我们用win2008r2作为域控,win7是它的域成员。当我们直接安装软件的时候会显示需要域控的账号密码。
这个是win2008r2安装域控的教程:【系统篇 / 域】❀ 01. 域服务安装与配置 ❀ Windows Server 2008 R2_域服务器的安装与配置_飞塔老梅子的博客-CSDN博客
win7加入域的教程:百度安全验证
上面也说了“大多网络管理员会做好一个系统镜像盘,统一安装所有的电脑,并且在安装的时候设置惯用、甚至统一的密码。”,也就是说如果这个密码没有进行修改的话,就是默认密码,如果说我们取得了这个默认密码的话就相当于取得了哪些没有修改密码的登陆权限。因此我们在进行信息收集的时候就要收集密码信息(凭据信息)。
那我们要获得哪些密码呢,一般是计算机密码、数据库密码、浏览器保存的登录密码等等。大概有下面这些:
1.站点源码备份文件、数据库备份文件等
2.各类数据库Web管理入口,如PHPMyAdmin
3.浏览器保存密码、浏览器Cookies
4.其他用户会话、3389和ipc$连接记录、回收站内容
5.Windows 保存的WIFI密码
6.网络内部的各种帐号和密码,如:Email、VPN、FTP、OA等
接下来开始进行信息搜集,首先我们先进行是不是处在域内的判断。方法有很多,建议使用net time /domain 如果有域的话就会显示域的当前时间,没有域的话就会报错。当然方法很多,这里只是演示一种。
判断为域内之后就开始进行信息收集,下面就是用来判断是否为域内的命令就不一一演示了。
#常规信息类收集-应用&服务&权限等
更多其他收集见下图图命令表
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 查看已启动的程序信息
判断存在域后我们就可以通过计算机全名来ping进而获取域控的ip地址。这里win7获得的ip就是域控win2008的ip,并且计算机全名也是对的上的。
利用下面这些命令都可以在域成员主机上获取关于域控的一些信息
#架构信息类收集-网络&用户&域控等
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 查看域密码策略
实验背景:一台主机(win7)已经被我们取得权限,并且通过刚才的判断方法知道了这台主机在域内,接下来我们利用cs工具生成木马,并在cs配置监听。把木马文件放到自己服务器上利用python的webserver把传到这台主机上面并点击木马。cs这边上线尝试利用工具对域控进行攻击从而取得域控的权限,最终打穿域内网。(吹牛的,本节课就讲讲信息收集和工具的使用。)
这里因为我直接看的内网,在前面的课小迪讲过CS工具的使用我没有看,所以就简单说一下CS这个工具的使用
首先这个分为服务端和客服端,服务端为linux,客户端为linux或windows,我这里使用的是服务端为kali,客户端为自己win11主机。我们先在服务端启动,kali里面是没有CS这个工具的,所以需要自己下载。有一点需要注意就是服务端和客户端的CS版本需要一样,不然客户端连接不上。
1.这里来到kali里面,把CS的服务端文件拖进去,然后访问teamserver后面跟上本机的ip和密码
2.在win11主机上面进行客户端连接,输入kali的ip和刚刚设置的密码123456,端口号是默认的50050不用改,直接连接即可。
3.连接成功之后我们先进性端口监听的设置,相当于msf里面的exploit监听模块。
首先点击耳机图标,然后点击add,接着在右边输入我们监听的ip和端口,这里使用的是http协议。然后点击保存即可。
4.接着我们利用刚才的监听端口生成木马,刚才设置的监听叫啥名字就选哪个名字,然后直接生成exe文件
会话建立成功之后先把回连时间设置为0,也就是毫米级的,就是我们做什么操作都立即进行,不然太慢了。
上线之后我们就先把插件安装一下,CobaltStrike有两种加载插件的方法,一种是在客户端加载,一种是在服务端加载。在客户端加载,当客户端没连接上服务端后,该插件即不会被加载。我们这里没有团队就直接在客户端安装插件了。当没有安装插件的时候右键点击会话只到新建会话。
然后我们进行插件的安装,点击这个脚本管理器,英文名为script manager。
这个时候我们先点击加载,然后找到插件所在的文件夹,把cna文件放进去点击open即可。
把全部插件加载完之后再右键会话会发现下面会多几个选项,这些多的选项就是新加入的插件。
这里我们对已经上线的win2003进行端口扫描,直接选取当前网段进行端口扫描。
扫描完成之后我们会发现目标列表这里会多三个主机,这也是我们本实验的三台主机,一台域控两台域成员主机。(目标列表在视图里面,需要调出来,不然是不显示的。)
这里我们进行抓取明文密码,这里报错是因为权限不够,因此我们需要提权,
提权没学过,这里显示提权的方式有很多,试了几个没成功,小迪选择的是ms14-058一下就提成功了,就多出来了一条会话为system权限的。这时候别忘了把system这个权限的会话的回连时间设置为0。
这个时候我们再利用system这条会话进行明文密文密码的提取,这里可以看到也是成功的把密码给提取出来了。(密码凭证也是在视图里面)
那么我们这里就可以尝试去横向移动,我们就可以尝试利用获得密码进行横向移动,而账户的话就是信息收集得到,比如这里Adfind的一个使用
这里首先就要上传adfind,但前提是管理员权限,权限低的话是上传不了的,然后在进行一系列的信息收集。
这里还有我们之前说过的浏览器密码的收集等等,总之这几个插件的功能都差不多,都可以尝试一下。
这个工具呢是全英文的,我自己看的时候跟天书一样。我就不整了,感兴趣的可以弄弄。
安装&使用:
内网渗透(十六) | 域分析工具BloodHound的使用 | CN-SEC 中文网
https://github.com/BloodHoundAD/BloodHound
1、启动neo4j neo4j.bat console
2、启动BloodHound BloodHound.exe
3、运行程序后将生成数据导入,筛选查看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。