信息收集中的一些问题总结

  • A+
所属分类:安全文章



真实IP



意义:找到准确目标,确定IP段。找到真实IP可以绕过一些云waf。



CDN概念

内容分发网络(content delivery network或content distribution network,缩写作CDN)指一种通过互联网互相连接的电脑网络系统,利用最靠近每位用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。


主要就是通过多个不同节点加快网站的访问速度。




判断是否真实IP


nslookup


用了CDN的会返回多个IP地址


多地ping

看IP是否一致

在线工具:



http://ping.chinaz.com/http://ping.aizhan.com/http://ce.cloud.360.cn/



IP反查

反查IP有多个域名,那IP多半不是真实IP




绕CDN找真实IP

子域名

一般主站会有CDN,主站下子域名基本都是真实IP,收集子域名看IP就可以知道网站真实IP的C段了。

常用工具:

subdomainbrute

oneforall


历史DNS记录

查询未使用CDN前的DNS服务器解析记录

https://dnsdb.io/zh-cn/ ###DNS查询https://x.threatbook.cn/ ###微步在线http://toolbar.netcraft.com/site_report?url= ###在线域名信息查询http://viewdns.info/ ###DNS、IP等查询https://tools.ipip.net/cdn.php ###CDN查询IP


邮件服务器

大部分网站会有注册,订阅,找回密码的功能会发送邮件,邮件头信息中会有真实IP



信息泄漏

有些网站会有phpinfo页面,一些debug模式不关等信息泄漏问题

上面会有真实IP


搜索引擎



LTM解码法

当服务器使用F5 LTM做负载均衡时,通过对set-cookie关键字的解码真实ip也可被获取,例如:Set-Cookie: 

BIGipServerpool_8.29_8030=487098378.24095.0000,先把第一小节的十进制数即487098378取出来,然后将其转为十六进制数1d08880a,接着从后至前,以此取四位数出来,也就是0a.88.08.1d,最后依次把他们转为十进制数10.136.8.29,也就是最后的真实ip。






子域名收集


常用工具,除了在线工具外

oneforall算是很好用的,其次subdomainbrute



爆破


也算是效果最好的办法

利用字典枚举子域名然后向DNS服务器查询是否存在记录


比如说,向114.114.114.114定向请求www.qq.com的记录,返回了一条A记录指向182.254.34.74,就说明存在这个域名;相应的请求wooyun.qq.com并没有相应的记录返回,这就说明没有这个域名存在。


注:一般只使用同一套主、副DNS,即8.8.8.8和8.8.4.4,DNS服务器不宜混搭,否则容易出现大量误报


发包可以用第三方库,比如说subDomainBrute使用了dnspython这个包。使用第三方包的确好,但是免不了一层封装和不能很好地理解DNS报文协议,也可能会降低一定的效率。


泛解析问题

域名泛解析是对抗子域名收集的一个方法。

泛解析这个问题的解决方法很简单,向DNS请求*记录,然后把枚举子域名回来的记录和*的记录比对,如果相同则直接排除。


DNS包的解析:

https://www.davex.pw/2016/07/01/How-To-Fuzz-Sub-Domain/



域传送漏洞


快速判断出某个特定区域的所有主机,获取域信息,如网络拓扑结构、服务器ip地址,为攻击者的入侵提供大量敏感信息。


常用DNS记录

  • 主机记录(A记录): A记录是用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。

  • IPv6主机记录(AAAA记录): 与A记录对应,用于将特定的主机名映射到一个主机的IPv6地址。

  • 别名(CNAME记录): CNAME记录用于将某个别名指向到某个A记录上,这样就不需要再为某个新名字另外创建一条新的A记录。

  • 电子邮件交换记录(MX记录): 记录一个邮件域名对应的IP地址

  • 域名服务器记录 (NS记录): 记录该域名由哪台域名服务器解析

  • 反向记录(PTR记录): 也即从IP地址到域名的一条记录

  • TXT记录:记录域名的相关文本信息


DNS区域传送

DNS服务器分为主服务器、备份服务器和缓存服务器。而域传送指的是一台备用服务器使用来自主服务器的数据更新自己的域(zone)数据库。这为运行中的DNS服务提供了一定的冗余度,其目的是为了防止主的域名服务器因意外故障变得不可用时影响到整个域名的解析。


域传送漏洞

DNS区域传送(DNS transfer)指后备DNS服务器从主服务器获取数据,以更新自己的zone数据库。这可以防止因主DNS服务器故障造成的业务中断,为DNS服务提供了冗余备份。但是许多DNS服务器却被错误配置成只要收到AXFR请求,就向对方进行域传送。


当存在这种错误配置时,攻击者就可以获取整个域的所有记录,造成整个网络架构泄露。正确的配置包括


allow-transfer {ipaddress;}; 通过ip限制可进行域传送的服务器


allow-transfer { key transfer; }; 通过key限制可进行域传送的服务器


检测

nmap脚本扫描

nmap –script dns-zone-transfer –script-args dns-zone-transfer.domain=targetdomain -p 53 -Pn dns.xxx


dig命令

dig @114.114.114.114 twosmi1e.com axfr

@指定DNS服务器, 后面指定域名,axfr为域传送请求


nslookup

  1. 输入nslookup命令进入交互式shell界面;

  2. server 命令参数设定查询将要使用的DNS服务器;针对某个域名可先输入域名获取dns信息。

  3. ls命令列出某个域中的所有域名;如果太长不适合查看可定向保存至文件夹中。

  4. exit命令退出



HTTPS证书

证书透明日志

https://crt.sh/

https://censys.io/

https://developers.facebook.com/tools/ct/

https://google.com/transparencyreport/https/ct/


自身泄漏

  • robots.txt

  • crossdomain.xml(跨域策略文件cdx)

  • 从流量中分析提取

  • Github泄露






端口探测



端口List


端口号

类型

服务名

可能存在的漏洞/利用方式

备注

21

服务类

FTP

1)远程溢出
2)暴力破解
3)匿名访问—未授权访问
4)配置不当,直接 cd / && dir
5)使用明文传输技术-嗅探
6)后门技术
7)跳转攻击

20数据端口
21控制端口
数据端口可变

22

服务类

SSH

1)爆破密码
2)防火墙SSH后门
3)ms12-020

ms12-020好像只能打蓝屏

23

服务类

telnet

1)爆破
2)嗅探

telnet明文传输用户名密码

25

服务类

SMTP邮件服务

邮件伪造

邮件发送协议

53

服务类

DNS

1)远程溢出
2)域传送
3)DNS欺骗
4)缓存投毒
5)DNS劫持
6)DNS DDoS

域名解析服务

67/68

服务类

DHCP

1)劫持
2)欺骗

IP分配

80/443

服务类

http/https

1)web应用漏洞
2)心脏滴血


81

其他

ipcam

1)暴力破解
2)可以基于NTP的反射和放大攻击
3)NTP反射型DDos攻击

监控,网络摄像头

110

服务类

POP3

1)爆破
2)嗅探

接收邮件服务

135

服务类

RPC(远程过程调用)服务

1)利用RPC漏洞攻击计算机
2)病毒入口

RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议

139

服务类

Samba

1)IPC$共享后的空链接漏洞
2)病毒入口

文件和打印共享

143

服务类

IMAP

爆破

邮件接收协议

161

服务类

SNMP

1)未授权
2)搜集内网信息

简单网络管理协议

389

服务类

LDAP

1)注入
2)未授权
3)弱口令

目录访问协议

445

服务类

SMB

1)MS17-010漏洞2)MS06-040漏洞


512/513/514

服务类

Linux Rexec

1)爆破
2)Rlogin登陆

https://www.cnblogs.com/lsdb/p/6604203.html

873

服务类

Rsync服务

1)文件上传
2)未授权访问
3)RCE

rsync 是一个用于增量文件传输的开源工具

1080

服务类

socket

爆破

通信协议

1352

服务类

Lotus domino

1)爆破2
)信息泄漏

邮件服务

1433

数据库

mssql

1)爆破
2)注入
3)SA弱口令


1521

数据库

oracle

1)爆破
2)注入
3)TNS爆破
4)反弹shell


2049

服务类

Nfs

配置不当

网络文件系统,文件共享

2181

服务类

zookeeper

未授权访问

分布式协调服务

2375

中间件

docker remote api

未授权访问


3306

数据库

mysql

1)爆破
2)注入
3)UDF


3389

服务类

RDP

1)爆破
2)shift后门

远程桌面

4848

服务类

GlassFish控制台

1)爆破
2)认证绕过


4899

服务类

radmini

1)弱口令
2)RCE

远程控制软件

5000

数据库

sybase/DB2数据库

1)爆破
2)注入
3)提权


5432

数据库

postgresql

1)爆破
2)注入
3)缓冲区溢出

对象–关系型数据库管理系统

5632

服务类

pcanywhere服务

1)抓密码
2)代码执行

远程桌面控制

5900

服务类

vnc

1)爆破
2)认证绕过

远程桌面共享

6379

中间件

Redis

1)未授权访问
2)爆破

计划任务,写SSHkey

7001/7002

中间件

weblogic

1)java反序列化
2)控制台弱口令
3)ssrf


8069

中间件

zabbix服务

1)远程命令执行
2)注入


8161

中间件

activemq

1)弱口令
2)写文件

消息队列

8080/8089

中间件

Jboss/Tomcat/Resin

1)爆破
2)PUT文件上传
3)反序列化

Tomcat远程代码执行漏洞
Tomcat任意文件上传
Tomcat远程代码执行&信息泄露
Jboss远程代码执行
Jboss反序列化漏洞
Jboss漏洞利用

8083/8086

数据库

influxDB

未授权访问


9000

中间件

fastcgi

远程命令执行

快速通用网关接口

9090

其他

Websphere控制台

1)爆破
2)java反序列化
3)弱口令


9200/9300

其他

elasticsearch

远程代码执行


11211

其他

memcached

未授权访问


27017/27018

数据库

mongodb

1)未授权访问
2)爆破

NoSQL数据库



NMAP端口扫描原理


三次握手



TCP SYN scanning

这是Nmap默认的扫描方式,通常被称作半开放扫描(Half-open scanning)。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么判断该端口被屏蔽(Filtered)。因为该方式仅发送SYN包对目标主机的特定端口,但不建立的完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广。

TCP SYN探测到端口关闭:



TCP SYN探测到端口开启:




TCP connect scanning

TCP connect方式使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标机上留下记录信息,不够隐蔽。所以,TCP connect是TCP SYN无法使用才考虑选择的方式。

TCP connect探测到端口关闭:



TCP connect探测到端口开放:



TCP ACK scanning

向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏蔽;没有收到RST包,说明被屏蔽。该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。

TCP ACK探测到端口被屏蔽:



TCP ACK探测到端口未被屏蔽:




TCP FIN/Xmas/NULL scanning

这三种扫描方式被称为秘密扫描(Stealthy Scan),因为相对比较隐蔽。FIN扫描向目标主机的端口发送的TCP FIN包或Xmas tree包/Null包,如果收到对方RST回复包,那么说明该端口是关闭的;没有收到RST包说明端口可能是开放的或被屏蔽的(open|filtered)。

其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有flags都为0的TCP包。

TCP FIN探测到主机端口是关闭的:



TCP FIN探测到主机端口是开放或屏蔽的:




UDP scanning

UDP扫描方式用于判断UDP端口的情况。向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的;如果没有收到回复,那说明UDP端口可能是开放的或屏蔽的。因此,通过反向排除法的方式来断定哪些UDP端口是可能出于开放状态。

UDP端口关闭:



UDP端口开放或被屏蔽:



其他方式

更多方式及详细原理http://nmap.org/book/idlescan.html



参考

https://www.davex.pw/2016/07/01/How-To-Fuzz-Sub-Domain/

https://blog.csdn.net/AspirationFlow/article/details/7694274



end



本文始发于微信公众号(雷石安全实验室):信息收集中的一些问题总结

发表评论