01-信息搜集

  • 信息搜集

信息搜集涵盖面很广,有备份文件、目录信息、banner信息等等,需要不断积累经验来,或者利用一些脚本来帮助自己发现题目信息、挖掘题目漏洞。

  1. 信息搜集的分类

敏感目录

敏感备份文件

Banner识别

1.1敏感目录泄露

      一)git泄露:

      git是一个主流的分布式版本控制系统,开发人员在开发过程中经常会遗忘.git文件夹,导致攻击者可以通过.git文件夹中的信息获取开发人员提交过的所有源码,进而可能导致服务器被攻击而沦陷。

  1. 常规的git泄露

既没有任何其他操作,参赛者通过运用现成的工具或自己编写的脚本即可获取网站源码或者flag。书中推荐的一个工具: GitHub - denny0223/scrabble: Simple tool to recover .git folder from remote server

通过下面的命令使用该工具:

./scrabble http://example.com/

二)git回滚:

Git会记录每次提交(commit)的修改,所以当题目存在git泄露时,flag文件可能在修改中被删除或被覆盖了,这时我们可以利用git的“git reset”命令来恢复到以前的版本。

先利用scrabble工具获取源码,在通过“git reset --hard HEAD^”命令跳到上一版本(git中,HEAD表示当前版本,上一版本表示HEAD^)即可获取源码

除了“git reset”,更简单的方式是通过“git log --stat”命令查看每个commit修改了那些文件,再用“git diff HEAD commit-id”比较当前版本与想查看的commit之间的变化。

三)分支

每次提交,git都会自动把它们串成一条时间线,这条时间线就是一个分支。而git允许使用多个分支,从而让用户可以把工作从开发主线上分离出来。Git中默认为master分支。因此,我们要找的flag或敏感文件可能不会藏在当前分支中,这时使用“git log”命令只能找到在当前分支上的修改。

现在大多数的git工具都不支持分支,如果需要还原其他分支的代码,往往需要用于手工进行文件的提取,这里功能较强的GitHacker(GitHub - WangYihang/GitHacker: 🕷️ A `.git` folder exploiting tool that is able to restore the entire Git repository, including stash, common branches, common tags.) 该工具只需执行python GitHacker.py http://127.0.0.1:8000/.git即可运行。 运行之后执行git log –all 或者git branch -v 命令,就能看到master分支的信息。如果执行“git reflog”命令,就可以看到一些checkout的记录。

除此之外还有SVN泄露、HG泄露,不论.git这些隐藏文件,还是实战中admin之类的敏感后台文件夹,其关键在于字典的强大,可以再某些工具的基础上进行二次开发,以满足自己需要。这里推荐一个开源的目录扫描工具:https://github.com/maurosoria/diresearch

CTF线上赛往往会有重定向一类的问题。例如,只要访问.git,便会返回403,此时试探着访问.git/config,如果有文件内容返回,就说明存在git泄露,繁殖,一般不存在。而在SVN泄露中,一般是在entries中爬取源代码,但有时会出现entries为空的情况,这时注意wc.db文件存在与否,便可通过其中的checksum在pristine文件夹中获取源代码。

1.2敏感备份文件

      1. gedit备份文件

Linux下,gedit编辑器保存后,当前目录下会生成一个后缀为“~”的文件,。器文件内容就是刚编辑的内容。假设刚才保存的文件为flag,则该文件名为flag~,通过浏览器访问这个带有“~”的文件便可以看到源代码。

      2.vim备份文件

vim目前运用得最多的Linux编辑器,当用户在编辑文件但意外退出时(如通过SSH连接到服务器时,再用vim编辑文件的过程中可能遇到因为网速不够导致的命令行卡死而意外退出的情况),会在当前目录下生成一个备份文件,文件名格式为:该文件用来备份缓冲区中的内容即退出时的文件内容。

针对SWP备份文明,我们可以用“vim -r flag”命令,即可得到以外退出时编辑的内容。

      3.常规文件

           常规文件所以靠的无非就是字典的饱和性,不论是CTF比赛中还是现实世界中,我们都会碰到一些经典的有辨识度的文件,从而让我们更好的了解网站。这里只是简单举一些例子,具体还需要读者用心搜集记录。

      Robots.txt:记录一些目录和CMS版本信息

      Readme.md: 记录CMS版本信息,有的甚至有github地址。

      www.zip/rar/tar.gz:往往是网站的源码备份。

4.总结经验:

CTF线上比赛的过程中,出题人往往会在运维题目,有时会因为各种情况导致SWP备份文件的生成,所以在比赛过程中可以编写实战监控脚本,对题目服务进行监控。

      Vim在第一次以外退出时生成的备份文件为*.swp,第二次意外退出时的为*.swo,第三次退出时的为*.swn,以此类推。Vim的官方手册中还有*.un,文件名.swp类型的备份文件。

           另外,在实际环境中,网站的备份往往可能是网站域名的压缩包。

1.3Banner识别

       Banner信息(服务器对外显示的一些基础信息)对解题有着十分重要的作用,往往可以通过Banner信息来获得阶梯思路,如得知网站是用ThinkPHP的Web框架编写时,我们可以尝试ThinkPHP框架的相关历史漏洞。或者得知这个网站是Windows服务器,那么我们在测试上传漏洞时可以个根据Windows的特性进行尝试,这里介绍最常用的两种Banner识别方式。

  1. 自行搜集指纹库

Github上有大量成型且公开的CMS指纹库,读者可以自行查找,同事可以借鉴一些成型扫描器对网站进行识别。

  1. 使用已有的工具

可以利用Wappalyzer工具同事提供了成型的Python库,用法如下:

$ pip install python-Wappalyzer

>>> from Wappalyzer import Wappalyzer, WebPage

>>> wappalyzer = Wappalyzer.latest()

>>> webpage = WebPage.new_from_url(“http://example.com”)

>>> wappalyzer.analyze(webpage)

Set([u’EdgeCast’])

            在data目录下,apps.json文件是其规则库,读者可以根据自己需求自由添加。

  1. 总结经验

在进行服务器的Banner信息探测是,除了通过上述两种常见的识别方式,我们还可以尝试随意输入一些URL,有时可以通过404页面和302跳转页面发现一些信息。例如,开启了debug选项的ThinkPHP网站会在一些错误页面显示ThinkPHP的版本。

信息搜集练习:

环境网站:N1BOOK平台-Nu1L Team

根据首页提示的敏感文件首先我们想到的是,robots.txt文件、readme.md文件等,首先试一试robots.txt

显然这个是正确的的,我们再将/flag1_is_her3_fun.txt复制到链接里面。
 

得到第一部分的flag:n1book{info_1
之后根据前方所学,应该试一试是否有备份文件,第一步先确认网站首页是什么后缀类型:
 

首先测试,gedit的备份文件,根据前面所学,gedit的备份文件是在文件后缀的后面加上一个“~”
 

获得第二部分的flag:s_v3ry_im
得到这些之后,在测试一下是否还有vim编辑器的备份文件我们在index.php后面再加上一个vim备份文件的后缀“.swp”
 

此时发现并没有这个页面,我们再在index的前面加上一个点“.” 

发现浏览器给我们下载了一个文件,由于我没有处理这个文件的软件,我们在Linux下使用wget将这个文件下载下来。
 
之后采用,vim -r .index.php.swp命令将这个文件恢复

 

向下翻找到最后一部分flag:p0rtant_hacker}
将flag合并得到:n1book{info_1s_v3ry_imp0rtant_hacker}

后面那个题目使用书中推荐的工具:https://github.com/denny0223/scrabble即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
SN 29500__西门子零件01-15故障率。 SN 29500是指一组西门子零件的序列号。根据给定的信息,我们需要评估这些零件的故障率。 零件的故障率是指在一定时间内,这些零件发生故障的概率或频率。然而,由于缺乏具体的数据和背景信息,无法准确计算SN 29500__西门子零件01-15的故障率。 这其中的零件故障率取决于多个因素,包括但不限于:零件的质量和制造过程、使用环境、维护和保养情况。另外,故障率还可能受到人为因素、外部因素或随机事件的影响。 要评估这些零件的故障率,我们需要收集更多的信息。首先,我们需要了解这些零件的具体种类和型号,或者更详细地描述它们的功能和用途。其次,我们需要了解这些零件的使用情况,例如它们的工作时间、工作负荷和环境条件等。此外,了解之前的故障记录以及维护和保养方案也会对评估故障率有所帮助。 通过收集和分析相关数据,我们可以进行统计和概率分析,从而得出SN 29500__西门子零件01-15的故障率估计。然而,这个过程需要详细的数据和适当的方法,所以无法在没有更多信息的情况下提供一个准确的答案。 总之,对于SN 29500__西门子零件01-15的故障率,我们需要更多的信息和数据,并采用适当的统计和分析方法进行评估。只有在充分了解各种因素的情况下,才能给出较为准确的答案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunyou1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值