当前位置: 首页 > news >正文

Vulnhub中的Lupinone

# 前言

        新的一周,感谢师傅们的支持鼓励,感谢大佬们的讲解,另外,久坐无益,起来活动活动。继续卷起来!

# 信息收集

        很意外,这回也没有改网卡。于是思路回归到扫描IP上。

        nmap扫描一下端口。

        发现有22,80两个端口,进去看看。

        发现是个图片。联想到之前的图片隐写,用binwalk -e 进行拆分,在折腾了一圈之后发现是我想多了。

        

        binwalk解压出来两个文件,分别是29,29.zlib。

        29乱码,用hexdump -c 29.zlib查看29.zlib文件发现有个78 da 开头的文件。

        利用py解码发现也行不通。

        思路断了,于是重新梳理一下现有的线索,目前已知IP和端口,应该扫描一下后台试试。

        存在robots.txt,那还是要看看的。

        发现一个disallow,路径是/~myfiles,拼接上发现:

        哈???

        顺手查查源代码。

        你能做到,继续尝试。???嗯???嗯????好像哪里不太对。问了大佬,大佬说fuzz一下。

ffuf -w /usr/share/wfuzz/wordlist/general/common.txt -u http://192.168.117.159/~FUZZ

        其中,-w是指定使用的字典,-u是url,为什么会有~呢?因为前面的目录是~myfile,FUZZ是用来暴破的位置。 

        扫完发现一个secret,拼接上是http://192.168.117.159/~secret

        

        它说啊,它要创建ssh私钥文件,这个文件被藏起来了,解开之后的密码用于认证。你最好的朋友icex64。谁最好的朋友叫这名啊,还x64,咋不x86呢?

        既然是个文件,在经过不断尝试之后,发现确实存在一个.txt的文件,打开发现是加密的。

ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-mdeium.txt -u http://192.168.117.159/~secret/.FUZZ.txt

        url拼上之后是http://192.168.117.159/~secret/.mysecret.txt

        访问之后发现这段加密的方式是base58。        //我也是第一次听说

echo '要解码的字符' | base58 --decode

 

# 渗透测试

        使用vim 把这一串复制到一个新建的文档里并命名为key。

        利用kali自带的python脚本转换成keyhash。

 python2 /usr/share/john/ssh2john.py key > keyhash   

        瞅一眼里面是什么样子。        //单纯好奇,反正也看不懂。

john keyhash --wordlist=/usr/share/wordlists/fasttrack.txt 

        利用john工具算一下,得到密码为P@55w0rd!。        //就是那个passphrase

        遇到一个小坑,在使用key进行连接时,始终出现error in libcrypto,想了想应该是key文件出现了问题,检查之后发现复制的时候结尾处增加了许多空格,删除之后就连接上了。

# 水平越权

        照例查一下id,pwd,sudo -l,发现存在python3.9 和heist.py两个不需要密码的文件。查看heist.py之后发现调用了webbrowser。

        同时在目录中发现了其它有趣的文件。

        它说重点在secret文件里。查看一下文件发现没有权限。

        那目标就很明显了,拿下arsene的权限。没思路,于是回到heist.py上。哦,对,icex64的flag在目录下。

        利用find 命令查找webbrowser相关的文件。

        在文件中添加代码。

os.system("/bin/bash")

 

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

        执行heist.py文件之后发现越权成功。

        那刚才看不了的文件自然要看一看。

        是个密码,还挺难记。不是,我都越权了我还要什么密码????

# 提权

        事到如今,还差root权限没有拿到。不能放弃哦!照例查看一下有没有不需要密码可执行的操作。

        pip应该都不陌生了,pip3 -m install 用来安装的。那接下来的思路是:在当前路径下创建setup.py文件,里面写入想运行的python脚本,如反弹shell,然后利用pip install以root权限执行。

echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > setup.py

        又一个坑,习惯是用vim 写一个py,但是执行之后发现报错,在大佬的提示下发现利用echo的方式写入文件可以执行。看来编程功力还是需要提高。

# 总结

        简直是没有尝试过的“船新思路”,一开始以为利用密钥进行ssh连接就可以不需要密码,另外又巩固了一下fuzz目录的操作,但是最重要的两个点还是在水平越权和提权上面,一来是调用的py文件增加os.system("/bin/bash"),另一个是写入新文件进行提权。总之,感谢大佬指导,未来一定成为大佬,超越大佬,卷死大佬!哼!

相关文章:

  • Flutter:K线图
  • 鸿蒙(HarmonyOS)开发学习路线指南:从零到实战
  • Arduino IDE编程ESP32-C3的Flash选项
  • 轻松搭建本地大语言模型(一)Ollama安装与使用
  • 【进阶】redis篇
  • 组合模式详解(Java)
  • Linux nftables 命令使用详解
  • 基于JAVA毕业生信息招聘信息平台设计与实现
  • vllm专题(一):安装-GPU
  • 【开源免费】基于SpringBoot+Vue.JS个人博客系统(JAVA毕业设计)
  • 以下是一个使用 HTML、CSS 和 JavaScript 实现的登录弹窗效果示例
  • 什么是Spring Boot?
  • FreeRTOS-rust食用指南
  • Python程序打包 |《Python基础教程》第18章笔记
  • SQLAlchemy 中字段类型与常见数据库(MySQL、PostgreSQL 和 SQLite)的全面映射关系
  • 在VS中通过vcpkg包管理器来安装使用qt5
  • Win11网络受限问题解决方案
  • AWS CodeBuild 配置完整指南
  • 读书笔记 - 修改代码的艺术
  • 【SQL教程|07】sql中条件查询where用法示例
  • 哪条线路客流最大?哪个站点早高峰人最多?上海地铁一季度客流报告出炉
  • 坚决打好产业生态培育攻坚战!陈吉宁调研奉贤区
  • 新华时评:让医德医风建设为健康中国护航
  • 普京批准俄方与乌克兰谈判代表团人员名单
  • 博柏利上财年营收下降17%,计划裁员1700人助推股价涨超18%
  • 甘肃发布外卖食品安全违法行为典型案例:一商家用鸭肉冒充牛肉被罚