CMDShell下文件上传的另一绝佳方法分析与应用

  • A+
所属分类:[开发技巧]

     得到一个CMDShell,如何上传木马或者其它文件始终是个话题。在入侵过程中我经常遇到这样的问题:拿到了目标主机的CMDShell(这里不讨论如何拿到CMDShell),首先我会用TFTP上传木马,但失败了,管理员删除了TFTP或者改了69端口。用FTP试试吧,但是等待很长时间却连接失败,后来想想应该是管理员将防火墙的对外FTP请求作了限制!没有办法,手动写一个VBS脚本进行HTTP下载,但有的时候管理员把脚本解析器都删了,郁闷~~
         无奈之时,突然想到一个小工具——exe2bat.exe。以前《黑客X档案》上看到过,不过我从来没试过那种方法。今天我就来学习一下。
         本地打开一个CMD,切换到exe2bat所在目录,输入:exe2bat.exe后回车,查看程序的使用方法:exe2bat.exe input.exe output.bat,不用我多解释了吧?OK,随便拿个程序hack.exe做下试验,把它转换成BAT文件。我用记事本打开生成的BAT文件,发觉前面每一句都是用echo命令把一组十六制数写入文件,就像“@echo e 5020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>sgl”,直到最后,我发现内容如下:

@echo e 5100 ff >>sgl
@echo rcx>>sgl
@echo 5000>>sgl
@echo n tthacker>>sgl
@echo w>>sgl
@echo q>>sgl
@debug<sgl>nul
@del sgl
@ren tthacker hack.exe
@hack.exe
 
结合前面的代码来总体分析一下这个BAT文件的功能。首先把EXE文件转换为十六进制,然后将这些十六进制形式的代码写入批处理中,用批处理中的“>>”符号来写入文件,最后再调用系统的DEBUG在内存中把原先的hack.exe还原出来。这样一来,对原来的文件没有任何的损害。这是我的分析,有不对的地方还望指教。
我们复制记事本里的所有代码,将它粘贴在CMDShell下。这时可以看到一条条代码飞速被执行...

但是我发现执行完后并没有在指定目录里生成hack.exe。后来才知道问题就出在最后两行代码上,应该将“ren tthacker hack.exe”手动输入,而最后一行代码是运行上传的程序。
用DIR命令查看一下是否上传还原成功:

的确是上传成功的!这种在CMDShell下向肉鸡传木马的方法网上早已有了,不过我觉得不仅要会使用,更要懂得分析原理。用此方法来传木马因为没有借助任何工具,所以不需开端口,也没有进程,而且在传输过程不会被杀,不过用DEBUG还原后就另当别论了。看起来似乎有点让人防不甚防,不过我觉得用这种方法传输文件,唯一的缺点就是要依赖DEBUG。所以防御起来就很简单了,只要将DEBUG改名,不推荐删除,万一什么时候要用到就不好了。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
广告也精彩
avatar
广告也精彩

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: