渗透测试之扫描

扫描的过程分为3 个阶段

  • 验证系统是否正在运行
  • 扫描系统的端口
  • 扫描系统中的漏洞

ping 扫描

ps:本文的工具,都是基于 bt5 渗透平台

ping 的原理

ping 使用了ICMP 协议。

ICMP协议(Internet control message protocol,网际 控制报文协议)是TCP/IP协议族的一个子协议。该协议位于IP层,提供了传输差错报文、控制报文和询问报文的功能。允许ICMP报文在IP数据报内携带。应用程序可以直接从原始IP接口发送或接收ICMP报文

fping

fping -A weirdbird.net //查看某个站点是否存活
fping -a -g 23.226.77.195 23.226.77.254>~/test //ip 段扫描 并把扫描扫描结果保存到 ~的test

具体的命令 自己 man

端口扫描

tcp三次握手

当两台计算机之间进行tcp通信的时候,首先要完成的就是三次握手。 电脑A 通过某端口 发送一个SYN 数据包 给 需要连接的 电脑B,假如B 电脑正在监听,发会发送回来一个SYN/ACK 响应包作为回应给A,然后A 在回应一个ACK 数据包。 然后握手完成,就能进行通信了。

Nmap 的tcp 连接扫描

这种连接扫描就是基于tcp 三次握手

nmap -sT -p- -PN  61.145.122.155

-s 参数 是指定扫描的类型

-p- 表示扫描所有的端口,而不是常用的1000个端口

-PN 表示跳过主机发现阶段,对所有的地址进行扫描

-iL 表示 从本地路径读取ip 进行扫描

namp -sT -p- -PN 61.145.122.155-254  //扫描155-254 的ip 段的

Nmap 的SYN 扫描

SYN 是 Nmap 默认的 扫描方式,几乎不会造成Dos ,速度也比 连接扫描更快,因为并没有完成tcp 的三次握手,在第二步就结束掉了,发送了一个 RST 重置,让B 电脑放弃前面接收的包

namp -sS -p- -PN 61.145.122.155

Nmap 的 UDP 扫描

nmap -sU 61.145.122.155 //返回的大多数是 open|filtered ,获取的信息很少,所以很容易被忽略

对 渗透初学者来说,最常犯的错误就是忽略了UDP 端口 扫描, tcp 是 面向连接的 协议,而 UDP 则是 无连接的. 比如: DNS, DHCP,SNMP,TFTP 等服务 使用了UDP协议

重要的是要记住,使用UDP 协议进行通信不需要接收方响应,也就是说 目标计算机不发回已接收的响应包,那么该怎么进行判断呢? 是开启了 还是被防火墙给过滤了呢?

所以 加 -sV 参数,通常用于版本扫描,但是这里 可以帮助我们精确UDP 的结果

nmap -sUV 61.145.122.155

Nmap 的Xmas 扫描

在计算机世界中,RFC 是指一个文档,注释文档OR 技术规格,提供了大量的运作细节,所以可以从中查找潜在的弱点或者漏洞.

但是为什么叫Xmas Tree 扫描呢?

因为数据包的FIN,PSH,URG 标记为 on(打开) 了.那 不常用Xmas 数据包的 的原因也显而易见,因为SYN,ACK 一般不会被打开(置位)

在tcp 的RFC 中是这样描述的, 如果一个关闭的端口收到的数据 没有置位 SYN,ACK,RST 标记,那么该端口会发送 RST 作为响应, 否则就会被忽略.

假如计算机的操作系统 完全遵循TCP RFC 文档,那么不用完成连接过程 就可判断端口的状态. 但是 ,Xmas 是针对linux 或者 unix 的 计算机. 对 win 操作系统不起作用

namp -sX -p- -PN 61.145.122.155

Nmap 的Null 扫描

Null 使用没有任何标记(全空)的数据包,但是结果是和 xmas 的 响应是完全一致的

使用xmas 和 null 扫描 的一个好处就是 可以绕过简答的过滤器 和访问控制列表ACL

nmap -sN -p- -PN 61.145.122.155

Nmap 工具 的基本使用就这些了, 具体的可以翻翻 man .

漏洞扫描

漏洞扫描 Nessus 是个非常给力的工具

Nessus 介绍 待续.. 挺简单的, 按照官网的 教程来就OK 了..暂时不写了.

你可能感兴趣的:(渗透测试之扫描)