前期信息搜集
主机发现
端口扫描,发现开了 22 80 3306 8080 这几个端口,我的优先级是 80 和 8080 然后是 3306 和 22
再去进一步的进行版本扫描,发现 80 端口是 python 搭建的网络服务但也没其他有用的信息了
进行简单的漏洞扫描,80 这边报了一个 SQL (试了下好像没有)8080 这边报了几个目录
渗透阶段
先看看 80 端口是什么东西,发现是一个类似于投票系统的东西
看了一圈后发现也没有什么可以打的地方,于是决定先注册一个账户看看登录后能不能有什么进一步的信息(顺带提一下 web2py 是一套开发框架有漏洞但是用起来比较麻烦所以先放着)
但是好像是他邮件端口没有配置导致注册不了账户所以暂时搁置 80 端口,如果 8080 这边也没什么东西那就去爆破一下目录(因为是框架开发的会扫出来一堆东西)或者去用 web2py 的洞,打开 8080 发现是一个网站搭建成功的页面,需要进一步的目录爆破看看有什么东西(虽然刚刚 nmap 已经扫出来了几个目录但还是要再扫一遍)。
看到还是扫出来了不少东西的
一个个看下来发现要么是空目录要么隐藏了但是在 debug 目录下发现一个很有价值的东西,一个 shell
经过尝试发现是一个跟正常 shell 没什么区别的 shell 用户是功能用户 www-data 不多废话先弹一个 shell 到kali 上再说,由于直接把 shell 给我们了所以可以直接用 bash 去弹shell,当然也可以上传一个 shell 文件去进行 shell 的反弹,这里我是用 wget 传了一个 shell 到 shell 目录下(当时没想到直接弹,传文件记得要给传上去的文件权限)
得到初始 shell
提权
先看看我们当前用户有没有什么特权,发现可以不用密码得到到 brexit 这个用户的 bash 环境,所以这里我们先换个权限较高的账户
成功得到 brexit 这个用户的 bash 环境
先提升一下 shell 的交互性
#用python模拟一个高交互性的shell python -c 'import pty;pty.spawn("/bin/sh")' #指定一下终端的类型 export TERM=xterm-color
然后先尝试一下常规的提权手段,找一下当前权限可以写的文件,发现我们可以直接操作 /etc/passwd 文件,那我们可以直接模仿 root 账户写入一个账户就可以了
#ban了一些没什么用的路径 find / -writable -type f -not -path "/proc/*" -not -path "/sys/*" -not -path "/var/*" 2>/dev/null
我们先看看 root 账户在 /etc/passwd 里面是怎么写的,发现我们只用去生成一个密码就行了(不会的话直接去 /etc/shadow 里面复制也行)
这里拿 openssl 去生成一个密码
然后拿到生成好的密码去拼一个 root 权限的账户(上面的图片里面的 root 信息是我 kali 里的与靶机上的略微有一些不同)
写入我们创建的用户
尝试去登录但发现系统提示我们没有 /bin/bash 这个文件
这里去看了一下发现是 /bin/sh 于是把最后的那一点改成 /bin/sh 再次写入后登录,提权成功(flag 就不找了)
PS
是一台挺简单的靶机比较考验对目标的优先级排序
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)