内网安全第一百二十二天

内网安全-域信息收集&应用网络凭据&CS插件&Adfind&BloodHound

目录

内网安全-域信息收集&应用网络凭据&CS插件&Adfind&BloodHound

#知识点:

演示案例

常规信息类收集-应用&服务&权限等

接下来我们进行实验

番外:CS工具简单使用

CS插件安装

继续试验

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工具的使用我没有看,所以就简单说一下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,也就是毫米级的,就是我们做什么操作都立即进行,不然太慢了。

CS插件安装

上线之后我们就先把插件安装一下,CobaltStrike有两种加载插件的方法,一种是在客户端加载,一种是在服务端加载。在客户端加载,当客户端没连接上服务端后,该插件即不会被加载。我们这里没有团队就直接在客户端安装插件了。当没有安装插件的时候右键点击会话只到新建会话。

然后我们进行插件的安装,点击这个脚本管理器,英文名为script manager。

这个时候我们先点击加载,然后找到插件所在的文件夹,把cna文件放进去点击open即可。

把全部插件加载完之后再右键会话会发现下面会多几个选项,这些多的选项就是新加入的插件。

继续试验

这里我们对已经上线的win2003进行端口扫描,直接选取当前网段进行端口扫描。

扫描完成之后我们会发现目标列表这里会多三个主机,这也是我们本实验的三台主机,一台域控两台域成员主机。(目标列表在视图里面,需要调出来,不然是不显示的。)

这里我们进行抓取明文密码,这里报错是因为权限不够,因此我们需要提权,

提权没学过,这里显示提权的方式有很多,试了几个没成功,小迪选择的是ms14-058一下就提成功了,就多出来了一条会话为system权限的。这时候别忘了把system这个权限的会话的回连时间设置为0。

这个时候我们再利用system这条会话进行明文密文密码的提取,这里可以看到也是成功的把密码给提取出来了。(密码凭证也是在视图里面)

那么我们这里就可以尝试去横向移动,我们就可以尝试利用获得密码进行横向移动,而账户的话就是信息收集得到,比如这里Adfind的一个使用

这里首先就要上传adfind,但前提是管理员权限,权限低的话是上传不了的,然后在进行一系列的信息收集。

这里还有我们之前说过的浏览器密码的收集等等,总之这几个插件的功能都差不多,都可以尝试一下。

BloodHound域分析使用

这个工具呢是全英文的,我自己看的时候跟天书一样。我就不整了,感兴趣的可以弄弄。

安装&使用:

内网渗透(十六) | 域分析工具BloodHound的使用 | CN-SEC 中文网

https://github.com/BloodHoundAD/BloodHound

1、启动neo4j neo4j.bat console

2、启动BloodHound BloodHound.exe

3、运行程序后将生成数据导入,筛选查看

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
DNS的查询过程      如查询过程的初始步骤所示,DNS 域名由本机的程序使用。该请求随后传送至 DNS 客户服务,以通过使用就地缓存的信息进行解析。如果可以解析查询的名称,则查询将被应答,并且此过程完成。其中,本地解析程序的缓存可从以下2个可能的来源获取名称  信息:      ● 如果主机文件就地配置,则来自该文件的任何主机名称到地址的映射都将在DNS 客户服务启动时预先加载到缓存中。      ● 从以前DNS查询应答的响应中获取的资源记录将被添加至缓存并保留一段时间。      如果此查询不匹配缓存中的项目,则解析过程继续进行,客户机查询 DNS 服务器来解析名称。      接下来查询 DNS 服务器,当本地的DNS不能就地解析查询时,可根据需要查询 DNS 服务器来解析名称。如图4-1所示,客户机将查询首选 DNS 服务器。在此过程中使用的实际服务器是从全局列表中选择的。当 DNS 服务器接收到查询时,首先检查它能否根据在服务器的就地配置区域中获取的资源记录信息作出权威性的应答。如果查询的名称与本地区域信息中的相应资源记录匹配,则服务器作出权威性的应答,并且使用该信息来解析查询的名称。      如果查询的名称没有区域信息,则服务器检查它能否通过本地缓存的先前查询信息来解析名称。如果从中发现匹配的信息,则服务器使用它应答查询。接着,如果首选服务器可使用来自其缓存的肯定匹配响应来应答发出请求的客户机,则此次查询完成。      如果查询名称在首选服务器中未发现来自缓存或区域信息的匹配应答,则查询过程可继续进行,使用递归来完全解析名称,包括来自其他 DNS 服务器的支持,以帮助解析名称。在默认情况下,DNS 客户服务要求服务器在返回应答前使用递归过程来代表客户机完全解析名称。在大多数情况下,DNS 服务器的默认配置支持递归过程,如图4-2所示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaopeisec

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值