关于站库分离渗透思路总结

0x00 前言

 

看到了某篇关于站库分离类型站点相关的讨论,想总结下信息收集的技巧。

0x01 正文

关于站库分离类型站点网上暂时没有找到总结性的文章,所以想尝试记录下关于站库分离类型站点的渗透思路。

对站库分离类型站点通常可以有两个渗透入口点。

1.web网站

2.数据库

渗透思路其实也是比较常规。但是这里如果两个入口点无非两种路径。

1.从web网站打入进而打站库分离的数据库,内网渗透;

2.从数据库打入进而打站库分离的web网站,内网渗透。

根据不同的路径定制不同的渗透测试方案,下面记录一下流程和容易遇到的问题。

一、从 web 入口渗透

 

从 web 入口通常就是通过网站的各种漏洞来getshell,比如文件上传、命令执行、代码执行、还有SQL注入写入一句话(into outfile、日志备份等)。

在获得 web 权限或者有诸如文件读取等漏洞时,我们还读数据库配置文件、对数据库内容分析、查找数据库备份,进而对数据库目标 ip 进行渗透,以便后续操作。

二、从数据库入口渗透

 

但是这里要说主要是外网暴露的数据库入口点弱口令;web网站SQL注入。

从数据库入口渗透,同样主要是为了获取更大的权限,或者扩展我们的渗透成果,比如从数据库里可以得到一些密码信息,用户名等,在后续的内网渗透中可以很有效的帮助我们。

站点是站库分离的,数据库和web不在同一台服务器上,这时候不能写入一句话木马通过web去连,因为路径没有用。如果是从web端找到的SQL注入,那么可以通过以下这些方式去做收集、获取权限。

MYSQL

(1)定位 web 端 ip 地址

 

通过查询 information_schema 库中的 PROCESSLIST 可以查看当前 MYSQL 的连接情况。因为 web 应用会产生查询数据库操作,所以在回显出来的 host 字段中会带回目标的 ip:port

select * from information_schema.PROCESSLIST;

图片

在得到了web端的ip,我们可以进而对web端进行渗透。

(2).load_file()获取数据库所在服务器的敏感信息

如果没有secure_file_priv参数的限制(MySQL5.7以下),我们还可以用load_file()函数对文件内容进行读取。

select load_file('C:/test.txt');

图片

还可以获取网卡信息,比如读:

/etc/udev/rules.d/70-persistent-net.rules  //获取网卡名称
/etc/sysconfig/network-scripts/ifcfg-网卡  //静态IP
DHCP的话   /var/lib/dhclient/dhclient--网卡.lease

MSSQL

(1) 判断是否站库分离

得到客户端主机名

select host_name();

得到服务端主机名

select @@servername;

根据结果判断是否分离,结果一样就可能站库同服务器,结果不一样就是站库分离。

(2)存储过程执行命令

我们可以通过 MSSQL的存储过程执行系统命令,可以尝试直接提升权限后渗透其他主机。

常用到的两个:

1.XP_CMDSHELL

2.SP_OACREATE

可以探测数据库服务器是否出网,通过执行ping或者curl看是否出网,通常遇到MSSQL我们直接就通过命令执行上线了。

同样是数据库,自然其中有一些敏感信息,为了进一步渗透,可以整理密码本或者其他信息。

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值