# 漏洞扫描原理及工具
## 1.扫描原理
**ping检测:**
通过ping返回的TTL值大致的了解一些信息
128:xp、2000、2003
64:7、2008、Linux
255:交换机、路由器等
此方法式只能大致判断,并不准确。
**端口扫描**
telnet IP 端口
由此可判断操作系统、软件服务类型、版本等
如:目标系统开放了137、139、445,端口可以判断目标系统为Windows系统
目标系统开放了22这样的端口很可能为Linux系统
**扫描分类:**
开放扫描:TCP全连接,反向ident扫描
半开放扫描:SYN扫描、IP头信息dumb扫描
隐蔽扫描:FIN扫描、ACK扫描、null扫描、XMAS扫描、TCP分段、SYN\\ACK扫描
扫射扫描:ping udp ack syn icmp
其他扫描:ftp udp\\icmp不可达 IP头信息dumb扫描等
## **2.TCP扫描**
### A TCP普通扫描方式
对于TCP扫描普通常采用以下方法:
TCP ACK扫描:这种扫描技术往往用来探测防火墙的类型,根据ACK位的设置情况确定该防火墙是简单的包过滤还是状态检侧机制的防火墙。
TCP窗口扫描:由于TCP.窗口大小报告方式不规则,所以这种扫描方法可以检测一些类似UNIX系统\[AIX, FreeBSD等\]打开的端口,以及是否过滤的端口.
TCP RPC扫描:这种方式是UNIX\_系统特有的,用于检测和定位远程过程调用\[RPC\]端口一及其相关程序与版本标号。
### B TCP扫描的高级扫描方式
修改TCP数据包中各标志位、就能得到TCP扫描的高级扫描方式,方法及原理如下:
1. TCP connect扫描
这种类型是最传统的扫描技术,程序调用connect()接口函数连接到目标端口,形成一次完整的TCP“三次握手”过程,显然能连接上的目标端口就是开放的瑞口.
(注意:在UNIX系统下使用TCP connect扫描方式不需要任何权限。)
2. TCP SYN 扫描
这种类型也称为半开放式扫描。其原理是往目标端目发送一个SYN包,若得到来自目标瑞口返回的SYN/ACK响应包.则目标端口开放:若得到RST则未开放。(注意:在UNIX下执行TCP SYN扫描必须拥有ROOT权限.)由于此类型并未建立完整的TCP“三次握手”过程,很少会有操作系统记录到,因此比起TCP connect扫描隐蔽得多。虽然此类型扫描隐蔽,但是有些防火墙监视TCP SYN扫描,有些工具(如synlogger和.Courtney)也能够检测到它。原因是:这种秘密扫描方式违反通例,在网络流量中相当醒目.
3. TGP FIN扫描
TCP FIN扫描的原理是:RFC793文档程序向一个端口发送FIN,若端口开放则此包被忽略,否则返回RST。这个是某些操作系统TCP实现存在的BUG,并不是所有的操作系统都存在这个BUG,它的准确率不高,而且此方法往往只能在UNIX系统上成功工作,因此这种扫描方法不是特别流行。它的好处在于足够隐蔽,.如果判断在使用TCP SYN扫描时可能暴露自身则可以试一试这种方法。
4. TCP reverse ident扫描
ident协议允许通过TCP连接得到进程所有者的用户名,即使该进程不是连接发起方.此方法用于得到FTP所有者信息,以及其他需要的信息等。
5. TCP Xmas Tree扫描
该程序往目标端口发送一个FIN、URG和PUSH包。.若其关闭.应该返回一个RST包.
6. TCP NULL扫描
该程序发送一个没有任何标志位的TCP包,关闭的端口将返回一个RST数据包。
## **3.UDP扫描方式和其他扫描方式**
对于UDP端口的扫描,通常采用以下方法:
1. UDP ICMP端口不可达扫描
此方法是利用UDP本身是无连接的协议,所以一个打开的UDP端口并不会返回任何响应包.如果端口关闭,某些系统将返回ICMP\_PORT UNREACH信息.由于UDP是不可靠的非面向连接协议,所以这种扫描方法容易出错,还比较慢。
2. UDP recvfrom() 和write()扫描
由于UNIX系统下非ROOT用户无法读到端口不可达信息,所以NMAP提供这个仅Linux下才有效的方式。在Linux下,若一个UDP端口关闭,则第二次write()操作会失败。当调用recvfrom()
时.若未收到ICMP的错误信息.一个非阻塞的UDP套接字一般返回EAGAIN(“Try Again” ,crror=13 );如果昨到ICMP的错误信息,套接字返回ECONNREFUSED(“Conncctionrefused”,error=111).通过这种方式,NMAP将得知目标端口是否打开。
3. 其他扫描方式
除典型的TCP和UDP扫描方式外,还有一些另类的扫描方式:
分片扫描;
FTP跳转扫描。
**扫描前的注意事项**
1. 了解网络部署情况
2. 确定是否可以扫描,是否需要扫描,对扫描器部署
3. 扫描时间和方式
挑用户少的时候
4. 定制好扫描策略
对扫描器配置
防火墙是否开启
5. 企业服务是否配置了相关的安全策略,防止锁死
例如一个数据库设置密码错误三次就不再允许访问,弱口令暴力破解等注意使用
- src导航站
- kali和msf
- 信息收集
- 收集域名信息
- Whois 查询
- 备案信息查询
- 信用信息查询
- IP反查站点的站
- 浏览器插件
- 收集子域名信息
- 在线平台
- 工具枚举
- ssl与证书透明度
- DNS历史解析
- DNS域传送漏洞
- C段探测
- JS文件域名&ip探测
- 搜索引擎&情报社区
- google黑客
- 威胁情报
- 钟馗之眼
- 收集相关应用信息
- 微信公众号&微博
- APP收集&反编译
- 收集常用端口信息
- 常见端口&解析&总结
- 扫描工具
- 网络空间引擎搜索
- 浏览器插件
- nmap扫描
- 收集敏感信息
- 源码泄露
- 邮箱信息收集
- 备份文件泄露
- 目录&后台扫描
- 公网网盘
- 历史资产
- 指纹&WAF&CDN识别
- 指纹识别
- CDN识别
- 绕过CDN查找真实IP
- WAF识别
- 漏洞资源和社工
- 漏洞公共资源库
- 社会工程
- 资产梳理
- 各种对渗透有帮助的平台
- 扫描器
- 扫描器对比
- AppScan(IBM)_web和系统
- AWVS_web扫描
- X-Scan_系统扫描
- WebInspect_HP_WEB
- Netsparker_web
- WVSS_绿盟_web
- 安恒明鉴
- Nessus_系统
- nexpose_系统
- 启明天镜_web_系统
- SQL注入
- 常用函数
- sql注入步骤
- union注入和information_schema库
- 函数和报错注入
- SQL盲注
- 其他注入方式
- 防止SQL注入解决方案
- Access数据库注入
- MSSQL数据库注入
- MYSQL数据库注入
- 神器SQLmap
- xss跨站脚本攻击
- xss原理和分类
- xss案例和修复
- xss绕过技巧
- xss案例
- 文件上传下载包含
- 常有用文件路径
- 文件上传漏洞
- 文件下载漏洞
- 文件包含漏洞
- upload-labs上传漏洞练习
- XXE、SSRF、CSRF
- SSRF原理基础
- SSRF案例实战
- CSRF原理基础
- CSRF案例及防范
- XXE之XML_DTD基础
- XXE之payload与修复
- XXE结合SSRF
- 远程命令执行与反序列化
- 远程命令和代码执行漏洞
- 反序列化漏洞
- 验证码与暴力破解
- 爆破与验证码原理
- CS架构暴力破解
- BS架构暴力破解
- WEB编辑器漏洞
- 编辑器漏洞基础
- Ewebeditor编辑器
- FCKeditor编辑器
- 其他编辑器
- web中间件漏洞
- 中间件解析漏洞
- Tomcat常见的漏洞总结
- Jboss漏洞利用总结
- Weblogic漏洞利用总结
- WEB具体步骤
- 旁注和越权
- CDN绕过
- 越权与逻辑漏洞
- WEB应用常见其他漏洞
- WEB登陆页面渗透思路
- 获取WEBshell思路
- 社工、钓鱼、apt
- 社工和信息收集
- 域名欺骗
- 钓鱼邮件
- 一些钓鱼用的挂马工具
- 代码审计
- 代码审计工具
- WAF绕过
- WAF基础及云WAF
- 各种WAF绕过方法
- 绕过WAF上传文件
- 系统提权
- windows系统提权
- linux系统提权
- 数据库提权操作系统
- 内网横向渗透
- 内网穿透方式
- 一些内网第三方应用提权
- ARP与DOS
- ARP欺骗
- DOS与DDOS
- 一些DOS工具