1.端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开发情况。默认情况下nmap会扫描1000个最有可能开放的TCP端口
1.1网络管理员可以使用TCP connect()的方式扫描,会完成三次握手,比较慢,会有痕迹
namp -v -sT -p 1-1024 192.168.1.169
-v 显示详细信息
-sT TCP扫描方式
(使用Nmap的 TCP connect(扫描技术扫描IP地址为192.168.1.169的主机上1-1024直接端口开放的TCP端口,并显示详细信息)
1.2.TCP SYN半开放的扫描方式,比较隐秘,效率高,常使用,但是误报会比TCP多
namp -v -sS 192.168.1.169
1.3.判断防火墙是否屏蔽了某个端口使用Nmap的 ACK scan()扫描技术扫描P地址为192.168.1.169的主机上开放的端口,并显示详细信息
namp -v -sA 192.168.1.169
2.版本侦测简介:用于确定目标端口上运行的具体的应用程序以及版本信息
namp -sV 192.168.1.225可以直接查看端口的相关版本信息
原理:Nmap内部包含了2600多已知系统的指纹特征(在namp-os-db文件中),将此指纹数据库作为指纹对比的样本库,分别挑选一个opon和 close的端口,向其发送经过精心设计的TCP/UDP/ICMP数据包,根据放回的数据包生成一系列系统指纹,将探测生成的指纹与nmap-os-db中指纹进行对比,查找出匹配系统,如果无法匹配,以概率形式列举出可能的系统
使用Nmap扫描ip地址是192.168.1.169的主机的操作系统类型
namp -O 192.168.1.169
3.防火墙/IDS规避
防火墙/IDS规避为用于绕开防火墙与IDS(入侵检测系统)的检测与屏蔽,以便能够更加详细地发现目标主机的状况。Nmap提供了多种规避的技巧,通常可以从两方面考虑规避方式:
1.数据包变化
2时序变换
规避原理
1分片
2ip诱骗
3ip伪装
4指定源端口
5扫描延时
6其他技术
规避方法
-f;--mtu<val>指定使用分片,指定数据包的MTU.
-D <decoy1,decoy 2[, ME],....>:用于一组iP地址掩盖真实地址,其中ME填入自己的P地址。
-S<ip_Address>:伪装成其他的ip地址
-e<iface>:使用特定的网络端口
-g --source--port<portnum>:使用指定原端口
--date-length<num>填充随机数据让数据包长度达到Num.
--ip-options<options>:使用指定的iP选项来发送数据包
--ttl<val>:设置time-to-live时间。
--spoof-mac <mac address/prefix/ vendor name>:伪装MAC地址
--badsum:使用错误的 checksum来发送数据包
namp -v -F -Pn -D192.168.1.100,192.168.1.102,ME -e eth0 -g 3355 192.168.1.1
-F表示快速扫描100个端口
-Pn表示不进行Ping扫描
-D使用iP诱骗方式掩盖自己真实IP
-e eth0表示使用eth0网卡发送该数据包
-g 3344表示自己的源端口使用3344;
192.168.1.1是被扫描的目的ip地址(靶机)
输入nmap -S 172.16.1.164 -e eth1 172.16.1.165
-S将地址伪造成172.16.1.164
-e表示指定网卡
4.NSE脚本引擎,是Nma最强大最灵活的功能之一,允许用户自己编写脚本来执行自动化的操作或者扩展Nmap的功能。NSE使用Lua脚本语言,并且默认提供丰富的脚本库,目前已经包含14个类别的580个脚本。
Nmap脚本类别设计初衷主要考虑
以下几个方面:
1.网络发现 network discovery
2.更加复杂的版本侦测(例如 skype软件)
3.漏洞侦测(Vulnerability Detection
4.后面侦测( backdoor Detection
5.漏洞利用( Vulnerablity Explotition
脚本参数
-sC:等价于--script=default使用默认类别的脚本进行扫描
--script=<Lua scripts>:<Lua scripts>使用某个或者某类脚本进行扫描,支持通配符描述
-script-args=<n1=v1, [n 2=v2,...]>:为脚本提供默认参数
-script-args-file=filename:使用文件夹为脚本提供参数
-script-trace:显示脚本执行过程中发送或者接收的数据
-script-updatedb:更新脚本数据库
-script-help=<Lua scripts>:显示脚本帮助信息,其中 Lua scripts部分可以以逗号分隔的文件或者脚本类别
Nmap脚本推荐
nmap --script=broadcast-netbios-master-browser 192.168.137.4 发现网关的
namp -p 873 --script-rsync-nrute --script-args'rsync-brute. module=www'192.168.137.4 rsync破解
namp -p 5432 --script pgsql-brute 192.168.137.4 pgsql破解
namp -sU --script snmp-brute 192.168.137.4 snmp破解
namp -sV --script=telnet-brute 192.168.137.4 telnet破解
nmap -script=http-vuln-cve2010- 0738 --script-args'http-vuln-cve2010-0738.paths={/path1/,/path2/}' <target>
jboss autopwn
nmap -script=http-methods.nse192.168.137 检查http方法
nmap --script http-slowloris --max-parallelism 400 192.168.137.4
dos攻击,针对处理能力较小的站点挺好用"half-HTTP'connections
nmap --script-=samba-vulm-cve-2012-1182 -p 139 192.168.137.4 单点漏洞
/usr/share/nmap/scripts 目录下有脚本