漏洞发现—API接口服务之漏洞探针类型利用修复

漏洞发现—API接口服务之漏洞探针类型利用修复

20210515173719

1
2
3
4
5
6
7
8
信息收集之信息利用
第一步:首先识别网站是否有cdn,waf等产品,有则绕过。
第二步:扫描收集到网站的端口信息,真实ip地址,ip绑定的其他域名。
第三步:网站敏感路径扫描
第四步:域名+端口敏感信息扫描
第五步:ip+端口敏感目录扫描

备注:字典不应该只是敏感路径,还应该有备份文件 zip rar tar tar.gz等格式文件



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#端口服务类安全测试
根据前期信息收集针对目标端口服务类探针后进行的安全测试,主要涉及攻击方法:口令安全,WEB
类漏洞,版本漏洞等,其中产生的危害可大可小。属于端口服务/第三方服务类安全测试面。一般在
已知应用无思路的情况下选用的安全测试方案。

#API 接口-WebServiceRESTful API
https://xz.aliyun.com/t/2412
根据应用自身的功能方向决定,安全测试目标需有 API 接口调用才能进行此类测试,主要涉及的安
全问题:自身安全,配合 WEB,业务逻辑等,其中产生的危害可大可小,属于应用 API 接口网络服
务测试面,一般也是在存在接口调用的情况下的测试方案。


WSDL(网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述
Web Services 以及如何对它们进行访问。

#漏洞关键字:
配合 shodan,fofa,zoomeye 搜索也不错哦~
inurl:jws?wsdl
inurl:asmx?wsdl
inurl:aspx?wsdl
inurl:ascx?wsdl
inurl:ashx?wsdl
inurl:dll?wsdl
inurl:exe?wsdl
inurl:php?wsdl
inurl:pl?wsdl
inurl:?wsdl
filetype:wsdl wsdl
http://testaspnet.vulnweb.com/acuservice/service.asmx?WSDL

常见漏洞

根据前期信息收集针对目标端口服务类探针后进行的安全测试,主要涉及攻击方法:口令安全,WEB 类漏洞,版本漏洞等,其中产生的危害可大可小。属于端口服务/第三方服务类安全测试面。一般在 已知应用无思路的情况下选用的安全测试方案。

常见的端口说明

端口号 端口说明 攻击技巧
21/22/69 ftp/tftp:文件传输协议 爆破嗅探,溢出,后门
22 ssh:远程连接 爆破,OpenSSH,28个退格
23 telnet:远程连接 爆破,嗅探
25 smtp:邮件服务 邮件伪造
53 DNS:域名系统 DNS区域传输,DNS劫持,DNS缓存投毒,DNS欺骗,利用DNS隧道技术刺透防火墙
67/68 dhcp 劫持,欺骗
110 pop3 爆破
139 samba 爆破,未授权访问,远程代码执行
143 imap 爆破
161 snmp 爆破
389 ldap 注入攻击,未授权访问
512/513/514 linux,r 直接使用rlogin远程登录
873 rsync 未授权访问
1080 socket 爆破:进行内网渗透
1352 lotus 爆破:弱口令,信息泄漏:源代码
1433 mssql 爆破:使用系统用户登录,注入攻击
1521 oracle 爆破:TNS,注入攻击
2049 nfs 配置不当
2181 zookeeper 未授权访问
3306 mysql 爆破,拒绝服务,注入
3389 RDP远程桌面 爆破,Shift后门
4848 glassfish 爆破:控制台弱口令,认证绕过
5000 sybase/DB2 爆破,注入
5432 postgresql 缓冲区溢出,注入攻击,爆破:弱口令
5632 pcanywhere 拒绝服务,代码执行
5900 vnc 爆破:弱口令,认证绕过
6379 redis 未授权访问,爆破:弱口令
7001 weblogic Java反序列化,控制台弱口令,控制台部署webshell
80/443/8080 web 常见web攻击控制台爆破,对应服务器版本漏洞
8069 zabbix 远程命令执行
9090 websphere控制台 爆破:控制台弱口令,Java反序列
9200/9300 elasticsearch 远程代码执行
11211 memcacache 未授权访问
27017 mongodb 爆破,未授权访问

web服务类

端口号 端口说明 攻击技巧
80/8080/8009 tomcat manager弱口令,put上传webshell,HTTP慢速攻击,jar文件包含漏洞-CVE-2020-1938
8080 Jboss 后台弱口,console后台部署war包,JAVA反序列化,远程代码执行
90 webSphere 后台弱口令,任意文件泄露,JAVA反序列化
7001/7002 weblogic 后台弱口令,console后台部署war包,SSRF,测试页面上传webshell,JAVA反序列,CVE-2018-2628,CVE-2018-2893,CVE-2017-10271,CVE-2019-2725,CVE-2019-2729
8080/4848 Glassfish 暴力破解,任意文件读取,认证绕过
8080 Jetty 远程共享缓冲区溢出
80/8080 Apache HTTP慢速攻击,解析漏洞,目录遍历
8983 ApacheSolr 远程命令执行,CVE-2017-12629,CVE-2019-0193
80 IIS put上传webshell,IIS解析漏洞,IIS提权,IIS远程远程代码执行-CVE-2017-7269
8080 Resin 目录遍历,远程文件读取
8080 Axis2 后台弱口令
1352 Lutos 后台弱口令,信息泄露,跨站脚本攻击
80/443 Nginx HTTP慢速攻击,解析漏洞

数据库类

端口号 端口说明 攻击技巧
3306 Mysql 弱口令,身份认证漏洞-cve-2012-2122,拒绝服务攻击,phpmyadmin万能密码or弱口令,UDF/MOF提权
1433 Mssql 弱口令,存储过程提权
1521 Oralce 弱口令,TNS漏洞
6379 Redis 弱口令,未经授权访问
5432 PostgreSQL 弱口令,缓冲区溢出-cve-2014-2669
27001 MongoDB 弱口令,未经授权访问
5000 DB2 安全限制绕过进行未经授权操作-cve-2015-1922
5000/4100 SysBase 弱口令,命令注入
11211 Memcache 未经授权访问,配置漏洞
9200/9300 ElasticSearch 未经授权访问,远程代码执行,文件办理,写入webshell

大数据类

端口号 端口说明 攻击技巧
50010 Hadoop 远程命令执行
2181 Zookeeper 未经授权访问

文件共享

端口号 端口说明 攻击技巧
21 Ftp 弱口令,匿名访问,上传后门,远程溢出,跳转攻击
2049 NFS 未经授权访问
137 Samba 弱口令,未经授权访问,远程代码执行-CVE-2015-0240
389 LDAP 弱口令,注入,未经授权访问

远程访问

端口号 端口说明 攻击技巧
22 SSH 弱口令,28退格漏洞,OpenSSL漏洞,用户名枚举
23 Telent 弱口令
3389 RDP 弱口令,Shitf粘滞键后门,缓冲区溢出,MS12-020,CVE-2019-0708
5901 VNC 弱口令,认证口令绕过,拒绝服务攻击-CVE-2015-5239,权限提升-CVE-2013-6886
5632 Pcanywhere 拒绝服务攻击,权限提升,代码执行
6000 X11 未经授权访问-CVE-1999-0526

邮件服务

端口号 端口说明 攻击技巧
25/465 SMTP 弱口令,未经授权访问,邮件伪造
110/995 POP3 弱口令,未经授权访问
143/993 IMAP 弱口令,任意文件读取

其它服务

端口号 端口说明 攻击技巧
53 DNS DNS区域传输,DNS劫持,DNS欺骗,DNS缓存投毒,DNS隧道
67/68 DHCP DHCP劫持,DHCP欺骗
161 SNMP 弱口令
512/513/514 Rlogin rlogin登录
873 Rsync 未经授权访问,本地权限提升
8069 Zabbix 远程命令执行
1090/1099 RMI JAVA反序列化
2375 Docker 未经授权访问

Tomcat7+ 弱口令 && 后台getshell漏洞

1
2
3
4
5
6
7
8
9
10
11
12
13
环境说明
Tomcat 支持在后台部署 war 文件,可以直接将 webshell 部署到 web 目录下。其中,欲访问后台,需要对应用户有相应权限。

Tomcat7 + 权限分为:

manager(后台管理)
manager-gui 拥有 html 页面权限
manager-status 拥有查看 status 的权限
manager-script 拥有 text 接口的权限,和 status 权限
manager-jmx 拥有 jmx 权限,和 status 权限
host-manager(虚拟主机管理)
admin-gui 拥有 html 页面权限
admin-script 拥有 text 接口权限

漏洞测试
无需编译,直接启动整个环境:

docker-compose up -d
打开 tomcat 管理页面 http://your-ip:8080/manager/html,输入弱密码 tomcat:tomcat,即可访问后台

然后直接上传一个马就OK了

GlassFish 任意文件读取漏洞

java语言中会把%c0%ae解析为\uC0AE,最后转义为ASCCII字符的.(点)。利用%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/来向上跳转,达到目录穿越、任意文件读取的效果。

漏洞复现

编译、运行测试环境

1
2
docker-compose build
docker-compose up -d

环境运行后,访问http://your-ip:8080http://your-ip:4848即可查看web页面。其中,8080端口是网站内容,4848端口是GlassFish管理中心。

访问https://your-ip:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd,发现已成功读取/etc/passwd内容:

额外说明

本环境超级管理员密码在docker-compose.yml中设置,默认为vulhub_default_password,在4848端口利用该密码可以登录管理员账户。

一个网站不同的端口访问的页面,来自两套不一样的源码

新手法:域名方向

一般的思路是对目标网站进行子域名查询,但是也极有可能是会有相似域名的情况,如果我们按照一般思路来,那么就会错过这些信息,反之攻击面就变少了

例子:

1
2
3
4
5
6
7
8
9
10
11
12
www.baidu.com
一般思路:
bbs.baidu.com
old.baidu.com

扩展
在域名注册的地方:比如万网,或者其他地方
然后对这个关键字进行搜索,如果有被注册,那么可以去看看

还有就是通过网站的唯一信息,比如说网站的名称,或者其他标志性的信息

通过goole语法进行搜索

信息挖掘的核心思想就是根据现有的唯一信息中,发现能利用的信息进行搜索,如此反复直到无法获取到新的信息

口令安全脚本工具简要使用-Snetcarcker

SNETCracker超级弱口令检查工具是一款Windows平台的弱口令审计工具,支持批量多线程检查,可快速发现弱密码、弱口令账号,密码支持和用户名结合进行检查,大大提高成功率,支持自定义服务端口和字典。

工具采用C#开发,需要安装.NET Framework 4.0,工具目前支持SSH、RDP、SMB、MySQL、SQLServer、Oracle、FTP、MongoDB、Memcached、PostgreSQL、Telnet、SMTP、SMTP_SSL、POP3、POP3_SSL、IMAP、IMAP_SSL、SVN、VNC、Redis等服务的弱口令检查工作。

工具特点:

  • 1.支持多种常见服务的口令破解,支持RDP(3389远程桌面)弱口令检查。
  • 2.支持批量导入IP地址或设置IP段,同时进行多个服务的弱口令检查。
  • 3.程序自带端口扫描功能,可以不借助第三方端口扫描工具进行检查。
  • 4.支持自定义检查的口令,自定义端口。

其他工具:hydra

5486

涉及资源

1
2
3
4
https://xz.aliyun.com/t/2412
https://github.com/SmartBear/soapui/releases
超级弱口令检查工具:https://github.com/shack2/SNETCracker/releases/
https://www.cnblogs.com/xyongsec/p/12370488.html