渗透测试之信息收集

0x01 前言

系统漏洞->中间件漏洞->web漏洞

信息收集分为:主动信息收集和被动信息收集

·主动信息收集:主动信息搜集是与目标主机进行直接交互,从而拿到我们的目标信息。

·被动信息收集:不与目标主机进行直接交互,通过搜索引擎或者社工等方式间接的获取目标主机的信息。

 

0x02 主动信息收集

1. 服务器和中间件信息

服务器信息:系统类型,如Ubuntu

中间件信息:如Apache及其版本号等。

关于这两者的解释:

https://blog.csdn.net/sdb5858874/article/details/81171762

(1) 工具

·whatweb

 

·Nmap

·nctelnet

(2) 手动

通过火狐浏览器的查看元素方法,查找信息。

 

 

 

有了服务器和中间件的信息,我们就可以查找已公布的漏洞信息。

2. 端口信息

端口作为服务器和客户端交互的接口,起着非常重要的作用。一些常见的端口标识出服务器开启了什么服务,比如3389端口开启,可以认为服务器系统为windows并且开启了远程服务的功能。所以,端口扫描在渗透测试中是非常重要的。

(1) 常见端口分析

 

 

 

 

 

 

 

 

 

 

 

 

 

端口号

端口服务/协议简要说明

端口利用方式

tcp 2021

ftp默认的数据和命令传输端口[可明文亦可加密传输]

允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4)

tcp 22

ssh[数据ssl加密传输]

可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输,等等常用于linux远程管理

Tcp 23

telnet[明文传输]

爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令,也许会有意想不到的收获

Tcp 25

smtp[简单邮件传输协议,多数linux发行版可能会默认开启此服务]

邮件伪造,vrfy/expn 查询邮件用户信息,可使用smtp-user-enum工具来自动跑

 

Tcp/udp 53

dns[域名解析]

允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控

tcp/udp 69

 

tftp[简单文件传输协议,无认证]

 

尝试下载目标及其的各类重要配置文件

 

tcp 80-89,443,8440-8450,8080-8089

 

web[各种常用的web服务端口]

 

各种常用web服务端口,可尝试经典的top n,vpn,owa,webmail,目标oa,各类java控制台,各类服务器web管理面板,各类web中间件漏洞利用,各类web框架漏洞利用等等……

 

tcp 110

 

[邮局协议,可明文可密文]

 

可尝试爆破,嗅探

 

tcp 137,139,445

 

samba[smb实现windowslinux间文件共享,明文]

 

可尝试爆破以及smb自身的各种远程执行类漏洞利用,,ms08-067,ms17-010,嗅探等……

 

tcp 143

 

imap[可明文可密文]

 

可尝试爆破

 

udp 161

snmp[明文]

 

爆破默认团队字符串,搜集目标内网信息

 

tcp 389

 

ldap[轻量级目录访问协议]

 

ldap注入,允许匿名访问,弱口令

 

tcp 512,513,514

 

linux rexec

 

可爆破,rlogin登陆

 

tcp 873

 

rsync备份服务

 

匿名访问,文件上传

 

tcp 1194

 

 

 

 

(2) 工具

Nmap 下面链接是使用原理和方法总结

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

 

Masscan 官方github说明文档

https://github.com/robertdavidgraham/masscan

还有一些如:站长之家等。

Metasploit 进行端口扫描

3. 子域名搜集

先看一下什么是子域名:

https://baike.baidu.com/item/%E5%AD%90%E5%9F%9F%E5%90%8D/10937658?fr=aladdin

https://blog.csdn.net/xiaxiaoxian/article/details/79287458

 

(1) 搜索引擎枚举技术

 

 

 

(2) DNS区域传送漏洞

https://blog.csdn.net/c465869935/article/details/53444117

http://www.lijiejie.com/dns-zone-transfer-1/

 

(3) 子域名挖掘机Layer

(4) 在线版layer

https://phpinfo.me/domain/

(5) 大神的github工具列表

https://zhuanlan.zhihu.com/p/53112370

4. 域名目录遍历

御剑后台、dirbuster

5. 目标IP

(1) 什么是CDN

CDN是什么?使用CDN有什么优势? - 阿里云云栖社区的回答 - 知乎 https://www.zhihu.com/question/36514327/answer/193768864

(2) 如何绕过CDN,寻找真实IP地址

https://www.waitalone.cn/how-to-find-the-real-ip-address-of-the-site.html

 

 

 

 

 

 

 

0x03 被动信息收集

1.旁站C段查询

旁站是和目标网站在同一台服务器上的其它的网站;如果从目标站本身找不到好的入手点,这时候,如果想快速拿下目标的话,一般都会先找个目标站点所在服务器上其他的比较好搞的站下手,然后再想办法跨到真正目标的站点目录中。C段是和目标机器ip处在同一个C段的其它机器;通过目标所在C段的其他任一台机器,想办法跨到我们的目标机器上。

常用工具

http://www.webscan.cc/

Nmap

 

2. CMS类型

http://blog.51cto.com/simeon/2115190

 

每个cms都有其独有的特征,如:cssjs命名、固定的管理员URLrobots.txt等。根据以上信息判断出网站所使用的cms类型和版本。通过与漏洞库进行匹配,从而找到渗透测试的切入点。

 

云溪CMS指纹识别系统

http://www.yunsee.cn

 

(1) robots.txt

 

 

(2) 查找源文件判断使用的是什么cms

 

 

 

 

 

(3) 计算网站的相关静态资源的md5

 

计算网站所使用的中间件或cms目录下的静态文件的md5值。md5可以唯一的代表该文件的信息。静态文件包括htmlcssimage

 

 

 

(4) URL关键字识别

 

 

 

通过上述URL关键字可以判断其cms内容

 

(5) 请求相应主体内容或头信息的关键字匹配

 

 

x-powered-by中可以看出使用的是thinkphp

 

(6) 工具总结

  1. 御剑web指纹识别程序
  2. Test404轻量WEB指纹识别
  3. Scan-T主机识别系统

https://github.com/nanshihui/Scan-T

  1. bugscanner
  2. https://github.com/iceyhexman/onlinetools
  3. whatweb

 

3. 敏感目录/文件

https://www.cnblogs.com/pannengzhi/p/2017-09-23-web-file-disclosure.html

 

https://github.com/solei1/solei1.github.io/wiki/web%E6%BA%90%E7%A0%81%E6%B3%84%E9%9C%B2-%E5%8F%8A%E5%B8%B8%E8%A7%81%E6%95%8F%E6%84%9F%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8

 

(1) .git泄露

https://github.com/lijiejie/GitHack

 

(2) .SVN泄露

 

(3) .DS_Stroe文件泄露

(4) .hg源码泄露

 

 

4. whois信息

简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过whois来实现对域名信息的查询。早期的whois查询多以命令列接口存在,但是现在出现了一些网页接口简化的线上查询工具,可以一次向不同的数据库查询。网页接口的查询工具仍然依赖whois协议向服务器发送查询请求,命令列接口的工具仍然被系统管理员广泛使用。whois通常使用TCP协议43端口。每个域名/IPwhois信息由对应的管理机构保存。

 

 

posted @ 2019-02-20 21:57  justn0w  阅读(6273)  评论(0编辑  收藏  举报