第一章信息收集-扫描技术与抓包分析

扫描和抓包分析

信息收集

  主要收集目标主机的相关信息,主要包括端口、服务、漏洞等信息

  信息收集手段多样,可借助的工具也多种多样

  端口扫描:Nmap

  漏洞扫描:awvs\appsacn\openvas\nessus等

TCP数据包头格式:0~65535

源端口占16位:0~15

保留:0

知名端口:1-1024(系统服务用的,比如:邮件,网站,ftp,还有开发都会用的端口等)

Data offset:偏移量,每增加1,报头长度增加4字节

Window Size:窗口(控制流量(滑动窗口控制机制)  )

TCP协议-TCP标志位

  - ACK  Acknowledgment 确认标志

  - RST  Rsest       复位标志(TCP建立之后想断开,重设)

  - URG  Urgent       紧急标志

  - SYN  Synchronize    建立连接标志

  - PSH   Push       推标志

  - FIN   Finish     结束标志(完成)

三次握手

过程:

  SYN=1

        ——————————————>

                        SYN=1,ACK在对方序列号+1

        <——————————————

  ACK在对方序列号+1

            RST连接断开

ICMP协议

Internet Control Message Protocol,是IP的一部分,在IP协议栈中必须实现。属于网络层协议

用途:

  -网关或者目标机器利用ICMP通讯

  -当出现问题是,提供反馈信息用于报告错误

    - 0 Echo Reply         Ping命令(用的最多)

    - 3 Destination Unreachable  目标不可达(路由不可达)

特点:

  -其控制能力并不用于保证传输的可靠性

  -它本身也不是可靠传输的

  -并不用来反映ICMP报文的传输情况

常见端口号:

  21  FTP

  22  SSH    远程登录

  23  Telnet   远程登录管理(明文协议,抓包可取得密码,不安全,逐渐被SSH被淘汰)

            Windows系统命令在WINDOWS/system32中存放

            telnet在win10中没有,在windows2003中有,可以在windows2003中的系统命令中找,复制到win10的系统命令中使用

  25  SMTP    邮件发送

  53  DNS    域名与IP地址转换(UDP服务)

  80  HTTP    超文本传输

  110   POP3   接收邮件

  161   SNMP   网络管理

加密协议:

  443        HTTPS  在链路中对数据进行加密

  513        Rlogin      远程登录(UNIX)

  1433   MS SQL Server      微软

  1521      Oracle

  3306      MySQL      被Oracle收购

  3389      RDP      远程桌面

  8080      Proxy      代理

端口扫描之王-Nmap

  Nmap扫描过程:

  ▪主机发现    参数-P0:直接扫描端口服务(有些主机的防火墙会屏蔽扫描使扫描不到主机)

  ▪端口扫描

  ▪服务和版本探测

  ▪操作系统探测

  ▪防火墙IDS躲避和哄骗

  ▪输出结果

nmap扫描目标:

▪格式:

  主机ip或域名

▪网段(CIDR格式)

  例如:-Nmap 192.168.10.0/24 or 205.1.1.8/1

▪参数

  -iL  <inputfilename>(从列表中输入)

  -iR  <hostnum>(随机选择目标)

  例子:nmap  -sS  -PS80  -iR 0  -p 80 注:iR 0掉膘互联网所有主机

    (假设知道摄像头的端口服务,可以扫描指定区域的所有摄像头,利用弱口令破解)

弱口令:容易被人猜测或破解工具破解的口令。

主机发现:

  -sP  (ping扫描)非特权用户执行,就发送一个SYN报文(用connect()系统调用)到目标机的80端口,当特权用户扫描局域网上目标主机时,会发送ARP请求(-PR)

  -P0  (无ping)禁止主机发现

  -PS    [postlist](TCP SYN Ping)未开发,收到rst

  -PA    [postlist](TCP ACK Ping)未开发,收到rst

      -PS:发送一个设置了SYN标志位的空TCP报文,默认端口80;

      -PA:发送一个设置了TCP标志位的空报文,默认端口80.

      以上两个参数一般用于绕过 状态检测防火墙,可以两者结合使用。

状态防火墙:会在包出去时,记录状态,回来时,优先匹配状态检测表,不符合的话再匹配防火墙规则。

  -PU   [postlist](UDP Ping)发送一个空的(除非指定了--data-length UDP报文发送到指定的端口)

      目标机器端口时关闭的,UDP探测得到一个ICMP端口无法到达的回应报文,证明目标机器存在,否则不会有回应报文。

      该扫描优势:可以穿过只过滤TCP的防火墙和过滤器

  -PR   [APP Ping]

端口扫描:

Nmap定义端口类型:

  -open(开放的)    -filtered(被过滤的)    -open|filtered(开放或被过滤的)

  -close(关闭的)    -unfiltered(未被过滤的)   -close|filtered(关闭或被过滤的)

Nmap默认扫描端口:

  1到1024端口以及nmap-servies设置端口

  -p 1-50或者-p 1-65535或者-p-

端口扫描常用类型:

  -sS(TCP SYN扫描)速度快。优点:隐蔽性较全连接扫描好,一般系统对这种半扫描很少记录;缺点:通常构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。

  -sT(TCP connect()扫描)全连接扫描(三次握手)。优点:稳定可靠,不需特殊权限;缺点:扫描不隐蔽。服务器日志会记录下大量密集的连接和错误记录,并容易被IDS发现。

  -sU(UDP扫描)速度慢,用于探测udp协议端口。优点:可以和syn扫描结合,探测tcp和udp协议;缺点:速度慢。

  -sN;-sF;-sX(TCP Null,FIN,and Xmas)扫描。优点:隐秘;缺点:通常适用于UNIX目标主机,如Mirosoft Windows,许多Cisco设备。BSDI,以及IBM OS/400则不适用。

  -sA(TCP ACK扫描)

  -sW(TCP窗口扫描)

服务和版本探测:

 原理:利用2200个nmap-services数据库与收到的信息进行匹配判断版本。

  -sV  (开启服务的版本探测)按回车显示进度条

  --version-intensity <intensity>  (设置 版本扫描强度)

    强度值0-9,默认是7。数值越高,强度越大

  --version-trace  (跟踪版本扫描活动)

操作系统探测:

cmd中:ping之后,TTL=128/64可知对方操作系统

-O  (启用操作系统探测)

--osscan-limit  (针对指定的目标进行操作系统检测)

--osscan-guess; --fuzzy  (推测操作系统检测结果)

  当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配,Nmap默认  进行这种匹配,使用上述任一个选项使得Nmap的推测更加有效。

防火墙/IDS躲避和哄骗:

-f      (报文分段);

--mtu     (使用指定的MTU);

-D <decoy|[,decoy2][,ME]......>                (使用诱饵隐蔽扫描)

-S <IP_Address>                           (源地址哄骗)

-source-port <portnumber>                    (源端口哄骗)

-spoof-mac <mac address,prefix,or vendor name>      (MAC地址哄骗)

保存和输出:

-oN    标准保存    例如:nmap -F -oN test1.txt  127.0.0.1

-oX    XML保存     例如:nmap -F -oX test1.xml  127.0.0.1

-oG    Grep保存    例如:nmap -F -oG test1.txt 127.0.0.1

-oA    保存到所有格式 例如:nmap -F -oA    testA    127.0.0.1

-packet-trace  跟踪显示每一个扫描数据包

例子:Nmap  -oX  result.xml  192.168.43.117 到处扫描结果到XML文件中

 

漏洞扫描原理:

1.根据返回的版本信息进行判断漏洞是否存在(若已有226.0版本的漏洞,在226.1版本就还可能有,但有可能在补丁中修复了之前版本的漏洞,还有就是版本信息可以更改)

2.发送漏洞利用参数,根据返回值进行判断

数据库漏洞扫描器:

ISS Datebase Scanner

集成漏洞扫描器:

Nessus

WEB扫描:

Awvs    (针对web扫描)(网站最终运行是在操作系统上)new scan---扫描向导输入URL---Default---1.选择登录序列 2.已知登录名和密码

Appscan  创建新的扫描---常规扫描---输入URL---记录---选择登录序列---Default

posted @ 2020-04-09 19:25  escwq  阅读(534)  评论(0编辑  收藏  举报