之前在某公众号发现了一个挺不错的靶场平台,觉得对于我这个菜鸟来说是一个很好的机会,于是尝试进行学习!因为其他一些事情的耽搁和自己知识储备的不足(主要),时间大概过了两个月,终于断断续续地完成了第一个靶场,也算是对很多知识点的一个入门了。
记录一下学习过程,作为往后学习的一个经验积累和参考资料。
下载导入三个虚拟机后,根据拓扑与环境,win7(VM1)需要能够访问外网和内网,而win2003(VM2)跟win2008(VM3)则只能内网通信。(虚拟机所有统一密码:hongrisec@2019)
为win7添加一个网络适配器2,网络适配器设置为“NAT模式”用于与主机通信,网络适配器2设置为“仅主机模式”用于内网通信。win2003和win2008则都设为仅主机模式。(VM三种虚拟模式解释参考)。
网络配置完成后的结果为:
①主机无法ping通win7、win2003、win2008(由于win7有设有防火墙,所以所有机器都无法ping通win7)
②win7 可以ping 通主机、win2003、win2008,
③win2003 只能ping 通win2008
④win2008 只能ping 通win2003
1.2.1 对web服务器(win7)进行nmap快速扫描,可以得到服务器开放了80和3306端口,以及端口上的服务及版本。
1.2.2 浏览器访问该地址默认页为phpStudy探针,在底部发现“MySQL数据库连接检测”模块,尝试弱口令登录,得到数据库账号密码 root / root
1.2.3 使用dirb工具对网站进行后台扫描,发现存在phpmyadmin路径以及phpmyadmin路径下存在未授权访问和任意文件读取漏洞。
1.2.4 利用前面已经得到的mysql账号root / root登录phpmyadmin,得到网站使用的是yxcms,网站管理员账号 admin 密码 949ba59abbe56e05(md5解密)
2.1.1 尝试直接执行SQL语句写入木马文件时发现报错
2.1.2 通过开启全局日志的方式写入木马文件,执行以下SQL语句:
set global general_log = on;
set global general_log_file = 'C:/phpStudy/WWW/shelllog.php'; #设置日志位置
2.1.3 通过 show variables like ‘%general%’ 查询日志属性,发现成功执行
2.1.4 执行select “” 成功执行,此时一句话木马会被写入日志文件中。
2.1.5 蚁剑成功连接至主机
3.1 远程连接至Win7服务器主机
3.1.1 查看当前用户权限以及3389端口开放状态,无回显表示3389端口关闭(PS:netstat /? 查看netstat命令用法)
3.1.2 使用以下命令开启3389端口,关闭则将0改为1
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
3.1.3 添加新的隐藏用户并加入至管理员组(PS:添加至组时隐藏账户需要添加$)
3.1.4 此时发现仍然无法远程连接目标服务器,关闭远程服务器的防火墙:
netsh advfirewall set allprofiles state off
3.1.5 使用新建的账户成功远程连接至目的主机
3.2 提取Win7远程服务器主机明文密码
3.2.1 根据系统属性选择相应的Procdump的版本,通过以下命令获取lsass.dmp文件
procdump64.exe -accepteula -ma lsass.exe lsass.dmp
3.2.2 根据系统属性选择相应的mimikatz版本,通过以下命令提取lsass.dmp中的明文信息
①sekurlsa::minidump lsass.dmp
②sekurlsa::logonPasswords full
或者直接在管理员视图下的cmd中运行:
mimikatz.exe “sekurlsa::minidump lsass.dmp” “sekurlsa::logonPasswords full” exit
3.3 通过Win7服务器配置内网正向代理
3.3.1 将tunnel.nosocket.php上传至Win7的web路径下,访问该地址,若出现一下提示则表示脚本正常执行
3.3.2 在本机Win10上cmd执行reGeorgSocksProxy.py :(PS:需要python2环境)
python2 reGeorgSocksProxy.py -p 端口号 -u tunnel.nosocket.php访问路径
3.3.3 配置Proxifier,在Proxifier上方导航栏:配置文件→代理服务器:添加地址为127.0.0.1,端口为reGeorgSocksProxy.py所设端口,类型为socks5
检查连通性
3.3.4 代理规则设置:为去往192.168.52.*网段的目的ip设置代理
3.3.5 能够通过192.168.73.138主机代理访问到win2008内网主机
3.4 使用Goby扫描内网其他主机
3.4.1 为Goby配置代理,若Proxifier创建代理服务器时未启用账号密码,则此处Goby代理规则可省去账号密码,只输入 类型://@ip:端口
3.4.2 通过Goby扫描192.168.52.*网段,得到存活的三台主机,其中两台存在MS17-010(永恒之蓝)和CVE-2019-0708(RDP远程代码执行)漏洞。(143为已获取到权限的win7)
3.5 通过msf对MS17-010进行利用
3.5.1 使用windows/smb/ms17_010_psexec模块,但一直卡在无法创建会话
3.5.2 使用admin/smb/ms17_010_command模块进行命令执行
3.5.3 查看域控为OWA
3.5.4 查看当前主机即为域控
3.5.5 添加用户并加入管理员组(这边踩到了个坑,忘记了创建账户对密码有安全性要求,导致一直没有信息回显,命令执行失败)
3.5.6 开启3389端口(需要对\和”添加反斜杠转义):
set command "REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f"
执行:run
3.5.7 关闭防火墙
3.5.8 通过 mstsc远程连接(注:用户名需要填写”域\用户名”,域名需要注意大小写;若为隐藏账户需添加$)
3.5.9 修改域管理员密码
3.5.10 Win 2003也开启了445端口,对其进行ms17-010测试,发现也存在该漏洞(Goby试了几次都无法检测出…)
3.5.11 开启其3389端口
3.5.12 使用修改过密码的Administrator域管理员登陆
由于学习过程中参考了太多的相关文章、工具等网络资料,且没有连续性地完成本靶场,所以没能够完整地记录所有参考来源,只记录了主要的参考文章,在此感谢网络上所有与本次学习有关的分享文章~ 致谢!