内网渗透—域环境之信息收集

news2024/11/27 22:33:48

内网渗透—域环境之信息收集

  • 1. 前言
  • 2. 关于域
    • 2.1. 域搭建
    • 2.2. 域渗透思路
  • 3. 域信息收集
    • 3.1. 判断是否存在域
      • 3.1.1. 查询网络信息
      • 3.1.2. 查询当前登录域与域环境
      • 3.1.3. 判断主域
    • 3.2. 查找域控制器
      • 3.2.1. 查询DNS地址
      • 3.2.2. 查看域控制器的机器名
      • 3.2.3. 查看域控制器
    • 3.3. 获取域内用户和管理员
      • 3.3.1. 查询域内所有用户组列表
      • 3.3.2. 查询域管理员列表
      • 3.3.3. 获取所有域用户列表
      • 3.3.4. 获取指定域用户的详细信息
      • 3.3.5. 查看域密码策略
      • 3.3.6. 查看加入域的所有计算机名
      • 3.3.7. 获取加入域计算机地址
  • 4. CS域信息收集
    • 4.1. 上线与提权
      • 4.1.1. 域内主机上线
      • 4.1.2. 提权
    • 4.2. 自动化信息收集
      • 4.2.1. 抓取明文密码凭证
      • 4.2.2. 利用明文密码
        • 4.2.2.1. 探测主机
        • 4.2.2.2. 横向移动
        • 4.2.2.3. 配置参数
      • 4.2.3. 域信息收集
  • 5. BloodHound
    • 5.1. 配置环境
    • 5.2. neo4j
      • 5.2.1. 启动neo4j
      • 5.2.2. 打开页面
      • 5.2.3. 设置密码
    • 5.3. BloodHound
      • 5.3.1. 运行界面
      • 5.3.2. 界面介绍
    • 5.4. 数据收集
      • 5.4.1. 下载采集器
      • 5.4.2. 执行采集器
    • 5.5. 总结

1. 前言

  渗透测试的本质就是信息收集,不管是web还是在内网中,信息收集的全面性会直接影响后续的渗透测试工作,通常web端使用文件上传等进入内网后,就需要判断当前的网络环境和权限,为后续的横向移动等工作做好铺垫。

2. 关于域

  域英文叫DOMAIN——域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理,以及相互通信和数据传输。

  域既是 Windows 网络操作系统的逻辑组织单元,也是Internet的逻辑组织单元,在 Windows 网络操作系统中,域是安全边界。域管理员只能管理域的内部,除非其他的域显式地赋予他管理权限,他才能够访问或者管理其他的域,每个域都有自己的安全策略,以及它与其他域的安全信任关系。

  如果企业网络中计算机和用户数量较多时,要实现高效管理,就需要windows域。

2.1. 域搭建

  关于域搭建,我觉得是一个很简单的过程,这里我在总结的时候,在想到底要不要一步一步来操作,后来想了一下,域这个搭建是一个很简单的过程,我觉得没必要去写,如果实在不懂如何搭建的话去百度搜索一下吧。

  当然实际在渗透测试中也不会要你去搭建域环境,但是多多少少还是需要去了解一下域。

2.2. 域渗透思路

  域渗透思路:通过域成员主机,定位出域控制器IP及域管理员账号,利用域成员主机作为跳板,扩大渗透范围,利用域管理员可以登陆域中任何成员主机的特性,定位出域管理员登陆过的主机 IP,设法从域成员主机内存中 dump 出域管理员密码,进而拿下域控制器、渗透整个内网

3. 域信息收集

  以及都是基于通过某种方式已经获取到域内主机的情况下操作,并且在域内进行信息收集,收集到的信息越多,那么拿下域内控制器的概率就越高。

  下图来源你懂的~,这个更详细一些。

在这里插入图片描述

3.1. 判断是否存在域

3.1.1. 查询网络信息

  一般通过查询IP网络或系统信息时,就能够发现域控。

ipconfig /all

在这里插入图片描述

systeminfo

在这里插入图片描述

3.1.2. 查询当前登录域与域环境

  通过查询可以判断当前的登录的域与域环境。

net config workstation

在这里插入图片描述

3.1.3. 判断主域

  域服务器通常都会作为时间服务器,可以通过下列的命令来判断主域。

net time /domain

  存在域,并且当前用户为域用户。

在这里插入图片描述

  工作环境为工作组,不存在域。

在这里插入图片描述

  存在域,但当前用户不是域用户。

在这里插入图片描述

3.2. 查找域控制器

  在得到域名后,就可以通过域名进一步的获取域控制器的地址及其它信息。

3.2.1. 查询DNS地址

  一般情况下DNS地址就是域控制器的地址。

ping 域名

在这里插入图片描述

nslookup 域名

在这里插入图片描述

3.2.2. 查看域控制器的机器名

nltest /DCLIST:域名

在这里插入图片描述

3.2.3. 查看域控制器

net group "Domain Controllers" /domain

在这里插入图片描述

3.3. 获取域内用户和管理员

  这里主要我们需要收集的就是域内的一下用户以及管理员信息。

3.3.1. 查询域内所有用户组列表

net group /domain

在这里插入图片描述

3.3.2. 查询域管理员列表

net group "Domain Admins" /domain

在这里插入图片描述

3.3.3. 获取所有域用户列表

net user /domain

在这里插入图片描述

3.3.4. 获取指定域用户的详细信息

net user 用户名称 /domain

在这里插入图片描述

3.3.5. 查看域密码策略

net accounts /domain

在这里插入图片描述

3.3.6. 查看加入域的所有计算机名

net group "domain computers" /domain

在这里插入图片描述

3.3.7. 获取加入域计算机地址

ping 计算机名

在这里插入图片描述

4. CS域信息收集

  这里采用CS进行域信息收集,关于CS想必学到这里都应该知道了,同时在之前的权限提升文章中也大概介绍了CS的作用以及使用,同时相关的插件也基于了,如果没有相关的插件可以自行去搜索。

  棱角社区

4.1. 上线与提权

  这里就演示一下。

4.1.1. 域内主机上线

  关于如何生成一个木马我就演示了,很简单的东西,之前也应该都知道了,这里我直接让域内的一台主机上线,可以看到我这个上线就是一个administrator用户,其实只是演示影响不大。

在这里插入图片描述

4.1.2. 提权

  关于提权,这个在之前的提权文章中已经写很多了,这里直接使用工具中的提权来尝试提权,可以看到,这里我随便找了一个自动提权就成功提权了,也是由于我这个搭建的域是2008所以可能漏洞比较多,所以点一下就成功提权了。

在这里插入图片描述

4.2. 自动化信息收集

  通过自动化信息收集,可以更好的收集信息,而手动收集毕竟会比较麻烦。

4.2.1. 抓取明文密码凭证

  这里需要先将权限提升到system然后去抓明文的密码,获取到的明文密码,就可以尝试对域内其它主机进行尝试登陆,由于管理员在基于用户的账户密码一定是有规律的,而为了方便,部分管理员会设定不能修改密码,所以你抓取到一个密码后,可能就能够实现登陆其它的域内主机。

在这里插入图片描述

4.2.2. 利用明文密码

  这里是属于后期的横向移动,这里只是演示一下,也没介绍,我也没学习到。

4.2.2.1. 探测主机

  通过前期的网络探测,探测到一些主机,这里我提前说一下10.200是我域控主机,我们最终的目的就是获取到域控主机的权限,而这里我探测到域控主机地址了,通过前期的地址也能够知道域控主机地址。

在这里插入图片描述

4.2.2.2. 横向移动

  这里我们点击这个横向移动选择64位的。

在这里插入图片描述

4.2.2.3. 配置参数

  在弹出的页面我们配置一些参数,需要注意这里我们就能够选择我们前期获取到的密码来尝试登陆,至于用户名,也可以在前期的信息收集中获取到,反之都输入进去试试,监听器就是选择需要反弹回来的监听器,会话,要选择刚刚提权后的system权限的会话。

  通过获取也能够看到是成功获取到10.200的system权限也就是域控权限,当然实际渗透中可能获取还是比较复杂的,不过也不排除很幸运一下子就获取到。

在这里插入图片描述

4.2.3. 域信息收集

  由于太多了,这里我就不一条一条测试了,这里给各位看看即可,简单来说就是省自己手动操作,不需要一条一条去敲命令。

在这里插入图片描述

5. BloodHound

  BloodHound 使用可视化图形显示域环境中的关系,攻击者可以使用 BloodHound 识别高度复杂的攻击路径,防御者可以使用 BloodHound 来识别和防御那些相同的攻击路径。蓝队和红队都可以使用 BloodHound 轻松深入域环境中的权限关系。

  BloodHound 通过在域内导出相关信息,在将数据收集后,将其导入Neo4j 数据库中,进行展示分析。因此在安装 BloodHound 时,需要安装 Neo4j 数据库。

  这里注意去下载 BloodHound GUI 4.0.3,不要下载其它的版本了,我已经被恶心到了,无语了,最新的采集器根本就不兼容,搞了我一个下午,还有就是关于这些,我还是没解决,如果有解决的还请告知一下,由于目前很多文章就是沙雕引流的,直接复制几年前的,找解决办法就没找到,还有很多文章是新发的,但是一看内容,基本上就是复制粘贴没实操,我这时心里有一句话不知该说不该说…

  BloodHound下载

5.1. 配置环境

  这里我使用Windows来搭建这个环境,因为 Neo4j 数据库需要 Java 支持,因此安装 BloodHound 需要先安装 Java,这里想必关于JAVA方面的步骤我就不赘述了,也没多难,而且之前很多工具都需要使用到java,所以应该都安装了。

5.2. neo4j

  在这里点击完可能需要让你输入一些信息才给你下载,这里不想填就随便天天,然后点击下载,就会弹出下载框。

  neo4j下载

5.2.1. 启动neo4j

  这里解压文件后加入bin中输入命令进行启动,需要注意的是java版本不能太低,同时若一个系统中有多个java版本,那么就需要切换,否则无法执行。

neo4j.bat console

在这里插入图片描述

5.2.2. 打开页面

  这里访问http://127.0.0.1:7474/即可打开页面,默认的账户密码都是neo4j,输入完会让你重置密码,这里你设置一个即可。

在这里插入图片描述

5.2.3. 设置密码

  这里随便设置一个,完成后就成功了。

在这里插入图片描述

5.3. BloodHound

  下载一定要下载对应的版本,千万不能下载错误了。

5.3.1. 运行界面

  解压下载下来的文件,在目录中寻找到BloodHound.exe,点击运行,就会弹出一个登陆窗口,账户就是neo4j,密码就是刚刚设置的。

在这里插入图片描述

5.3.2. 界面介绍

  在这个界面中就会有很多的功能,不过还是推荐去看官方的文档,你让我介绍我也是直接复制粘贴。

  官方文档

在这里插入图片描述

5.4. 数据收集

  当做好前期的准备就可以下载采集器进行采集信息了,额,这里的话还是一样,各种报错,各种使用不了,网上也没找到解决的办法。

5.4.1. 下载采集器

  关于采集器这里,下载完后,在目录中能够找到采集器,这里我看我的截图。

在这里插入图片描述

5.4.2. 执行采集器

  这里我们将下载下来的采集器上传至域服务器中,然后就会获取到相关的压缩包,但是这里还是遇到问题了,一个下午了没解决…

  这里只要执行就是出现这种错误,不管是管理员启动还是什么启动均会出现这种错误。

在这里插入图片描述

5.5. 总结

  关于BloodHound倒是能够搭建出来,但是到采集器SharpHound的时候就出先很多问题了,这里我发现我使用Windows2012、2008、7、10等均为执行成功,根据部分解决办法下载了.NET Framework不行,后续就不知道如何解决了。如果后面能够解决了,我会单独写一篇介绍的,我个人觉得是没不要去试了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

媒体邀约之发布会彩排哪些内容和注意那些细节?

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 相信发布会前小伙伴都会进行彩排,对发布会的细节,流程,各个工种如何配合进行提前的演练,那么发布会彩排哪些内容,要注意哪些细节…

Linux shell编程常用命令(sort排序 uniq重复行 set +-x调试脚本 tr压缩替换字符 cut切片 split拆分 paste合并文件列 eval扫描变量)

sort命令 排序 以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序 比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。 sort [选项] 参数 cat file | sort 选项-n 按照数字进行排序 -r 反向排序 -u 等同于u…

[学习笔记]python的web开发全家桶(ing)

源学习视频 目的:开发一个平台(网站) 前端开发:HTML、CSS、JavaScriptWeb框架:接收请求并处理MySQL数据库:存储数据地方 快速上手: 基于Flask Web框架让你快速搭建一个网站出来。 深入学习: 基于Django…

Google Chrome谷歌浏览器崩溃,错误代码: STATUS_STACK_BUFFER_OVERRUN

前两天Edge浏览器崩溃,一通测试,最终解决。谷歌一直没更新,今天更新了下,也崩溃了。 错误代码: STATUS_STACK_BUFFER_OVERRUN 解决办法: 1、开始菜单搜索:ExploitProtection,打开进入。 2、切…

前端CSS学习(二)

1、选择器进阶 1.1 后代选择器:空格 作用:根据HTML标签的嵌套关系,选择父元素后代中满足条件的元素 选择器语法:选择器1 选择器2 { css } 结果:在选择器1所找到标签的后代(儿子、孙子、重孙...)中,找到满足选择器2的…

Ubuntu高效工具——autojump、terminator(快捷键失灵问题)

Ubuntu高效工具——autojump、terminator(快捷键失灵问题) Ubuntu高效工具——autojump、、terminator(快捷键失灵问题) 自动快速跳转工具 autojump终端高效工具 erminator 自动快速跳转工具 autojump 安装指令: sudo apt -y install autojump 安装完成后是不会…

【游戏分析】《某某明月刀》之御风神行

御风神行是《某某明月刀》里很常用的一个技能,可以用来在各大地图的传送点之间相互传送而不需要经过车夫,虽然冷却时间很长,但是非常实用。但是想去到某个传送点必须要先点亮这个传送点,也就是说要跑到传送点附近才可以。但是通过…

频率与周期的精密控制——用SPI输出PWM脉冲

什么是PWM? PWM(Pulse Width Modulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。PWM在如今的应用十分广泛,电机系统,灯光系统,电源系统,还有一些比较精密的控制系统,都无不存在着PWM的控制方式。 常用的单…

5.100ASK_V853-PRO开发板支持按键输入

0.前言 ​ 100ASK_V853-PRO开发板上共有5个功能按键,本章节跟大家讨论如何使能这五个按键。 1.V853功能按键原理 ​ 100ASK_V853-PRO开发板上提供的5个按键是通过GPADC高精度数模转换模块模拟出5个功能按键。GPADC 是 12bit 分辨率,8 位采集精度的模数…

HBase入门 Phoenix 表映射 带命名空间namespace(八)

1、准备 添加配置HBasehbase-site.xml vim $HBASE_HOME/conf/hbase-site.xml <property><name>phoenix.schema.isNamespaceMappingEnabled</name><value>true</value></property><property><name>phoenix.schema.mapSystemTa…

fileinclude-宜兴网信办解题思路--呕心沥血--非常详细!

第一步-分析题目: 打开题目场景&#xff0c;如下图: 这上面显示说&#xff0c;flag在这个/var/www/html/flag.php文件中。由此可知&#xff0c;这道题是文件包含题。 明确了目标&#xff0c;咱们在场景那个页面按下F12来看下源代码。 在做题之前咱们先了解了解COOKIE&#xff0…

JetBrains Fleet-下一代idea安装教程

最近了解到了Fleet——宣称是下一代idea的开发工具&#xff0c;接下来介绍这个工具怎么安装。 JetBrains: Essential tools for software developers and teamsJetBrains is a cutting-edge software vendor specializing in the creation of intelligent development tools, …

基于多动作深度强化学习的柔性车间调度研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

JS_函数注释实现调用提示

/** * 函数名称* author 小歪 <123qq.com>* license Apache-2.0* param {Function} func func是函数类型参数* param {number} [duration] 使用[]描述可选值* param {object} options 配置对象options* param {string} options.url 请求地址* param {GET|POST} options.m…

shell脚本工具

shell脚本常用的工具 sortuniqtrcut sort sort是一个以行为单位对文件内容排序的工具&#xff0c;也可以根据不同的数据类型来排序&#xff0c;例如数据和字符的排序就不一样。比较原则是从首字符向后&#xff0c;依次按ASCII码进行比较&#xff0c;最后将他们升序输出 语法格…

Android Studio Flamingo新版本Logcat使用介绍

Android Studio更新后Logcat日志样式大变样了&#xff0c;和之前版本差距很大 下面就介绍下新版本的Logcat&#xff1a; 一、切换设备 可以选择切换当前打印日志的设备 二、日志过滤 和之前版本最大的区别就是这个日志过滤了 1、按包名过滤 //打印当前运行包的日志 packag…

Oracle21c下载与安装教程

Oracle21c数据库下载与安装教程 1. 下载安装包2. 解压3. 点击执行setp.exe4. 选择“创建并配置单实例数据库”&#xff0c;点击下一步5. 选择"桌面类(D)"&#xff0c;点击下一步6. 使用“虚拟账户”&#xff0c;点击下一步7. 典型安装&#xff0c;输入Oracle基目录&a…

fork+父子进程在理解+进程控制

索引 fork父子进程在理解进程控制1.进程终止2.进程等待3.获取进程状态Status fork父子进程在理解 fork之后&#xff0c;内核做了什么&#xff1f; 将分配新的内存块和内核数据结构给子进程将父进程部分数据结构拷贝至子进程添加子进程到系统列表中fork返回开始调度器调度 fo…

【人工智能】VScode中使用ChatGPT之Bito插件

文章目录 前言一、到官网下载VScode软件二、VScode软件安装步骤三、Bito插件下载与VScode软件中的使用四、注册Bito 前言 之前在VScode中使用ChatGPT中文版&#xff0c;后来要注册与收费&#xff0c;可采用一些ChatGPT中文版的替代插件。 后发现BitoAI插件功能同样强大&#…

SpringMVC框架详解

1.MVC概念 MVC 模式代表 Model-View-Controller&#xff08;模型-视图-控制器&#xff09; 模式。这种模式用于应用程序的分层开发。 Model&#xff08;模型&#xff09; - 模型代表一个存取数据的对象或 JAVA POJO&#xff0c;工程中的JavaBean。 View&#xff08;视图&…