实战|对1521端口的渗透以及踩坑

技术

一次渗透测试中,目标所有的漏洞都测试完毕,却唯独剩了个1521端口,于 是就针对1521端口进行了一系列的测试。

利用

1、首先想到的是爆破SID

在Oracle中,SID是System IDentifier的缩写。SID是一个数据库的唯一标识符。

当用户希望远程连接Oracle数据库时,则需要知道SID、用户名、密码及服务器的IP地址。

我这里利用msf爆破:

use auxiliary/admin/oracle/sid_brute

成功找到SID ‘ORCL’

picture.image

于是利用sid爆破账号密码,坑来了!显示我的kali没有ruby-oci8

picture.image

Google了一波,对文档进行总结:

首先去下载最新版本basic、 sdk、 sqlplus,并解压,会自动生成instantclient_19_6目录,如下图:

下载地址: https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

picture.image

然后执行vim ~/.bashrc 在文件的最后添加环境变量如下:

export PATH=$PATH:/opt/instantclient_19_6
export SQLPATH=/opt/instantclient_19_6
export TNS_ADMIN=/opt/instantclient_19_6
export LD_LIBRARY_PATH=/opt/instantclient_19_6
export ORACLE_HOME=/opt/instantclient_19_6

环境变量生效后去下载ruby-oci8安装包

下载地 址: https://bintray.com/kubo/generic/ruby-oci8

picture.image

我下载的是tar.gz包,解压

cd ruby-oci8-2.2.8/ make && make instal

报错:

picture.image

Error Message: The compiler failed to generate an executable file. You have to install development tools first.

错误信息:

编译器未能生成可执行文件。

您必须首先安装开发工具。

安装一波:

apt-get install build-essential

再次报错:

apt-get install build-essential 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。

如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。

该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。

下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:libgcc1 : 依赖: gcc-9-base (= 9.2.1-22) 但是 9.3.0-14 正要被安装 E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。

直接安装需要的版本

apt install gcc-9-base=9.3.0-14

(这里踩得坑,更新软件版本后自动重启,图形化界面却进不去了,网上Google一波成功,具体可参考 解决方案(https://blog.csdn.net/weixin\_45439432/article/details/107442761)

再次

apt-get install build-essential

成功

再次编译,成功

picture.image

于是继续利用sid爆破账号密码:

picture.image

2、TNS Listener远程注册投毒漏洞

第二个想到的就是TNS Listener远程注册投毒漏洞,攻击者无需用户名和密码可利用此漏洞将数据库服务器的合法'TNS Listener'组件中的数据转向到攻击者控制的系统,导致控制远程组件的数据库实例,造成组件和合法数据库之间的攻击者攻击,由于真实环境此次只检测不利用。

我们先使用msf的tnspoison_checker模块进行漏洞检测。

use auxiliary/scanner/oracle/tnspoison_checker

picture.image

显示目标存在漏洞

这里用oracle-tns-poison进行漏洞检测:

下载地址: https://github.com/interference-security/oracle-tns-poison

利用check_tns_poison.py检测,注册名为NSGR的服务,显示收到接受响应

picture.image

抓流量tshark,显示与目标通过三次握手进行连接,目标接受请求

picture.image

wireshark抓流量:

picture.image

picture.image

在不知道账号密码情况下,通过抓取流量可以抓取受害人向攻击者发送的所有数据。

由于第一步已经有数据库账号和密码,我们可以利用此注册的服务用前面装的sqlplus工具进行连接,此次不在连接。

命令:sqlplus 用户名/密码@ip地址[:端口]/service_name [as sysdba]

也可以利用oracle-tns-poison里的tnspoisonv1.py进行接收目标的数据,条件是必须有相同名字的数据库。

语法:tnspoisonv1.py 攻击者ip 端口 数据库名 受害者ip 端口

参考:


          
https://xz.aliyun.com/t/6034
          
https://github.com/interference-security/oracle-tns-poison
          
https://blog.csdn.net/qq_40606798/article/details/86493164
      

作者:卡卡罗特_ 原文 地址:

https://www.freebuf.com/articles/web/254686.html

声明:本公众号所 分享 内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径, 所有渗透都需获取授权 ! 否则需自行承担,本公众号及原作者不承担相应的后果.

然后执行vim ~/.bashrc 在文件的最后添加环境变量如下:

export PATH=$PATH:/opt/instantclient_19_6
export SQLPATH=/opt/instantclient_19_6
export TNS_ADMIN=/opt/instantclient_19_6
export LD_LIBRARY_PATH=/opt/instantclient_19_6
export ORACLE_HOME=/opt/instantclient_19_6

环境变量生效后去下载ruby-oci8安装包

下载地 址: https://bintray.com/kubo/generic/ruby-oci8

picture.image

我下载的是tar.gz包,解压

cd ruby-oci8-2.2.8/ make && make instal

报错:

picture.image

Error Message: The compiler failed to generate an executable file. You have to install development tools first.

错误信息:

编译器未能生成可执行文件。

您必须首先安装开发工具。

安装一波:

apt-get install build-essential

再次报错:

apt-get install build-essential 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。

如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。

该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。

下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:libgcc1 : 依赖: gcc-9-base (= 9.2.1-22) 但是 9.3.0-14 正要被安装 E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。

直接安装需要的版本

apt install gcc-9-base=9.3.0-14

(这里踩得坑,更新软件版本后自动重启,图形化界面却进不去了,网上Google一波成功,具体可参考 解决方案(https://blog.csdn.net/weixin\_45439432/article/details/107442761)

再次

apt-get install build-essential

成功

再次编译,成功

picture.image

于是继续利用sid爆破账号密码:

picture.image

2、TNS Listener远程注册投毒漏洞

第二个想到的就是TNS Listener远程注册投毒漏洞,攻击者无需用户名和密码可利用此漏洞将数据库服务器的合法'TNS Listener'组件中的数据转向到攻击者控制的系统,导致控制远程组件的数据库实例,造成组件和合法数据库之间的攻击者攻击,由于真实环境此次只检测不利用。

我们先使用msf的tnspoison_checker模块进行漏洞检测。

use auxiliary/scanner/oracle/tnspoison_checker

picture.image

显示目标存在漏洞

这里用oracle-tns-poison进行漏洞检测:

下载地址: https://github.com/interference-security/oracle-tns-poison

利用check_tns_poison.py检测,注册名为NSGR的服务,显示收到接受响应

picture.image

抓流量tshark,显示与目标通过三次握手进行连接,目标接受请求

picture.image

wireshark抓流量:

picture.image

picture.image

在不知道账号密码情况下,通过抓取流量可以抓取受害人向攻击者发送的所有数据。

由于第一步已经有数据库账号和密码,我们可以利用此注册的服务用前面装的sqlplus工具进行连接,此次不在连接。

命令:sqlplus 用户名/密码@ip地址[:端口]/service_name [as sysdba]

也可以利用oracle-tns-poison里的tnspoisonv1.py进行接收目标的数据,条件是必须有相同名字的数据库。

语法:tnspoisonv1.py 攻击者ip 端口 数据库名 受害者ip 端口

参考:


          
https://xz.aliyun.com/t/6034
          
https://github.com/interference-security/oracle-tns-poison
          
https://blog.csdn.net/qq_40606798/article/details/86493164
      

作者:卡卡罗特_ 原文 地址:

https://www.freebuf.com/articles/web/254686.html

声明:本公众号所 分享 内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径, 所有渗透都需获取授权 ! 否则需自行承担,本公众号及原作者不承担相应的后果.

如有侵权,请联系删除

推荐阅读

实战|记一次奇妙的文件上传getshell

「 超详细 | 分享 」手把手教你如何进行内网渗透

神兵利器 | siusiu-渗透工具管理套件

一款功能全面的XSS扫描器

实战 | 一次利用哥斯拉马绕过宝塔waf

BurpCrypto: 万能网站密码爆破测试工具

快速筛选真实IP并整理为C段 -- 棱眼

自动探测端口顺便爆破工具t14m4t

渗透工具|无状态子域名爆破工具(1秒扫160万个子域)

查看更多精彩内容,还请关注 橘猫学安全:

每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“ 再看”

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
亿万用户下高可用融合直播的应用实践
直播融合 CDN 调度系统承担了公司内所有直播流量的接入工作,对高并发高带宽场景支持友好,有完善的体系进行容灾降级、质量优化、成本优化。本次演讲将带大家了解直播融合 CDN 调度系统的整体架构及在抖音上的应用。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论