主动收集资料方式(分类):【kali系统下使用】
扫描ip地址段:
nmap
其他服务扫描:
SNMP、SMB、SMTP、WEB
识别防护机制:
防火墙识别
nmap -p22 192.168.1.134 //默认用SYN扫描
nmap -p22 192.168.1.134 -sA //用SYN/ACK扫描
广域网负载均衡
·DNS //同一个域名解析成不同IP地址
HTTP-Loadbalancing
·Nginx
·Apache
lbd www.baidu.com
WAF识别
·WEB应用防火墙
wafw00f
nmap www.microsoft.com --script=http-waf-detect.nse
VRFY root //确认有无root账号
nmap smtp.163.com -p25 --script=smtp-enum-users.nse --script-args=smtp-enum-users.methods={VRFY} //扫用户账号
smtp-user-enum-M VRFY -U users.txt -t 10.0.0.1
nmap 1.1.1.1 -p139,145 --script=smb-os-discovery.nse //扫SMB的脚步
nmap -v -p139.445 --script=smb-check-vulns --script-args=unsafe=1 1.1.1.1 //判断139 445端口上是否有漏洞
nmap的脚本目录在 /usr/share/namp/scripts/里
nbtscan -r 192.168.1.0/24
enum4linux -a 192.168.1.134
SMB扫描
·Server Message Block 协议
·实现复杂
·默认开放
·文件共享
·空会话未身份认证访问(SMB1)
·密码策略
·用户名
·组名
·机器名
·用户、组SID //administrator的SID是500
SMB常用端口 139 445
onesixtyone 1.1.1.1 public
onesixtyone -c dict.txt -i hosts -o my.log -w 100
服务扫描
识别开放端口上运行的应用
识别目标操作系统
提高攻击效率
Baccner捕获
服务识别
操作系统识别
SNMP分析
防火墙识别
全连接端口扫描 Scapy
Syn扫描不需要raw packet
内核认为syn/ack是非法包,直接发rst终端连接
全连接扫描对scapy比较困难
sr1(IP(dst="192.168.20.2")/TCP(dport=22,flags='S'))
UDP-----UDP Port-----ICMP
u=UDP()
u.dport=33333
r=(i/u)
a-sr1(r,timeout=1,verbose=1)
A.display()
ICMP
UDP_Ping.py
UDP发现不可靠
ACK-----TCP Port-----RST
Scapy
i=IP()
i.dst"1.1.1.1"
t=TCP()
t.flags='A'
r=(i/t)
a=sr1(r)
a.display()
a=sr1(IP(dst="1.1.1.1")/TCP(dport=80,flags='A'),timeout=1))
ACK_ping.py
chmod u+x arp1.py //给执行权限
nmap -sT 1.1.1.1 -p1-100 //-sT用TCP的形式扫描
dmitry -p 1.1.1.1 //-p执行TCP扫描
nc -nv -w 1 | -z 1.1.1.1 1-100 //-z 扫描模式
-w 设置超时时间
hping 1.1.1.1 --scan 1-100 -S //-S 表示用SYN扫描
hping3 -c 100 -S --spoof 192.168.1.140 -p ++1 192.168.1.134 //以端口每次加1的方式发100个包 第一个IP是本机伪装的IP 第二个IP为要扫的IP
隐蔽端口扫描
·Syn——syn/ack——rst
·Scapy
·sr1(IP(dst="1.1.1.1")/TCP(dport=80),timeout=1,verbose=1)
nmap 的SYN扫描
nmap 192.168.1.134 -p1-100 --open //只显示open的
nmap -sS1.1.1.1
nmap -sS -iL iplist.txt -p //扫文件里的端口
隐蔽扫描——syn
·不建立完整连接
·应用日志不记录扫描行为——隐蔽 //网络层还是有一些迹象的
僵尸扫描
·极度隐蔽
·实施条件苛刻
·可伪造源地址
·选择僵尸机
·闲置系统
·系统使用递增的IPID
·0
·随机
注:1.发起者必须能伪造IP地址 2.僵尸机必须是闲置的
sr1(IP(dst="1.1.1.1")/UDP(dport=53),timeout=1,verbose=1)
nmap -sU 1.1.1.1
·默认的1000个参数
·ICMP host-unreachable
nmap -sU 1.1.1.1 -p53 //-p指定端口 也可以-p1-65535选定范围
TCP端口扫描
·基于连接的协议
·三次握手
·隐蔽扫描
·僵尸扫描 //几乎不与目标系统产生直接的会话进程 扫描条件比较苛刻
·全连接扫描 //建立完整的三次握手(不够隐蔽)
·所有的TCP扫描方式都是基于三次握手的变化来判断目标端口状态
端口扫描
·端口对应网络服务及应用端程序
·服务端程序的漏洞通过端口攻入
·发现开放的端口
·更具体的攻击面
通过端口后面应用程序的漏洞从端口攻击进去
·UDP端口扫描
·假设ICMP port-unreachable 响应代表端口关闭
·目标系统不响应ICMP port-unreachable时,可能产生误判
·完整的UDP应用层请求
·准确性高
·耗时巨大(六万多个端口 但是比TCP快)
Scapy UDP Scan
·端口关闭:ICMP port-unreachable
·端口开放:没有回包
·了解每一种基于UDP应用层包结构很有帮助 //提高准确性
·与三层相同的技术
·误判
Netdiscover
· 专用于二层发现
· 可用于无线和交换网络环境
·主动和被动探测
·主动
·netdiscover -i eth0 -r 192.168.1.0/24 //-i 指定网卡 -r 指定IP段
·netdiscover -i IPlist,txt //-l 指定文件
·被动
·netdiscover -p //将网卡置入混杂模式(非本网卡IP的数据包也会被netdiscover 抓取到)
·主动arp容易触发报警
Scapy
·作为Python库进行调用
·也可作为单独的工具使用
·抓包、分析、创建、修改、注入网络流量
·apt-get install python-gnuplot
函数名称在Scapy里面都是大写
ARP().display() //显示ARP函数里面具体的内容
sr1() //发包函数
sr1(arp)
• nmap 1.1.1.1-254 -sn //扫描1到254的IP
• nmap -iL iplist.txt -sn //扫描文件里的IP