红队课程-信息收集

红队课程-信息收集

常见的信息收集方法汇总。

HW 信息收集培训

企业信息收集

企业信息收集包括对查询目标企业的公司信息主站域名控股子公司子公司域名,然后再进行备案反查,你又会得到一些新的公司,同理也能再次得到一些新的主站域名,将这些进行整理就得到一批待爆破的域名。

除了这些查到的主站域名,往往企业会有 app公众号小程序这些资产,也要对这些资产进行收集,然后你又拿到了一批域名。

手动查询

  • 天眼查 查企业/子公司/域名/公众号
  • 爱企查
  • 企查查
  • 启信宝

工具查询

信息备案查询

在中国,所有拥有自己域名的网站都需要进行备案登记,备案登记是根据《中华人民共和国互联网信息管理办法》、《非经营性互联网信息服务备案管理办法》、《互联网新闻信息服务管理规定》等相关法律法规进行的。

在进行网站备案查询时,用户可以输入网站的域名备案号等相关信息,查询该网站的备案状态备案号主办单位名称备案时间网站域名等备案信息的详细内容。对查询目标的资产进行备案反查,很有可能会得到一批新的资产,将这些进行整理就得到了一批待爆破的域名。

敏感信息收集

敏感信息包括但不限于:账号、密码、密钥、证书、会话标识、License、隐私数据(如短消息的内容)、授权凭据、个人数据(姓名、住址、电话、身份证号码)、程序文件、配置文件、日志文件、备份文件及数据库、网站物理地址、phpinfo信息、代码、服务器端口、banner信息等。

如果我们在敏感信息收集过程中获取了目标相关的账号密码,那对我们后面的工作带来意想不到的效果。比如直接登录目标服务器,就算不能直接登录,我们也可利用这些敏感信息做密码字典进行撞库操作

利用搜索引擎、github等平台收集敏感信息

  1. inurl——在特定url链接中搜索
    开源网安 inurl:seczone.cn

  2. intitle——在特定的网页标题中搜索
    intitle:深圳开源互联网安全技术有限公司

  3. filetype——在特定文档格式中搜索
    深圳开源互联网安全技术有限公司 filetype:doc

  4. 常用:邮箱 @seczone.cn

  5. googlehack

    • site:*.seczone.cn
    • inurl:seczone.cn
    • intitle:深圳开源互联网安全技术有限公司
    • 深圳开源互联网安全技术有限公司 filetyle:doc|pdf
    • intitle:"index of" "*.passwords.txt"
  6. 从敏感文件中获取数据库账号密码

  7. 一个域名可以配合多个语法搜,那么多域名手动输入搜很慢,推荐工具:

    https://github.com/r00tSe7en/GoogleHackingTool(在线Google Hacking 小工具)

    https://ght.se7ensec.cn/ 在线 Google Hacking

    https://www.exploit-db.com/google-hacking-database 语法,自己可以脚本里批量搜

  8. Github 泄露敏感信息

    一些常用 github dorks,直接搜对应目标信息:

    • xxxxx.com "Authorization"#"Authorization: Bearer"
    • xxxxx.com "filename:vim_settings.xml"
    • xxxxx.com "language:PHP"

    也可以在github对各种信息搜索,比如文件类型

    • filename:manifest.xml
    • filename:travis.yml
    • filename:vim_settings.xml
    • filename:database
    • filename:prod.exsNOTprod.secret.exs
    • filename:prod.secret.exs

    包含关键字的指定语言:

    • language:python username
    • language:php username
    • language:sql username
    • language:html password
    • language:shell username

    搜API/KEYS/TOEKNS关键字:

    • api_key
    • “apikeys”
    • authorization_bearer:
    • oauth
    • auth
    • authentication
  9. 使用 google 语法配合,搜索 github 中的邮件信息泄露

    • 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
      ......
  10. 收集数据库信息

    • site:Github.com sa password
    • site:Github.com root password
    • site:Github.com User ID=’sa’;Password
    • site:Github.com inurl:sq
  11. GitDorker 是一个工具,它利用 GitHub 搜索 API 和量 GitHub dorks 列表,提供存储在 github 上的敏感信息的概览,并给出搜索查询。GitDorker 使用 GitHub 的搜索 API,每分钟有 30 个请求限制。为了防止速度限制,GitDorker 在每 30 次请求后会内置一个睡眠功能,以防止搜索失败。

    https://github.com/obheda12/GitDorker

    start-conda
    conda activate gitdorker
    gitdorker

  12. 推荐两款github敏感信息搜集工具(gsil、gshark)

    https://github.com/FeeiCN/GSIL

    https://github.com/madneal/gshark/

  13. 目标人员姓名/手机/邮箱

    通过开源信息收集目标人员姓名/手机/邮箱,为后面打点做字典做准备。

    https://cn.linkedin.com

    https://cn.linkedin.com/company/seczone

    https://www.wichita.edu/administration/president/ChiefStaff.php

  14. 如果想查看历史的网页是怎样的话,可以访问互联网档案馆:

    http://www.archive.org/web/web.php

  15. theHarvester

    通过搜索引擎、PGP 服务器以及 SHODAN 数据库收集用户的 email,子域名,主机,雇员名,开放端口和 banner 信息

    https://github.com/laramies/theHarvester

    python theHarvester.py -d seczone.cn -l 200 -b anubis,baidu,bevigil,binaryedge,bing,bingapi,bufferoverun,censys,certspotter,crtsh,dnsdumpster,duckduckgo,fullhunt,github-code,hackertarget,hunter,intelx,omnisint,otx,pentesttools,projectdiscovery,qwant,rapiddns,rocketreach,securityTrails,sublist3r,threatcrowd,threatminer,urlscan,virustotal,yahoo,zoomeye

    配置 api-keys 在 theHarvester 目录下 api-keys.yaml 填入对应的 api key 即可,注意”key:”后要加个空格在放 key 字符串。

  16. TEEMO

    https://github.com/bit4woo/teemo

    teemo也可获取邮箱子域名等信息

域名信息收集

通过前面信息收集,我们拿到了一批等待爆破的域名和人员的信息,运气不错的话还能发现泄露的一些敏感信息。

现在需要对域名进行收集:

  • 证书查询
  • whois信息查询
  • dns域名正反查询
  • 子域名探测爆破

证书查询

通过查询共用SSL证书的网站,可以找到相关的其他域名。

whois 信息查询

whois 需要查询域名的 whois,然后根据 whois 信息来查询历史和反查,这样就得到了一些邮箱和可疑域名。

查域名信息主要看网址注册人、到期记录、创建域的时间、名称服务器和联系信息等,查最新的一般都是托管的信息,而查看历史信息就有可能查到真实联系人邮箱电话等:

一些常见whois查询,手动的时候可以查询:

whois 历史信息查询

除了正向查询 whois,还要查询 whois 历史信息:

以下几个网站允许用户访问连接的 WHOIS 数据库以进行调查。这些记录是十多年来对有关域注册的有用数据进行网络爬取的结果:

whois 历史信息查询不能错过,明显可以在whois历史信息中看真实邮箱并反查:

通过历史 whois 信息找到其它邮箱 or 组织名,再反查域名,又可以得到一批资产:

dns域名正向反向查询

dns 域名查询分两个部分,DNS 历史记录和 ip 反查:

子域名探测爆破

常见手法爆破子域名:证书透明度搜索引擎信息泄露ASN号等等。

资产信息整理

通过前面的信息收集工作,获取到大量信息,需要一一进行整理,以便后期的利用:

  • 待探测存活域名
  • 判断是否存在 CDN
  • 获取真实 IP
  • 密码字典制作

域名探测存活工具

判断是否存在 CDN

获取真实 IP

  • 网络空间测绘引擎

    https://fofa.info/
    https://www.shodan.io/
    https://quake.360.net/quake/#/index
    https://www.zoomeye.org/
    https://search.censys.io/

    Censys 查询 SSL 证书找到真实 IP,利用“Censys网络空间搜索引擎”搜索网站的 SSL 证书及 HASH,在 https://crt.sh 上查找目标网站 SSL 证书的 HASH,然后再用 Censys 搜索该 HASH 即可得到真实 IP 地址。

  • 邮箱

    用目标邮件服务器发送邮件给自己的邮箱,再查看邮件源码一定情况下可以找到真实 IP。这时候就需要利用到目标网站存在的功能:

    1. RSS 订阅
    2. 邮箱注册、激活处
    3. 邮箱找回密码处
    4. 产品更新的邮件推送
    5. 某业务执行后发送的邮件通知
    6. 员工邮箱、邮件管理平台等入口处的忘记密码
  • 海外 ping

    由于国内厂家可能只针对国内使用 cdn,对海外没有铺设,导致通过通过海外的 IP 可以直接获取到真实 IP。

    可以使用:

      <https://ping.chinaz.com/>
      
      <https://www.itdog.cn/>
      
      <http://www.webkaka.com/Ping.aspx>
      
      <https://www.host-tracker.com/>
    
  • DNS 历史解析记录

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

    https://securitytrails.com/

    https://x.threatbook.cn/

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

    https://viewdns.info/iphistory/?domain=

  • 查询 whois 以及 ip 反查

  • 敏感文件泄漏

    1. 服务器日志文件
    2. 探针文件,例如 phpinfo
    3. 网站备份压缩文件
    4. .DS_Store
    5. .hg
    6. .git
    7. SVN
    8. Web.xml
  • 漏洞

    如果目标网站本身存在漏洞的话,比如 SSRF、XXE、XSS、文件上传、命令执行等漏洞,或者我们找到的其他突破口,注入我们自己的带外服务器地址,然后在服务器上检查 HTTP 日志记录。

    应用本身的错误会造成当传递一些错误的参数值或者错误的地址时,内部会抛出异常,也就是日常所说的报错,关注报错点,经常会泄露一些真实的IP地址或者内网 IP 段。

  • 通过 favicon.ico 哈希特征

    favicon.ico 是现代浏览器在网页标题的左侧显示的一个小图标。该图标数据通常是从 https://anywebsite/favicon.ico 处获取的,浏览器会在浏览任何网站时自动请求它。因为可以通过计算

    favicon.ico 的指纹哈希,然后去 shodan 等搜索引擎搜索与之相同的主机结果,从而进一步探测是否能挖掘出目标网站的真实IP地址。

    目前网络空间搜索引擎均支持

密码字典制作

在前面信息收集的过程中,我们收集到邮箱、姓名、手机号,一些敏感信息、文件、信息、密码等。那么我们需要将这些信息利用起来,制作成一针对性的密码字典。

在线工具:

https://www.ddosi.org/pass8/
https://password.iculture.cc/index

本地生成:

kali cupp
https://github.com/bit4woo/passmaker
https://github.com/LandGrey/pydictor

密码字典推荐:

https://github.com/TheKingOfDuck/fuzzDicts
https://github.com/lavalamp-/password-lists
https://github.com/zxcvbn001/password_brute_dictionary
https://github.com/insightglacier/Dictionary-Of-Pentesting

Comment