使用Nmap扫描系统风险点

0x00 迅速了解Nmap

Nmap是一款扫描目标网络信息的工具,可以是黑客用来探测主机信息,收集情报的神器。也可以是运维人员扫描网络环境,及时发现系统漏洞的好帮手。

0x01 它的功能

1.png

1、主机发现(Host Discovery)#探测目标网络环境中有哪些主机是可以进行通信的,当然你也可以用ping命令试一下

2、端口扫描(Port Scanning) #扫描主机的端口,通过端口对对应的服务来判断目标主机运行了哪些应用

3、版本侦测(Version Detection)#使用各种特征来判断主机运行了哪些服务应用

4、操作系统侦测(OS detection)#通过特征来识别当前主机的系统版本,不只是计算机,也有可能会是路由交换

5、防火墙/IDS规避(Firewall/IDS evasion)#Nmap可以通过各种方法来规避目标防火墙的拦截,从而达到目的

6、NSE脚本引擎(Nmap Scripting Engine) #这是Nmap自带的扩展脚本,通过加载对应脚本来扫描目标有哪些在脚本已记录的漏洞和弱点

0x02 安装Nmap

1、可以在http://nmap.org/download.html这个网站中得到获取Nmap的各个版本的方法。

2、如果是Centos的话可以使用YUM安装Nmap,如果是debian或ubuntu的话,可以使用apt-get 来安装。

1.png

3、如果你使用的是Kali linux 或Back Track系列的话,那就不需要额外去安装了,但升级还是需要的。

0x03 主机发现

1、探测单个主机的在线情况:nmap -sP <target ip> 

1.png

2、探测一个网段的主机在线情况:nmap -sP <network address > </CIDR >

1.png

3、扫描自定义的IP范围:nmap -sP <target ip-digital>

1.png

0x04 端口扫描

1、扫描一百个常见主机端口:nmap -F <target ip> 

1.png

2、自定义扫描端口:nmap -p<port1>-<port2> <target ip> 

1.png

3、自定连续的端口扫描:nmap -p(range) <target IP>  

1.png

4、扫描系统的危险端口:

nmap -sT -sV -p 21,80,443,873,2601,2604,3128,4440,6082,6379,8000,8008,8080,8081,8090,8099,8088,8888,9000,9090,9200,11211,27017,28017 --max-hostgroup 10 --max-parallelism 10 --max-rtt-timeout 1000ms --host-timeout 800s --max-scan-delay 2000ms -iL iplist.txt -oN result/port.txt --open 
<target IP>

5、端口状态:使用Nmap扫描端口信息,一般会有6种状态信息

1.png

  1. open:端口是开放的。

  2. closed:端口是关闭的。

  3. filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。

  4. unfiltered:端口没有被屏蔽,但是否开放需要进一步确定。

  5. open|filtered:端口是开放的或被屏蔽。

  6. closed|filtered :端口是关闭的或被屏蔽。

    0x05 系统与服务信息扫描

    1、扫描系统服务及版本信息:nmap -o <target IP>

    1.png

    0x06 防火墙逃逸

    1、源IP欺骗:nmap -S <IP_Address> <target ip> #伪造一个IP,那么防火墙的日志里将不会出现你的真正IP。

    2、源端口欺骗:nmap --source-port <portnumber> <target ip> 

    3、源MAC欺骗:nmap –spoof-mac<mac address,prefix,or vendor name> <target ip>

    4、数据报分段扫描:nmap -f <指定MTU> <target ip>

    0x07 扫描参数

    -A #进行全面的扫描,包括端口及主机版本探测,速度较慢。

    -sS  #以SYN的方式进行扫描,以报文回复来判断端口状态,但不建立的完整的TCP连接,所以相对比较隐蔽,而且效率比较高,适用范围广

    -ST  #TCP扫描,如果对方端口无法建立TCP连接,则判断为关闭状态,但扫描速度较慢,并且会在对方主机日志上会有记录,所以不推荐使用

    -sU  #UDP扫描,向目标主机的UDP端口发送探测包,如果收到回复“ICMP port unreachable”就说明该端口是关闭的,反之则为开启

    0x08 时间参数

    -T0  #非常非常慢的发包,用于躲避IDS/IPS

    -T1  #相当慢,用于躲避防火墙,比T0稍微快一些

    -T2  #降低速度以消耗更小的带宽,比默认慢十倍

    -T3  #默认选项,根据目标的反应自动调整时间模式

    -T4  #假定处在一个很好的网络环境,会很快完成扫描,或被防火墙发现

    -T5  #非常快速的发包,很可能会漏掉一些开放端口

    0x09 常见的危险端口

    21  ftp  主要看是否支持匿名,也可以跑弱口令 
    80  web  常见web漏洞以及是否为一些管理后台 
    443  openssl  心脏滴血以及一些web漏洞测试 
    873  rsync  主要看是否支持匿名,也可以跑弱口令 
    2601,2604 zebra路由,默认密码zebra 
    3128  squid代理默认端口,如果没设置口令很可能就直接漫游内网了 
    4440  rundeck  参考
    WooYun: 借用新浪某服务成功漫游新浪内网
    6082  varnish  参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网
    6379  redis 一般无认证,可直接访问 
    8000-9090  都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上 
    9200  elasticsearch  参考
    WooYun: 多玩某服务器ElasticSearch命令执行漏洞
    11211  memcache  未授权访问 
    27017  mongodb  未授权访问 
    28017  mongodb统计页面 

    原创文章,作者:Qiudays,如若转载,请注明出处:http://www.178linux.com/3357

    (0)
    上一篇 2015-04-18 22:43
    下一篇 2015-04-19 11:45

    相关推荐

    • 海量数据处理算法—Bit-Map

      1. Bit Map算法简介         来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。 2、 Bit Map的基本思想       &nbs…

      Linux干货 2015-11-10
    • N26—第三周

      1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d ' ' -f 1 |sort -u l_cong root (unknown)   2、取出最后登录到当前系统的用户的相关信息。 [l_cong@localhost ~]$…

      Linux干货 2017-02-15
    • 高级文件系统之逻辑卷和btrfs文件系统

      逻辑卷管理器快照 逻辑卷可以实现对分区的动态的扩展,快照可以看成是特殊的逻辑卷,它是在生成快照是存在的逻辑卷的准确拷贝。 快照只有在它们和原来的逻辑卷不同时才会消耗空间:     在生成快照时会分配给他一定的空间,但只有在原来的逻辑卷或者快照有所改变时才会使用这些空间     当…

      Linux干货 2016-09-02
    • awk的基本原理

      awk的工作原理 一次读取一行文本,按输入分隔符进行切片,切成多个组成部分,将每片直接保存在内建的变量中,$1,$2,$3….,引用指定的变量,可以显示指定断,或者多个断。如果需要显示全部的,需要使用$0来引用。可以对单个片断进行判断,也可以对所有断进行循环判断。其默认分隔符为空格 awk的基本用法格式awk [options…

      Linux干货 2017-07-11
    • 文本查看类命令

      文本查看相关的命令:1.  cat – 串连文件,并以标准输出显示语法:cat [OPTION]… [FILE]… 常用选项 选项 | 含义—— | ——-n | 在显示文件内容时打印行号示例:~]# cat -n /etc/rc.d/init.d/functions显示/e…

      2017-09-07
    • 【福利贴-招聘】- python运维开发工程师

      职位描述  岗位职责: 1、负责公司CMDB的建设,包括资产管理、dns、工单系统、ngnix自动化、监控等的开发 2、帮助运维团队和业务团队提高自动化效率 3、维护和开发持续化集成环境; 4、负责公司运维系统的规划、选型、部署上线和日常维护管理工作; 5、负责CMDB团队的建设、管理和人才培养机制…

      Linux干货 2015-04-03

    评论列表(2条)

    • stanley
      stanley 2015-04-20 21:36

      字体有些大,做过微调后效果好了点,不过优化空间依然很大

      • Qiudays
        Qiudays 2015-04-20 22:15

        @stanley多谢老师审核,以后会改进的。