Nmap读书笔记二

举报
黄生 发表于 2023/10/06 23:11:11 2023/10/06
【摘要】 Nmap读书笔记二# Nmap service detection probe list -*- mode: fundamental; -*-# $Id: nmap-service-probes 38618 2023-02-09 17:57:15Z dmiller $## This is a database of custom probes and expected responses t...

Nmap读书笔记二

# Nmap service detection probe list -*- mode: fundamental; -*-
# $Id: nmap-service-probes 38618 2023-02-09 17:57:15Z dmiller $
#
# This is a database of custom probes and expected responses that the
# Nmap Security Scanner ( https://nmap.org ) uses to
# identify what services (eg http, smtp, dns, etc.) are listening on
# open ports. 

Nmap之所以可以识别出相关的服务及版本得益于强大的Nmap-service-probes,它包含了很多不同服务的报文,Nmap会与其中的相应表达式进行匹配,接下来Nmap会识别对应的服务协议,例如http、ssh等,包括对应的应用程序名,例如Apache、OpenSSH等,然后会继续探索版本号、主机名、设备类型、操作系统。对于操作系统,Nmap可以识别出具体的版本,例如WindowsXP、Windows7、8、2003等,当然这不是完全的识别,对于Nmap无法确定的版本它还会给出每一个版本的几率让用户去参考辨别,确定了相关操作系统版本就可以使用历史漏洞进行渗透测试。

image.png

  -sV: Probe open ports to determine service/version info
  --version-intensity <level>: Set from 0 (light) to 9 (try all probes)
  --version-light: Limit to most likely probes (intensity 2) //这个就挺好,省时间
  --version-all: Try every single probe (intensity 9)
  --version-trace: Show detailed version scan activity (for debugging)

–version-intensity 被赋予较低值的探测报文对大范围的常见服务有效,而被赋予较高值的报文一般没有实际作用。强度水平说明了应该使用哪些探测报文。默认是7。

nmap可以基于TCP/IP协议栈fingerprinting指纹扫描,对操作系统的探测是非常有效的。
可以通过几个方面对操作系统进行探测,最常见的是利用TTL也就是数据包的存活时间,这表示了一个数据包被丢弃之前可以通过多少活跃点,不同的操作系统的TTL是不同的,TTL也可以人为地进行更改,如今这个方法不再经常使用。
TCP数据包响应探测是根据不同操作系统对特定的TCP的不同反应来进行识别区分。
ACK序号也是重要的参考标准之一,不同的操作系统处理序号时也是不一样的。
也有根据ICMP报文响应进行识别的,不同的操作系统对ICMP报文的响应也是不同的。
总之都是根据某些系统的响应特征进行分析识别。

-O: Enable OS detection
–osscan-limit: Limit OS detection to promising targets
–osscan-guess: Guess OS more aggressively

-T<0-5>: Set timing template (higher is faster)
–min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes
–min-parallelism/max-parallelism <numprobes>: Probe parallelization //这2个不太明白

以下是一些方法,尝试绕过目标防护,但实际不一定有效果。
FIREWALL/IDS EVASION AND SPOOFING:
-f; --mtu <val>: fragment packets (optionally w/given MTU)

-f 会将TCP头分段在几个包中,在IP头后会将包分为8个字节或更小。
在windows上运行会有一个警告:Warning: Packet fragmentation selected on a host other than Linux, OpenBSD, FreeBSD, or NetBSD. This may or may not work.

–mtu 必须是8的倍数

-D <decoy1,decoy2[,ME],…>: Cloak a scan with decoys

可以指定多个IP地址,或者使用RND随机生成几个地址(如RND:11)。ME用于指定自己的真实IP。这个主要是释放烟雾弹,让目标以为是一些别人在扫它。

-g/–source-port <portnum>: Use given port number

–data-length <num>: Append random data to sent packets

通常情况下,TCP包是40个字节,ICMP Echo有28个字节,在原来的报文基础上附加随机数据达到规避防火墙的效果。

–spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address

–script=<Lua scripts>: <Lua scripts> is a comma separated list of directories, script-files or script-categories

比如:–script ip-geolocation-* whois http-email-harvest hostmap-ip2hosts dns-brute membase-http-info smb-security-mode smb-check-vulns http-stored-xss snmp-win32-services dns-brute http-headers/http-sitemap-generator ssl-enum-cipers ssh-hostkey

上面的脚本名称,结合使用的nmap版本来看具体的脚本文件,名称有的对不上了。

上一次Metasploit网站被黑客攻破的原因正是因为黑客向Metasploit管理员发送了一封邮件导致的,邮件可能包含恶意代码或者恶意程序。

web漏洞的检测脚本,其中,http-stored-xss.nse脚本可以帮助我们发现网站的XSS(跨站脚本攻击)漏洞,http-sql-injection脚本可以帮助我们发现SQL注入漏洞。在TOP漏洞的排行里,XSS与SQL近些年一直高居榜首。

mysql数据库相关脚本:mysql-databases/variables/empty-password/brute/audit, oracle-brute, ms-sql-brute/empty-password/sql-tables/xp-cmdshell, pgsql-brute

Stuxnet蠕虫病毒(超级工厂病毒)是世界上首个专门针对工业控制系统编写的破坏性病毒,能够利用Windows系统和西门子SIMATIC WinCC系统的7个漏洞进行攻击。特别是针对SIMATIC监控与数据采集(SCADA)系统进行攻击,该系统被用来进行钢铁、电力、能源、化工等重要行业的人机交互与监控。
Stuxnet蠕虫病毒传播途径主要通过U盘和局域网进行传播,历史“贡献”是曾造成伊朗核电站推迟发电,于2010年9月25日进入中国。

审计相关脚本:http/ftp-brute http-wordpress/http-joomla-brute pop3/smtp-brute smb-brute.nse vnc-brute stuxnet-detect snmp-netstat/processes/win32-services/brute

Zenmap是python写的开源图形界面,相比于命令行Nmap,更加的方便使用。
扫描模板(profile)有10个。

image.png

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。