安全渗透Nmap笔记

Nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

准备

nmap官网

原理

原理

基础知识

端口状态

port-status
端口状态 信息
Open(开放的) 应用程序正在这个端口上监听连接
Closed(关闭的) 端口对探测做出了响应,但是现在没有应用程序在监听这个端口
Filtered(过滤的) 端口没有对探测做出响应。同时告诉我们探针可能被一些过滤器(防火墙)终止了
Unfiltered(未被过滤的) 端口对探测做出了响应,但是Nmap无法确定它们是关闭还是开放。
Open/Filtered 端口被过滤或者是开放的,Nmap无法做出判断。
Closed/Filtered 端口被过滤或者是关闭的,Nmap无法做出判断

扫描目标设置

模式 示例
单个目标 nmap -T4 -F 192.168.1.11
多个目标 nmap 192.168.1.11 192.168.1.12 192.168.1.13
IP地址段 nmap 192.168.1.11-22
随机扫描 nmap -iR 10
剔除性扫描,剔除个别不想扫描的主机 nmap 192.168.1.0/24-exclude 192.168.1.5

高级玩法

脚本

NSE 即Nmap脚本引擎,涵盖网络发现到检测和利用安全漏洞等多方面任务

示例

nmap -sV -sC scanme.nmap.org
type

脚本文件需要放在nmap的script目录内才可以直接使用,否则要指定全路径
linux版本的默认路径为/usr/share/nmap/scripts

nmap --script http-title 192.168.1.11
nmap --script http-title,http-methods 192.168.1.11
nmap -p80 --script http-huawei-hg5xx-vuln 192.168.1.11

高级表达式

要选择整个类别,只需使用类别的名称(请参阅脚本作为参数。例如,要运行漏洞类别,使用以下命令:

nmap --script exploit 192.168.1.11

您也可以用逗号分隔它们来运行多个类别:

nmap --script discovery,intrusive 192.168.1.11

-sC选项仅仅是--script默认选项的别名。
按文件名或文件夹选择
要执行NSE脚本文件,请使用以下命令:

nmap --script /path/to/script.nse 192.168.1.11

与类别类似,可以通过分离路径来执行多个脚本
用逗号分隔:

nmap --script /path/to/script.nse,/another/path/script2.nse 192.168.1.11

要执行文件夹中包含的所有脚本,只需要传递文件夹名称
举个栗子:

nmap --script/path/to/folder/ 192.168.1.11
nmap --script/custom-nse-scripts/ scanme.nmap.org

表达式用于描述一组脚本。
我们可以利用脚本选择表达式的场景(未利用表达式将匹配任何脚本):

  • 使用不属于exploit类别的脚本:
nmap -sV --script "not exploit" 192.168.1.11
  • 使用not,or,and运算符构造更复杂的表达式。以下表达式将匹配不在intrusive,或者dos,或者exploit类别中的任何脚本。
nmap --script "not(intrusive or dos or exploit)" -sV  192.168.1.11
  • 如果我们想要执行broadcast和discovery中的所有类别脚本。
nmap --script "broadcast and discovery" 192.168.1.11
  • 使用通配符*
nmap --script "snmp-*" 192.168.1.11
  • 结合使用通配符和表达式

例如:让我们运行名称以http-开头的所有脚本,但排除
http-slowloris,http-brute,http-form-fuzzer和http-enum脚本:

nmap --script "http-*and not(http-slowloris or http-brute or http-enum or http-form-fuzzer)" 192.168.1.11
  • 执行以http开头的但不在exploit类别中的所有脚本:
nmap --script "http-*not(exploit)" 192.168.1.11

脚本参数-script-args

-script-args 选项用于在NSE脚本中设置参数。
如:设置http-title脚本的useragent参数,可以这么写


nmap -sV --script http-title --script-args http.useragent="Mozilla 1337" 192.168.1.11

脚本名称有时是可以忽略的如下等价的表达式,注意区别

nmap -p80 --script http-trace--script-args path="xxx" 192.168.1.11

nmap -p80 --script http-trace--script-args http-trace.path="xxx" 192.168.1.11

注意,如果脚本的参数名与共享参数名称冲突时则不可以省略脚本名

脚本编写语言Lua

lua

一般约定,以下划线开头连接一串大写字母的名字(比如_VERSION)被保留用于Lua内部全局变量

image

Lua语言特性

  • 轻量级:它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。
  • 可扩展:Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。

其它特性

  • 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
  • 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
  • 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
  • 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等

脚本编写注意事项

  1. 编写的脚本的后缀为nse
  2. 编写之后的NSE脚本存放在script文件夹内,这样脚本才可以生效
  3. 必须使用--script选项进行调用Nse脚本


    image

脚本编写规则

  1. 导入脚本编写所需库
  2. 编写脚本描述信息
  3. 确定Rule类型
  4. 编写Action

思维导图


image

附录

nmap 帮助说明

help1
help2
help3

查看原文

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,039评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,223评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,916评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,009评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,030评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,011评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,934评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,754评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,202评论 1 309
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,433评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,590评论 1 346
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,321评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,917评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,568评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,738评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,583评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,482评论 2 352

推荐阅读更多精彩内容