vulnhub靶场————Momentum:1

总体目标:

        掌握 单个目标机 渗透思路


本期内容:

靶场地址:Momentum: 1 ~ VulnHubicon-default.png?t=N7T8https://www.vulnhub.com/entry/momentum-1,685/靶场截图:

总体思路:信息搜集        漏洞利用        权限获取        目的达成

具体实现:

  • nmap 主机发现、端口扫描
  • dirsearch 目录扫描
  • metasploit 漏洞利用
  • cookie* (java-AES)解密得到账户,建立ssh,得到普通shell
  • 利用目标机 redis 数据库相关的 本地端口6379,通过读取数据库键值,得到root账户,得到高权限shell
  • 得到两个flag

打靶记录:

信息搜集

  1. 主机发现      目标机IP:164  
    nmap -sP 192.168.178.0/24

  2. 端口扫描    开放22 80端口,对应 ssh web服务

    nmap -sS 192.168.178.164

  3. 目录爆破  发现/css/    /js/    /manual/

    dirsearch -u http://192.168.178.164

漏洞利用

       当访问目录/manual/  ,我发现网页给出了 APACHE 2.4 提示信息。因此,我利用metasploit查找APACHE 2.4 的漏洞并加以利用。

        但是,目标机貌似打了补丁,对应版本的漏洞不存在。接下来,我从目录 /js 入手,发现了新的PHP文件 opus-details.php  ,参数为id 。同时,还对信息进行了AES加密,我认为,用户的输入和会话(cookie)是一定会加密的。这里肯能包含敏感信息的是 cookie,我们接下来就要对 cookie进行解密。

        解密代码如下:


var CryptoJS = require("crypto-js");
//这行代码引入了 CryptoJS 库,使得可以使用其中的加密和解密功能


var decrypted = CryptoJS.AES.decrypt(encrypted, "SecretPassphraseMomentum");
// 解密过程,这里,CryptoJS.AES.decrypt 用于解密 encrypted 变量中的加密文本。第二个参数 "SecretPassphraseMomentum" 是用于解密的密码(或密钥)。encrypted 应该是加密后的密文字符串。

console.log(decrypted.toString(CryptoJS.enc.Utf8));
// 解密后得到的是一个字节数组,需要将其转换为 UTF-8 编码的字符串,以便能够正确地显示原始明文。

        查找后发现,只有访问 opus-details.php 时,才会有cookie产生。这也正好符合我们的猜想。cookie就作为encrypted

{
	"Response Cookies": {
		"cookie": {
			"path": "/opus-details.php",
			"value": "U2FsdGVkX193yTOKOucUbHeDp1Wxd5r7YkoM8daRtj0rjABqGuQ6Mx28N1VbBSZt"
		}
	}
}

        访问网站:在线运行解密代码,得到明文 auxerre-alienum##CryptoJS Example (codepen.io)icon-default.png?t=N7T8https://codepen.io/omararcus/pen/QWwBdmo?editors=0010

拓展:
    “Auxerre” 是法国的一座历史悠久的城市,位于勃艮第地区。它以其丰富的历史和文化遗产著称,包括古老的教堂和博物馆。

    “Alienum” 是拉丁语词汇,意思是“他人的”或“外来的”。在历史和法律文本中,它通常用于描述与自己不同或属于他人的事物。

        建立ssh连接,用户名:auxerre  密码:auxerre-alienum##

ssh auxerre@192.168.178.164
password:auxerre-alienum##

        在/home/auxerre 的user.txt 中 发现flag1:

---------------------------------------
flag : 84157165c30ad34d18945b647ec7f647
---------------------------------------

权限获取

        这里 sudo python提权 无法实现 ,.bash_history 文件也是空的,另一个想法是查看本地端口开放 ss -tuln  ,开放了6379端口

端口 6379 通常与 Redis 数据库服务相关联。Redis 是一个开源的内存数据结构存储系统,广泛用于缓存和消息传递。默认情况下,Redis 监听在端口 6379 上。

        我尝试连接redis数据库,并提取出键值。

redis-cli    //连接redis 数据库
key *        //查询所有的 键
get rootpass //查找出键 rootpass 的值

        得到root账户密码: m0mentum-al1enum##        建立ssh连接,在/root/ 的root.txt文件中 得到第二个flag:

---------------------------------------
Flag : 658ff660fdac0b079ea78238e5996e40
---------------------------------------

总结

        这次打靶,貌似没有使用到 漏洞 ,更侧重于 基础 ,对新手很友好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值