打靶日记--Misdirection
前期信息搜集
主机发现
端口扫描,发现开了 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
是一台挺简单的靶机比较考验对目标的优先级排序
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
目录
最新
- [Meachines] [Hard] OneTwoSeven SFTP-Symlinks+SWP+SSH-forward+apt-get-PE+Tyrant
- 俄罗斯黑客利用微软OAuth机制通过Signal和WhatsApp攻击乌克兰盟国
- 全球40余位CISO联名呼吁OECD与G7加强网络安全法规协同性
- 浏览器为何成为拦截钓鱼攻击的最佳防线:三大核心优势
- 实现另一个“编程语言” - 记第四届伏魔挑战赛恶意脚本免杀
- [Meachines] [Medium] Vault OpenVPN RCE+NC代理横向移动+GPG解密
- 打靶日记--Misdirection
- 新型恶意软件采用独特混淆技术劫持Docker镜像