前言

端口范围:1-65535

常见的端口以及服务:

  • 21 — ftp协议
  • 22 — ssh远程登陆端口(linux)
  • 23 — telnet协议
  • 25 — 邮箱协议 smtp 发送邮件
  • 110 — pop3协议 接收邮件
  • 80 — 最常见的web服务端口
  • 8080 — java web服务端口
  • 5000 — python web服务端口
  • 3000 — ruby web服务端口
  • 135,445 — 远程连接端口
  • 3389 — windows远程连接端口
  • 3306 — mysql数据库端口
  • 1433 — sql-server数据端口
  • 6379 — redis数据库端口

nmap的介绍

nmap是一个网络探测和安全审核的工具,设计目标是快速地扫描大型网络。用原始IP报文来发现网络上有哪些主机,那些 主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。

nmap的基本功能:

  • 探测一组主机是否在线
  • 扫描主机端口,嗅探所提供的网络服务,推断主机所用的操作系统。
  • 鉴别安全过滤机制。
  • 将所有的探测结果记录到日志。

nmap语法

Nmap的固定语法格式:

nmap 【选项|多选项|协议【目标】
注: 选项与多选项之间用空格分隔开。若某些选项需要指定数据,选项与指定数据也需要用空格分开。(有些选项与参数直接可以不用空格分开。如:-p80)

nmap端口状态解析

  • open : 应用程序在该端口接收 TCP 连接或者 UDP 报文。
  • closed :关闭的端口对于nmap也是可访问的, 它接收nmap探测报文并作出响应。但没有应用程序在其上监听。
  • filtered :由于包过滤阻止探测报文到达端口,nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由规则 或者主机上的软件防火墙。
  • unfiltered :未被过滤状态意味着端口可访问,但是nmap无法确定它是开放还是关闭。 只有用于映射防火墙规则集的 ACK 扫描才会把端口分类到这个状态。
  • open | filtered :无法确定端口是开放还是被过滤, 开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何反应。UDP,IP协议,FIN, Null 等扫描会引起。
  • closed|filtered:(关闭或者被过滤的):无法确定端口是关闭的还是被过滤的

基本命令

-iL 从主机地址列表文件中导入扫描地址
-iR [主机数量] 随机选择目标进行扫描,主机数量设置为零是将无休止进行扫描
--exclude 排除某个主机地址
--excludefile 排除主机地址列表文件的地址
-sL 列表扫描,仅将指定的目标ip列举出来,不进行主机发现
-sn 和-sP一样只利用ping扫描进行主机发现,不扫描目标主机的端口
-Pn 将所有指定的主机视为已开启状态,跳过主机发现过程

-PS TCP SYN ping,发送一个设置了SYN标志位的空TCP报文,默认端口为80,也可指定端口
-PA TCP ACK ping,发送一个设置了ACK标志位的TCP报文,默认端口为80,也可指定端口
-PU UDP ping,发送一个空的UDP报文到指定端口,可以穿透只过滤TCP的防火墙
-P0 使用IP协议ping
-PR 使用ARP ping
-n/-R -n 不进行域名解析,加速扫描,-R 为目标ip做反向域名解析,扫描较慢
-dns-severs 自定义域名解析服务器地址
-tranceroute 目标主机路由追踪

-sS TCP SYN扫描,半开放扫描,速度快隐蔽性好(不完成TCP连接),能够明确区分端口状态
-sT TCP连接扫描,容易产生记录,效率低
-sA TCP ACK扫描,只设置ACK标志位,区别被过滤与未被过滤的
-sU UDP服务扫描,例如DNS/DHCP等,效率低
-sN; -sF; -sX TCP Null,Fin,Xmas扫描,从RFC挖掘的微妙方法来区分开放关闭端口
-sI 利用僵尸主机上已知IP分段ID序列生成算法来探测目标上开放端口的信息,极端隐蔽
-sO IP协议扫描,可以确定目标主机支持哪些IP协议,例如TCP/ICMP等
-p 指定扫描的端口,可以是单个端口,也可以是端口范围,可以指定UDP或TCP协议扫描特定端口
-p  指定扫描的协议,例如-p http 扫描http协议的端口状态
--exclude-ports 排除指定端口不扫描
-F 快速模式,仅扫描100个常用端口

-sV 进行服务版本探测
--version-intensity  设置版本扫描强度,范围0-9,默认为7,强度越高,时间越长,服务越可能被正确识别

-sC 使用默认类别的脚本进行扫描
--script= 使用某个或某类脚本进行扫描,支持通配符描述

-O 启动操作系统 探测
-A 同时启用操作系统探测和服务版本探测
--osscan-limit 针对指定的目标进行操作系统检测
--osscan-guess 当Nmap无法确定所检测的操作系统是,会尽可能地提供最相近的匹配

-T 设置时间模板级数,范围0-5中选择,T0,T1用于IDS规避,T2降低扫描速度以使用更少的带宽和资源。默认T3,未做任何优化。T4假设具有合适及可靠的网络从而加速扫描。T5假设具有特别快的网络或者愿意为速度牺牲准确率
-host-timeout

扫描技巧

  • 扫描单一的一个主机:nmap (IP地址)
  • 扫描整个子网: nmap (IP地址)/24
  • 扫描多个目标: nmap (IP地址1) (IP地址2)
  • 扫描一个范围内的目标:nmap 192.168.1.1-100
  • (扫描IP地址为192.168.1.1-192.168.1.100内的所有主机)
  • 如果你有一个ip地址列表,将这个保存为一个txt文件,和namp在同一目录下,扫描这个txt内的所有主机。命令: nmap -iL target.txt
  • 扫描特定主机的特定端口 nmap -p80,21,8080 192.168.0.1 或 nmap -p50-900 192.168.1.1
  • 简单扫描,详细输出返回结果 nmap -vv 192.168.1.1
  • 简单扫描并进行路由追踪 nmap -traceroute baidu.com
  • ping扫描,不扫描端口(需要root权限) nmap -sP 192.168.0.1或nmap -sN 192.168.0.1
  • 探测操作系统类型 nmap -O 192.168.0.1
  • Nmap万能开关-A参数 nmap -A 192.168.0.1 (-A包含1-10000端口的ping扫描,脚本扫描,路由追踪,服务探测)
  • 半开放的TCP SYN端口 nmap -sS 192.168.0.1
  • 扫描UDP服务端口 nmap -sU 192.168.0.1
  • TCP连接扫描端口 nmap -sT 192.168.1.1
  • 由于IDS/IPS系统的存在,防火墙可能会阻止掉SYN数据包,此时可发送设置了FIN标志的数据包,不需要完成TCP握手,不会在目标产生日志 nmap -sF www.baidu.com
  • 服务版本探测 nmap -sV 192.168.1.1

脚本扫描

脚本目录在 /usr/share/nmap/scripts

  • 基本工具使用

    常用工具nc/ncatnc被誉为网络界的瑞士军刀。它的功能可见一般。。。 侦听模式 / 传输模式 telnet / 获取banner信息 传输文本信息 传输文件/传输目录 加密传输文件 远程控制/木⻢ 加密所有流量 流...

    基本工具使用
  • 哈希长度拓展攻击-hashpump

    哈希长度拓展攻击条件需要知道 密文长度 (SECRET) 明文 (哈希值) 部分密文内容 (auth) HashPump安装HashPump是一个借助于OpenSSL实现了针对多种散列函数的攻击的工具,支持针对MD5、CRC32、...

    哈希长度拓展攻击-hashpump
  • sublime text3的vinage快捷键

    sublime快捷键如何添加 开始 运行 regedit(打开系统注册表) ctrl+f(搜索shell) 在shell下新建Sublime选项 在Sublime选项下新建command选项 在command下打开”默认”写以下内容:...

    sublime text3的vinage快捷键
  • burp的基本&高级使用

    burp介绍: Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具。Burp Suite为这些工具设计了许多接口,以加快攻击应用程序的过程。 brupsuite环境配置 功能总览 bp设置和使用proxy设置 ...

    burp的基本&高级使用
  • linux三剑客

    前言之前用一些脚本都经常用到grep,sed,awk。但是一直不太熟悉,今天来学习一下,做个备忘录。 grep格式: grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTER...

    linux三剑客
  • i春秋2020新春战“疫”网络安全公益赛 web Writeup

    前言这次比赛题目质量挺好的,除啦环境可能有时候有点问题。(就让我遇到了。心态炸了一天。。。)其他都挺好的。 DAY1简单的招聘系统知识点:sql注入的联合注入或盲注存在注册和登陆功能,首先进行注册后登陆进系统,发现有一个模块是管理员才...

    i春秋2020新春战“疫”网络安全公益赛 web Writeup
  • 计算机组成原理学习

    计算机组成原理第一章 计算机系统概论计算机系统的层次结构 冯·诺依曼计算机的特点 计算机由运算器、存储器、控制器、输入设备和输出设备五大部件组成 指令(程序)和数据以二进制同等地位地存储在存储器中,可按址寻访 指令由操作码和地址码组...

    计算机组成原理学习
  • 2019安洵杯+2019广外比赛web部分题解

    2019安洵杯easy_web知识点:MD5强碰撞,命令执行这个题比较简单,看题目发现传入参数img和cmd,然而图片是传入的img参数控制,让我想到ddctf的一道题,然后发现img是通过把文件名进行转十六进制后两次base64编码...

    2019安洵杯+2019广外比赛web部分题解
  • bypass disfunction

    前言PHP 的 disabled_functions主要是用于禁用一些危险的函数防止攻击者执行系统命令。但是有一些绕过方法。这里做个总结。 基本思路有四种绕过 disable_functions 的手法:第一种,攻击后端组件,寻找存在...

    bypass disfunction
  • 2019极客大挑战RCE ME

    题目环境:http://114.116.44.23:40001/ 题目还是老样子。无字母数字rce。知识点其实都有写过,就不说了。详细参见:【RCE提高篇】题目源码: <?php ini_set("display_errors"...

    2019极客大挑战RCE ME