篇(四) 信息收集——03章
本文目录
声明
本文作者:南城无笙
本文章本次发布平台:CSDN
请勿盗版、抄袭以及未标明出处或未经允许的转载
法律声明:本文是渗透测试类文章,文中所提到、使用的工具、技术均不可用于违法行为,文中演示所作为目标的网站均为不会受到该工具影响的网站。
这次的内容比较多,所以提供一个目录
正文
到了信息收集的第三篇了,本篇里要讲的工具会比前面的多一点。
今天要介绍的第一个工具是一款OSINT(开源情报收集)工具,在这个方面,该工具享有一定的盛名,那就是——SpiderFoot。这个工具我个人也非常喜欢,在我所看过的书籍中,该工具在信息收集-OSINT类目中被广泛推荐,其也有不用安装的SpiderFootHX版本和普通的安装在本地的Spiderfoot版本,其中本地安装的包括WebUI和命令行两种使用方式,此文中计划的是对于Spiderfoot HX和本地的版本都进行介绍,本地版本使用WebUI(其实我个人还是更推荐WebUI版本,前提是没有特殊需求的话,UI界面其实要比命令行输出结果更简洁明了,而且更加方便(而且拯救了我看命令行快看瞎了的眼睛))
这里先给出官网:
Spiderfoot官网
SpiderFoot HX
先来说说这个HX,这个我不会去用太多口舌去介绍,因为这个HX版本非付费用户具有很多局限性(由于是云托管类型的,所以没法破解),先来看看注册之后给出的提示:
文中英文的意思是:扫描时间不能超过15分钟、不可以使用攻击性模块、相关性扫描模块可用,但是主要功能仅限于付费订阅。
所以呢,舍得花钱去购买付费订阅的技术上应该就犯不着我瞎操心了,那么剩下的小白可以把这个当作备选工具,因为对于渗透测试这个东西来说,条件允许的情况下,不要嫌弃"武器库"里的工具太多(有的时候冷门的工具会让你有一些“冷门”且有用的发现)
进入工具:这个得你自己注册哈,然后他会给你一个属于你的二级域名。
这个工具其实可以调用一些其他的API,所以想研究的或者有这些工具账号的可以去研究哈
然后他的Investigate(调查)和Monitor(监视器)都是付费的。。。(贫穷的泪水)。
没错,能用的只有Scan
使用过程介绍
下面我们来新建一个扫描“玩玩”看:
点击New Scan新建扫描。
然后就来到了配置扫描的界面(啊等等,这个界面…Nessus的既视感,相信用过Nessus的对这种配置扫描的方式已经是非常熟悉了)
这里我们用baidu.com作为例子哈。
首当其冲的第一个表单,就是为扫描取一个名字。
第二个大一点的,里面输入的就是扫描目标了,选择旁边的Import按钮还可以从文件里导入目标~。
到了Iteration这个选项,以我的个人理解来看,这个东西作用就是发现目标潜在、与目标相关联的信息。
下一个就是Modules选项:
这个东西我一般是选择全选的(其中有一些需要对应的API Key)。
其中有一些后有一些奇奇怪怪的图标,如:
那个🔑图标代表需要API Key,🐢图标代表该模块模块运行速度缓慢。
最后的Option选项就放机翻吧,没啥需要解释的:
(当然,非付费订阅的话,屏幕截图和Firehoses都是不能用的(贫穷的泪水* 2 o(TヘTo)))
接下来就让我们开始扫描,然后稍等片刻来看看他的扫描结果吧。
点击“立即运行扫描”
运行结果:
由于百度的网络资产实在是太多太多了,所以我们只运行十五分钟就停止了扫描,上图中是进入扫描结果的Overview界面,上面为我们传达了如下的信息:
- correlations:相关性扫描。即与目标具有相关性的资产。
- Total Data Elements:总共扫描到的元素总数。
- Unique Data Elements:独特的元素数量。
- Error:扫描中出现的错误。
- Top 5 Data Families:前五数据系列,如图中的分别就是:网络项目、在线子资源、协议数据、在线资源、还有一个可描述性外部资源),上述的都比较好理解,要查看上述的内容,点击对应的链接就可以,如点击Network Object:
- 点击相关性的图标就可以看到扫描到的对应相关性的元素
- 还有Top 5 Data Source排名前五的数据源
- 下面还有对比的柱状图
点击上方的browse by可以选择查看不同内容,其中包括数据源等等(还有一个挺好的就是各个模块的结果,如下图:)
如果对数据加注星标,还可以在starred里面查看。
看到这里,相信很多读者就会问了,这么多数据怎么清楚的察看、浏览啊?好问题,这就说到了下一个功能,图形化:
这个功能可以把收集到的数据整理成图,绝大多数情况下,都可以将数据清晰的画上关系图,并且由多种图形,很是方便(这里是选项里的Chord Diagram,由于百度家大业大,上面有几个选项已经是由于数据太多无法使用了),下面再给放一个tree map的图片
这里由于就是国外的工具,所以只有英文(这里补充一句,我在知乎平台看到过多次提问:零基础学网络安全可以吗,这个问题这里提一嘴,可以肯定是可以,因为我就是零基础自学的,但是,二进制也好,Web安全也好亦或是其他不同的网络安全类的学科,都很吃英语水平,无非就两种情况:1.你本身英语能力够 2.不会的你查了而且记住了)
还有Sankey Diagram:
后面还有一个log选项,可以查看不同类型的日志:
上述大致就是对Spiderfoot HX的介绍了。
优缺点总结
结尾再说一下,这个工具(HX)肯定是一个优秀而且比较方便的工具,即使很多模块不给免费,但是哪怕仅有的免费的模块也收集到了大量的信息,而且图形展示各个数据的关系很清晰,但是缺点:
- 1.付费解锁全部功能
- 2.扫描时间有限制,一共一小时,单次15分钟。
- 3.一个月就三次免费机会。
优缺点都给了,工具怎么样当然也是一人一个说法。
Spiderfoot 本地安装版本
对于SpiderFoot HX的介绍已经结束了,下面就看看他的本地安装版本在OSINT方面的表现怎么样了。
这里咱们”放过百度“,这次咱们来以必应为例子。
在我使用的kali Linux中,Spiderfoot是默认被安装好的,提供有:spiderfoot
和spiderfoot-cli
,这里我们使用前者。
启动SpiderFoot WebUI
命令行中,输入:spiderfoot -l IP:port
来启动spiderfoot web ui。
这里的IP我是在虚拟机本机使用,所以IP使用的就是127.0.0.1,端口号可以随便找一个没占用的端口。例如我使用的就是:spiderfoot -l 127.0.0.1:8989
,等待启动后,命令行会出现如下内容:
(这里我这边弹出了一个WARNING,意思就是在passwd文件中未找到密码,这个密码由于我懒所以就没设置,有需要的可以访问:官方文档-security,这里可以找到这个问题的解决方法。)看到这个内容后,我们就可以打开浏览器,访问127.0.0.1:8989(注意:这里的冒号一定是英文符号!!!)由于我的没有密码,直接就到了主页:
API Key设置方式
选择Settings,左侧就是各个模块,可以对各个模块进行设置,带有🔒标志的就代表着是需要API Key的,设置之前需先去对应的网站获取API Key。
使用过程介绍
这里Scans展示了所有的扫描任务,这里我们选择 New Scan新建一个扫描:
Spiderfoot本地版本新建扫描这个页面非常的友好,右边给出了你可能要搜索的目标,并且给出了例子,像右边列举了如下的可以的搜索目标:
- 域名:e.g.
abc.com
- IPV4 地址:e.g.
1.3.5.7
- IPV6 地址:e.g.
1111:2222:3333::4444
- 主机名/子域名:e.g.
aabb.abc.com
- 子网:e.g.
1.3.5.0/24
- BTC 地址:e.g.
Bitcoin Address
(忒长了,不举例) - 邮箱地址:e.g.
hacker @ abc.com
- 电话号:
+86xxxxxxxxxxx
(由于这个工具是国外的,所以通过邮箱、手机以及下一条要写的人名搜索是否行得通是个未知数,感兴趣的可以去试一试)(E.164格式)。 - 人名:
"Dale Smith"
(这里的引号不可以缺少)。 - 用户名:e.g.
”admin666“
(引号不可以缺少) - 自治系统号(ASN号):e.g.
1234
上述就是他给出的可能用到的情况,我个人感觉已经是相当的全面了。
这里我们给扫描取名叫做“test”,目标自然就是“bing.cn”(这里解释一下为什么使用搜索引擎,必应和百度都是很大规模的搜索引擎,这种规模的网络资产,不会因为一个进攻性很低的OSINT工具而造成生产环境出现问题。所以在尝试工具时候,一定要确保目标生产环境是否受到影响!!),在填写完名字和目标之后,我们看到下面给出了几个选项:
这里我们对三个选项进行介绍:
By Use Case:
- All——即获取任何、所有有关目标的信息。所有SpiderFoot模块都将启用(慢速),但将获取有关目标的每个可能的信息,且这些信息都将被收集和分析。
- Footprint——获取目标公开在网络上的信息,获取目标的网络边界,关联的身份以及通过大量网络爬虫和搜索引擎使用获得的其他信息。
- Investigate——最适合怀疑目标为恶意但需要更多信息的情况。(原谅我啥也不是的翻译能力)。
- Passive——不希望目标发现被侦察(可以理解为更加隐秘的扫描)。由于在不接触目标或其附属资产的情况下收集大量信息,因此将仅启用未接触目标的模块。
这里我们直接选择All来获取一个更好的效果(还是那句话,在实际渗透过程中,会遇到目标配置极低的情况,这时一定要注意自己使用的工具是否会对对方造成影响,尤其某些众测平台的项目,很多都是明确写上了禁止使用扫描器或者禁止使用容易造成影响的爬虫之类的,在实际操作时候一定要谨慎)
By Required Data:
By Required Data 其实就是选择是否需要某些数据,这里提供的选项太多了,我就不一一列举了,实在是列不过来:
这里在实际操作的时候,可以根据个人需要选择,这里我也是保持全选(当然了,这个肯定是选的越少速度越快的。)
By Module:
在这里,可以选择是否使用某个或某些模块。
带有🔒标志的表示的是需要API Key的。
进行完上述设置,我们便开始扫描。
扫描结果
扫描进行到结果元素一千多个的时候我停止了扫描(足够进行演示了)。
结果截图:
柱状图分别给出了各个不同类型信息的数量的占比,点击各个柱可以进行查看,这个的内容和HX差别不大,HX的扫描结果一定是比这个多的。
这个也具有招人稀罕的图形:
虽然不如HX来的那么舒适,但是聊胜于无。
图形化就很简单了,没有其他太需要介绍的了~。
内容如果还是觉得有看不懂的地方,就参考SpiderFoot HX的讲解。
hping3
本文介绍的第二个工具——Hping3。
hping3也是信息收集工具里的常用“大将”之一。
在KaliLinux中是默认安装好的,在命令行里使用:hping3 -h
可以查看官方的帮助文档。
在KaliLinux的菜单中,该工具位于:
用途
用来测试防火墙拦截规则
测试防火墙对ICMP包的半影、是否支持traceroute、端口开放情况、对防火墙进行DoS(Denial of Service,拒绝服务)攻击。例如LandAttack(发送地址和目标地址相同)(DoS攻击谨慎使用。)
常用模式
- -0 --rawip IP原始报文
- -1 --icmp ICMP模式
- -2 --udp UDP模式扫描
- -8 --scan 扫描模式
- -9 --listen 监听模式
常见参数
-v
显示版本-i/--interval
等待uX微秒,例如hping3 -i u1000
即为等待1000微秒。fast
每秒十个包faster
每秒一百个包--flood
以最快的最极限的速度发包。-q/--quiet
静默模式-I/--interface
设置接口(如eth0等)-V/--verbose
详细模式,显示冗余信息--beep
发出提示音当每个匹配的包被接收-a/--spoof
源IP地址欺骗-t/--ttl
调整TTL值,默认64-C/--icmptype
设置ICMP类型,默认为echo request-K/--icmpcode
ICMP代码,默认为0-s
设置基本源端口-d
数据大小-T/--traceroute
路由追踪-B/--safe
启用Safe协议-L/--setack
设置TCP ACK-F/--fin
设置FIN Flag-S/--syn
设置SYN Flag-R/--rst
设置RST Flag-P/--push
设置PUSH Flag-A/--ack
设置ACK Flag-U/--urg
设置URG Flag-X/--xmas
设置X unused Flag-Y/--ymas
设置Y unused Flag
上述就是对Hping3的基本使用的讲解。本文到这里结束~。