【网安入门】学习笔记(八)

扫描

Whatweb

  • Whatweb 是一个开源的网站指纹识别软件,它能识别的指纹包括 cms 类型、博客平台、网站流量分析软件、javascript 库、网站服务器,还可以识别版本号、邮箱地址、账户 id、web 框架模块等。
    在这里插入图片描述
  • 简单探测
    testfire.net是IBM建立的供攻击的靶场网站
    在这里插入图片描述

(1)http://testfire.net:是访问的网址
(2)200: 是状态码

100 Continue
101 Switching Protocols
200 OK
201 Created

(3)apache: 是采用的中间件
(4)cookies: 身份认定
(5)country: 国家
(6)HTTPServer: http平台和版本
(7)HttpOnly:如果在cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击。

  • 批量扫描
    (1)touch 创建新的文本文件
    在这里插入图片描述
    【删除文件是 rm -f [path/filename]】
    【递归删除文件夹 rm -rf [path/filename]】
    (2)修改内容
    在这里插入图片描述
    (3)查看内容
    在这里插入图片描述
    (4)开始批量扫描
    在这里插入图片描述
    其他方法
    在这里插入图片描述
    (5)以特定格式导出扫描结果并查看
    在这里插入图片描述
    (6)其他格式导出
-log-brief=FILE 简要的记录,每个网站只记录一条返回信息
-log-verbose=FILE 详细输出
-log-xml=FILE 返回xml格式的日志
-log-json=FILE 以json格式记录日志
-log-json-verbose=FILE 记录详细的json日志
-log-magictree=FILE xml的树形结构
ps:json格式需要安装json——sudo gem install json mongo格式需要安装mongo——sudo gem install mongo

Nmap&Zenmap

  • Nmap
      Nmap是一款针对大型网络的端口扫描工具,它也适用于单机扫描,它支持很多扫描,也同时支持性能和可靠性统计。
      可用于:
      检测活在网络上的主机
      检测主机上开放的端口
      检测到相应的端口的软件和版本
      检测操作系统,硬件地址,以及软件版本
      检测脆弱性的漏洞
  • Zenmap
      是Nmap官方提供的图形界面
    【科来】
      是一款由科来软件全自主研发,并拥有全部知识产品的网络分析产品。该系统具有行业领先的专家分析技术,通过捕获并分析网络中传输的底层数据包,对网络故障、网络安全以及网络性能进行全面分析,从而快速排查网络中出现或潜在的故障、安全及性能问题。
  • Nmap通过探测将端口划分为6个状态
    (1)open:端口是开放的
    (2)closed:端口是关闭的
    (3)filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态
    【在公司里严禁使用工具,工具速度非常快,id会被安全狗拉入黑名单,但是可以改变工具的提取速度】
    (4)unfiltered:端口没有被屏蔽,但是否开放需要进一步确认
    (5)open|firtered:端口是开放的或被屏蔽
    (6)closed|firtered:端口是关闭的或被屏蔽
  • TCP SYN 扫描
      是Nmap 的默认扫描方式,通常被称作半开放扫描。该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么可以判断端口是开放的;如果收到RST包,说明该端口是关闭的。如果没有收到回复,那么可以判断该端口被屏蔽了。因为该方式仅发送SYN包对目标主机的特定端口,但不建立完整的TCP连接,所以相对比较隐蔽,而且效率比较高,应用范围广。
    【SYN——同步序列编号】
      是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。
  • TCP connect 扫描
      是使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明该端口关闭。该方式扫描速度比较慢,而且由于建立完整的TCP连接会在目标主机上留下记录,不够隐蔽。所以TCP connect是TCP SYN无法使用才考虑使用的方式。
    【API——应用程序接口】
      是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 [1] 目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。
    【API connect】
      是一个完整、现代化、直观且可扩展的 API 平台,能够在云端创建、安全地公开、管理和 API 并通过 API 获利。
  • TCP ACK 扫描
      向目标主机的端口发送ACK包,如果收到RST包,说明该端口没有被防火墙屏蔽;没有收到RST包,说明被屏蔽。该方式只能用于确定防火墙是否屏蔽某个端口,可以辅助TCP SYN的方式来判断目标主机防火墙的状况。
    【ACK——确认字符】
      在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。在TCP/IP协议中,如果接收方成功的接收到数据,那么会回复一个ACK数据。通常ACK信号有自己固定的格式,长度大小,由接收方回复给发送方。
    【RST——重置连接、复位连接】
      产生复位的一种常见情况是当连接请求到达时,目的端口没有进程正在监听。对于UDP,当一个数据报到达目的端口时,该端口没在使用,它将产生一个ICMP端口不可达的信息。而TCP则使用复位。
      终止一个连接的正常方式是一方发送FIN。有时这也称为有序释放(orderly release),因为在所有排队数据都已发送之后才发送FIN,正常情况下没有任何数据丢失。但也有可能发送一个复位报文段而不是FIN来中途释放一个连接。有时称这为异常释放(abortive release)。
      如果一方已经关闭或异常终止连接而另一方却还不知道,我们将这样的T C P连接称为半打开(Half-Open)的。任何一端的主机异常都可能导致发生这种情况。只要不打算在半打开连接上传输数据,仍处于连接状态的一方就不会检测另一方已经出现异常。
      半打开连接的另一个常见原因是当服务器主机突然掉电而不是正常的结束服务应用程序后再关机,服务器主机重启后,从客户向服务器发送另一行字符。由于服务器的TCP已经重新启动,它将丢失复位前连接的所有信息,因此它不知道数据报文段中提到的连接。TCP的处理原则是接收方以复位作为应答。
  • TCP FIN/Xmas/NULL 扫描
      这三种扫描方式被称为秘密扫描,因为相对比较隐蔽。FIN扫描向目标主机的端口发送的TCP FIN 包或Xmas tree包或NULL包,如果收到对方的RST回复包,那么说明该端口是关闭的;没有收到RST包说明该端口可能是开放的或者被屏蔽了。其中Xmas tree包是指flags中FIN URG PUSH被置为1的TCP包;NULL包是指所有的flags都为0的TCP包。
    【FIN】
      TCP报头的码位字段,该位置为1的含义为发送方字节流结束,用于关闭连接。当两端交换带有FIN标志的TCP报文段并且每一端都确认另一端发送的FIN包时,TCP连接将会关闭。FIN位字面上的意思是连接一方再也没有更多新的数据发送。然而,那些重传的数据会被传送,直到接收端确认所有的信息。
    【TCP协议的6个标志位】
URG 紧急指针,告诉接收TCP模块紧要指针域指着紧要数据。
ACK 置1时表示确认号(为合法,为0的时候表示数据段不包含确认信息,确认号被忽略。
PSH 置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。
RST 置1时重建连接。如果接收到RST位时候,通常发生了某些错误。
SYN 置1时用来发起一个连接。
FIN 置1时表示发端完成发送任务。用来释放连接,表明发送方已经没有数据发送了。

https://www.cnblogs.com/-zyj/p/5730445.html

  • UDP扫描
      UDP扫描用于判断UDP端口的情况,向目标主机的UDP端口发送探测包,如果收到回复ICMP port unreachable就说明该端口是关闭的;如果没有收到回复,那说明该UDP端口可能是开放的或者屏蔽的。因此,通过反向排除的方法来判断哪些UDP端口是可能处于开放状态的。
    【UDP——用户数据报协议】
      UDP是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,它主要用于不要求分组顺序到达的传输中,分组传输顺序的检查与排序由应用层完成,提供面向事务的简单不可靠信息传送服务。UDP 协议基本上是IP协议与上层协议的接口。UDP协议适用端口分别运行在同一台设备上的多个应用程序。
    【ICMP——Internet控制报文协议】
      它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
  • 其他方式
      除了以上几种常用的方式外,Nmap还支持多种其他的探测方式。例如使用SCTP INIT/Cookie-ECHO方式是来探测SCTP的端口开放情况;使用IP protocol方式来探测目标主机支持的协议类型(TCP/UDP/ICMP/SCTP等等);使用idle scan方式借助僵尸主机来扫描目标主机,以达到隐蔽自己的目的;或者使用FTP bounce scan,借助FTP 允许的代理服务扫描其他的主机,同样达到隐蔽自己的目的。
    【SCTP——流控制传输协议】
      是一个面向连接的流传输协议,它可以在两个端点之间提供稳定、有序的数据传递服务。SCTP可以看做是TCP协议的改进,它继承了TCP较为完善的拥塞控制并改进TCP的一些不足。
    【IP protocol——IP协议】
      IP协议字段描述
    详见:https://blog.csdn.net/m0_37806112/article/details/82787332
    【IDLE】
      IDLE是开发 python 程序的基本IDE(集成开发环境),具备基本的IDE的功能,是非商业Python开发的不错的选择。
  • 端口扫描用法
    在这里插入图片描述
  • 端口参数与扫描顺序
    在这里插入图片描述
  • 简单扫描
    搜索目标主机开放的端口号,运行的服务
nmap 10.0.0.1
  • 全面扫描
    详细版本信息
nmap -T4 -A -v  10.0.0.1

  -T4:指定扫描过程使用的时序,有0~5六个级别,级别越高扫描速度越快,越容易被防火墙或IDS检测并屏蔽掉,在网络通讯良好的情况下推荐使用T4。
  -v:表示显示冗余信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态。

  • 扫描指定端口的开放状态
    扫描目标主机80到445端口的开放情况
nmap -p 80-445  10.0.0.1
  • 以半连接的TCP SYN 方式扫描目标主机的80端口,以UDP 方式扫描目标主机的445端口
nmap -sS -sU -p  T:80,U:445  10.0.0.1
  • 检测多个有可能开放的端口
    -sS 表示使用TCP SYN 方式扫描TCP端口
    -sU 表示扫描UDP端口
    -T4 表示时间级别配置4级
    –top-ports 100 表示扫描最可能开放的100个短裤(TCP和UDP分别100个端口)
namp -sS -sU -T4 --top-ports 100 10.0.0.1
  • 操作
    查看nmap的信息
    在这里插入图片描述
    打开zenmap
    在这里插入图片描述
    扫描测试
    在这里插入图片描述
    zenmap要比nmap速度稍慢
    【常用探测网站漏洞自动化工具】
    Nmap、OpenVAS、AWVS、Appscan
发布了32 篇原创文章 · 获赞 7 · 访问量 2709

猜你喜欢

转载自blog.csdn.net/qq_36756476/article/details/97662378
今日推荐