草庐IT

渗透测试之信息收集

剁椒鱼头没剁椒 2023-04-10 原文

信息收集

1.域名信息收集

1.1.whois查询

1.1.1.whois解释

  whois是用来查询域名的IP以及所有者等信息的传输协议。简单说,whois就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。

1.1.2.whois收集

  1.1.2.1.在线网站查询

  输入相关的域名即可进行查询。
  (1)站长之家:whois域名查询
  (2)爱站工具网:whois域名查询

  (3)域名:域名查询

  1.1.2.2.工具查询

  (1)kail查询:whois+域名

  (2)kail查询:dnsenum+域名

1.2.反查

  不单单可以使用域名进行whois进行查询,同样可以使用手机号、邮箱、注册人等相关信息进行反查。

1.3.备案信息查询

1.3.1.备案信息收集

  输入相关的网站域名、备案编号、主办单位等信息。
  (1)天眼查:备案信息查询
  (1)ICP备案查询网:备案信息查询

1.4.子域名收集

1.4.1.子域名解释

  子域名是顶级域名的下一级,子域名主要指的是二级域名。当一个网站比较大的情况下,直接通过顶级域名进行入手可能会比较困难,但是对于比较大的网站都可能会存在相当多的二级域名,并且顶级域名相对来说防范也比较严格,而二级域名可能就会存在防范不是那么严格的情况。

1.4.2.子域名收集

  1.4.2.1.在线网站收集

  (1)子域名在线查询:子域名查询网站

  (2)子域名在线查询:子域名查询网站

  (3)子域名在线查询:子域名查询网站

  1.4.2.2.工具收集

  (1)Layer子域名挖掘机
  子域名挖掘机,是否能够挖掘到关键不在于工具本身,而在于收到的字典,字典越好,收集到的信息就越多,所以在日常中,需要常收集相关的字典。
  Layer子域名挖掘机5.0:网盘链接 提取码:76rc

  (2)开源扫描器onlinetools
  开源扫描器onlinetools,输入域名即可查询,至于怎么安装可以查询文档或者百度搜索。
  开源地址:https://github.com/iceyhexman/onlinetools

  1.4.2.3.Google语法搜索

  site功能:搜索指定的域名网页内容,子网和网页相关的
  site:网站 “想查询的信息”
  site:baidu.com

2.IP获取/信息收集

2.1.IP获取查询

2.1.1.ping

  通过ping收集相关的服务器IP地址,但是通过ping获取到的IP不一定是真实的。
  语法:ping+域名

2.1.2.nslookup

  通过nslookup收集到的IP地址同样也不一定是真实的。并且命令也提示非权威答应。
  语法:nslookup 进入后输入域名。

2.2.CND绕过

2.2.1.CND解释

  CDN的全称Content Delivery Network,即内容分发网络,CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问的网络中,在用户访问网站时,由距离最近的缓存服务器直接响应用户请求。

2.2.2.真实IP信息收集

  (1)超级ping:超级ping

  (2)全球ping:全球ping

  (3)查询网:查询网

  (4)IP查询:IP查询

2.3.IP信息查询

2.3.1.在线查询

  (1)站长之家:站长之家

3.C段旁注

3.1.C段旁注解释

  C段旁注就是在对目标主机无计可施的时候,另辟蹊径从C段或旁注下手,C段也就是拿下同一C段也就是同一网段内其它服务器,然后从这台服务器对目标主机进行测试,旁注同服务器上的其它站点入手,进行相关的渗透获取权限,然后把服务器拿下,同理自然也就将目标主机拿下。
两者有着不同的区别,C段是同网段不同服务器,旁注是同服务器不同站点。

3.2.C段旁注收集

3.2.1.在线查询

  (1)C段旁注:同IP网站查询

3.2.2.工具查询

  (1)开源扫描器onlinetools
开源扫描器onlinetools,输入域名即可查询,至于怎么安装可以查询文档或者百度搜索。
  开源地址:https://github.com/iceyhexman/onlinetools

4.网站架构

4.1.网站架构解释

  针对整个网站架构进行信息收集:服务器操作系统、网站服务组件、脚本类型、CMS类型、WAF等信息。

4.2.网站架构收集

4.2.1.工具收集

  (1)kail收集:nmap -sV ip地址

  (2)kail收集:whatweb+域名
  (3)御剑WEB指纹识别系统
  下载链接:网盘链接: 提取码:uy9z

4.2.2.插件收集

  (1)Wappalyzer

4.2.3.在线查询

  (1)在线查询:在线cms指纹识别
  (2)云悉:在线指纹识别

  (3)潮汐:在线指纹识别

5.端口

5.1.端口解释

  一个网站可能会开放多个不通的端口,而对一个网站进行测试的时候,一个端口不行可以换一个端口进行测试,多个端口就存在多个可能。

5.2.端口收集

5.2.1.在线收集

  (1)端口收集:在线检测

5.2.2.工具收集

  (1)kail收集:nmap -sS 域名/ip

  (2)kail收集:masscan ip地址 -p 端口(1-1000)

  (3)御剑端口扫描
  下载链接:网盘链接 提取码:l0kd

6.敏感目录收集

6.1.敏感目录类型

  数据文件、配置信息、上传目录、后台登录目录、安装页面、数据库版本、PHP版本、后台压缩包、未授权访问等。

6.2.敏感目录收集

6.2.1.在线查询

  (1)Google语法
  1)site:查找与指定的网站有联系的URL。
  用法:site:网站名称
  案例:site:XX.com //查找和XX.com网站相关的URL。

  2)filetype:搜索指定类型的文件。
  用法:filetype:文件类型
  案例:site:XX.com filetype:pdf //在XX.com中寻找pdf文件。

  3)intitle:搜索网页正文内容中的指定字符。
  用法:intitle:关键字
  案例:intitle:后台搜索 //搜索网址中有后台搜索关键字的网页

  4)inurl:搜索包含有特定字符的URL
  用法:inurl:关键词URL
  案例: inurl:.php?id //搜索网址中有php?id的网页

6.2.2.工具查询

  (1)kail查询:dirb+URL链接

  (2)御剑目录收集工具
  下载链接:网盘链接 提取码:q1q3

  (3)7KBwebpathBurute

7.社会工程学

  可以通过各种方式获取相关信息,通过相关信息生成密码字典。
  网站:https://www.bugku.com/mima/

8.其它

  其它一些在线信息收集网站,至于用法多数都能通过百度搜索到如何使用,这里就不一一介绍。
  钟馗之眼:https://www.zoomeye.org/
  shodan:https://www.shodan.io/
  fofa:https://fofa.info/toLogin

有关渗透测试之信息收集的更多相关文章

  1. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  2. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  3. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  4. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  5. ruby - Ruby 的 Hash 在比较键时使用哪种相等性测试? - 2

    我有一个围绕一些对象的包装类,我想将这些对象用作散列中的键。包装对象和解包装对象应映射到相同的键。一个简单的例子是这样的:classAattr_reader:xdefinitialize(inner)@inner=innerenddefx;@inner.x;enddef==(other)@inner.x==other.xendenda=A.new(o)#oisjustanyobjectthatallowso.xb=A.new(o)h={a=>5}ph[a]#5ph[b]#nil,shouldbe5ph[o]#nil,shouldbe5我试过==、===、eq?并散列所有无济于事。

  6. ruby - RSpec - 使用测试替身作为 block 参数 - 2

    我有一些Ruby代码,如下所示:Something.createdo|x|x.foo=barend我想编写一个测试,它使用double代替block参数x,这样我就可以调用:x_double.should_receive(:foo).with("whatever").这可能吗? 最佳答案 specify'something'dox=doublex.should_receive(:foo=).with("whatever")Something.should_receive(:create).and_yield(x)#callthere

  7. ruby - Sinatra:运行 rspec 测试时记录噪音 - 2

    Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/

  8. ruby-on-rails - 迷你测试错误 : "NameError: uninitialized constant" - 2

    我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test

  9. ruby - 即使失败也继续进行多主机测试 - 2

    我已经构建了一些serverspec代码来在多个主机上运行一组测试。问题是当任何测试失败时,测试会在当前主机停止。即使测试失败,我也希望它继续在所有主机上运行。Rakefile:namespace:specdotask:all=>hosts.map{|h|'spec:'+h.split('.')[0]}hosts.eachdo|host|begindesc"Runserverspecto#{host}"RSpec::Core::RakeTask.new(host)do|t|ENV['TARGET_HOST']=hostt.pattern="spec/cfengine3/*_spec.r

  10. ruby-on-rails - 如何使辅助方法在 Rails 集成测试中可用? - 2

    我在app/helpers/sessions_helper.rb中有一个帮助程序文件,其中包含一个方法my_preference,它返回当前登录用户的首选项。我想在集成测试中访问该方法。例如,这样我就可以在测试中使用getuser_path(my_preference)。在其他帖子中,我读到这可以通过在测试文件中包含requiresessions_helper来实现,但我仍然收到错误NameError:undefinedlocalvariableormethod'my_preference'.我做错了什么?require'test_helper'require'sessions_hel

随机推荐