如何使用Kali进行信息收集?

news2024/11/20 2:22:18

渗透测试即模拟黑客入侵的手段对目标网络进修安全测试,从而发现目标网络的漏洞,对目标网络进行安全加固与漏洞修复。

Kali 是一个基于 debian 的渗透测试平台,其中集成了很多常见的和不常见的渗透测试工具,如下图:

工具实在是太多,下面就以平时比较常用的一些东西来做演示,感兴趣的朋友可以自己下去研究,类似 kali 的渗透测试系统有很多,但是我们要学习的是渗透的思路而不是工具的使用,有一个好的的思路对渗透的成功与否是非常重要的,还有弄清楚工具的原理也是关键。

首先介绍一下渗透测试流程大体的归纳:

1.   信息收集

2.   漏洞发现

3.   漏洞利用

4.   维持访问

这是我对于网络渗透常规手段的总结

1.  信息收集

信息收集又分为   被动信息收集   和   主动信息收集。很多人不重视信息收集这一环节,其实信息收集对于渗透来说是非常重要的一步,收集的信息越详细对以后渗透测试的影响越大,毫不夸张的说,信息的收集决定着渗透的成功与否。

1.1 被动信息收集

被动信息收集也就是说不会与目标服务器做直接的交互、在不被目标系统察觉的情况下,通过搜索引擎、社交媒体等方式对目标外围的信息进行收集,例如:网站的 whois 信息、 DNS 信息、管理员以及工作人员的个人信息等等。

1.1.1 IP 查询

想得到一个域名对应的 IP 地址,只要用 ping 命令 ping 一下域名就可以了:

当然,淘宝也使用了 CDN ,所以上面图片中得到的 IP 不是真实 web 服务器的 IP 地址,那么如何得到真实服务器的 IP 呢?

告诉大家个小窍门:不妨把“ www ”去掉,只 ping 下 taobao.com 试试

结果不一样了吧?因为一级域名没有被解析到 cdn 服务器上,很多使用了 cdn 服务器的站点都是这样。

1.1.2 whois 信息收集

在 linux 系统下有一个命令:whois ,可以查询目标域名的 whois 信息,用法很简单,如下图所示:

可以查询到域名以及域名注册人的相关信息,例如:域名注册商、 DNS 服务器地址、联系电话、邮箱、姓名、地址等。

也可以使用一些在线工具,如:http://whois.chinaz.com/

1.1.3 DNS 信息收集

还可以用 linux 下的 host 命令去查询 dns 服务器,具体命令格式为:

host -t ns xxx.com

例如对百度域名的 dns 服务器进行查询,如下图:

同样的用法,还可以查询 a 记录和 mx 记录:

Dnsenum 是一款域名信息收集工具,很好很强大。

示例用法:

1.   dnsenum --enum xxx.com

可以看到 dnsenum 还对域传送漏洞进行了探测,并且尝试从谷歌获取域名,不过在国内谷歌被墙大家是知道的,如果想用谷歌需要翻墙了 ...

2.   dnsenum -f words.txt xxx.com

通过 -f 参数指定字典对目标域名的子域名进行暴力猜解。

更多用法请查看 help 。

1.1.4  旁站查询

旁站也就是和目标网站处于同一服务器的站点,有些情况下,在对一个网站进行渗透时,发现网站安全性较高,久攻不下,那么我们就可以试着从旁站入手,等拿到一个旁站 webshell 看是否有权限跨目录,如果没有,继续提权拿到更高权限之后回头对目标网站进行渗透,可以用下面的方式收集旁站:

1.   通过 bing 搜索引擎

使用 IP:%123.123.123.123 格式搜索存在于目标 ip 上的站点,如下图:

这样便能够得到一些同服务器的其它站点。

也可以使用在线工具:http://s.tool.chinaz.com/same

1.1.5 C 段网站查询

什么是 C 段?每个 IP 都有四个段,如 127.23.33.46 , 127 为 A 段, 23 为 B 段, 33 为 C 段, 46 为 D 段。

在进行 web 渗透时,如果目标站点没有拿下,而旁站也一无所获,或者根本没有旁站,服务器也没有发现其它漏洞,怎么办呢?我们可以通过渗透同一个 C 段的网站、提权拿下服务器,也就是尝试拿下 D 段 1~254 中的一台服务器,接着内网渗透,思路就多了,比如:ARP 欺骗、嗅探?那么,如何收集 C 段存在的站点呢?

之前有不少 C 段查询的工具,由于这些工具多数使用的 bing 接口, bing 接口现在做了限制,需要申请 api-key ,所以很多工具都不能用了,如果要收集 C 段站点的话,可以用 1.1.4 中的方式挨个查询。

1.1.6 Google Hack

搜索引擎真的是个强大的东西,在挖掘信息时你也可以使用一些搜索引擎的语法,对目标的信息进行搜集,也会有一些意想不到的收获,可以用来查找站点敏感路径以及后台地址、查找某人信息、也可以用来搜集子域名等等,用处非常的多,只要自己去构造搜索语法。

网速问题无法开代理,所以访问不了谷歌,就不做演示了,大家可以自行百度去查找 google hack 相关文章。

1.2  主动信息收集

主动信息收集和被动信息收集相反,主动收集会与目标系统有直接的交互,从而得到目标系统相关的一些情报信息。

1.2.1  发现主机

nmap 是一个十分强大的网络扫描器,集成了许多插件,也可以自行开发。下面的一些内容我们就用 nmap 做演示。

首先,使用 nmap 扫描下网络内存在多少台在线主机:

nmap -sP 192.168.1.* / nmap -sP 192.168.1.0/24

-sP 参数和 -sn 作用相同,也可以把 -sP 替换为 -sn ,其含义是使用 ping 探测网络内存活主机,不做端口扫描。

1.2.2  端口扫描

-p 参数可以指定要扫描目标主机的端口范围,如,要扫描目标主机在端口范围 1~65535 开放了哪些端口:

1.2.3  指纹探测

指纹探测就是对目标主机的系统版本、服务版本、以及目标站点所用的 CMS 版本进行探测,为漏洞发现做铺垫。

-O 参数可以对目标主机的系统以及其版本做探测:

这样我们就得到目标主机所运行的系统为 windows xp

如下图所示,可以看到目标主机开放了哪些端口,以及对应的服务。我们还可以加上 -sV 参数来探测详细的服务版本号 :

在对一台主机进行渗透时,服务的版本是很有必要搞清楚的,当知道了服务版本以后,就可以去判断该版本的服务存在哪些漏洞,从而尝试利用该漏洞。

Nmap 的其他一些用法:

-A 参数可以探测目标系统的系统版本、 traceroute 信息、还会调用一些脚本

可以看到,详细的服务版本信息、系统指纹信息、还调用脚本探测了目标主机所在的工作组、主机名、系统时间、 traceroute 等相关的信息。

还有我个人使用 NMAP 对系统做扫描时,常喜欢用的一个组合是:

Nmap -sS -sV - O xxx.xxx.xxx.xxx

其中  -sS 参数的作用是 SYN 扫描, -sV 的作用是探测详细的服务版本信息, -O 是探测系统指纹。效果如下图:

另外,还有些情况,遇到目标系统或者网络对  ICMP 报文做了限制,而 nmap 默认情况下会先使用 ping 去探测目标主机是否存活,如果没有回应的话则不会继续进行端口扫描,遇到这样的情况,可以使用 -Pn 参数,不对目标主机进行 ping 检测。

可以使用 -h 参数查看 nmap 的详细帮助信息,里面有详细的参数介绍。

WEB 指纹探测:

对于 WEB 站点的指纹探测,就是要得到目标网站所用的 CMS 版本、以及 web 容器的版本。

这里用一个 web 站点来举例,

假设拿到一个 web 站点,首先查看站点根目录下有没有 robots.txt 文件,一般 CMS 在这个文件里会留下一些信息,如下:

通过 Disallow 这一项中的路径,就可以判断出是 wordpress 的后台,这样就得到了该网站使用的 CMS 为 wordpress ,或者留意网站下部的版权信息,默认没被修改的情况下可能会留有 powerd by wordpress/powerd by discuz 等字样,这也是获取 cms 的一种思路。

现在我们知道了 CMS 为 wordpress ,那么就用 wpscan 来探测下该 wordpress 站点的版本以及使用的插件版本、主题版本等:

如上图所示(两张图分别是两个不同的站点),默认不加参数会自动探测到 wordpress 的版本、插件版本、主题版本、还有 web 容器的版本信息等。 

至于探测 WEB 容器的指纹信息方法就更多了,比如,随意提交一个错误页面,比如 Apache 、 iis 、 nginx 的默认的错误页面都是不同的,而且不同版本的错误页面也是不同的,如下:

可以看到版本为 apache 2

再用看一个 iis 的站点:

可以判断是 IIS7.5 的错误页面。

也可以用 Nmap 之类的扫描器对 web 服务器的版本进行探测,上一章讲过的 nmap 的 -sV 参数就可以达到这个目的。 

1.2.4 web 敏感目录扫描

WEB 目录扫描也就是通过一些保存着敏感路径的字典(如:后台路径、在线编辑器路径、上传路径、备份文件等),对于一次网站渗透来说,对目录进行暴力猜解是前期阶段必不可少的一个步骤。如果运气好扫到了备份文件之类的,也许会事半功倍。

dirb 是一款 WEB 目录扫描工具,也被集成在 kali 渗透测试系统中,用法很简单,下面简单做个演示:

目标站点   www.hsezzz.cn

需要大家平时多收集 web 敏感路径的字典。

也有爬虫工具,便于帮助渗透者了解目标 web 的大概结构, webscarab 就是一款强大的 web 爬行工具,也可以做目录爆破用,还有很多其它功能,比如做 xss 测试等, java 开发的  gui 界面用法非常简单,这里就简单做爬虫演示:

首先打开 proxy 选项卡中的 listener 选项卡配置代理端口, IP 地址填 127.0.0.1 ,点击 start 开启代理服务:

接着,打开浏览器,设置代理服务器为 127.0.0.1 端口为自己在 webscarab 中设置的端口

配置好代理后,在浏览器中访问目标网站,然后打开 webscarab 的 spider 选项卡,选择起始点的请求(目标站点),点击 Fecth Tree 就可以在 messages 选项卡中看到请求信息

在 spider 窗格中双击自己目标站点前的文件夹图标就可以查看爬到的目录以及文件

信息收集对于一次渗透来说是非常重要的,收集到的信息越多,渗透的成功几率就越大,前期收集到的这些信息对于以后的阶段有着非常重要的意义。

网络安全零基础路线图

对于从来没有接触过网络安全的同学,我帮你们准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/591415.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux(SystemV标准)进程间通信1

目录: 1.前言 2.共享内存 3.认识接口 ------------------------------------------------------------------------------------------------------------------------- 1.前言 我们之前学的什么匿名管道、命名管道通信都是基于文件的通信方式!&#xf…

chatgpt赋能python:Python中的%怎么用

Python中的%怎么用 Python中的%是一个非常重要的运算符,也称为格式化运算符。它用于将一个值插入到另一个字符串中。在本文中,我们将深入了解Python中的%运算符的使用。 %运算符的语法 先看下%运算符的语法: string % values其中&#xf…

求图的最短路径长度的弗洛伊德(Floyd)算法

弗洛伊德算法的适用情况:弗洛伊德算法既可以用来求解有向网的最短路径长度,也可以用来求无向网的最短路径长度,但是对于图中出现负权环的情况,弗洛伊德无法的得到正确的答案 弗洛伊德的算法思想: 以此图为例讲解弗洛…

C语言杂七杂八

fget函数的用法 fgets() 函数用来从指定的文件中读取一个字符串,并保存到字符数组中。 str 为字符数组,n 为要读取的字符数目,fp 为文件指针。 char *fgets(char *str, int n, FILE *stream) 返回值:读取成功时返回字符数组首地…

python图像处理实战(一)—图像基础

🚀写在前面🚀 🖊个人主页:https://blog.csdn.net/m0_52051577?typeblog 🎁欢迎各位大佬支持点赞收藏,三连必回!! 🔈本人新开系列专栏—python图像处理 ❀愿每一个骤雨初…

Android12之service调试(一百五十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

C4D R26 渲染学习笔记 建模篇(3):生成器

文章目录 前文回顾介绍篇建模篇 生成器介绍生成器变形器搭配举例 生成器详细介绍细分曲面布料曲面 未完待续 前文回顾 介绍篇 C4D R26 渲染学习笔记(1):C4D版本选择和初始UI框介绍 C4D R26 渲染学习笔记(2)&#xff…

微服务Spring Cloud 02------使用Eureka实现注册中心(1)

1.Eureka简介 Eureka是Spring Cloud中的一个负责服务注册与发现的组件。遵循着CAP理论中的A(可用性)和P(分区容错性)。 Eureka是Netflix中的一个开源框架。它和 Zookeeper、Consul一样,都是用于服务注册管理的,同样,Spring-Cloud 还集成了Zo…

Canvas画布基本功能及实现网页签名功能

canvas 简介 <canvas> 是 HTML5 新增的&#xff0c;一个可以使用脚本(通常为 JavaScript) 在其中绘制图像的 HTML 元素。它可以用来制作照片集或者制作简单(也不是那么简单)的动画&#xff0c;甚至可以进行实时视频处理和渲染。和所有 DOM 元素一样&#xff0c;拥有自己…

chatgpt赋能python:Python中累乘的作用和用法

Python中累乘的作用和用法 在Python编程语言中&#xff0c;累乘指的是连续乘法&#xff0c;或者说是一系列数字的乘积。累乘的概念非常简单&#xff0c;但是实际上它在编程中有着广泛的应用。 累乘在Python中的实现方式 Python中&#xff0c;累乘可以通过多种方式来实现&…

手写一个webpack插件(plugin)

熟悉 vue 和 react 的小伙伴们都知道&#xff0c;在执行过程中会有各种生命周期钩子&#xff0c;其实webpack也不例外&#xff0c;在使用webpack的时候&#xff0c;我们有时候需要在 webpack 构建流程中引入自定义的行为&#xff0c;这个时候就可以在 hooks 钩子中添加自己的方…

使用docker和minio实现对象存储

文章目录 使用docker和minio实现对象存储什么是minio安装minio使用minio 使用docker和minio实现对象存储 什么是minio ​ Minio是一个开源的分布式文件存储系统&#xff0c;它基于 Golang 编写,虽然轻量&#xff0c;却拥有着不错的高性能&#xff0c;可以将图片、视频、音乐、…

Sequelize:Node.js 中的强大 ORM 框架

❤️砥砺前行&#xff0c;不负余光&#xff0c;永远在路上❤️ 目录 前言优势&#xff1a;提高效率&#xff0c;不用SQL即可完成数据库操作。 那什么是 Sequelize&#xff1f;主要特性&#xff1a;1、模型定义和映射&#xff1a;2、关联和联接&#xff1a;3、事务管理&#xff…

Java性能权威指南-总结2

Java性能权威指南-总结2 性能测试方法原则2:理解批处理流逝时间、吞吐量和响应时间批处理流逝时间吞吐量测试 原则3:用统计方法应对性能的变化 性能测试方法 原则2:理解批处理流逝时间、吞吐量和响应时间 性能测试的第2条原则是多角度审视应用性能。应该测量哪个指标取决于对…

chatgpt赋能python:Python中的与非

Python中的与非 在Python编程中&#xff0c;我们经常会用到与非运算符&#xff0c;用来判断条件语句中的真假性。在本文中&#xff0c;我们将介绍Python中的与非运算符&#xff0c;并探讨其用法和实际应用场景。 什么是与非运算符&#xff1f; 与非运算符是一个布尔操作符&a…

NeRF-SLAM代码记录

前言 没运行成功,尤其是编译gtsam部分,每一步都有错,又是讨厌c++第一天。 这一行编译到92% 就会报错 python/CMakeFiles/gtsam_py.dir/build.make:250: recipe for target python/CMakeFiles/gtsam_py.dir/linear.cpp.o failed make[2

.NET 8 Preview 4 发布

作者&#xff1a;Jon Douglas - Principal Program Manager, NuGet 翻译&#xff1a;Alan Wang 排版&#xff1a;Alan Wang 我们很高兴与大家分享在 .NET 8 预览版 4 中的所有新功能和改进&#xff01;这次发布是继预览版 3之后的更新。您将在这些月度发布中看到更多功能逐渐亮…

【无标题】win11打开VMware虚拟机蓝屏解决

win11打开VMware虚拟机蓝屏解决 win11打开虚拟机蓝屏&#xff01;&#xff01;&#xff01;解决方案&#xff1a;win11支持16.2以上版本&#xff0c;其他版本不兼容&#xff0c;可用文末的卸载工具卸载之前已安装版本&#xff08;深度卸载&#xff09;&#xff0c;然后下载16.2…

chatgpt赋能python:Python中的乘号:一个重要的数学运算符

Python中的乘号&#xff1a;一个重要的数学运算符 在 Python 编程语言中&#xff0c;乘号通常是使用“*”表示的数学运算符。这个运算符非常常用&#xff0c;它可以在各种情况下使用。本文将探讨 Python 中乘号的基本用法&#xff0c;以及更高级的用法。 基本用法 在 Python…

python+django高校人事管理系统vue

本高校人事管理系统以Django作为框架&#xff0c;Python语言&#xff0c;B/S模式以及MySql作为后台运行的数据库。本系统主要包括以下功能模块&#xff1a;用户、院长、职称申报、工资信息、绩效信息、奖惩信息、招聘、科系分类等模块。 本文着重阐述了高校人事管理系统的分析、…