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

主机发现

基于apr扫描

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

arping  192.168.123.1 -c 5

-c:发送5组数据包。
arping
如上图。目标主机发送的数据包有回应(返回了对应IP的mac)地址,证明此IP是存活的。
基于nmap的arp扫描

nmap -sn -PR 192.168.123.1/24

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

netdiscover -i eth0 -r 192.168.123.1/24

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

基于ICMP扫描

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

ping www.bbskali.cn -c 6


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

traceroute bbskali.cn

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

fping bbskali.cn

基于TCP/UDP扫描

TCP扫描:发送未经请求的ACK包,就是说本来要握手的,但是我只发送一个ACK包,服务器会响应一个RST包,我们可以基于这个特性进行一个TCP的扫描IP是否在线。当然也可以发送SYN包进行检测。
UDP扫描:就是发送数据包,但是我们发送的数据一般不会得到响应(因为我们的数据不是服务器所期望的有效数据),只有当端口不存在的时候服务器才会给我们发送一个ICMP的端口不可达的数据包。
Nmap tcp/udp扫描

nmap -PU 192.168.123.1/24


hping3扫描

hping3 --udp 192.168.123.1 -c 1

存活主机和不存活主机对比。
hping3扫描

端口扫描

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

基于UDP的端口扫描

nmap扫描

nmap -sU 192.168.123.1

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

基于TCP/SYN的扫描

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

服务识别

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

banner信息

利用nc返回

nc -nv 192.168.123.1 22


dmitry

dmitry -pb 192.168.123.1


nmap

nmap -sT 192.168.123.1 -p 22 --script=banner.nse

指纹识别

nmap 192.168.123.1 -p 22 -sV 

操作系统识别

nmap -O 192.168.123.1 

Kali黑客笔记一键关注
Last modification:November 11, 2022
正在沿街乞讨中……