[渗透测试]-(信息收集)
2023-2-12 21:56:56 Author: www.freebuf.com(查看原文) 阅读量:28 收藏

不管在渗透测试,红蓝对抗,CTF,漏洞挖掘,信息收集往往是最关键的,好的信息收集是取得好成绩的关键所在,记得有一个大佬说过,渗透测试的本质就是信息收集,好的信息收集,成功的一半,我们不仅要具备一般的信息收集思路,还需要熟练掌握基本的工具,以便于高效的拿下目标,进而进行权限提升,横向移动,权限维持,拿下域控。

收集域名,我们需要收集目标系统的组织架构,IT资产,敏感信息泄露,供应商的信息等各个方面,通过对收集的信息进行归类,快速定位薄弱的资产,利用Nday,零day,实施攻击,拿下目标系统。

1、备案查询

我们可以通过备案查询,获得一批主域名,微博,QQ,微信,邮箱信息等等,我们拿到主域名还可以进行爆破子域名等等操作,我们对QQ,微信能不能进入内部群,查看重要的群文件,进行社工,对邮件可以利用钓鱼邮件等等。

天眼查:https://www.tianyancha.com/

爱企查:https://aiqicha.baidu.com/

企查查:https://www.qcc.com/

官⽅ICP备案查询:https://beian.miit.gov.cn/

1676209467_63e8ed3bc221749502df9.png!small?1676209467347

以天眼查为例,红框中的,我们需要重点关注。

2、子域名+目录扫描+端口扫描

我们还可以通过主域名,对子域名进行挖掘和目录扫描,可以使用工具,也可以使用搜索引擎。

1)OneForAll(子域名)

它集成了多种搜索子域名,包括dns查询,证书查询等等。

下载链接: git clone https://gitee.com/shmilylty/OneForAll.git

git clone https://github.com/shmilylty/OneForAll.git

单个目标扫描:python oneforall.py --target example.com run

1676209488_63e8ed503826b9b602c8b.png!small?1676209487854

批量目标扫描:python oneforall.py --targets ./example.txt run,和上面一样,只是将单个域名换成.txt文件。

2)Amass(子域名)

Amass是kali自带的一款工具,集成了多种搜集方式(推荐使用)。

amass enum -v -src -ip -brute -min-for-recursive 2 -d example.com

1676209504_63e8ed606b8aabfbd80a1.png!small?1676209507569

3)dirb(目录扫描)

dirb https://www.douyu.com

1676209515_63e8ed6b9b574630c2e9f.png!small?1676209515246

4)dirsearch(目录扫描)

dirsearch -u https://www.douyu.com

1676209525_63e8ed75be9ceba6733a6.png!small?1676209525548

以上四款挖掘的工具,只是展示了基本使用,更详细的使用,我们可以结合百度来深入使用,我们直接访问到的主域名,对网页上指向的域名连接进行收集,可能会收集到一些办公系统和OA,这些系统有很大概率都有Nday,也是我们容易攻击的对象。

5)masscan(端口扫描)

这里也可以用Nmap,但是工具太老,推荐使用masscan。

masscan 192.168.61.1 -p 1-65535 --rate=1000

1676209565_63e8ed9d89c60a071d45a.png!small?1676209565203

6)AppInfoScanner (APP)

下载地址:https://github.com/kelvinBen/AppInfoScanner

python app.py android -i 1.apk

1676209579_63e8edabcbb850add1f3f.png!small?1676209579974

3、众测平台

通过众测平台来查询资产的范围,有的厂商特别是一些大的厂商,它们会将资产放出来,供我们进行漏洞挖掘,我们也可以根据这个来确定资产,进行深入挖掘,还有就是CNVD平台,看它们提交的历史漏洞,我们进行分析,看那些漏洞居多,我们进行重点关注,搜集漏网之鱼。

4、whois查询

通过查询目标的WHISO信息,对联系人,联系邮箱等信息进行反差以及查看whios历史信息,获取更多相关的域名信息。

1)whois查询地址:https://whois.chinaz.com/

1676209600_63e8edc0eddf88861c077.png!small?1676209600414

2)微步在线:https://x.threatbook.com/

1676209624_63e8edd8d8a07eb8fdf4c.png!small?1676209624400

我们可以看到相关的域名解析,whois信息,数字证书,子域名等等,都可以翻看到有用的信息。

5、dns查询

1、https://dnsdumpster.com/

1676209656_63e8edf8a5e49e7bece79.png!small?1676209656251

这网站查询的目的,是为了检查是否存在自建NS的服务器,再将ns名带入。

2、https://hackertarget.com/find-shared-dns-servers进行查询,可以获得主域名,这个网站是在别人的博客偶然看到,但是没怎么用过。

6、搜索引擎

1、FOFA

链接如下:https://fofa.info/,基于会员,非常好用,但是没有会员的话,就局限性很大(推荐指数三颗星)。

搜索语法如下:

domain="baidu.com"

header=”baidu.com“

cert="baidu.com"

host="baidu.com"

boby="baidu.com"

2、钟馗之眼

链接如下:https://www.zoomeye.org/,知道创宇网络空间雷达,也是非常好用的搜索引擎工具(推荐指数三颗星)。

3、shodan

链接如下:https://www.shodan.io/,国外的搜索引擎工具,很FOFA一样,也是需要会员(推荐指数三颗星)。

4、鹰图

链接如下:https://hunter.qianxin.com/,奇安信公司的一款搜索引擎工具,下面有详细的语法讲解,而且免费使用(推荐指数五颗星)。

1676209684_63e8ee14e375338a1a918.png!small?1676209684252

在红蓝对抗,或者渗透测试中,我们可以交替使用,以得到资产的最大化,让攻击面变宽。

7、Google查询

1、简介

Google Hacking是利用谷歌搜索的强大,来在浩瀚的互联网中搜索到我们需要的信息,轻量级的搜索可以搜索出一些遗留的后门,不想被发现的后台入口,中量级的搜索出一些用户的信息泄露,源代码泄露,未授权访问等等,重量级的则可能是mdb文件下载,CMS未被锁定install页面,网站配置密码,php远程文件包含漏洞等重要信息。

2、基本搜索

逻辑与:and

逻辑或:or

逻辑非:-

完整匹配:"关键字"

通配符:*?

3、高级搜索

1)intext:

寻找正文中含有关键字的网页,例如:intext:后台登陆,将只返回正文中包含,后台登陆的网页。

1676209704_63e8ee28e58b2059725e9.png!small?1676209704346

2)intitle:

寻找标题中含有关键字的网页,例如:intitle:后台登陆,将只返回标题中包含后台登陆的网页,intitle:后台登陆 密码 将返回标题中包含黑客二正文中包含密码的网页。

1676209718_63e8ee36c489713243212.png!small?1676209718246

3)allintitle

用法和intitle类似,只不过可以指定多个词,例如:allinttitle:后台登陆 管理员 将返回标题包含后台登陆和管理员的网页

1676209729_63e8ee41f28e45bb0dfb0.png!small?1676209729397

4)inurl:

将返回url中含有关键词的网页,例如:inurl:Login 将返回url中含有Login的网页。

1676209743_63e8ee4f635d3ec1bab15.png!small?1676209742826

查找管理员登陆页面:inurl:/admin/login.php

1676209754_63e8ee5a2a6315862698e.png!small?1676209753622

查找后台数据库管理页面:inurl:/phpmyadmin/index.php

1676209763_63e8ee634106a5053967a.png!small?1676209762726

5)allinurl:

用法和inurl类似,只不过可以指定多个词, 例如:inurl:login admin 将返回url中含有login和admin的网页

1676209771_63e8ee6be7fbaff1c8b91.png!small?1676209771271

6)site:

指定访问的站点,例如:site:baidu.com inurl:login 将只在baidu.com 中查找url中含有Login的网页。

1676209781_63e8ee75a09248e1ba402.png!small?1676209781050

7)filetype:

指定访问的文件类型,例如:site:baidu.com filetype:pdf 将只返回baidu.com站点上文件类型为pdf的网页

1676209797_63e8ee85c9512858a194e.png!small?1676209797254

8)link:

指定链接的网页,例如:link:www.baidu.com 将返回所有包含指向 www.baidu.com的网页

1676209811_63e8ee9329ba30330246b.png!small?1676209814478

9)related:

相似类型的网页,例如:related:www.xjtu.edu.cn 将返回与 www.xjtu.edu.cn 相似的页面,相似指的是网页布局相似。

1676209820_63e8ee9cbc70f3965d045.png!small?1676209820307

10)cache:

网页快照,谷歌将返回给你他存储下来的历史页面,如果你同时制定了其他查询词,将在搜索结果里以高亮显示,例如:cache:www.hackingspirits.com guest,将返回指定网站的缓存,并且正文中含有guest。

11)info:

返回站点的指定信息,例如:info:www.baidu.com 将返回百度的一些信息。

12)define:

返回某个词语的定义,例如:define:Hacker 返回关于Hack的定义。

13)phonebook

电话簿查询美国街道地址和电话号码信息,例如:phonebook:Lisa+CA 将返回名字里面包含Lisa并住在加州的人的所有名字。

14)查找网站后台

• site:xx.com intext:管理

• site:xx.com inurl:login

• site:xx.com intitle:后台

15)查看服务器使用的程序

◇ site:xx.com filetype:asp

◇ site:xx.com filetype:jsp

◇ site:xx.com filetype:php

◇ site:xx.com filetype:aspx

16)查看上传漏洞

◇ site:xx.com inurl:file

◇ site:xx.com inurl:load

17)index of

利用Index of 语法去发现允许目录浏览的web网站,就像在本地的普通目录一样,下面就是一些有趣的查询。

◇ index of /admin

◇ index of /passwd

◇ index of /password

◇ index of /mail

◇ "index of /" + passwd

◇ "index of /" + password.txt

◇ "index of /" + .htaccess

◇ "index of /root"

◇ "index of /cgi-bin"

◇ "index of /logs"

◇ "index of /config"

18)inurl

而上面这些命令中用的最多的就是inurl了,利用这个命令,可以查到很多意向不到的东西。

· 利用 allinurl:winnt/system32/ 查询:列出的服务器上本来应该受限制的诸如“system32” 等目录,如果你运气足够好,你会发现“system32” 目录里的“cmd.exe” 文件,并能执行他,接下来就是提升权限并攻克了。

· 查询 allinurl:wwwboard/passwd.txt 将列出所有有“WWWBoard Password vulnerability”漏洞的服务器,阅读更多请参见下面链接。

· 查询 inurl:.bash_history 将列出互联网上可以看见 “inurl:.bash_history” 文件的服务器。这是一个命令历史文件,这个文件包含了管理员执行的命令,有时会包含一些敏感信息比如管理员键入的密码。

· 查询 inurl:config.txt 将看见网上暴露了“inurl:config.txt”文件的服务器,这个文件包含了经过哈希编码的管理员的密码和数据库存取的关键信息。

还有一些其他一些使用“inurl:”和“allinurl:”查询组合的例子

· inurl:admin filetype:txt

· inurl:admin filetype:db

· inurl:admin filetype:cfg

· inurl:mysql filetype:cfg

· inurl:passwd filetype:txt

· inurl:”wwwroot/*.”

· inurl:adpassword.txt

· inurl:webeditor.php

· inurl:file_upload.php

· inurl:gov filetype:xls “restricted”

· index of ftp +.mdb allinurl:/cgi-bin/ +mailto

本章节参考谢公子学安全的公众号文章,讲的非常详细!!!!!

19)Google常用的语法

site:*.test.cn filetype:xlsx 学号

site:*.test.cn filetype:docx | pdf | csv | json

搜集后台

site:xxx.com 管理

site:xxx.com admin

site:xxx.com login

搜集main

site:xxx.com intext:@xxx.com

搜集敏感web路径

site:xxx.com intitle:登录/

site:xxx.com inurl:sql.php

site:*.xxx.com intext:Index of/

8、利用托管平台(Github,码云)

1、在渗透测试信息收集阶段,可以去Github和码云上搜索与目标有关的信息,就会有意向不到的收获,(有的开发人员将代码上传到代码库的时候,有可能连一些重要的配置信息也上传上去了)

2、Github的搜索语法

in:name test #仓库标题搜索含有关键字 SpringCloud

in:descripton test #仓库描述搜索含有关键字

in:readme test #Readme文件搜素含有关键字

stars:>3000 test #stars数量大于3000的搜索关键字

stars:1000..3000 test #stars数量大于1000小于3000的搜索关键字

forks:>1000 test #forks数量大于1000的搜索关键字

forks:1000..3000 test #forks数量大于1000小于3000的搜索关键字

size:>=5000 test #指定仓库大于5000k(5M)的搜索关键字

pushed:>2019-02-12 test #发布时间大于2019-02-12的搜索关键字

created:>2019-02-12 test #创建时间大于2019-02-12的搜索关键字

user:test #用户名搜素

license:apache-2.0 test #明确仓库的 LICENSE 搜索关键字

language:java test #在java语言的代码中搜索关键字

user:test in:name test #组合搜索,用户名test的标题含有test的

3、使用Github进行邮件配置信息收集

很多网站及系统都会使用pop3和smtp发送邮件,不少开发者由于安全意识不足会把相关配置信息也放到Github上,所以如果这个时候我们动用以下google搜索命令语句,构造下关键字,就能把这些信息找出来。

site:Github.com smtp

site:Github.com smtp @qq.com

site:Github.com smtp @126.com

site:Github.com smtp @163.com

site:Github.com smtp @sina.com.cn

site:Github.com smtp password

site:Github.com String password smtp

……

我们也可以锁定域名搜索结合厂商域名 灵活运用例如搜百度的

site:Github.com smtp @baidu.com

4、使用Github进行数据库信息收集

site:Github.com sa password

site:Github.com root password

site:Github.com User ID=’sa’;Password

site:Github.com inurl:sql

5、使用Github进行SVN信息收集

site:Github.com svn

site:Github.com svn username

site:Github.com svn password

site:Github.com svn username password

6、使用Github进行综合信息收集

site:Github.com password

site:Github.com ftp ftppassword

site:Github.com 密码

site:Github.com 内部

9、证书查询

1、我们可以直接在下面网站查询。

链接如下:https://crt.sh/

2、演示案例

https://crt.sh/?q=douyu.com

1676209845_63e8eeb5a99c63e5102a9.png!small?1676209845470

10、浏览器查询

1、我们点击浏览器小锁-->安全连接-->更多信息-->查看证书(这个有可能没有),可以得到一些主域名以及子域名。

1676209860_63e8eec46a6563ed9af33.png!small?1676209860190

1676209870_63e8eece0bbc2886a6971.png!small?1676209869359

11、域名枚举

Altdns是一个DNS侦察工具,允许发现符合模式的子域名,Altdns接收可能出现在域下的子域中的单词(例如:test,dev,staging),并接收您知道的子域列表。

下载链接:https://github.com/infosec-au/altdns

altdns -i subdomains.txt -o data_output -w words.txt -r -s results_output.txt

subdomains.txt文件包含了目标的已知子域

data_output文件将包含大量的更改和置换的子域列表

words.txt是你想要置换子域的单词列表(即admin,staging,dev,qa)- 单词以行分隔

-r命令解析每个生成的已排列的子域

-s命令用于指定altdns在哪保存已解析的排列子域结果。results_output.txt将包含被发现有效的且具有DNS记录的排列后子域的最终列表。

-t命令用于指定解析器同时使用的线程数

-d 1.2.3.4将覆盖系统默认的DNS解析器,并使用指定的IP地址作为解析服务器。将其设置为目标域的授权DNS服务器,可能会提高解析的性能。

12、APP,公众号,小程序,PC应用程序

1、我们可以借助天眼查,企查查等等,上面都会有这些信息。

1676209886_63e8eede6a90ba8d905aa.png!small?1676209886764

2、还可以使用支付宝,微信APP搜索小程序,公众号。

3、APP查找应用商店,豌豆荚,可以下载历史APP,获取有用的信息。

4、PC可通过官网进行查找下载。

5、工具ENScan,可以查找企业APP信息,微信公众号信息,供应商信息等等。

下载链接:https://github.com/wgpsec/ENScan_GO/releases/tag/V0.0.7

1676209895_63e8eee78039d5e9e6a29.png!small?1676209895780

13、IP反查域名

根据前几种方式获取相关IP,然后进行探测可能存在的C段,获取一些没有相关信息的隐藏资产,再通过IP反查域名。这里推荐github上面的一款工具。

工具链接如下:https://github.com/Sma11New/ip2domain

1676209902_63e8eeee684a4e82626e3.png!small?1676209901982

14、真实的IP查找

在很多时候,我们拿到的IP,因为有CDN,所以需要判断它真实的IP,我们需要判断CDN。

1、多地ping,全球ping等在线网站,可以帮助我们快速判断。

多地ping:https://ping.chinaz.com/www.youku.com

国外在线网站:https://get-site-ip.com/

IPIP:https://tools.ipip.net/cdn.php

17ce:http://17ce.com/

CDN查找器:https://www.cdnplanet.com/tools/cdnfinder/

2、通过https证书,有的CDN颁发的证书带有CDN名称,也可以通过https证书进行CDN识别。

3、通过查询历史DNS记录站点在做CND之前可能将域名解析到真实的IP,通过查询DNS历史记录可能会找到CDN使用之前的真实IP,下面我们在列举几个判断CDN的网站。

https://dnsdb.io/zh-cn/

https://x.threatbook.cn/

http://toolbar.netcraft.com/site_report?url=http://viewdns.info/

https://community.riskiq.com/

http://www.crimeflare.com/cfssl.html

4、子域名查询法:CDN服务的使用本身的成本还是挺高的,所以很多站点只对流量大的主站做了CDN,这种情况我们通过子域名枚举就能获取子站的真实IP,在进行C段。

5、很多CDN厂商因为某些原因仅对国内线路做了解析,这种情况使用国外主机直接访问就可能获取到真实的IP。

6、需要找xxx.com网站真实IP,我们首先apnic获取IP段,然后使用Zmap的Banner-grap扫描出来80端口开放的主机进行banner抓取,最后在http-req中的HOST写xxx.com.

7、我们还可以通过网站的漏洞来获取。

8、利用应用功能,抓取反向连接查找服务器的IP,或者根据应用返回的报错查看。

15、通过IP注册信息查询

1、可以通过IP地址注册信息查询:https://ipwhois.cnnic.net.cn/,对上面的域名获取的单个IP输入查询框,或有一个IP范围。

1676209913_63e8eef9bd58548153773.png!small?1676209913363

16、C段扫描

1、Nmap

我们利用nmap可以对C段进行扫描。

Nmap -sV -A -p- 127.0.0.1/24

2、goby

图像化界面,支持漏洞验证,我们可以加载POC进行测试,还可以进行端口扫描。

3、fscan

运行速度快,主机存活探测,端口扫描,常见的服务爆破,SSH弱口令等等,也是内网大杀器之一。

fscan下载链接:https://github.com/shadow1ng/fscan

17、目录扫描

1、备份文件。

2、默认后台

3、源码泄露(.git/.svn)

18、存活探测,敏感资产定位

我们在红蓝对抗中,由于资产过多,我们不可能一个一个进行测试,太浪费时间,这时候我们就要结合工具,快速找出资产的薄弱点,快速打点。

1、https://github.com/EASY233/Finger:⼀款红队在⼤量的资产中存活探测与重点攻击系统指纹探测⼯具。

2、 https://github.com/al0ne/Vxscan :python3写的综合扫描⼯具,主要⽤来存活验证,敏感⽂件探测(⽬录扫描,js泄露接⼝,html注释泄露),WAF/CDN识别,端⼝扫描,指纹/服务识别等

3、 https://github.com/EdgeSecurityTeam/EHole:在信息收集期间能够快速从C段,⼤量杂乱的资产中精准定位到容易被攻击的系统,从⽽实施进⼀步攻击。

上述三款工具,具体使用参考github。

*本文未经过允许,禁止转载!!!!!


文章来源: https://www.freebuf.com/articles/web/357387.html
如有侵权请联系:admin#unsafe.sh