Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)

前言

  • 文本是紧随着上文继续进行漏洞挖掘的
  • 上文见:https://blog.csdn.net/qq_41453285/article/details/100880689

一、获取靶机端shell

  • 此处我们上传一个b374k webshell到靶机中,并连接该shell,使用该shell种的一个功能将靶机的shell反弹给我们的kali虚拟机使用
  • b374k webshel的下载与使用,见文章:https://blog.csdn.net/qq_41453285/article/details/101025240

第一步:

  • 使用php命令生成一个b374k webshell文件,文件名为myShell.php
  • 该文件如何生成以及如何使用,见文章:https://blog.csdn.net/qq_41453285/article/details/101025240

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第1张图片

  • 生成之后,使用远程工具将该文件上传到Windows系统中,第二步中需要使用浏览器将该文件上传到靶机中

第二步:

  • 将myShell.php上传到靶机中。因为前一篇文章我们已经将2.php上传到靶机中了,所以此处不需要使用文件上传漏洞来上传文件,直接使用2.php中的功能将myShell.php上传到靶机的根目录中

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第2张图片

  • 上传成功

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第3张图片

  • 成功之后,我们就可以使用浏览器访问该php文件了

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第4张图片

第三步:

在myShell.php的Network状态栏中提供一个反弹shell的功能,当我们在TCP中启动一个监听端口时,使用这个反弹shell的功能就可以成功的将kali与靶机之间建立连接,从而kali获得靶机的shell

  • ①在Kali中监听一个端口,此处我们以5555为例

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第5张图片

  • ②在myShell.php中连接kali的5555端口,建立连接

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第6张图片

  • ③单击run之后,可以看到kali成功连接上靶机端,并获取靶机的shell,此时我们的kali就可以操控靶机了

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第7张图片

二、提取靶机端root权限

  • 上面虽然我们已经获取了靶机端的shell,但是没有获取root权限,下面一步一步获取靶机端的root权限

第一步:

  • 访问靶机端的2.php文件,上传提权辅助脚本LinEnum.sh脚本
  • 该脚本原理见文章:https://blog.csdn.net/qq_41453285/article/details/101104225

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第8张图片

  • 通过kali连接的靶机shell查看,可以看到上传成功

  • 但是由于该脚本没有可执行权限,所以使用chmod命令给予该脚本执行权限

第二步:

  • 运行该脚本文件,命令格式如下:
./LinEnum.sh -r report -e /tmp/ -t

/*
-e参数:将生成的一系列文件存放在何处,此处我们存放在靶机的/tmp目录下
*/

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第9张图片

  • 完成之后,通过2.php查看靶机,可以看到成功生成

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第10张图片

  • 上传成功之后,由于2.php不提供从靶机下载文件的功能,所以我们借助myShell.php将生成的文件先进行打包压缩,然后下载到Windows中

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第11张图片Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第12张图片

  • 必须先压缩才可以下载,因为webshell这种网页程序,不能直接下载目录,只能下载文件

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第13张图片

  • 下载成功之后,解压缩,然后查看里面的内容(这些都是靶机系统的扫描结果)

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第14张图片

  • 我们查看一下靶机系统有哪些suid权限的文件,可以看到靶机中tail命令具有suid权限

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第15张图片

第三步

  • 上面的扫描结果告诉我们,靶机中tail命令具有suid权限,因此我们使用tail命令查看/etc/shadow文件的内容
  • 从图片可以得到root用户的密码经过加密的哈希值为下面这一串的内容
$6$qoj6/JJi$FQe/BZlfZV9VX8m0i25Suih5vi1S//OVNpd.PvEVYcL1bWSrF3XTVTF91n60yUuUMUcP65EgT8HfjLyjGHova/

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第16张图片

第四步

  • 因为root密码使用哈希值加密了,所以我们此处使用kali自带的“john”破解密码的神器来破解这串哈希值,从而拿到root密码
  • 新建一个hash文件,将上面的哈希值输入进去(注意这个地方输入时可能会缺漏,请确定输入的一定是正确的)

  • 使用john的命令开始破解(如果不成功多试几次或者查看hash文件的内容是否错误)

  • 查看破解的内容,成功得到靶机的root密码为john

  • 在远程控制靶机shell处切换root身份,结果提示不是标准的shell

  • 则使用下面的命令开启一个标准shell,格式如下:
python -c "import pty;pty.spawn ('/bin/bash')"

  • 此时切换root,然后输入上面的密码john,可以看到成功获取root权限

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第17张图片

查看Flag

  • 获取root权限之后,进入/root目录查看最终的Flag

Web安全挖掘实战:02---HackInOS靶机实战2(获取shell,root提权)_第18张图片

你可能感兴趣的:(Web安全挖掘实战)