NMAP四层扫描
nmap 1.1.1.1-254 -PU53 -sn
//UDP扫描
nmap 1.1.1.1-254 -PA80 –sn
//ACK TCP扫描 RST包
nmap -iL iplist.txt -PA80 -sn
//批量扫描
hping3 --udp 1.1.1.1 -c 1
hping3 1.1.1.1 -c 1 (TCP)
Hping3 1.1.1.1
./TCP_hping.sh
Flag 0 —— ACK̵RST
NMAP四层扫描
nmap 1.1.1.1-254 -PU53 -sn
//UDP扫描
nmap 1.1.1.1-254 -PA80 –sn
//ACK TCP扫描 RST包
nmap -iL iplist.txt -PA80 -sn
//批量扫描
hping3 --udp 1.1.1.1 -c 1
hping3 1.1.1.1 -c 1 (TCP)
Hping3 1.1.1.1
./TCP_hping.sh
Flag 0 —— ACK̵RST
二层发现:试用于已拿到目标系统的权限之后进行内网渗透
root@kal:~# cat hping_tcp_udp_scan.sh
#!/bin/bash
if [ $# -ne 1 ];then
echo -e "\033[31;31m Input Error \033[0m"
echo -e "\033[31;31m Format Example: ./hping3 10.10.10.0/24\033[0m"
exit
fi
prefix=$(echo $1|cut -d"." -f 1-3)
echo "**********1. udp scan"
echo "**********2. tcp scan"
read choice
case $choice in
1)
touch result.txt
for i in $(seq 1 254);do
{
ip=$prefix.$i
hping3 --udp $ip -c 1 >> result.txt
}&
done
grep "Unreachable" result.txt | cut -d" " -f 5 | cut -d"=" -f 2 >> ip_alive.txt
rm -f result.txt
;;
2)
touch result.txt
for i in $(seq 1 254);do
{
ip=$prefix.$i
hping3 --udp $ip -c 1 >> result.txt
}&
done
grep "Unreachable" result.txt | cut -d" " -f 5 | cut -d"=" -f 2 >> ip_alive.txt
rm -f result.txt
;;
esac
三层发现:主要是IP和ICMP协议,可以路由,速度较快;但是比二层慢,经常被边界防火墙过滤,显示丢包
udp扫描 理解原理
domain 是典型的udp的端口
6表示tcp 17udp ip上层可能不只是udp和tcp 还有其他层的协议
nmap脚本存放路径
/usr/share/nmap/scripts/
nmap 在三四层网络扫描领域无敌状态
ack类型的是 -pA -PU udp
-sn 不做端口扫描 只做四层主机发现、-ps 是sctp这种方式
pe 是IC,目标端口不可达 如果返回一个icmp 端口不可达 是其返回的一个数据包 表明是目标主机是存活状态 但是
无论是scapy 还是nmap 还是hping3 基于udp协议扫描 都是通过icmp进行扫描判断
udp 准确性不高 只是位于一个参考的
hp的包发送的flag是零 如果目标给我返回的是一个ack rst的数据包 那么hping 就认为是活着的
发现是发现活着的ip 是可以通信不是端口
对端口扫描 每一个服务器都会开发很多应用 每一个应用都会侦听某个端口 通过侦听这些端口 来接受客户端对我进行访问 端口后面对应着很多端口
发现活着的主机 就需要去确认这些活着主机开放那些的端口 端口上运行那些服务 应用程序的漏洞都是通过这些端口来体现出来的 后续的测试攻击进入一个端口的话 也是通过端口应用程序的漏洞 从端口进入
nmap:需要熟练全面的掌握。
nmap -sn 只做ping扫描,不做端口扫描。
例:nmap -sn ip(可以扫段)
比arping快很多,内容也较多。
可以调用文本文件
udp 对于没有收到 代表端口是开放 收到的肯定是端口不可达
udp端口扫描 nmap 端口扫描 nmap默认的参数是1000
nmap -sU +ip udp 端口扫描
没有给我回应 代表目标端口开放 给我回应的是目标不可达 是一个icmp
手动指定端口 nmap -sU +ip -p+端口
全端口扫描 nmap -sU+-ip-
回车显示进程
tcp扫描比较复杂 有很多状态 比如说全链接 半链接 各种各样扫描场景 基本tcp扫描基于三次握手 链接建立协议来建立的扫描
最经典的就是3次握手 隐蔽的 不发syn包 缺包 僵尸扫描 不产生应用层的访问 只可能在网络层有迹可循 这就是比较隐蔽的 僵尸
全连接:建立完整的三次握手;
隐蔽 只发送syn包 你给我会ack 看是否有rst就知道端口是否开放
伪造地址ip可能很少
僵尸扫描 扫描发起者 和目标服务器之间必须是发起者可以伪造ip地址的网络环境 才有可能去实施
必须拥有一个僵尸机:闲置的系统 其实主要是因为如果存在其他的ip通信 会导致ipid不能判断 理论上不能发现
扫描目的 就是判断目标端口是否是开放的 哪个端口是开放的
隐蔽端口扫描
判断类型 我给目标机器发送syn包 目标给我发送syn/ack 我给目标发送rst 断开三次握手过程 只要收到目标给我发送syn/ack 那么我就可以判断端口开放的状态 目标机器是关闭的状态 我就受不到任何的包
过滤i+协议 比如说 过滤arp !arp
tcp syn包扫描 脚本可以
tcp window100 到200 基本没有开放啥端口
135 139是文件共享 135是
nmap syn 扫描
ptr记录 看看这个ip地址能不能反向解析成为一个主机名
多个不同的端口可以用逗号隔离开
syn包 隐蔽端口扫描
syn扫描 无法探测是否开放状态
能建立tcp三次握手连接的状态 那就可以说明 端口是开放的 如果不能建立连接的状态 那就可以判断这个端口是不开放的 全端口扫描结果是最接近准确的 但是容易被入侵检测系统(网络层)注意到 会记录到这种情况 使用全部的手段综合队syn扫描
tcp也有他的循序号 seq
让系统不返回rst
iptables -l 查看防火墙rule
IP层扫描
端口层扫描
服务层扫描
OSI 7层协议
ARP协议不可路由
arping 1.1.1.1 -c 1 //-c规定发包数
nmap实现全连接扫描过程
tcp 全连接 比syn扫码要慢一点 端口范围越大表现出来也就更加明显
扫描出来的服务 不一定是准确的 实在服务的扫描识别 不一定是一个真实的结果、
复杂的僵尸扫描 合格的僵尸机 :足够闲置 扫描的时候 不能产生其他的ip通信 ipid 是要递增的 xp 2003 但是递增的
通过加一或者加2就可以判断目标服务器是否在开发的
函数是某个功能的程序代码 后面使用就可以直接调用
for port 那个部分是扫描目标端口100
开了22端口 不一定是linux系统 开了22端口 不一定就是window系统 window 下 可以启动22端口作为ssh服务端 linux139 145下也可以开启文件共享的
nmap有大量的脚本可以供我们调用来实现一些功能
-sI指定一个僵尸
• nmap 1.1.1.1-254 -sn //扫描1到254的IP
• nmap -iL iplist.txt -sn //扫描文件里的IP
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)
主机发现 端口发下 在线ip 端口
不能简单的通过端口号用来简单的识别端口上的服务 运行服务
确定软件 确定软件版本 到相应的官方网站上寻找公开的漏洞 有针对的性的寻找利用代码 或者自己去发掘 发现 利用2fuzz漏洞利用方法
识别目标的操作系统 对目标系统版本的识别来发现目标系统是否存在什么样的弱点 比如1说补丁不满意及时更新利用这些漏洞和弱点来取得目标系统的管理权限或者用户权限 在本地提权 在进行后续的渗透测试
识别:banner可以伪造 迷惑扫描者 不能很准确
nmap通过返回的指纹信息来确认目标端口跑的什么服务以及服务器的版本
snmp 服务配置不当 准确识别目标系统上的软件 以及版本信息 snmp是通过系统内部信息进行信息探测和收集 准确性高
识别边界防火墙 适当的绕开
不同的操作系统 对于响应同一请求的话会有不同的响应
包头字段和定义方式都会有不同的
snmp
python
scapy主要是集中在3层 四层 网咯包注入嗅探劫持
对应用层数据包定义不完整 不是很好建立全连接
在应用层不好
python socke和 目标系统进行tcp连接与应用层进行会话传输
SOCK_STREAM :TCP 连接
recv(接收数据大小)接收数据
nmap发现banner 是采用banner脚本来发现banner 是完整的连接
amap 专门用来发现banner信息
nmap通过特征来识别服务
-sV 使用指纹来识别匹配
用高位端口来隐藏端口服务
amap +ip 1- 100 -q
优点:扫描速度快、可靠
缺点:不可路由
Arp协议:抓包
作为python库进行调用
也可作为单独的工具使用
抓包、分析、创建、修改、注入网络流量
UDP
ACK——TCP port——RST
识别开放端口上运行的应用
识别目标操作系统
提高攻击效率
软件开发商
软件名称
服务类型
版本号(直接发现已知的漏洞和弱点)
种类繁多
好产品采用多种技术组合
信息的金矿
经常被错误配置
smtp-user-enum
HTTP-Lodbalancing
版权声明: https://