信息收集那些事

2022-11-18 16:32:21 浏览数 (1)

我们常说,渗透测试的本质就是信息收集。可见信息收集至关重要。这篇文章会给你介绍相关信息收集的各种方法和原理,希望对你的学习有所帮助。

主机发现

基于apr扫描

通过ARP进行主机的发现,速度快,并且很准确,但是缺点就是只能发现本网段的IP。

arping扫描

代码语言:javascript复制
arping  192.168.123.1 -c 5

-c:发送5组数据包。

如上图。目标主机发送的数据包有回应(返回了对应IP的mac)地址,证明此IP是存活的。

基于nmap的arp扫描

代码语言:javascript复制
nmap -sn -PR 192.168.123.1/24

nmap能很快的扫描出目前在线的设备IP和设备名称。

netdiscover扫描

代码语言:javascript复制
netdiscover -i eth0 -r 192.168.123.1/24

相对于前面的几款扫描工具,netdiscover的扫描结果更加清晰!

基于ICMP扫描

ping命令

ping是我们最常用的命令之一,他是基于ICMP协议。

代码语言:javascript复制
ping www.bbskali.cn -c 6

traceroute

traceroute是跟踪路由,原理是通过设置TTL从1递增,TTL减为0的时候,将会返回,所以我们可以一个一个追踪出来。

代码语言:javascript复制
traceroute bbskali.cn

fping

和ping命令一样,能够很快的检测当前命令是否在线。

代码语言:javascript复制
fping bbskali.cn

基于TCP/UDP扫描

TCP扫描:发送未经请求的ACK包,就是说本来要握手的,但是我只发送一个ACK包,服务器会响应一个RST包,我们可以基于这个特性进行一个TCP的扫描IP是否在线。当然也可以发送SYN包进行检测。

UDP扫描:就是发送数据包,但是我们发送的数据一般不会得到响应(因为我们的数据不是服务器所期望的有效数据),只有当端口不存在的时候服务器才会给我们发送一个ICMP的端口不可达的数据包。

Nmap tcp/udp扫描

代码语言:javascript复制
nmap -PU 192.168.123.1/24

hping3扫描

代码语言:javascript复制
hping3 --udp 192.168.123.1 -c 1

存活主机和不存活主机对比。

端口扫描

有人会活,你不是多此一举吗?用前面的命令可以直接扫描端口吗?但是我们的端口扫描是建立在主机存活的基础上的。

基于UDP的端口扫描

nmap扫描

代码语言:javascript复制
nmap -sU 192.168.123.1

UDP扫描相对于花费的时间可能较长点。

基于TCP/SYN的扫描

相对于端口扫描,无论是哪种方法扫描,其原理都是一样的。通过探测端口返回的数据大小,来判断当前端口是否开放。

服务识别

通过扫描开放的端口,来判断当前设备可能运行那些应用服务。

banner信息

利用nc返回

代码语言:javascript复制
nc -nv 192.168.123.1 22

dmitry

代码语言:javascript复制
dmitry -pb 192.168.123.1

nmap

代码语言:javascript复制
nmap -sT 192.168.123.1 -p 22 --script=banner.nse

指纹识别

代码语言:javascript复制
nmap 192.168.123.1 -p 22 -sV 

操作系统识别

代码语言:javascript复制
nmap -O 192.168.123.1 

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/2168445

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

0 人点赞