Nmap绕过防火墙&脚本的使用
Nmap是用于端口扫描,服务检测,甚至是漏洞扫描等多种功能的强大工具。Nmap从入门到高级覆盖了许多基础的概念和命令,在这篇文章的第二部分,我将提及Nmap一些高级的技术。
防火墙和入侵检测系统(IDS)从安全的视角来讲,它们在对拒绝远程目标起到了非常重要的作用。因为这些硬件和软件阻塞入侵非常有效果,所以,在渗透测试过程中,你需要绕过这些工具来获得正确的结果,否则,你可能会走错方向。Nmap能够对远程目标计算机防火墙和其他的入侵检测系统进行扫描,因为它使用不同的技术来对抗这些软件,并且这些技术依赖于远程软件。目标计算机中所安全装的防火墙可能有两种:
- 基于主机的防火墙(一个运行在单独目标计算机上的防火墙,比如,你的计算机中现在运行的防火墙)
- 基于网络的防火墙(一个用于保护整个网络,并且被部署在网络节点上的防火墙)
有两种IDS/IPS也可能被安装在目标机器中,这也是在渗透测试过程中需要解决的情况。有很多不同的Nmap技术用于处理这种情况,例如:
入门篇TCP ACK Scan (-sA)
使用这个命令将发送ACK包,而不是SYN包,因为如果远程计算机中有防火墙在工作的话,ACK包是不会被防火墙记录的,而且防火墙对待ACK包和对待SYN包的响应是一样的。TCP ACK扫描开始时需要root权限(Nmap启动时使用root权限启动),并且他对于对付无状态的防火墙和IDS有很好的效果。作为一个渗透测试人员,你需要检查防火墙的响应:有可能有四种类型的响应:
1.Open port(防火墙允许少数端口打开)
2.Closed Port(由于防火墙的缘故,大部分的端口被关闭)
3.Filtered(Nmap不确定端口是否打开或者关闭)
4.Unfiltered(Nmap能够访问这个端口,但是不清楚这个端口打开的状态)
这些重要的响应都有肯能是你在渗透测试期间获得的。ACK扫描和其他的扫描技术有一点不同,它不能有计划地发现打开的端口,但是他可以有效的banding过滤和未过滤响应。让我们来比较下ACK扫描的两种结果:
现在可以很容易的发现目标的计算机是否启用了防火墙,因为一个简单的ACK扫描意味着攻击者只有较低的概率检测到受害机,但是有较高的几率发现防火墙。下面我们来看下一个SYN扫描在防火墙开启和未开启的时候,扫描的结果:
TCP Window Scan(-sW)
与ACK扫描非常相似,但是有一点不同,TCP window扫描可以区分未被过滤端口的打开或者关闭。它也需要root权限执行。让我们看下TCP window扫描的不同响应。
这类扫描不能打开目标计算机任何活动会话,所以不会被受害机记录。它的工作原理很简单,就是发送ACK包,然后在响应中接受单独的RST包。
Fragment Packets (-f)
这是一个非常通用的概念,并且可以被用在许多不同的情况下,例如:如果目标机器没有能力处理大量的包,那么碎片技术可以有效的绕过防火墙。这个技术的参数是-f,它将提交分成小段的IP包,这些小的包被称为碎片IP包。如果你想机一部的打散IP头的话,可以使用双-f(即:-ff)。
Spoof MAC Address
这是个更简单的技术,你可以伪造你的MAC(攻击者的MAC)地址。MAC地址欺骗造成了受害者检测提交来源困难的局面。Nmap可以每个扫描选择一个完整的随机MAC地址,并且这些MAC地址都是基于不同厂商的,另外的设置是手工的指定MAC地址(通过这样,攻击者能够在相同网络中伪造一台计算机地址)。Nmap有一个叫做namp-mac-prefixes的数据库,当把厂商的名字提供给这个数据库时,它会从中找到满足条件的MAC地址。
高级篇
Nmap Timing Option
时间参数是Nmap的一个非常重要和有趣的功能,因为,有时你需要在两次提交之间有一定的延时。这样的情况有很多原因,但是最重要的原因是网络;有时,受害者的计算机和实际网络不能处理大量的提交。作为一个渗透测试人员,你需要确定你的扫描不会造成拒绝服务攻击(DoS),所以适时的响应和提交在扫描中是非常重要的。Nmap有非常多的功能和参数,对适时的扫描目标是非常有帮助的,碎片技术(-f)对于拆分你的提交也是一个非常有用的技术。www.91ri.org下面讨论其他的重要参数:
Delay (–scan_delay)
这是用户控制每次提交之间时间的做好参数,因为你可以使用整数形式控制你每次探查所需要的间隔,不过不要忘记时间的单位:
毫秒e.g. 5ms
秒 e.g. 5s
分 e.g. 5m
时 e.g. 5h
让我们看一个例子:
Host Timeout Option (–host-timeout)
当你扫描一个局域网络时,有时会有一个主机要很长时间才响应,等待着单独以的一台是很痛苦的。有很多原因造成响应缓慢,像网络连通性或者防火墙,如果你不想浪费他多时间在这上面的话,可以设置一个时间限制。
Nmap Scripting
Nmap Scripting是Nmap最好的功能之一。Nmap的脚本对渗透测试者是非常有用的,因为他们可以节省喝多的时间与操作。在写这篇文章时,Nmap Scripting引擎已经超过了400个脚本,并且你也可以构造你自己的脚本,而且每个人都可以构造脚本,提交到脚本引擎中来帮助社区中的渗透测试人员。
Nmap脚本实现许多不同的功能,从漏洞扫描到利用,从恶意软件检测到暴力破解,无所不包。在这小节中,我们将讨论一些好用的Nmap脚本和他们的用法:
smb-check-vulns
这是一个用于检测以下漏洞的重要脚本:
1.MS08-067 Windows vulnerability that can be exploited
2.Conficker malware on the target machine
3.Denial of service vulnerability of Windows 2000
4.MS06-025 Windows vulnerability
5.MS07-029 Windows vulnerability
它可以非常容易的在目标机器发现以上漏洞,并且你可以通过Metasploit很容易的利用这些漏洞。
Http-enum
如果你想在web server中枚举出web站点的目录,这个Nmap脚本可以帮你很好的达到这个目的。http-enum脚本也可以发现打开的端口和每个端口软件的版本。
samba-vuln-cve-2012-1182
这个脚本可以用于查看目标机器是否存在Samba堆溢出CVE-2012-1187。
smtp-strangeport
许多机构在运行SMTP服务时,考虑到安全的因素,没有使用默认端口。Smtp-strangeport是一个可以判断SMTP是否运行在默认端口的脚本
http-php-version
顾名思义,这个脚本可以从web server获得PHP版本信息。这个软件版本信息对于渗透测试人员发现漏洞很重要,所以这个脚本对于web应用程序渗透测试非常有帮助。
Nmap脚本引擎包含很多你实际中遇到的软件平台的测试脚本。例如:如果你想对一个基于WordPress的web站点进行渗透测试,那么你可以使用以下Nmap脚本。
1.http-wordpress-plugins
2.http-wordpress-enum
3.http-wordpress-brute
dns-blacklist
这是我所见过的用户发现IP地址黑名单的最好的脚本。你需要做的只是提供IP地址,然后脚本会检查DNS反垃圾邮件和代理黑名单
总结
这篇文章极可能的去覆盖Nmap从入门到高级的重要部分,以便于没有相关知识的人也可以从中学到东西。当然,学习并没有结束,因为Nmap还有很多功能,你可以使用Nmap做许多的事情,我建议你每天都去练习它,因为,练习会使你更完美的使用它。
[via@163]
Nmap绕过防火墙&脚本的使用的更多相关文章
- nmap使用/参数,及绕过防火墙
nmap是什么? 它是一种一个很强大的扫描工具,端口,版本号,统统都可以给你扫出来 我的IP网段:192.168.1.0 咱们先找一个主机随便玩玩把,反正没有害处,最多被防火墙拦截了 nmap -sP ...
- 一次绕过防火墙获取RCE以及提权到root权限的渗透过程
本文是关于Apache struts2 CVE-2013-2251是由于导致执行远程命令的影响而被高度利用的漏洞.简而言之, 通过操纵以“action:”/”redirect:”/”redirectA ...
- nmap进阶使用[脚本篇]
nmap 进阶使用 [ 脚本篇 ] 2017-05-18 NMAP 0x01 前言 因为今天的重点并非nmap本身使用,这次主要还是想给大家介绍一些在实战中相对比较实用的nmap脚本,所以关于 ...
- Nmap 进阶使用 [ 脚本篇 ]
0×01 前言 因为今天的重点并非nmap本身的使用,主要还是想借这次机会给大家介绍一些在实战中相对比较实用的nmap脚本,所以关于nmap自身的一些基础选项就不多说了,详情可参考博客端口渗透相关文章 ...
- 从零开始学安全(二十七)●利用Nmap对防火墙,IDS,IPS 进行欺骗
先介绍什么是防火墙 ids 并联 ips 串联 来看我们nmap 命令
- sqlmap注入之tamper绕过WAF脚本列表
本文作者:i春秋作者——玫瑰 QQ2230353371转载请保留文章出处 使用方法--tamper xxx.py apostrophemask.py用UTF-8全角字符替换单引号字符 apostrop ...
- sqlmap --tamper 绕过WAF脚本分类整理
分类: https://blog.csdn.net/whatday/article/details/54774043 详细介绍: https://blog.csdn.net/qq_34444097/a ...
- 自动化部署iptables防火墙脚本
#!/bin/sh # Remove any existing rules # 清除规则 /sbin/iptables -F # 清除用户自定义规则 /sbin/iptables -X # 清除链的计 ...
- nmap导出处理脚本
import sys log = open("result.gnmap","r") xls = open("output.csv",&quo ...
随机推荐
- [ext4]06 磁盘布局 - 特殊inode
Ext4预留了一些inode做特殊特性使用,见下表: inode Purpose 0 不存在,Ext4中不存在inode 0. 1 存放损坏的数据块链表 2 根目录 3 User quota. 用户q ...
- Android触摸事件的应用
前言 上一篇讲了Android触摸事件的传递机制,具体可以看这里 初识Android触摸事件传递机制.既然知道Android中触摸事件的传递分发,那么它能解决什么样的问题,在我们实际开发中如何应用,这 ...
- hadoop集群搭建--CentOS部署Hadoop服务
在了解了Hadoop的相关知识后,接下来就是Hadoop环境的搭建,搭建Hadoop环境是正式学习大数据的开始,接下来就开始搭建环境!我们用到环境为:VMware 12+CentOS6.4 hadoo ...
- MongoDB副本集的常用操作及原理
本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点. 结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理. 下面的操 ...
- String类理解
1.首先应该知道的是:String是一个类,不属于基本类型,而是引用类型. 2.创建String对象的三种方式的比较: 第一种是先去String pool检查是否存在"abc"常量 ...
- win10 64位下装Virtual Box安装Linux(centOS)配置联网
第一步:安装VritualBox 百度"VritualBox"下载安装即可: 第二步:下载Linux镜像系统并安装 这里写出我参照的博客,很详细,我就不累赘了! 原文地址:http ...
- Oracle的正则函数之regexp_like
前言:最近接到一个让人肝疼的需求,用到了正则表达式去匹配字符串,顺便巩固一下oracle几个正则表达式的用法 例子: 找出为带小数点后两位的数字,不论正负.比如3.12,-4.56这样的.而3.145 ...
- SSH小结
工作有一段时间了,经常用SSH登录远程机器,但对原理一直不是很了解,所以查阅了一些资料,写个小结. 一. SSH是什么? SSH的全称是Secure Shell, 是一种"用来在不安全的网络 ...
- Servlet,过滤器,监听器,拦截器的区别
1.过滤器 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码.做一些业务逻辑判断等.其工作原理是,只要你在web.xml ...
- JPA - hibernate 的各种常见用法
近期在做的项目使用的JPA,所以在此跟大家分享一下JPA的一些常见使用方法. JPA 是 JCP 组织发布的 Java EE 标准之一,因此任何声称符合 JPA 标准的框架都遵循同样的 ...