渗透测试 | 信息收集常用方法总结

发布时间:2024年01月23日

本文由掌控安全学院?-?杰斯??投稿

简述

几乎每一个学习渗透的安全人员,都会被告知,信息收集是渗透测试的本质,那事实果真如此嘛?答案是,是的!信息收集作为渗透测试的前期主要工作,说白了叫做确定目标,以达到制作渗透计划的目的,这是非常重要的,甚至有的时候,仅仅通过信息收集,就可以拿到目标的shell了。

其实信息收集也是有分类的:分为主动信息收集+被动信息收集。主动信息收集,说白了,就是直接访问、扫描网站,这种流量将流经网站,不可避免的留下了自己来过的痕迹;而被动信息收集呢,则是利用第三方的服务对目标进行访问了解,比如利用搜索引擎Google、Shodon等等。

收集的内容就有五花八门了,比如whois信息、C段网站、服务器系统版本、容器版本、程序版本、数据库类型、二级域名、防火墙、维护者信息等等,在我看来,收集的内容其实就两种:域名、IP。

一、关于域名
1.子域名收集
  • 收集子域名可以扩大渗透范围,获得更多有关目标公司的资产信息,同一域名下的二级域名都属于目标范围,表现形式:域名加前缀,例如:域名 zkaq.cn 加前缀,abc.zkaq.cn。

a.搜索引擎查找
FOFA(https://fofa.so/) title="公司名称" ; domain="zkaq.cn"

百度(https://www.baidu.com/s):intitle=公司名称;site:zkaq.cn

Google(https://www.google.com/):intitle=公司名称;site:zkaq.cn

钟馗之眼(https://www.zoomeye.org/) site=域名即可 ;hostname:baidu.com

shodan(https://www.shodan.io/):hostname:"baidu.com"

360测绘空间(https://quake.360.cn/) :domain:"zkaq.cn"
b.在线查询
站长之家:http://tool.chinaz.com/

在线子域名查询:https://phpinfo.me/domain/

子域名扫描:https://www.t1h2ua.cn/tools/

dnsdumpster:https://dnsdumpster.com/

查询网:https://site.ip138.com/

爱站:http://dns.aizhan.com
c.工具
子域名挖掘机: 图形化的使用方式。

SubDomainBrute工具: python3 subDomainsBrute.py -t 10 zkaq.cn -f subnames_full.txt -o 111.txt

Sublist3r工具 python3 sublist3r -t 10 -b -d zkaq.cn

OneForALL工具:python3 oneforall.py --target zkaq.cn run

Wydomain工具:python wydomain.py -d zkaq.cn -o zkaq.txt

FuzzDomain工具: 图形化的使用方式。
d.SSL/TLS证书查询
SSL/TLS安全评估报告:https://myssl.com

crt.sh:https://crt.sh/

SPYSE:https://spyse.com/tools/ssl-lookup

censy:https://censys.io/
2.端口型站点收集
  • 收集端口型站点和收集子域名是一样的,都是扩大渗透范围,获得更多有关目标公司的资产信息,表现形式:域名后加【:端口号】,例如:域名 zkaq.cn 加后缀 zkaq.cn:8080。

图片

3.目录文件扫描
  • 目录扫描可以扫出来非常多重要的资源,比如目录型的站点,后台,敏感文件,比如.git文件泄露,.svn文件泄露,phpinfo泄露等等,表现形式:域名后加路径,例如:域名 zkaq.cn 加后缀 zkaq.cn/admin/admin.php。

图片

a.目录扫描工具
御剑工具:图形化的使用方式。

7kbstorm工具:图形化的使用方式。

dirbuster工具:图形化的使用方式。

dirmap工具:python3 dirmap.py -i https://bbs.zkaq.cn -lcf

dirsearch工具:python3 dirsearch.py -u https://www.zkaq.cn -e php

gobuster工具:gobuster dir -u "https://bbs.zkaq.cn" -w "/root/tools/DirBrute/dirmap/data/fuzz_mode_dir.txt" -n -e -q --wildcard
b.github搜索
in:name huawei #仓库标题中含有关键字huawei

in:descripton Huawei.com #仓库描述搜索含有关键字huawei

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

smtp 58.com password 3306 #搜索某些系统的密码
c.google搜索
密码搜索:

site:Github.com sa password

site:Github.com root password

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

site:Github.com inurl:sql

SVN 信息收集

site:Github.com svn

site:Github.com svn username

site:Github.com svn password

site:Github.com svn username password

综合信息收集

site:Github.com password

site:Github.com ftp ftppassword

site:Github.com 密码

site:Github.com 内部
d.在线网站
乌云漏洞库:https://wooyun.website/

网盘搜索

凌云搜索 https://www.lingfengyun.com/

盘搜搜:http://www.pansoso.com/

盘搜:http://www.pansou.com/
e.文件接口工具
jsfinder:https://gitee.com/kn1fes/JSFinder

Packer-Fuzzer:?https://github.com/rtcatc/Packer-Fuzzer

SecretFinder:https://gitee.com/mucn/SecretFinder
4.旁站和C段
  • 旁站:同一个服务器内的站点。

  • C段:同网段,不同服务器内的站点

a.旁站查询
站长之家:http://stool.chinaz.com/same

在线:https://chapangzhan.com/

搜索引擎:fofa: ip="1.1.1.0/24"
b.C段查询
 webscan:https://c.webscan.cc/

 Nmap:

 msscan:
5.网站技术架构信息
  • 了解网站的基础架构信息,能够帮助我们更有信心的去测试目标系统。

a.基础知识
只列出一些↓:

常见的脚本类型语言:asp、php、aspx、jsp、cgi等等

网站类型:电商(偏向于业务逻辑漏洞)、论坛(站点层漏洞、逻辑类漏洞)、门户类(综合类漏洞)等等

数据库:access、mysql、mssql、oracle、postsql等等

源码与数据库组合:asp+access、php+mysql、aspx+mssql、jsp+mssql、oracle、python+mongdb等等

除了这些外,还有加密的结构、目录结构、常见端口号及对应的服务等等这些都需要再进行了解。
b.网站头信息
F12 , 浏览器内获取查看

在线网站:http://whatweb.bugscaner.com/look/

插件:Wappalyzer

curl命令查询头信息:curl https://bbs.zkaq.cn -i
6.CMS识别
  • CMS可以说指的是网站的源码,如果能识别出一个网站使用的哪一种CMS的话,那么可以通过搜索引擎去发现相应的漏洞,若网站管理员没有处理的话,则可以直接突破站点。

    云悉:https://www.yunsee.cn/
    
    潮汐指纹:http://finger.tidesec.net/
    
    whatweb:http://whatweb.bugscaner.com/look/
    
    github查找:https://github.com/search?q=cms识别
    
    whatcms:whatweb bbs.zkaq.cn
    
    cmsIdentification:python cmsIdentification.py https://bbs.zkaq.cn/


二、关于IP

1.CDN
  • CDN可以说是一种资源服务器,不仅可以加速网站访问,还可以提供waf服务,如防止cc攻击,SQL注入拦截等多种功能,除此之外,还可以隐藏服务器的真实IP,cdn服务会根据你所在的地区,选择合适的线路给予你访问,所以如何绕过CDN就十分重要了。

a.CDN检测
使用全球ping:不同的地区访问有着不同的IP,这样就确定了该域名使用了cdn了

http://ping.chinaz.com/

https://ping.aizhan.com/

https://www.17ce.com/
b.CDN绕过
  • 绕过的核心还是hosts绑定,当发现ip后,可以尝试nc端口探测,也可以用nmap进行服务探测,如果像正常的服务器,就可以模糊确定是真实IP。若发现真实ip,可进行hosts绑定,绕过CDN的防御,直接发起渗透,也可以进行IP反查,通过反查的网站来渗透。

    1. 国外dns获取真实IP:部分cdn只针对国内的ip访问,如果国外ip访问域名 即可获取真实IP。
    
    https://www.wepcc.com/
    
    http://www.ab173.com/dns/dns_world.php
    
    https://dnsdumpster.com/
    
    https://who.is/whois/zkaq.cn
    
    2. DNS历史绑定记录
    
    https://dnsdb.io/zh-cn/ # DNS查询,查看A记录有哪些,需要会员。
    
    https://x.threatbook.cn/ # 微步在线,需要登录。
    
    https://viewdns.info/ # DNS、IP等查询。
    
    https://tools.ipip.net/cdn.php # CDN查询IP
    
    https://sitereport.netcraft.com/ # 记录网站的历史IP解析记录
    
    https://site.ip138.com/ # 记录网站的历史IP解析记录
    
    3. 被动获取:让目标连接我们获得真实IP。比如网站有编辑器可以填写远程URL图片,或者有SSRF漏洞。

2.主机发现
a.二层发现
  • 主要利用arp协议,速度快,结果可靠,不过只能在同网段内的主机。

    arping工具:arping 192.168.1.2 -c 1
    
    nmap工具:192.168.1.1-254 –sn
    
    netdiscover -i eth0 -r 192.168.1.0/24
    
    scapy工具:sr1(ARP(pdst="192.168.1.2"))

b.三层发现
  • 主要利用ip、icmp协议,速度快但没有二层发现快,可以经过路由转发,理论上可以探测互联网上任意一台存活主机,但很容易被边界防火墙过滤。

ping工具:ping 192.168.1.2 –c 2

fping工具:fping 192.168.1.2 -c 1

Hping3工具:hping3 192.168.1.2 --icmp -c 2

Scapy工具:sr1(IP(dst="192.168.1.2")/ICMP())

nmap工具:nmap -sn 192.168.1.1-255
c.四层发现
  • 主要利用tcp、udp协议,速度比较慢,但是结果可靠,可以发现所有端口都被过滤的存活主机,不太容易被防火墙过滤。

    Scapy工具:
    
    sr1(IP(dst="192.168.1.2")/TCP(dport=80,flags='A') ,timeout=1)) #tcp发现
    
    sr1(IP(dst="192.168.1.2")/UDP(dport=33333),timeout=1,verbose=1) #udp发现
    
    nmap工具:
    
    nmap 192.168.1.1-254 -PA80 –sn #tcp发现
    
    nmap 192.168.1.1-254 -PU53 -sn #udp发现
    
    hping3工具:
    
    hping3 192.168.1.1 -c 1 #tcp发现
    
    hping3 --udp 192.168.1.1 -c 1 #udp发现

3.操作系统识别
  • 知道目标存活主机的操作系统后,可以依据操作系统来实施针对性的渗透测试。

    TTL值:Windows(65~128),Linux/Unix(1-64),某些Unix(255)
    
    nmap工具:nmap 192.168.1.1 -O
    
    xprobe2工具:xprobe2 192.168.1.1
    
    p0f工具:使用后,直接访问目标即可

4.端口扫描
  • 端口探测可以发现目标服务器上开启的网络服务以及应用程序,这些都是更具体的一些攻击面。

图片

 
scapy工具:

sr1(IP(dst="192.168.1.1")/UDP(dport=53),timeout=1,verbose=1) # UDP端口扫描

sr1(IP(dst="192.168.1.1")/TCP(dport=80),timeout=1,verbose=1) # TCP端口扫描

nmap工具:

nmap -sU 192.168.1.1 -p 53 # UDP端口扫描

nmap -sS 192.168.1.1 -p 80 # 半连接tcp扫描

nmap -sT 192.168.1.1 -p 80 # 全连接TCP扫描

nmap 192.168.1.1 -sI 192.168.1.2 -Pn -p 0-100 # 僵尸扫描

dmitry工具:dmitry -p 192.168.1.1

nc工具:nc -nv -w 1 -z 192.168.1.1 1-100

hping3工具:hping3 192.168.1.1 --scan 0-65535 -S
5.服务探测
nc工具:nc -nv 192.168.1.1 22

dmitry工具:dmitry -pb 192.168.1.1

nmap工具:

nmap -sT 192.168.1.1 -p 22 --script=banner

nmap 192.168.1.1 -p 80 -sV

amap工具:

amap -B 192.168.1.1 1-65535 | grep on

amap 192.168.1.1 20-30 -qb
a.SNMP服务
  • SNMP是简单网络管理协议,由于经常被管理员错误配置,导致很容易造成系统的信息泄露,可以说是“信息的金矿”。

    onesixtyone工具:onesixtyone 192.168.1.1 public
    
    snmpwalk工具:snmpwalk 192.168.1.1 -c public -v 2c
    
    snmpcheck工具:snmpcheck -t 192.168.1.1 -c private -v 2

b.SMB服务
  • smb是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。默认开放,实现复杂,实现文件共享,这也是微软历史上出现安全问题最多的一个协议。

    nmap工具:nmap -v -p139,445 --script=smb-check-vulns --script-args=unsafe=1 192.168.1.1
    
    nbtscan工具:-r 192.168.1.0/24
    
    enum4linux工具:enum4linux -a 192.168.1.1
    
    c.SMTP服务
  • SMTP是一种提供可靠且有效的电子邮件传输的协议。如果能发现目标系统的邮箱账号,那么可以进行相关的攻击,比如钓鱼等。

nc工具:nc -nv 192.168.1.1 25

nmap工具:nmap smtp.163.com -p25 --script=smtp-open-relay.nse

smtp-user-enum工具:smtp-user-enum -M VRFY -U users.txt -t 192.168.1.1
6.其他识别
  • 一些杂项识别,总之,信息收集就是收集有关目标系统的一切。

防火墙识别:nmap -sA 172.16.36.135 -p 22

负载均衡识别:lbd bbs.zkaq.cn

WAF识别:nmap bbs.zkaq.cn --script=http-waf-detect.nse

?

三、其他技术

1.搜索引擎
a.Google语法
+充值 -支付:+代表必须带关键字,-代表必须减去关键字

“充值 支付”:双引号内的内容,进行一个整体搜索

inurl:?id:URL中必须带?id

intitle:充值:网站标题中必须有充值

intext:充值:网站正文中必须有充值

filetype:pdf:找pdf文件
b.Shodon语法
Net:8.8.8.8 # 查询ip的相关的主机信息,也可以直接搜网段

City:Beijing # 查询城市为北京的设置

Country:CN # 查询属于中国的设备 。CN中国

Port:80 # 查询指定开放端口的设备。

Os:windows # 指定操作系统

Hostname:baidu.com # 搜索主机或域名为baidu.com的主机或设备

Server:Apache # 指定中间件
c.Fofa语法
同IP旁站:ip="192.168.0.1“

C段:ip="192.168.0.0/24“

子域名:domain="baidu.com“

标题/关键字:title="百度“

如果需要将结果缩小到某个城市的范围,那么可以拼接语句

title="百度"&& region="Beijing“

特征:body="百度"或header="baidu"
2.whois查询
  • 注册域名的时候留下的信息。比如域名注册人的邮箱、电话号码、姓名等。根据这些信息可以尝试制作社工密码,或者查出更多的资产等等,也可以反查注册人,邮箱,电话,机构及更多的域名。

a.在线网站查询
站长之家域名WHOIS信息查询地址:http://whois.chinaz.com/

爱站网域名WHOIS信息查询地址 https://whois.aizhan.com/

腾讯云域名WHOIS信息查询地址 https://whois.cloud.tencent.com/

美橙互联域名WHOIS信息查询地址 https://whois.cndns.com/

爱名网域名WHOIS信息查询地址 https://www.22.cn/domain/

易名网域名WHOIS信息查询地址 https://whois.ename.net/

中国万网域名WHOIS信息查询地址 https://whois.aliyun.com/

西部数码域名WHOIS信息查询地址 https://whois.west.cn/

新网域名WHOIS信息查询地址 http://whois.xinnet.com/domain/whois/index.jsp

纳网域名WHOIS信息查询地址 http://whois.nawang.cn/
b.反查邮箱
福人:https://bbs.fobshanghai.com/checkemail.html

whois反查:https://www.benmi.com/rwhois

站长工具:http://whois.chinaz.com/reverse?ddlSearchMode=1
c.注册人反查
注册人查询:www.reg007.com

站长工具:http://whois.chinaz.com/reverse?ddlSearchMode=1
d.备案查询
天眼查 https://www.tianyancha.com/

爱站备案查询https://icp.aizhan.com/

域名助手备案信息查询 http://cha.fute.com/index

站长工具:http://icp.chinaz.com/
3.隐藏域名hosts碰撞
  • 一般来说,通过ip直接访问目标,要比通过域名来访问目标网站,得到的信息会更多。但如果域名绑定过多个ip的话,管理员出现配置上的失误,是会导致一些敏感信息泄露的,那么这种情况就可以通过域名+ip捆绑的形式进行碰撞,收集目标公司资产的域名以及解析过的所有ip,将他们一对多的形式进行碰撞,能发现一些很有意思的东西出现。

hosts碰撞参考文章:https://mp.weixin.qq.com/s/fuASZODw1rLvgT7GySMC8Q


四、参考文章

常见Web源码泄露总结:https://www.secpulse.com/archives/55286.html

github 关键词监控:https://www.codercto.com/a/46640.html

利用GitHub搜索敏感信息:http://www.361way.com/github-hack/6284.html

Github 泄露扫描系统:https://www.oschina.net/p/x-patrol?hmsr=aladdin1e1

监控github代码库:https://github.com/0xbug/Hawkeye

Goby工具:https://blog.csdn.net/Alexhcf/article/details/105109362

cms识别工具cmsIdentification:https://github.com/theLSA/cmsIdentification/

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

免费领取安全学习资料包!

渗透工具

技术文档、书籍

?

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

?

应急响应笔记

学习路线

文章来源:https://blog.csdn.net/hackzkaq/article/details/135769891
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。