数字取证

一、简介

Forensic investigations

  • 法庭取证调查
  • 事件响应调查
  • 黑客攻击、渗透测试留痕

什么是 forensic 科学

  • 法医的、用于法庭的、辩论学、法医学
  • 为了侦破案件还原事实真相,收集法庭证据的一系列科学方法
  • 参考本地法律要求
  • 实践操作通用原则

CSI:物理取证

  • 指纹、DNA、弹道、血迹
  • 无力取证的理论基础是物质交换原则

本章关注:数字取证/计算机取证

  • 智能设备、计算机、手机平板、loT、有线及无线信道、数据存储

二、通用原则

  • 维护证据完整性
  • 数字取证比物理取证幸运的多,可以有无限数量的拷贝进行分析
  • 数字HASH值验证数据完整性
  • 维护监管链
  • 物理证物保存在证物袋中,每次取出使用严格记录,避免破坏污染
  • 数字证物原始版本写保护,使用拷贝进行分析
  • 标准的操作步骤
  • 证物使用严格按照按照规范流程,即使事后证明流程有误(免责)
  • 取证分析全部过程记录文档
  • 数字取证者的座右铭
  • 不要破坏数据现场(看似简单,实际几乎无法实现)
  • 寄存器、CPU缓存、I/O设备缓存等易失性数据几乎无法获取
  • 系统内存是主要的非易失性存储介质取证对象,不修改无法获取其中数据
  • 非易失性存储介质通常使用完整镜像拷贝保存
  • 正常关机还是直接拔掉电源(数据丢失破坏)
  • 证据搜索
  • 数据
  • 信息
  • 证据
  • 作为安全从业者
  • 通过取证还原黑客入侵的轨迹
  • 作为渗透测试和黑客攻击区分标准
  • 世纪佳缘事件
  • 印象笔记渗透测试事件

三、取证方法

  • 活取证
  • 抓取文件metadata、创建时间线、命令历史、分析日志文件、哈希摘要、转
  • 存内存信息
  • 使用未受感染的干净程序执行取证U盘/网络存储收集到的数据
  • 死取证
  • 关机后制作硬盘镜像、分析镜像(MBR、GPT、LVM)

四、取证工具

1、制作内存镜像

  在win7打开几个软件,双击DumpIt.exe(建议在U盘打开,避免对取证机内存造成影响)即可。

2、Volatility分析内存文件

  • 插件位置(可用--help查看支持的插件):/usr/local/lib/python2.7/dist-packages/volatility/plugins

(1)识别镜像信息(如操作系统等)

(2)查询数据库文件(注册表信息)

vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 hivelist

(3)按虚内存地址查看注册表内容

vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 hivedump -o 0xfffff8a000924010

(4)按具体注册表路径查看键值内容

  • 示例 1:查看用户账号
vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"

  • 示例 2:最后登录的用户
vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"

(5)正在运行的程序、运行过多少次、最后一次运行时间等

vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 userassist

(6)进程列表及物理内存

vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 pslist 

vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 pstree  #以树形显示父子进程关系

  • dump 某一具体进程相关内存信息
vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 memdump -p 2584 -D Temp      #-D指定保存位置

  • 可以直接用 hexeditor 读取分析
hexeditor Temp/2584.dmp 

  • 也可提取字符串分析可疑之处(木马,病毒等)
strings Temp/2584.dmp

  • 加上过滤操作分析

(7)命令历史信息

vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 cmdscan 

(8)网络连接信息

vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 netscan   #可用connscan查看已连接的

(9)IE 历史

vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 iehistory 

(10)提取hash

#volatility  -f  ***.raw/***.dmp  --profile=***  hashdump  -y system虚地址  -s  SAM虚地址
vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw --profile=Win7SP1x64 hashdump -y 0xfffff8a000024010 -s 0xfffff8a00184b160

(11)Timeline 插件

  • 功能:基于时间线从多个位置收集大量系统活动信息,usn只从硬盘读写方面勾画活动情况,timeliner从多个位置收集大量信息活动信息,尽最大能力把这台主机上发生过什么事情、做过什么操作进行勾画。
vol.py -f WIN7-Z9M8R8-1-20230120-023337.raw  --profile=Win7SP1x64  timeliner

3、Volatility外部插件

官方-社区插件项目:https://github.com/volatilityfoundation/community

   将对应插件放置/usr/local/lib/python2.7/dist-packages/volatility/plugins目录下即可,使用方法同内部插件或参见:https://github.com/volatilityfoundation/volatility/wiki/Volatility%20Usage#specifying-additional-plugin-directories

  示例:USN 日志记录插件(下载:https://github.com/tomspencer/volatility/tree/master/usnparser

  • 功能:用于跟踪硬盘内容变化(属性),如文件权限变化,但不记录具体变更的内容,如某个文件中添加的具体内容。
#直接在终端在输出
vol.py -f WIN7-Z9M8R8-1-20230125-140115.raw --profile=Win7SP1x64 usnparser
#输出结果保存个文件
vol.py -f WIN7-Z9M8R8-1-20230125-140115.raw --profile=Win7SP1x64 usnparser --output=csv --output-file=usn.csv 

4、Volatility案例演示

  利用漏洞ms08_067通过msf控制XPSP3(建立meterpreter会话),制作内存镜像进行分析。

(1)分析查询操作系统

(2)查看可疑进程

  木马,病毒等一般都会被隐藏执行,这样很难看出哪个进程有问题。

(3)检查网络连接

  分析可知仅有一个1060进程建立了网络连接,可进一步分析。

(4)获取已建立网络连接进程的具体信息

  示例(如果是查看多个进程就用逗号“,”分隔)

复制代码
┌──(root㉿kali)-[~/Desktop]
└─# vol.py -f XP_SP3-20230121-111153.raw --profile=WinXPSP3x86 getsids -p 1060,1200,1128      #拿1060,1128,1200三个svchost进程对比,更易看出端倪。
Volatility Foundation Volatility Framework 2.6.1
svchost.exe (1060): S-1-5-18 (Local System)
svchost.exe (1060): S-1-5-32-544 (Administrators)
svchost.exe (1060): S-1-1-0 (Everyone)
svchost.exe (1060): S-1-5-11 (Authenticated Users)
svchost.exe (1128): S-1-5-20 (NT Authority)
svchost.exe (1128): S-1-5-20 (NT Authority)
svchost.exe (1128): S-1-1-0 (Everyone)
svchost.exe (1128): S-1-5-32-545 (Users)
svchost.exe (1128): S-1-5-6 (Service)
svchost.exe (1128): S-1-5-11 (Authenticated Users)
svchost.exe (1128): S-1-5-5-0-58102 (Logon Session)
svchost.exe (1128): S-1-2-0 (Local (Users with the ability to log in locally))
svchost.exe (1128): S-1-1-0 (Everyone)
svchost.exe (1128): S-1-5-11 (Authenticated Users)
svchost.exe (1128): S-1-2-0 (Local (Users with the ability to log in locally))
svchost.exe (1128): S-1-5-32-545 (Users)
svchost.exe (1200): S-1-5-19 (NT Authority)
svchost.exe (1200): S-1-5-19 (NT Authority)
svchost.exe (1200): S-1-1-0 (Everyone)
svchost.exe (1200): S-1-5-32-545 (Users)
svchost.exe (1200): S-1-5-6 (Service)
svchost.exe (1200): S-1-5-11 (Authenticated Users)
svchost.exe (1200): S-1-5-5-0-58822 (Logon Session)
svchost.exe (1200): S-1-2-0 (Local (Users with the ability to log in locally))
svchost.exe (1200): S-1-1-0 (Everyone)
svchost.exe (1200): S-1-5-11 (Authenticated Users)
svchost.exe (1200): S-1-2-0 (Local (Users with the ability to log in locally))
svchost.exe (1200): S-1-5-32-545 (Users)
复制代码

  svchost.exe默认不具备system权限,可将1060进程和1200,1128进程相比较,1060很可疑。

(5)查看可疑进程所调用的DLL库

  两种情况,要么dll特别多,要么dll特别少,一种是为了减小体积而调用系统自带的dll实现自身功能,一种是如果全部调系统自身的dll那么兼容性就会变差,不同系统之间的dll文件很多是不一样的,所以直接把所需要的dll加载到恶意程序里,但是程序的体积会特别大。

复制代码
┌──(root㉿kali)-[~/Desktop]
└─# vol.py -f XP_SP3-20230121-111153.raw --profile=WinXPSP3x86 dlllist -p 1060,1200,1128
Volatility Foundation Volatility Framework 2.6.1
************************************************************************
svchost.exe pid:   1060
Command line : C:\WINDOWS\System32\svchost.exe -k netsvcs
Service Pack 3

Base             Size  LoadCount LoadTime                       Path
---------- ---------- ---------- ------------------------------ ----
0x01000000     0x6000     0xffff                                C:\WINDOWS\System32\svchost.exe
0x7c900000    0xaf000     0xffff                                C:\WINDOWS\system32\ntdll.dll
0x7c800000    0xf6000     0xffff                                C:\WINDOWS\system32\kernel32.dll
0x77dd0000    0x9b000     0xffff                                C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000    0x92000     0xffff                                C:\WINDOWS\system32\RPCRT4.dll
0x77fe0000    0x11000     0xffff                                C:\WINDOWS\system32\Secur32.dll
0x5cb70000    0x26000        0x1                                C:\WINDOWS\System32\ShimEng.dll
0x6f880000   0x1ca000        0x1                                C:\WINDOWS\AppPatch\AcGenral.DLL
0x7e410000    0x91000      0x303                                C:\WINDOWS\system32\USER32.dll
0x77f10000    0x49000      0x1b6                                C:\WINDOWS\system32\GDI32.dll
0x76b40000    0x2d000       0x11                                C:\WINDOWS\System32\WINMM.dll
0x774e0000   0x13d000       0xbe                                C:\WINDOWS\system32\ole32.dll
0x77c10000    0x58000      0x322                                C:\WINDOWS\system32\msvcrt.dll
0x77120000    0x8b000       0x86                                C:\WINDOWS\system32\OLEAUT32.dll
0x77be0000    0x15000        0x1                                C:\WINDOWS\System32\MSACM32.dll
0x77c00000     0x8000       0x24                                C:\WINDOWS\system32\VERSION.dll
0x7c9c0000   0x817000       0x12                                C:\WINDOWS\system32\SHELL32.dll
0x77f60000    0x76000       0x49                                C:\WINDOWS\system32\SHLWAPI.dll
0x769c0000    0xb4000       0x12                                C:\WINDOWS\system32\USERENV.dll
0x5ad70000    0x38000        0x4                                C:\WINDOWS\System32\UxTheme.dll
0x773d0000   0x103000        0x9                                C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll
0x5d090000    0x9a000        0x6                                C:\WINDOWS\system32\comctl32.dll
0x77690000    0x21000        0x1                                C:\WINDOWS\System32\NTMARTA.DLL
0x71bf0000    0x13000        0xf                                C:\WINDOWS\System32\SAMLIB.dll
0x76f60000    0x2c000       0x1e                                C:\WINDOWS\system32\WLDAP32.dll
0x00630000   0x2c5000        0x2                                C:\WINDOWS\System32\xpsp2res.dll
0x776e0000    0x23000        0x3                                c:\windows\system32\shsvcs.dll
0x76360000    0x10000       0x16                                C:\WINDOWS\System32\WINSTA.dll
0x5b860000    0x55000       0x70                                C:\WINDOWS\system32\NETAPI32.dll
0x7d4b0000    0x22000        0x5                                c:\windows\system32\dhcpcsvc.dll
0x76f20000    0x27000       0x10                                c:\windows\system32\DNSAPI.dll
0x71ab0000    0x17000       0x6f                                c:\windows\system32\WS2_32.dll
0x71aa0000     0x8000       0x3f                                c:\windows\system32\WS2HELP.dll
0x76d60000    0x19000       0x16                                c:\windows\system32\iphlpapi.dll
0x68000000    0x36000        0x1                                C:\WINDOWS\System32\rsaenh.dll
0x7db10000    0x8c000        0x3                                c:\windows\system32\wzcsvc.dll
0x76e80000     0xe000       0x42                                c:\windows\system32\rtutils.dll
0x76d30000     0x4000        0x5                                c:\windows\system32\WMI.dll
0x77a80000    0x95000       0x32                                C:\WINDOWS\system32\CRYPT32.dll
0x77b20000    0x12000       0x21                                C:\WINDOWS\system32\MSASN1.dll
0x72810000     0xb000        0x4                                c:\windows\system32\EapolQec.dll
0x76b20000    0x11000       0x22                                c:\windows\system32\ATL.DLL
0x726c0000    0x16000        0x4                                c:\windows\system32\QUtil.dll
0x76080000    0x65000       0x21                                c:\windows\system32\MSVCP60.dll
0x478c0000     0xa000        0xd                                c:\windows\system32\dot3api.dll
0x76f50000     0x8000       0x12                                c:\windows\system32\WTSAPI32.dll
0x606b0000   0x10d000        0x5                                c:\windows\system32\ESENT.dll
0x76fd0000    0x7f000        0x8                                C:\WINDOWS\System32\CLBCATQ.DLL
0x77050000    0xc5000       0x17                                C:\WINDOWS\System32\COMRes.dll
0x76b70000    0x27000        0x5                                C:\WINDOWS\System32\rastls.dll
0x754d0000    0x80000        0x6                                C:\WINDOWS\system32\CRYPTUI.dll
0x771b0000    0xaa000        0x9                                C:\WINDOWS\system32\WININET.dll
0x76c30000    0x2e000        0xa                                C:\WINDOWS\system32\WINTRUST.dll
0x76c90000    0x28000        0xa                                C:\WINDOWS\system32\IMAGEHLP.dll
0x76d40000    0x18000        0xa                                C:\WINDOWS\System32\MPRAPI.dll
0x77cc0000    0x32000        0xa                                C:\WINDOWS\System32\ACTIVEDS.dll
0x76e10000    0x25000        0xa                                C:\WINDOWS\System32\adsldpc.dll
0x77920000    0xf3000       0x10                                C:\WINDOWS\System32\SETUPAPI.dll
0x76ee0000    0x3c000        0xe                                C:\WINDOWS\System32\RASAPI32.dll
0x76e90000    0x12000       0x10                                C:\WINDOWS\System32\rasman.dll
0x76eb0000    0x2f000        0xf                                C:\WINDOWS\System32\TAPI32.dll
0x767f0000    0x27000        0x5                                C:\WINDOWS\System32\SCHANNEL.dll
0x723d0000    0x1c000        0x5                                C:\WINDOWS\System32\WinSCard.dll
0x76bf0000     0xb000        0xa                                C:\WINDOWS\System32\PSAPI.DLL
0x76bd0000    0x16000        0x3                                C:\WINDOWS\System32\raschap.dll
0x77c70000    0x24000        0x1                                C:\WINDOWS\system32\msv1_0.dll
0x77300000    0x33000        0x1                                c:\windows\system32\schedsvc.dll
0x767a0000    0x13000        0x9                                c:\windows\system32\NTDSAPI.dll
0x74f50000     0x5000        0x1                                C:\WINDOWS\System32\MSIDLE.DLL
0x708b0000     0xd000        0x1                                c:\windows\system32\audiosrv.dll
0x76e40000    0x23000        0x1                                c:\windows\system32\wkssvc.dll
0x76ce0000    0x12000        0x1                                c:\windows\system32\cryptsvc.dll
0x77b90000    0x32000        0x1                                c:\windows\system32\certcli.dll
0x74f90000     0x9000        0x1                                c:\windows\system32\dmserver.dll
0x74f80000     0x9000        0x1                                c:\windows\system32\ersvc.dll
0x77710000    0x42000        0x3                                c:\windows\system32\es.dll
0x74f40000     0xc000        0x1                                c:\windows\pchealth\helpctr\binaries\pchsvc.dll
0x75090000    0x1a000        0x1                                c:\windows\system32\srvsvc.dll
0x77d00000    0x33000        0x2                                c:\windows\system32\netman.dll
0x76400000   0x1a5000        0x5                                c:\windows\system32\netshell.dll
0x76c00000    0x2e000        0x5                                c:\windows\system32\credui.dll
0x736d0000     0x6000        0x5                                c:\windows\system32\dot3dlg.dll
0x5dca0000    0x28000        0x5                                c:\windows\system32\OneX.DLL
0x745b0000    0x22000        0x5                                c:\windows\system32\eappcfg.dll
0x5dcd0000     0xe000        0x5                                c:\windows\system32\eappprxy.dll
0x73030000    0x10000        0x2                                c:\windows\system32\WZCSAPI.DLL
0x662b0000    0x58000        0x6                                C:\WINDOWS\System32\HNETCFG.DLL
0x722d0000     0xd000        0x1                                c:\windows\system32\sens.dll
0x73d20000     0x8000        0x1                                c:\windows\system32\seclogon.dll
0x7e720000    0xb0000        0x1                                C:\WINDOWS\System32\SXS.DLL
0x76620000   0x13c000        0x4                                C:\WINDOWS\system32\comsvcs.dll
0x75130000    0x14000        0x4                                C:\WINDOWS\system32\colbact.DLL
0x750f0000    0x13000        0x4                                C:\WINDOWS\system32\MTXCLU.DLL
0x71ad0000     0x9000        0x4                                C:\WINDOWS\system32\WSOCK32.dll
0x76d10000    0x12000        0x3                                C:\WINDOWS\System32\CLUSAPI.DLL
0x750b0000    0x12000        0x1                                C:\WINDOWS\System32\RESUTILS.DLL
0x751a0000    0x2e000        0x1                                c:\windows\system32\srsvc.dll
0x74ad0000     0x8000        0x1                                c:\windows\system32\POWRPROF.dll
0x75070000    0x19000        0x1                                c:\windows\system32\trkwks.dll
0x767c0000    0x2c000        0x3                                c:\windows\system32\w32time.dll
0x71a50000    0x3f000        0x5                                C:\WINDOWS\system32\mswsock.dll
0x71a90000     0x8000        0x1                                C:\WINDOWS\System32\wshtcpip.dll
0x59490000    0x28000        0x1                                c:\windows\system32\wbem\wmisvc.dll
0x753e0000    0x6d000        0x1                                C:\WINDOWS\system32\VSSAPI.DLL
0x50000000     0x5000        0x1                                c:\windows\system32\wuauserv.dll
0x50040000   0x119000        0x1                                C:\WINDOWS\system32\wuaueng.dll
0x75260000    0x29000        0x1                                C:\WINDOWS\System32\ADVPACK.dll
0x75150000    0x13000        0x2                                C:\WINDOWS\System32\Cabinet.dll
0x600a0000     0xb000        0x1                                C:\WINDOWS\System32\mspatcha.dll
0x76bb0000     0x5000        0x1                                C:\WINDOWS\System32\sfc.dll
0x76c60000    0x2a000        0x2                                C:\WINDOWS\System32\sfc_os.dll
0x76780000     0x9000        0x1                                C:\WINDOWS\System32\SHFOLDER.dll
0x4d4f0000    0x59000        0x3                                C:\WINDOWS\System32\WINHTTP.dll
0x73000000    0x26000        0x1                                C:\WINDOWS\System32\WINSPOOL.DRV
0x76da0000    0x16000        0x1                                c:\windows\system32\browser.dll
0x66460000    0x55000        0x1                                c:\windows\system32\ipnathlp.dll
0x776c0000    0x12000        0x3                                c:\windows\system32\AUTHZ.dll
0x4c0a0000    0x17000        0x1                                c:\windows\system32\wscsvc.dll
0x7d1e0000   0x2bc000        0x4                                c:\windows\system32\msi.dll
0x762c0000    0x85000        0x1                                C:\WINDOWS\System32\Wbem\wbemcore.dll
0x75310000    0x3f000        0x4                                C:\WINDOWS\System32\Wbem\esscli.dll
0x75290000    0x37000        0xf                                C:\WINDOWS\System32\Wbem\wbemcomn.dll
0x75690000    0x76000        0x8                                C:\WINDOWS\System32\Wbem\FastProx.dll
0x75020000    0x1b000        0x1                                C:\WINDOWS\system32\wbem\wmiutils.dll
0x75200000    0x2f000        0x1                                C:\WINDOWS\system32\wbem\repdrvfs.dll
0x597f0000    0x6d000        0x1                                C:\WINDOWS\system32\wbem\wmiprvsd.dll
0x5f770000     0xc000        0x2                                C:\WINDOWS\system32\NCObjAPI.DLL
0x75390000    0x46000        0x1                                C:\WINDOWS\system32\wbem\wbemess.dll
0x76de0000    0x24000        0x1                                C:\WINDOWS\system32\upnp.dll
0x74f00000     0xc000        0x1                                C:\WINDOWS\system32\SSDPAPI.dll
0x76fc0000     0x6000        0x1                                C:\WINDOWS\System32\rasadhlp.dll
0x77b40000    0x22000        0x1                                C:\WINDOWS\system32\Apphelp.dll
0x5f740000     0xe000        0x1                                C:\WINDOWS\system32\wbem\ncprov.dll
0x755f0000    0x9a000        0x1                                C:\WINDOWS\system32\netcfgx.dll
0x768d0000    0xa4000        0x1                                C:\WINDOWS\System32\RASDLG.dll
0x74ed0000     0xe000        0x1                                C:\WINDOWS\system32\wbem\wbemsvc.dll
0x6fb10000    0x9e000        0x2                                C:\WINDOWS\System32\catsrvut.dll
0x6fbd0000    0x3d000        0x1                                C:\WINDOWS\System32\catsrv.dll
0x61990000     0x9000        0x1                                C:\WINDOWS\System32\MfcSubs.dll
0x71b20000    0x12000        0x2                                C:\WINDOWS\system32\MPR.dll
0x7e1e0000    0xa2000        0x1                                C:\WINDOWS\system32\urlmon.dll
0x71f80000     0x4000        0x1                                C:\WINDOWS\System32\security.dll
************************************************************************
svchost.exe pid:   1128
Command line : C:\WINDOWS\system32\svchost.exe -k NetworkService
Service Pack 3

Base             Size  LoadCount LoadTime                       Path
---------- ---------- ---------- ------------------------------ ----
0x01000000     0x6000     0xffff                                C:\WINDOWS\system32\svchost.exe
0x7c900000    0xaf000     0xffff                                C:\WINDOWS\system32\ntdll.dll
0x7c800000    0xf6000     0xffff                                C:\WINDOWS\system32\kernel32.dll
0x77dd0000    0x9b000     0xffff                                C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000    0x92000     0xffff                                C:\WINDOWS\system32\RPCRT4.dll
0x77fe0000    0x11000     0xffff                                C:\WINDOWS\system32\Secur32.dll
0x5cb70000    0x26000        0x1                                C:\WINDOWS\system32\ShimEng.dll
0x6f880000   0x1ca000        0x1                                C:\WINDOWS\AppPatch\AcGenral.DLL
0x7e410000    0x91000       0x1a                                C:\WINDOWS\system32\USER32.dll
0x77f10000    0x49000       0x14                                C:\WINDOWS\system32\GDI32.dll
0x76b40000    0x2d000        0x2                                C:\WINDOWS\system32\WINMM.dll
0x774e0000   0x13d000        0x2                                C:\WINDOWS\system32\ole32.dll
0x77c10000    0x58000       0x17                                C:\WINDOWS\system32\msvcrt.dll
0x77120000    0x8b000        0x1                                C:\WINDOWS\system32\OLEAUT32.dll
0x77be0000    0x15000        0x1                                C:\WINDOWS\system32\MSACM32.dll
0x77c00000     0x8000        0x1                                C:\WINDOWS\system32\VERSION.dll
0x7c9c0000   0x817000        0x1                                C:\WINDOWS\system32\SHELL32.dll
0x77f60000    0x76000        0x3                                C:\WINDOWS\system32\SHLWAPI.dll
0x769c0000    0xb4000        0x1                                C:\WINDOWS\system32\USERENV.dll
0x5ad70000    0x38000        0x1                                C:\WINDOWS\system32\UxTheme.dll
0x773d0000   0x103000        0x1                                C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll
0x5d090000    0x9a000        0x1                                C:\WINDOWS\system32\comctl32.dll
0x76770000     0xd000        0x1                                c:\windows\system32\dnsrslvr.dll
0x76f20000    0x27000        0x1                                c:\windows\system32\DNSAPI.dll
0x71ab0000    0x17000        0x7                                c:\windows\system32\WS2_32.dll
0x71aa0000     0x8000        0x8                                c:\windows\system32\WS2HELP.dll
0x76d60000    0x19000        0x2                                c:\windows\system32\iphlpapi.dll
0x68000000    0x36000        0x1                                C:\WINDOWS\system32\rsaenh.dll
0x71a50000    0x3f000        0x2                                C:\WINDOWS\system32\mswsock.dll
0x662b0000    0x58000        0x1                                C:\WINDOWS\system32\hnetcfg.dll
0x71a90000     0x8000        0x1                                C:\WINDOWS\System32\wshtcpip.dll
************************************************************************
svchost.exe pid:   1200
Command line : C:\WINDOWS\system32\svchost.exe -k LocalService
Service Pack 3

Base             Size  LoadCount LoadTime                       Path
---------- ---------- ---------- ------------------------------ ----
0x01000000     0x6000     0xffff                                C:\WINDOWS\system32\svchost.exe
0x7c900000    0xaf000     0xffff                                C:\WINDOWS\system32\ntdll.dll
0x7c800000    0xf6000     0xffff                                C:\WINDOWS\system32\kernel32.dll
0x77dd0000    0x9b000     0xffff                                C:\WINDOWS\system32\ADVAPI32.dll
0x77e70000    0x92000     0xffff                                C:\WINDOWS\system32\RPCRT4.dll
0x77fe0000    0x11000     0xffff                                C:\WINDOWS\system32\Secur32.dll
0x5cb70000    0x26000        0x1                                C:\WINDOWS\system32\ShimEng.dll
0x6f880000   0x1ca000        0x1                                C:\WINDOWS\AppPatch\AcGenral.DLL
0x7e410000    0x91000       0x41                                C:\WINDOWS\system32\USER32.dll
0x77f10000    0x49000       0x36                                C:\WINDOWS\system32\GDI32.dll
0x76b40000    0x2d000        0x2                                C:\WINDOWS\system32\WINMM.dll
0x774e0000   0x13d000        0xe                                C:\WINDOWS\system32\ole32.dll
0x77c10000    0x58000       0x53                                C:\WINDOWS\system32\msvcrt.dll
0x77120000    0x8b000        0x7                                C:\WINDOWS\system32\OLEAUT32.dll
0x77be0000    0x15000        0x1                                C:\WINDOWS\system32\MSACM32.dll
0x77c00000     0x8000        0x3                                C:\WINDOWS\system32\VERSION.dll
0x7c9c0000   0x817000        0x3                                C:\WINDOWS\system32\SHELL32.dll
0x77f60000    0x76000        0x7                                C:\WINDOWS\system32\SHLWAPI.dll
0x769c0000    0xb4000        0x1                                C:\WINDOWS\system32\USERENV.dll
0x5ad70000    0x38000        0x1                                C:\WINDOWS\system32\UxTheme.dll
0x773d0000   0x103000        0x2                                C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\comctl32.dll
0x5d090000    0x9a000        0x1                                C:\WINDOWS\system32\comctl32.dll
0x77690000    0x21000        0x1                                C:\WINDOWS\system32\NTMARTA.DLL
0x71bf0000    0x13000        0x1                                C:\WINDOWS\system32\SAMLIB.dll
0x76f60000    0x2c000        0x1                                C:\WINDOWS\system32\WLDAP32.dll
0x00630000   0x2c5000        0x1                                C:\WINDOWS\system32\xpsp2res.dll
0x74c40000     0x6000        0x1                                c:\windows\system32\lmhsvc.dll
0x76d60000    0x19000        0x2                                c:\windows\system32\iphlpapi.dll
0x71ab0000    0x17000       0x24                                c:\windows\system32\WS2_32.dll
0x71aa0000     0x8000       0x25                                c:\windows\system32\WS2HELP.dll
0x5a6e0000    0x15000        0x1                                c:\windows\system32\webclnt.dll
0x771b0000    0xaa000        0x1                                C:\WINDOWS\system32\WININET.dll
0x77a80000    0x95000        0x1                                C:\WINDOWS\system32\CRYPT32.dll
0x77b20000    0x12000        0x1                                C:\WINDOWS\system32\MSASN1.dll
0x71ad0000     0x9000        0x1                                C:\WINDOWS\system32\wsock32.dll
0x76af0000    0x12000        0x1                                c:\windows\system32\regsvc.dll
0x765e0000    0x14000        0x1                                c:\windows\system32\ssdpsrv.dll
0x662b0000    0x58000        0x3                                C:\WINDOWS\system32\hnetcfg.dll
0x76fd0000    0x7f000        0x2                                C:\WINDOWS\system32\CLBCATQ.DLL
0x77050000    0xc5000        0x2                                C:\WINDOWS\system32\COMRes.dll
0x71a50000    0x3f000        0x2                                C:\WINDOWS\system32\mswsock.dll
0x71a90000     0x8000        0x1                                C:\WINDOWS\System32\wshtcpip.dll
View Code
复制代码

  对比知,1060调用的DLL远超过了1200,1128进程(本应差不多),1060进程“可能”已被感染

(6)利用自身插件malfind检测可疑进程

复制代码
┌──(root㉿kali)-[~/Desktop]
└─# vol.py -f XP_SP3-20230121-111153.raw --profile=WinXPSP3x86 malfind -p 1060,1200,1128 -D Temp 
Volatility Foundation Volatility Framework 2.6.1
Process: svchost.exe Pid: 1060 Address: 0x14e0000
Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE
Flags: CommitCharge: 32, MemCommit: 1, PrivateMemory: 1, Protection: 6

0x00000000014e0000  4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00   MZ..............
0x00000000014e0010  b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00   ........@.......
0x00000000014e0020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x00000000014e0030  00 00 00 00 00 00 00 00 00 00 00 00 f0 00 00 00   ................

0x00000000014e0000 4d               DEC EBP
0x00000000014e0001 5a               POP EDX
0x00000000014e0002 90               NOP
0x00000000014e0003 0003             ADD [EBX], AL
0x00000000014e0005 0000             ADD [EAX], AL
0x00000000014e0007 000400           ADD [EAX+EAX], AL
0x00000000014e000a 0000             ADD [EAX], AL
0x00000000014e000c ff               DB 0xff
0x00000000014e000d ff00             INC DWORD [EAX]
0x00000000014e000f 00b800000000     ADD [EAX+0x0], BH
0x00000000014e0015 0000             ADD [EAX], AL
0x00000000014e0017 004000           ADD [EAX+0x0], AL
0x00000000014e001a 0000             ADD [EAX], AL
0x00000000014e001c 0000             ADD [EAX], AL
0x00000000014e001e 0000             ADD [EAX], AL
0x00000000014e0020 0000             ADD [EAX], AL
0x00000000014e0022 0000             ADD [EAX], AL
0x00000000014e0024 0000             ADD [EAX], AL
0x00000000014e0026 0000             ADD [EAX], AL
0x00000000014e0028 0000             ADD [EAX], AL
0x00000000014e002a 0000             ADD [EAX], AL
0x00000000014e002c 0000             ADD [EAX], AL
0x00000000014e002e 0000             ADD [EAX], AL
0x00000000014e0030 0000             ADD [EAX], AL
0x00000000014e0032 0000             ADD [EAX], AL
0x00000000014e0034 0000             ADD [EAX], AL
0x00000000014e0036 0000             ADD [EAX], AL
0x00000000014e0038 0000             ADD [EAX], AL
0x00000000014e003a 0000             ADD [EAX], AL
0x00000000014e003c f00000           LOCK ADD [EAX], AL
0x00000000014e003f 00               DB 0x0

Process: svchost.exe Pid: 1060 Address: 0x1990000
Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE
Flags: CommitCharge: 43, MemCommit: 1, PrivateMemory: 1, Protection: 6

0x0000000001990000  4d 5a e8 00 00 00 00 5b 52 45 55 89 e5 81 c3 56   MZ.....[REU....V
0x0000000001990010  45 00 00 ff d3 81 c3 a3 62 02 00 89 3b 53 6a 04   E.......b...;Sj.
0x0000000001990020  50 ff d0 00 00 00 00 00 00 00 00 00 00 00 00 00   P...............
0x0000000001990030  00 00 00 00 00 00 00 00 00 00 00 00 f0 00 00 00   ................

0x0000000001990000 4d               DEC EBP
0x0000000001990001 5a               POP EDX
0x0000000001990002 e800000000       CALL 0x1990007
0x0000000001990007 5b               POP EBX
0x0000000001990008 52               PUSH EDX
0x0000000001990009 45               INC EBP
0x000000000199000a 55               PUSH EBP
0x000000000199000b 89e5             MOV EBP, ESP
0x000000000199000d 81c356450000     ADD EBX, 0x4556
0x0000000001990013 ffd3             CALL EBX
0x0000000001990015 81c3a3620200     ADD EBX, 0x262a3
0x000000000199001b 893b             MOV [EBX], EDI
0x000000000199001d 53               PUSH EBX
0x000000000199001e 6a04             PUSH 0x4
0x0000000001990020 50               PUSH EAX
0x0000000001990021 ffd0             CALL EAX
0x0000000001990023 0000             ADD [EAX], AL
0x0000000001990025 0000             ADD [EAX], AL
0x0000000001990027 0000             ADD [EAX], AL
0x0000000001990029 0000             ADD [EAX], AL
0x000000000199002b 0000             ADD [EAX], AL
0x000000000199002d 0000             ADD [EAX], AL
0x000000000199002f 0000             ADD [EAX], AL
0x0000000001990031 0000             ADD [EAX], AL
0x0000000001990033 0000             ADD [EAX], AL
0x0000000001990035 0000             ADD [EAX], AL
0x0000000001990037 0000             ADD [EAX], AL
0x0000000001990039 0000             ADD [EAX], AL
0x000000000199003b 00f0             ADD AL, DH
0x000000000199003d 0000             ADD [EAX], AL
0x000000000199003f 00               DB 0x0

Process: svchost.exe Pid: 1060 Address: 0x1a50000
Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE
Flags: CommitCharge: 49, MemCommit: 1, PrivateMemory: 1, Protection: 6

0x0000000001a50000  4d 5a e8 00 00 00 00 5b 52 45 55 89 e5 81 c3 56   MZ.....[REU....V
0x0000000001a50010  45 00 00 ff d3 81 c3 a3 62 02 00 89 3b 53 6a 04   E.......b...;Sj.
0x0000000001a50020  50 ff d0 00 00 00 00 00 00 00 00 00 00 00 00 00   P...............
0x0000000001a50030  00 00 00 00 00 00 00 00 00 00 00 00 f0 00 00 00   ................

0x0000000001a50000 4d               DEC EBP
0x0000000001a50001 5a               POP EDX
0x0000000001a50002 e800000000       CALL 0x1a50007
0x0000000001a50007 5b               POP EBX
0x0000000001a50008 52               PUSH EDX
0x0000000001a50009 45               INC EBP
0x0000000001a5000a 55               PUSH EBP
0x0000000001a5000b 89e5             MOV EBP, ESP
0x0000000001a5000d 81c356450000     ADD EBX, 0x4556
0x0000000001a50013 ffd3             CALL EBX
0x0000000001a50015 81c3a3620200     ADD EBX, 0x262a3
0x0000000001a5001b 893b             MOV [EBX], EDI
0x0000000001a5001d 53               PUSH EBX
0x0000000001a5001e 6a04             PUSH 0x4
0x0000000001a50020 50               PUSH EAX
0x0000000001a50021 ffd0             CALL EAX
0x0000000001a50023 0000             ADD [EAX], AL
0x0000000001a50025 0000             ADD [EAX], AL
0x0000000001a50027 0000             ADD [EAX], AL
0x0000000001a50029 0000             ADD [EAX], AL
0x0000000001a5002b 0000             ADD [EAX], AL
0x0000000001a5002d 0000             ADD [EAX], AL
0x0000000001a5002f 0000             ADD [EAX], AL
0x0000000001a50031 0000             ADD [EAX], AL
0x0000000001a50033 0000             ADD [EAX], AL
0x0000000001a50035 0000             ADD [EAX], AL
0x0000000001a50037 0000             ADD [EAX], AL
0x0000000001a50039 0000             ADD [EAX], AL
0x0000000001a5003b 00f0             ADD AL, DH
0x0000000001a5003d 0000             ADD [EAX], AL
0x0000000001a5003f 00               DB 0x0

Process: svchost.exe Pid: 1060 Address: 0x2430000
Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE
Flags: CommitCharge: 95, MemCommit: 1, PrivateMemory: 1, Protection: 6

0x0000000002430000  4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00   MZ..............
0x0000000002430010  b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00   ........@.......
0x0000000002430020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0x0000000002430030  00 00 00 00 00 00 00 00 00 00 00 00 f8 00 00 00   ................

0x0000000002430000 4d               DEC EBP
0x0000000002430001 5a               POP EDX
0x0000000002430002 90               NOP
0x0000000002430003 0003             ADD [EBX], AL
0x0000000002430005 0000             ADD [EAX], AL
0x0000000002430007 000400           ADD [EAX+EAX], AL
0x000000000243000a 0000             ADD [EAX], AL
0x000000000243000c ff               DB 0xff
0x000000000243000d ff00             INC DWORD [EAX]
0x000000000243000f 00b800000000     ADD [EAX+0x0], BH
0x0000000002430015 0000             ADD [EAX], AL
0x0000000002430017 004000           ADD [EAX+0x0], AL
0x000000000243001a 0000             ADD [EAX], AL
0x000000000243001c 0000             ADD [EAX], AL
0x000000000243001e 0000             ADD [EAX], AL
0x0000000002430020 0000             ADD [EAX], AL
0x0000000002430022 0000             ADD [EAX], AL
0x0000000002430024 0000             ADD [EAX], AL
0x0000000002430026 0000             ADD [EAX], AL
0x0000000002430028 0000             ADD [EAX], AL
0x000000000243002a 0000             ADD [EAX], AL
0x000000000243002c 0000             ADD [EAX], AL
0x000000000243002e 0000             ADD [EAX], AL
0x0000000002430030 0000             ADD [EAX], AL
0x0000000002430032 0000             ADD [EAX], AL
0x0000000002430034 0000             ADD [EAX], AL
0x0000000002430036 0000             ADD [EAX], AL
0x0000000002430038 0000             ADD [EAX], AL
0x000000000243003a 0000             ADD [EAX], AL
0x000000000243003c f8               CLC
0x000000000243003d 0000             ADD [EAX], AL
0x000000000243003f 00               DB 0x0

Process: svchost.exe Pid: 1060 Address: 0x5350000
Vad Tag: VadS Protection: PAGE_EXECUTE_READWRITE
Flags: CommitCharge: 4113, PrivateMemory: 1, Protection: 6

0x0000000005350000  c8 00 00 00 4a 01 00 00 ff ee ff ee 00 10 04 00   ....J...........
0x0000000005350010  00 00 00 00 00 fe 00 00 00 00 10 00 00 20 00 00   ................
0x0000000005350020  00 02 00 00 00 20 00 00 30 21 20 00 ff ef fd 7f   ........0!......
0x0000000005350030  1c 00 08 06 00 00 00 00 00 00 00 00 00 00 00 00   ................

0x0000000005350000 c8000000         ENTER 0x0, 0x0
0x0000000005350004 4a               DEC EDX
0x0000000005350005 0100             ADD [EAX], EAX
0x0000000005350007 00ff             ADD BH, BH
0x0000000005350009 ee               OUT DX, AL
0x000000000535000a ff               DB 0xff
0x000000000535000b ee               OUT DX, AL
0x000000000535000c 0010             ADD [EAX], DL
0x000000000535000e 0400             ADD AL, 0x0
0x0000000005350010 0000             ADD [EAX], AL
0x0000000005350012 0000             ADD [EAX], AL
0x0000000005350014 00fe             ADD DH, BH
0x0000000005350016 0000             ADD [EAX], AL
0x0000000005350018 0000             ADD [EAX], AL
0x000000000535001a 1000             ADC [EAX], AL
0x000000000535001c 0020             ADD [EAX], AH
0x000000000535001e 0000             ADD [EAX], AL
0x0000000005350020 0002             ADD [EDX], AL
0x0000000005350022 0000             ADD [EAX], AL
0x0000000005350024 0020             ADD [EAX], AH
0x0000000005350026 0000             ADD [EAX], AL
0x0000000005350028 3021             XOR [ECX], AH
0x000000000535002a 2000             AND [EAX], AL
0x000000000535002c ff               DB 0xff
0x000000000535002d ef               OUT DX, EAX
0x000000000535002e fd               STD
0x000000000535002f 7f1c             JG 0x535004d
0x0000000005350031 0008             ADD [EAX], CL
0x0000000005350033 06               PUSH ES
0x0000000005350034 0000             ADD [EAX], AL
0x0000000005350036 0000             ADD [EAX], AL
0x0000000005350038 0000             ADD [EAX], AL
0x000000000535003a 0000             ADD [EAX], AL
0x000000000535003c 0000             ADD [EAX], AL
0x000000000535003e 0000             ADD [EAX], AL
View Code
复制代码

  只发现1060进程是可疑的。

(7)利用查毒软件|在线查杀网站检测dump下来的进程

  刚拖到主机,火绒就查杀了。

  virustotal.com的检测结果

  综上:1060进程已被感染!

5、内存取证发现恶意软件的示例镜像

Volatility开发者提供可直接下载下来分析

五、活取证

1、从内存还原文字

  procdump程序:https://technet.microsoft.com/en-us/sysinternals/dd996900.aspx

  strings程序windows版:https://technet.microsoft.com/en-us/sysinternals/bb897439.aspx

  procdump -ma xxx.exe xxx.dmp   #将某一个进程的所有相关文件保存下来,m内存,a->all

  strings只能查看英文字符查看连续三个以上的ascii字符,适用于很多种文件(word、excel、powerpoint),或者是将邮件进程dump下来然后进行读取就能查看内容,也就是说适用于各种文字处理工具

  可能存在某些文字记录程序中包含了用户的账户密码,就可以dump内存查看

  strings xxx.dmp > xxx.txt(使用查找工具查找文件中包含的文字)

  示例:

2、从内存还原图片

  画图截屏进行图片操作的时候dump内存内容中应该是含有图片的数据的,那能不能使用方法还原图片 (可以一定程度上进行还原、并不能原模原样还原)截图之后进行保存然后使用画图工具进行编辑、进程中就有画图进程 procdump -ma mspaint.exe mspaint.dmp 将内存保存为dmp文件

  示例:

  远程桌面连接使用远程桌面尝试连接一台机器远程连接的所有操作都是在被操作的机器上产生的,其所做的只是把操作的图像传回自己的机器,那么有图像信息或许就可以使用工具将图像进行还原产生一个新的进程mstsc.exe。

  在kali中使用gimp(相当于Windows下的PS软件,需自行安装)还原

  安装gimp:apt-get install gimp(建议用代理快点)

  将mspaint.dmp后缀变为data,接着用gimp打开调参还原。

mv mspaint.dmp mspaint.data

   左边是原图,右侧是gimp调出来的,几乎不能百分百还原,但能看个大概。

3、从内存还原明文密码

  存放密码相关的进程叫做lsass.exe进程,每台windows电脑上都有,system权限,该进程存放windows明文密码。

  procdump -ma lsass.exe lsass.dmp

mimikatz.exe
sekularlsa::minidump lsass.dmp
sekular::logonPasswords

示例:

  注意,以管理员身份打开cmd,否则lsass.exe打不开。

  利用mimikatz提取明文密码(mimikatz具体用法参见提权部分的介绍)

  利用DumpIt + volatility外部插件mimikatz提取明文密码(https://github.com/cofarmer/volatility_mimikatz/blob/master/mimikatz.py

  将mimikatz.py复制到/usr/local/lib/python2.7/dist-packages/volatility/plugins目录下

vol.py -f WIN7-Z9M8R8-1-20230125-140115.raw --profile=Win7SP1x64 mimikatz

可能的报错

……
Failed to import volatility.plugins.mimikatz (ImportError: No module named construct)
……

  使用 pip2 install construct 安装即可,若pip2安装报错,则先去https://pypi.tuna.tsinghua.edu.cn/simple/construct/将包下载下来,再安装(如图)。

六、死取证

1、硬盘镜像

  使用kali光盘启动目标计算机,用工具给机器硬盘做一个镜像,镜像文件需要有一个足够大的空间来储存,u盘或者外挂硬盘

  镜像制作工具

  • Dc3dd(命令行)
  • Dcfldd(命令行)
  • guymager(图形界面)

  guymager演示

  计算机取证技术参考数据集合(电子取证镜像文件):https://cfreds.nist.gov/all/DFIR_AB/ForensicsImageTestimagehttps://dftt.sourceforge.net/

2、取证工具

(1)DFF (Digital Forensics Framework)

(2)Autopsy(推荐)

webserver+浏览器客户端架构

注意:导入内容与模式

  • Disk(整个硬盘)
  • Partition(硬盘分区)
  • move:将整个镜像文件加载到autopsy中成为evidence locker(证据locker,被写入的文件无法再被更改),如果过程中突然断电可能对文件造成损坏
  • copy(建议):复制一份然后加载到autopsy中
  • symlink:链接模式,如果源文件移动可能发生错误

  Autopsy中文使用教程(用户版):https://www.wangan.com/docs/autopsy

  Autopsy分析示例:https://juejin.cn/post/6844903791095971847

(3)Extundelete

适用于ext3、ext4文件系统的反删除工具

Extundelete [device -file] –restore-file [restore location]

关于ext系统:多用于linux下的一种日志型文件系统,如果在其中删除了文件,可以还原对应文件

使用方法是 Extundelete 设备名(例如/dev/sda) –restore-file 恢复文件路径

(4)iPhone Backup Analyzer

  能分析iTunes生成的iPhone手机备份文件、并非image文件

(5)Foremost(美国政府开发)

  从内存dump中恢复文档图片(并不是图像,而是原来就存在磁盘中某个位置中的某个图片加载进内存),支持raw、dd(硬盘镜像格式)、iso(光盘镜像格式)、vmem(虚拟内存格式)、doc等格式。

  kali需要自己重新安装一下这个程序

  使用命令:foremost -t jpeg,gif,png,doc -i xx.raw

  处理完成之后会在当前目录下生成一个output文件夹 在该文件夹内存放着提取到的所有图片文件,以及一个对所有文件详细信息进行描述的txt文档

  示例:

foremost  -t jpeg,gif,png,doc -i WIN7-Z9M8R8-1-20230125-140115.raw 

posted @   z9m8r8  阅读(183)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示