Kali Linux 渗透测试之主动收集(二层渗透)

**

arp命令:

**
在这里插入图片描述
扫描可以分为对主机层ip的扫描、端口的扫描、服务的扫描。扫描存活主机,得到一个ip地址。扫描存活主机阶段又分为二、三、四层三个层面发现目标主机进而得到ip。这分层指的是网路分层中的七层。
我们进入正题:
1)首先二层发现:
数据连路层发现在七层协议的第二层,他工作的协议是arp协议,arp协议只是个二层协议,不可以过路由,只能发现本网段之内的主机,如果跨网段过路由,arp协议就无法进行探测。路由器会自动过滤arp数据包。他的优点是扫描结果比较可靠而且速度比较快。
所以我们如果拿到了一个网段主机的一个权限,我们可以利用arp二层发现,去发现此内网的其他主机。
二层发现工具arp-ping
我们打开另一台虚拟机

root@kali:~# arping 192.168.19.130 -c 1  //-c选择发包数量

打开wireshark,我们可以看到目标ip返回的数据包。

在这里插入图片描述我们可以看出第一个包是本机发给130的,但是第二个包是130回发给本机的。
注意:
arping 中还有一个参数,-d 他的作用是发现重复的响应。如果应答是两个不同的mac地址,但是他是同一个ip地址,并且这个ip是网关的ip,那么就有可能是arp欺骗。
arp命令不能ping一个网段,比如不能ping 192.168.12.1-24,这时候我们需要用脚本批量ping一个网段。

**

nmap:

**

namp网络层的扫描工具。
namp +ip地址 会执行端口扫描。

root@kali:~# nmap 192.168.19.1  //端口扫描

如图:
在这里插入图片描述

root@kali:~# nmap -sn 192.168.19.1  //--sn制作ping扫描,不做端口扫描
root@kali:~# nmap -sn 192.168.19.1-245 //这样不需要手动写脚本。
root@kali:~# nmap -sn 192.168.19.0/24 //速度也快

如图我们看到了我们扫描到的ip以及对应的ip地址。
在这里插入图片描述

nmap  -iL 文件名称 -sn //调用地址列表里面的地址。  文件中的ip地址要分行。一行一个。

netdiscover:

使用的是arp协议,可以主动探测也可以被动探测,可以用于无线也可以用于有线。发送一个arp数据包,如果得到回应则可以判断主机存在。
netdiscover可以被动探测,他不主动发arp包,他只是默默侦听,他把网卡制成混杂模式,可以收取非本网卡、非本mac地址的数据包,arp协议本身的通信机制是基于广播的,只要网络里主机发送arp广播包,netdiscover就可以侦听到这个数据。
主动收集:

root@kali:~# netdiscover -i eth0 192.168.1.0/24  //-i参数指定网卡

在这里插入图片描述
被动收集:他把网卡置入混杂模式,非本网卡的数据包会被抓取到。

root@kali:~# netdiscover -p

**

scapy

**
scapy是一个python库。他能抓包、分析、创建、注入网络流量。我们在使用scapy的时候可能会出下以下情况:
在这里插入图片描述
这说明我们没有安装gnuplot。我们需要执行一下命令:

apt-get install python-gnuplot

ARP(),是库中的一个函数,scapy中的函数都需要大写。

ARP().display()  //显示arp函数的具内容,调用arp函数也就是要定制一个arp数据包。arp数据包的头已经定制好了,只需要修改一下内容即可。

在这里插入图片描述与wireshark中的arp包头一致。
在这里插入图片描述

>>> arp=ARP()
>>> arp
<ARP  |>
>>> arp.display()
###[ ARP ]###
  hwtype= 0x1
  ptype= 0x800
  hwlen= 6
  plen= 4
  op= who-has
  hwsrc= 00:0c:29:40:d7:6d
  psrc= 192.168.19.129
  hwdst= 00:00:00:00:00:00
  pdst= 0.0.0.0
>>> arp.pdst="192.168.1.100"  //将要探测的主机的ip赋值给pdst
>>> arp.display()
###[ ARP ]###
  hwtype= 0x1
  ptype= 0x800
  hwlen= 6
  plen= 4
  op= who-has
  hwsrc= 00:0c:29:40:d7:6d
  psrc= 192.168.19.129
  hwdst= 00:00:00:00:00:00
  pdst= 192.168.1.100
>>> sr1(arp)  //sr1()发包函数
>>> answer=sr1(arp)
>>> answer.display()

我们看一下反应包:

>>> sr1(arp)
Begin emission:
*Finished to send 1 packets.

Received 1 packets, got 1 answers, remaining 0 packets
<ARP  hwtype=0x1 ptype=0x800 hwlen=6 plen=4 op=is-at hwsrc=00:0c:29:0b:f2:c0 psrc=192.168.19.131 hwdst=00:0c:29:40:d7:6d pdst=192.168.19.129 |<Padding  load='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' |>>
>>> 

用answer作为变量显示出相应包:

>>> answer=sr1(arp)
Begin emission:
Finished to send 1 packets.
*
Received 1 packets, got 1 answers, remaining 0 packets
>>> answer.display()
###[ ARP ]###
  hwtype= 0x1
  ptype= 0x800
  hwlen= 6
  plen= 4
  op= is-at
  hwsrc= 00:0c:29:0b:f2:c0
  psrc= 192.168.19.131
  hwdst= 00:0c:29:40:d7:6d
  pdst= 192.168.19.129
###[ Padding ]###    //padding的意思是返回的arp包不满足规定数据包最小的大小,用十六进制来补位。
     load= '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>>> 

我们也可以用scapy来写python脚本。
二层发现:我们渗透测试的时候如果已经控制了一台机器,取得了控制权,现在要对内网进行进一步渗透,以已经渗透的机器为跳板进行进一步的渗透,可以用二层工具发现目标内网有哪些机器。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值