江西省住房城乡建设厅网站,优秀软文案例,企业网络营销业务,怎么建设公司网站目录
写在开头
第一步#xff1a;主机发现和端口扫描
第二步#xff1a;Web渗透
第三步#xff1a;获取初步立足点并搜集信息
第四步#xff1a;软连接劫持sudo提权
总结与思考
写在开头 本篇博客在自己的理解之上根据大佬红队笔记的视频进行打靶#xff0c;详述了…目录
写在开头
第一步主机发现和端口扫描
第二步Web渗透
第三步获取初步立足点并搜集信息
第四步软连接劫持sudo提权
总结与思考
写在开头 本篇博客在自己的理解之上根据大佬红队笔记的视频进行打靶详述了打靶的每一步思路并非复现writeup读者耐心看完定会有所收获。MERCURY这个靶机的难度也不高并没有对特殊漏洞的利用主要的难点还是对渗透思路的理解与探索。涉及到的知识点比较常规但也有许多对渗透测试的启发比如通过故意的错误尝试获取报错信息结合开发习惯探索常见漏洞SQL注入0敏感信息的查找等。红队笔记的打靶视频详见
「红队笔记」靶机精讲THE PLANETS MERCURY - 标准攻击链明快利落渗透样板机happy pentesting_哔哩哔哩_bilibili 本文针对的靶机源于vulnhub详情见
The Planets: Mercury ~ VulnHub 下载链接见
https://download.vulnhub.com/theplanets/Mercury.ova THE PLANETS: MERCURY靶机的目标也是拿到两个flag。注意这个靶机是VirtualBox靶机用VMware打开可能会有网络问题。这里别忘了将VirtualBox靶机和kali都设定为nat模式并能保证kali和靶机处于同一内网。具体方法可以见上一篇博客
红队打靶Fowsniff打靶思路详解vulnhub-CSDN博客 靶机启动后界面如下 第一步主机发现和端口扫描 非常常规的思路这里不细讲了。我kali的ip是10.10.10.5主机发现靶机的ip是10.10.10.6扫描出开放的TCP端口仅有22和8080具体命令如下
nmap -sn 10.10.10.0/24 //主机发现
nmap -sT --min-rate 10000 10.10.10.6 //TCP全端口扫描
nmap -sT -sC -sV -O -p22,8080 10.10.10.6 //用默认脚本扫描服务信息、操作系统版本
nmap --scriptvuln -p22,8080 10.10.10.6 //漏洞脚本扫描
nmap -sU --top-ports 20 10.10.10.6 //探测UDP最常见的20个端口的开放情况 发现仅开放了22和80两个端口UDP端口在渗透优先级中排列靠后最后再考虑。 详细信息扫描的结果很多发现8080跑的并不是常见的web服务器而是和http代理相关。这里看不出什么有用再回看。 其他没有什么有用信息了。
第二步Web渗透 从8080端口先入手毕竟22端口没什么搞头。先尝试浏览器访问靶机ip:8080得到的界面如下 结果就一句话提示我们这个站点正在开发中建议我们稍后再访问。源代码也没东西整个目录爆破吧
gobuster dir -u http://10.10.10.6:8080 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt目录爆破没啥收获难道就没有什么突破点了吗干脆我们随便尝试一个目录看看有没有报错信息比如/aaa大概率是没有这个目录的如下图 果然404了但报错页面回显了非常关键的信息存在一个目录mercuryfacts这种特殊名字的目录一般是无法通过目录爆破找到的字典大小是有限的尝试访问目录mercuryfacts 这应该是重大突破点这个界面有两个跳转链接我们分别点开看看先看Load a fact这个链接 就一行的内容。好像是列出了关于水星的第一条科学事实水星没有任何卫星和环状卫星带。注意观察url中有个目录/1/同时这一行也给出了Fact id: 1这样的字段感觉很可能是数据库查询我们可以尝试把url中的1改成234等待如下 第二条也是类似的信息如上图一直到第10条好像没有信息了 大概了解了回到刚刚的界面看看See List中有没有什么启发 这段话大概介绍了开发者尚未完成的工作未来要做的事情添加CSS、使用users表实现身份认证、使用django的框架代替mysql直接的调用等待。第二条和第三条其实都暗示了我们存在mysql数据库查询同时可能还是直接的拼接查询存在sql注入。因此我们回到刚刚的有关水星科学事实的页面再url中添加单引号尝试验证SQL注入是否存在发现果然报错了 说明确实存在SQL注入这里直接用sqlmap吧先查看有哪些库
sqlmap -u http://10.10.10.6:8080/mercuryfacts/1 --dbms mysql --dbs 发现有mercury数据库干脆直接一键拖库把里面的表直接dump出来
sqlmap -u http://10.10.10.6:8080/mercuryfacts/1 --dbms mysql -D mercury --dump 核心除了刚刚水星的知识之外还有一个用户密码表存在明文的密码如下 ---------------------------------------------- | id | password | username | ---------------------------------------------- | 1 | johnny1987 | john | | 2 | lovemykids111 | laura | | 3 | lovemybeer111 | sam | | 4 | mercuryisthesizeof0.056Earths | webmaster | ---------------------------------------------- 第三步获取初步立足点并搜集信息 这很可能就是ssh的登录密码那么上面四个账号根据名字判断我们最希望得到的账号肯定是webmaster尝试用账号webmaster密码mercuryisthesizeof0.056Earths登录ssh试试
ssh mercury10.10.10.6
输入密码mercuryisthesizeof0.056Earths 登录成功了在当前目录查找用户的flag如下 家目录还有个mercury_prog可以进入查找一下 发现notes.txt很可能又是凭据信息看起来像base64编码解码试试先对第一条webmaster进行解码 发现果然是webmaster的ssh密码那么再对第二条linuxmaster进行base64解码
echo bWVyY3VyeW1lYW5kaWFtZXRlcmlzNDg4MGttCg | base64 -d 得到凭据 linuxmaster mercuryisthesizeof0.056Earths 很可能linuxmaster是比webmaster更高权限的用户因此我们尝试切换账号
su linuxmaster
输入密码mercuryisthesizeof0.056Earths成功切换
第四步软连接劫持sudo提权 获取linuxmaster的shell后尝试sudo -l查看可以sudo运行的可执行文件发现有一个check_syslog.sh但需要设置环境变量 可以以root运行check_syslog.sh先查看一下这个文件是啥 就是个读取10条日志记录的命令那我们可以直接通过软连接的方式把tail指令戒尺掉。相当于在当前目录建立软连接把tail指向/bin/vi然后通过sudo vi的方式进行提权。首先建立软连接劫持tail指令
ln -s /bin/vi tail然后修改环境变量把当前目录.设置到环境变量的最靠前的位置也就是说此时系统寻找指令时首先现在当前目录寻找我们可以先看一下环境变量 然后把当前目录.加到这个环境变量最靠前的位置
export PATH.:$PATH 接下来只要sudo运行/usr/bin/check_syslog.sh即可运行时tail指令相当于会被替换为vi指令我们就可以通过sudo vi的方法提权了。不过此处要设置路径变量为$PATH
sudo --preserve-envPATH /usr/bin/check_syslog.sh果然进入了vi编辑器的页面我们只要输入冒号:即可输入指令输入!bash表示执行系统命令启动bash即可提权: 如下图所示提权成功 第二个flag在root目录下 至此打靶完成 总结一下提权的思路sudo -l发现能够以root权限执行脚本/usr/bin/check_syslog.sh而这个脚本内部使用了tail指令我们对tail指令的提权方法并不熟悉但我们对sudo vi方法的提权很熟悉。因此可以通过软连接对tail做一个劫持在当前目录比如linuxmaster的家目录建立一个指向/bin/vi的软连接并修改环境变量让当前目录变为寻找指令的最优先位置这样当运行tail的时候在当前目录就相当于运行这个软连接也就是运行vi在sudo提权时添加路径变量后再通过sudo vi的方法即可提权了以root权限执行系统命令启动bash则会提权。 总结与思考 这个靶机感觉虽然没有什么特别高深的漏洞利用但却体现了渗透的常见思维方式。体现了完整的渗透思路与路径。打靶过程有一种按图索骥的感觉非常有逻辑的思考。当我们目录爆破没什么思路的时候可以在url中尝试错误的路径尝试是否有报错的回显提示信息。特别关注url的信息可能存在遍历和sql注入此外本文提权的思路与逻辑也需要读者深入理解。最后总结一下打靶过程 1.主机发现和端口扫描发现8080、ssh。 2.Web渗透访问8080无信息目录爆破无果尝试错误路径报错404但回显了目录mercuryfacts访问发现有界面一番试探后发现了sql注入拿到了ssh凭据。 3.获取初步立足点并搜集信息登录webmaster的ssh一番搜索发现了更高级的账户linuxmaster切换成功。 4.sudo提权sudo -l发现以root权限执行的脚本其中有tail指令用软连接的方式劫持指向vi通过sudo vi方法提权。 靶机不难但是还是有一些知识点的特别是Web目录爆破之后无果该怎么进一步探索尝试报错是非常关键的做法。 到此这个靶机就讲解完毕了。打完这个靶机感觉还是挺有收获的有很多新的知识点。靶机不难总结不易也有很多自己的思考希望读者能够点赞关注多多支持学渗透还是要实操呀。如果读者有什么打靶的问题也欢迎评论区留言指出我一定知无不言