视频教程可以去B站找我
https://space.bilibili.com/123895286
nmap
Nmap ("Network Mapper") is a free and open source utility for network discovery and security auditing.
语法:
nmap -h 查看帮助
nmap [扫描类型] [选项] {目标}
HOST DISCOVERY
-sn //ping scan (arping)
arp-scan -l
- arping不等于ping,如果ping到了防火墙则无法ping通
- arping为二层探测,不可路由,只能发现本网段的主机,但ping(三层探测)可以。
- 如果不在同网段,则使用TCP协议(四层探测),可路由且结果可靠(高于三层),不太可能被防火墙过滤,甚至可以发现所有端口都被过滤的主机
nmap -sn 192.168.226.0/24(CIDR)
or zacarx.com/24
or 192.168.0-100.1-200
or 192.168.226.*
excluding hosts
--exclude : 排除
nmap -sn 192.168.226.0/24 --exclude 192.168.226,140,192.168.226.1-100
-iL :扫描指定文件里的主机
//提取ip,应用
nmap -sn 192.168.226.0/24 | grep report | awk '{print $5}' > 1.txt`
-v : 查看详细信息
--reason :查看判断原因
-PS : SYN扫描
-PA : ACK 扫描 并扫描常规端口扫描
-PU:UDP扫描
-PY :sctp扫描
// -P*21,80 IP
--script : 为.nse文件(usr/share/nmap/script)
e.g. dns-brute 主域名
Port Scan
nmap -v -A + 域名
states:open,closed,filtered(过滤,有防火墙),unfiltered(未过滤,但无法建立连接,没有防火墙).
-Pn : 跳过主机存活扫描,假定主机存活
-n : 表示不进行DNS解析
//两个n有区别的
-p 指定端口
-p1-1000
-p- : all port
-p ftp* : 指定端口
--open : 显示开放的端口
nmap -Pn -n -p80,21 116.62.154.232
nmap -Pn -p ftp* 116.62.154.232
默认-sS 不完整三次扫描 接受ACK/SYN后释放 (root)
-sT 完整三次扫描(普通用户)
下图为-sS的效果,注意我们需要权限!
下图为默认效果,无需权限
-e : 选择网络接口
OSes and services
//信息收集:有利于更好的利用漏洞
-sV 服务版本的检测
-O 操作系统的检测
-A 积极的检测:-O -sV -sC(默认脚本检测) tracerroute
version-intensity 9 深度检测,等级1-9
nmap -sV -O --version-intensity 9 192.168.226.136
nmap -p- -A 192.168.226.136
searchsploit OSes or servies
接下来步骤请看DC-3
信息收集实战
arp-scan -l = nmap -sP
nmap -p- -A 192.168.226.136
插件Wappalyzer自动扫描
目录文件枚举与利用:enum or joomscan
nmap --script http-enum 192.168.226.136
searchploit joomla 3.7.0
*提权需要的信息
uname -r
cat /etc/*release
find / -perm -4000 -type f 2>/dev/null (dc-1:特殊权限位)
ls /home/tom/usr/bin(dc-2:rbash逃逸)*
*时序
-T(0-5)
0-2:慢,逃避检测系统,减少带宽
3:默认,普通
4:网络好,常用
5:极速的,不太准确的*
About scripts against a target host
(Lua script 快 /usr/share/nmap/scripts)
nmap --script-updatedb
- auth: 负责处理鉴权证书(绕开鉴权)的脚本
- broadcast: 在局域网内探查更多服务开启状况,如dhcp/dns/sqlserver等服务
- brute: 提供暴力破解方式,针对常见的应用如http/snmp等
- default: 使用-sC或-A选项扫描时候默认的脚本,提供基本脚本扫描能力
- discovery: 对网络进行更多的信息,如SMB枚举、SNMP查询等
- dos: 用于进行拒绝服务攻击
- exploit: 利用已知的漏洞入侵系统
- external: 利用第三方的数据库或资源,例如进行whois解析
- fuzzer: 模糊测试的脚本,发送异常的包到目标机,探测出潜在漏洞 intrusive: 入侵 性的脚本,此类脚本可能引发对方的IDS/IPS的记录或屏蔽
- malware: 探测目标机是否感染了病毒、开启了后门等信息
- safe: 此类与intrusive相反,属于安全性脚本
- version: 负责增强服务与版本扫描(Version Detection)功能的脚本
- vuln: 负责检查目标机是否有常见的漏洞(Vulnerability),如是否有MS08_067
nmap --script dns-brute <target>
#多个脚本用逗号隔开
nmap --script vuln <target>
#直接加类别,多个类别逗号隔开
nmap -sV --script "(http-*) and not (http-slowloris or http-brute)" <target>
#执行all以http开头的文件not后面的两个除外
脚本引擎
-sC: 等价于–script=default ,使用默认类别的脚本进行扫描
--script= : 使用某个或某类脚本进行扫描,支持通配符描述
--script-help= : 显示脚本的帮助信息,其中部分可以逗号 分隔的文件或脚本类别
下面是常用脚本
nmap -p22 --script ssh-brute site.com
nmap -p21 --script ftp-syst test.com
nmap -p3306 -sV -sC test.com
nmap -p3306 --script mysql-enum test.com