目标识别

在利用第三方工具(如搜索引擎)获取目标网络的信息之后,接下来就要识别出目标系统里联网的主机,包括在目标网络里搜索在线的主机和鉴定目标机器上安装的操作系统,目标识别有助于后期漏洞映射阶段的工作。

测试

目标机:CentOS:192.168.226.128

攻击机:kali:192.168.226.185

识别目标主机

一、ping

ping程序向目标主机发送ICMP协议(Internet control message protocol,Internet控制报文协议)的echo request数据包,如果目标主机在线且允许受理ping请求,那么目标主机将回复ICMP echo reply数据包。

ICMP协议的echo request(请求)和echo reply(回复)是ICMP协议的两种类型的消息。

在kali的终端输入ping指令并配置好选项,比如在ping指令后直接指定目标地址:

在kali里,默认情况下在按Ctrl+C之前,ping指令会一直运行下去。

ping指令有很多选项,最常用的有下面这些:

-c count:发送echo request数据包的总量

ping指令向目标主机发送了一个ICMP echo request,发送请求的主机也只收到了一个ICMP echo reply;请求和回复之间的往返时间是1.091ms,期间没有丢失数据包。

可以使用wireshark观察本机发送和接收的数据:

可以看出本地主机(192.168.226.185)向目标主机(192.168.226.159)发送了一个ICMP echo request数据包,因为目标主机在线且允许受理ICMP echo request数据包,于是向本地主机发送回ICMP echo reply数据包。

-I interface address:设置源地址或网络接口,该参数可以是IP地址或网卡设备的名称(如eth0)。ping IPv6链路本地地址,必须指定这个选项。

-s packet size:每个数据包的包大小(字节数),默认值是56,再算上IPv4中8字节的ICMP包头,默认情况下发送的数据包是64字节。

如需屏蔽ping请求的数据包,可以在防火墙中配置ICMP echo request的白名单,并屏蔽来自其他IP地址的ICMP echo request数据包。

二、arping

arping是在局域网中使用ARP(address resolution protocol)请求判断目标主机是否在线的工具。因为arping程序工作于OSI模型中的第二层,ARP协议的数据包无法通过路由器和网关,所以只能检测本地局域网中的主机。

在终端中使用arping命令,启动arping程序:

该指令显示所有的选项和使用方法。

使用arping程序判断某MAC地址的主机是否在线:

-c:发送指定的count个ARP request包后停止。

上述指令检测MAC地址为00:0c:29:14:58:c9的主机是否在线。

使用wireshark观察arping运行期间的网络数据:

可以看出本地网卡(MAC地址为00:0c:29:ee:eb:7e)发送了ARP广播询问192.168.226.159的MAC地址,如果这个IP地址存在,则会将其MAC地址(00:0c:29:14:58:c9)通过ARP协议进行回复,即返回图中第3个数据包。

如果没有任何一台主机占用指定的IP地址,我们也不会收到ARP协议的回复数据:

arping程序还常用于判断某个IP地址是否被同一局域网内的主机占用,假如本地主机通常占用192.168.226.101这个IP地址,突然想换一个IP地址,在更换IP地址之前,应该检查该IP地址是否被其他主机占用。

检测192.168.226.225是否被他人占用:

-d:重复地址探测模式,用来探测有没有IP地址冲突;

-i:指定网络设备接口。

如果返回值为1,说明IP已经被占用;返回值为0则说明IP没有被占用。

三、fping

与ping程序相比,fping可以同时向多个主机发送ping(ICMP echo)请求,通过目标主机的回复来判断该主机是否在线:如果目标主机发送了回应,该主机将会被标记为alive(在线);如果主机在一段时间内没有响应,该主机则会被标记为unreachable(不可访问)。

在终端中使用fping –h指令即可使用fping程序,下面介绍fping的几种用法。

同时检测地址为192.168.226.1、192.168.226.28和192.168.226.128的主机是否在线:

如果不想逐IP地指定目标主机,可以指定目标主机的列表。假设知道192.168.226.0这个网段里有需要检测的目标主机,可以直接使用-g选项(生成列表)对整个网段进行检测:

默认情况下,fping将尝试向每个目标发送三次ICMP echo数据包。如果需要改变探测目标主机的重试次数,可以在使用-r选项(retry limit):

四、hping3

hping3程序是命令行下的网络数据包生成和分析工具,在端口扫描、防火墙规则测试、网络性能测试时,都可以使用hping3程序生成自定义的网络数据包,从而进行相应测试。

主要用途:测试防火墙规则、测试入侵检测系统/IDS、测试TCP/IP模式的安全漏洞。

在不指定任何参数的情况下,直接运行hping3将向TCP的0号端口发送空数据。

向目标机器发送一个ICMP echo请求:

-1:使用ICMP协议;

-c 1:发送一次。

可以看到目标主机在线,回复了ICMP echo请求。

使用hping3检验防火墙规则。

向目标主机的TCP 22端口发送一个带有SYN标识的TCP包:

-S:设置TCP模式SYN包。

可以看到目标主机接受了我们刚才发送到22端口的带SYN标识的TCP包。

测试它的UDP 22端口:

-2:发送UDP包。

可以确定目标主机的防火墙不接受到22端口的UDP数据包。

五、nping

nping允许用户发送多种协议(TCP、UDP、ICMP和ARP协议)的数据包,和其他类似工具的区别:nping程序区别于ping程序的是它可以探测多个主机的多个端口。nping可以像ping程序一样发送ICMP echo请求,还可以对网络进行压力测试、ARP中毒、DoS攻击。

在kali Linux中,nping程序是nmap程序包的一部分。

向多个目标主机(192.168.226.127、192.169.226.128和192.168.226.129)发送ICMP echo请求:

可以看到只有192.168.226.128响应了我们的请求。

在目标主机不响应ICMP echo请求数据包的情况下,可以向该主机开放的TCP端口发送TCP SYN数据包,检验它是否在线:

向目标主机的22端口发送一次TCP数据包:

根据结果可知目标主机响应了我们发送到22端口的数据包,所以可以判断目标主机在线。

六、nbtscan

如果在内网渗透测试中审计Windows系统,需要先获取主机的NetBIOS信息,最常用的工具就是nbtscan,nbtscan可以将相应主机的IP地址、NetBIOS计算机名、可用服务、登录用户名和MAC地址整理为报告。

搜索局域网(192.168.1.0/24)内各个主机的NetBIOS名称:

找到的NetBIOS名字有SAFEPC、PKY、SMIGO等。

查看这些主机运行了哪些服务:

-h:查看相关帮助;

-v:开启详细输出调试。

可以看到DESKTOP-JJND17J(192.168.1.60)运行了file server(文件服务器)和workstation(工作站服务)。这些信息包含了哪台机器提供了文件共享服务,下一步就可以检测这些文件共享服务是否开放,继而访问其中的文件。

识别操作系统

在确认目标主机在线后,应当识别它们使用的操作系统,识别操作系统的方式分为主动式和被动式。

主动式:向目标机器发送数据包,并根据目标的响应确定其使用的操作系统。优点在于探测速度快,但是目标主机可能会发现我们的探测行为。

被动式:克服了主动式识别方法的缺点,但是比主动式的识别速度慢。

一、Nmap

Nmap是一款非常受欢迎的功能强大的端口扫描程序,还可以进行主动式的操作系统指纹识别。

识别192.168.226.128的操作系统:

二、p0f

采用被动方式探测目标主机的操作系统类型,可以识别连接到本地主机的机器(SYN模式,即默认模式)、本地主机可以访问的机器(SYN+ACK模式)、本地主机不能访问的机器(RST+模式),还可以识别监控到其网络通信的机器。

p0f程序通过自身发出的TCP数据包分析操作系统的类型,然后统计在默认情况下不会产生的非标准数据包。例如Linux内核的操作系统默认使用64字节的ping数据包,而Windows操作系统使用32字节的ping数据包;这两个操作系统在TTL(time to live,生存时间值)上同样存在差别,Windows发出的数据包,其TTL是128,而不同版本的Linux系统,其数据包的TTL各有不同。p0f程序就是根据这些差别来识别远程主机的操作系统。

注:2020的kali没有p0f程序。

在终端输入p0f –h可查看它的使用方法和选项说明:

使用p0f程序识别远程主机的操作系统:p0f -f /etc/p0f/p0f.fp -o p0f.log

这条指令将会读取指纹数据库文件(/etc/p0f/p0f.fp),然后把分析日志保存为p0f.log,同时显示下列内容:

然后,在本地主机与目标机器建立TCP连接,产生一些网络流量。可以浏览远程主机的文件,或者让远程主机连接到本地主机。这里我们选择浏览器访问目标机器的IP地址。

如果p0f成功识别出远程主机的操作系统,这个程序将会在日志文件(p0f.log)和屏幕上记录相关信息:

三、Xprobe2

一款远程主机操作系统探查工具,通过ICMP协议来获得指纹。Kali 2018已集成xprobe2。

发起针对192.168.226.128的操作系统指纹识别:

xprobe2 192.168.226.128

参考

https://mp.weixin.qq.com/s/RJNx-oDLU0_pxZDAlK4GfA

ping无法访问目标主机 0丢失_预渗透之目标识别相关推荐

  1. 计算机网络,ping连接同一个WiFi的电脑,回复无法访问目标主机,但是数据包已接收(防火墙已关)

    如有错误欢迎指正 首先别忘了关防火墙 关了防火墙之后依然没用 经过查找资料,我猜测可能是我们学校校园网路由器有ap隔离设置,所以无法通过学校的路由器ping到主机,如果电脑连接自己用手机开的热点,就能 ...

  2. ping来自192.168.1.1的回复:无法访问目标主机(丢包等网络问题)

    具体表现:1. 虚拟机IP地址配置好了,虚拟机可以ping通外网,电脑也可以ping通虚拟机ip,xshell等客户端无法通过IP地址链接linux. 直接症状 是不能通过xshell等客户端,登录l ...

  3. ping问题详解(请求超时,无法访问目标主机)

    我们有时需要进行远程或者共享对方数据库的时候,会ping一下对方电脑,时候能够ping通,时候能够进行数据的传输.有时会出现ping请求超时,那么遇到这个问题该怎么解决? 我们首要解决的是看他自己是否 ...

  4. 宿主机( win 7 系统) ping 虚拟机VMware( cent os 6.6 ) 出现“请求超时”或者“无法访问目标主机”的解决方法

    宿主机( win 7 系统) ping 虚拟机VMware( cent os 6.6 ) 出现"请求超时"或者"无法访问目标主机"的解决方法 参考文章: (1) ...

  5. ping连接linux无法访问目标主机,无法访问目标主机是什么情况【解决方法】

    随着近年来IT行业的不断发展,我们的电脑作为IT产品之一,对我们的日常生活有着非常重要的作用,不仅可以利用电脑来进行学习.工作,还可以看视频.听音乐.打游戏.其中,我想,作为电脑运用中最为重要的莫过于 ...

  6. ping 不通。无法访问目标主机

    原文地址为: ping 不通.无法访问目标主机 ping回复无法访问目标主机 问题: ping主机ip时,访问无法访问目标主机,或请求超时. 如: 正在 Ping 10.16.1.89 具有 32 字 ...

  7. 解决 Win10 局域网下两台电脑无法ping通: 无法访问目标主机

    解决 Win10 局域网下两台电脑无法ping通: 无法访问目标主机 解决 Win10 局域网下两台电脑无法ping通: 无法访问目标主机 问题描述 第一步:启用规则 第二步:修改高级共享设置 第三步 ...

  8. 【夏虫语冰】Win10局域网下两台电脑无法ping通: 无法访问目标主机

    文章目录 1.简介 2.修改高级共享设置 3.启用防火墙规则 4.局域网内的其他主机访问NAT模式下的虚拟机 4.1 虚拟机网络设置 4.2 访问测试 4.2.1 http测试 4.2.2 curl测 ...

  9. 局域网计算机无法配置网关,局域网无法访问目标主机,ping网关无法访问目标主机...

    随着近年来IT行业的不断发展,我们的电脑作为IT产品之一,对我们的日常生活有着非常重要的作用,不仅可以利用电脑来进行学习.工作,还可以看视频.听音乐.打游戏. 其中,我想,作为电脑运用中最为重要的莫过 ...

最新文章

  1. 【Spring】bean的作用域(@Scope) - singleton、prototype
  2. 二叉搜索树-创建最小高度树(递归)
  3. lol服务器不稳定补偿地址,LOL9月4日更新bug补偿地址在哪里 9月4日更新bug补偿地址分享...
  4. cad加载tiff影像插件_设计大神CAD常用的七个插件你会用几个?
  5. 查询手机号段对应地区编码_想知道海关统计数据吗?这里有详细的查询教程
  6. 【Linux】一步一步学Linux——arp命令(163)
  7. 一线互联网公司的工程师们更应该增长技术以外的职场经验
  8. Google Adwords/SEO关键字策略之Google Webmaster Tool数据方法
  9. C# List;数组[] 转 List 和 List 拼接
  10. 【Java】JDBC基础使用教程
  11. mysql 计算信度_解析组合信度CR、AVE值如何计算_组合信度cr
  12. NoClassDefFoundError: Could not initialize class org.apache.kafka.common.record.Compressio
  13. Hard!168 · 吹气球
  14. 标题您的主机不满足在启用 Hyper-V 或 Device/Credential Guard 的情况下运行 VMware Workstation 的最低要求
  15. 自然语言处理基础 一 及 sklearn实现 分析词代码实现
  16. PTA-1021-Deepest Root
  17. 罗永浩两年还债4个亿,我却被《真还传》圈粉
  18. DAX: 复购率计算
  19. bug解决 2021-09-20 build之后出现shader消失的原因之一
  20. html默认样式重置,我们真的需要CSS重置来清除默认样式吗?

热门文章

  1. html5虚线绘制的函数,HTML5 Canvas绘制圆点虚线实例
  2. java集合的加减_在JAVA中,对List集合的加减操作
  3. Jmeter性能测试之while控制器的使用
  4. 初中python编程教学的困难与解决研究_初中信息技术课程中存在的问题与解决方案研究...
  5. 吉大20春学期C语言程序设计作业二,吉大18春学期《C语言程序设计》在线作业二【答案】...
  6. 的注册表怎么才能删干净_白蚁怎么才能消灭干净?
  7. linux执行数据库的命令,实验-shell执行数据库命令.TXT
  8. 香槟分校计算机科学排名,伊利诺伊大学厄巴纳-香槟分校计算机科学与工程世界排名2020年最新排名第42(ARWU世界排名)...
  9. java runtime.exec 阻塞_关于Runtime.getRuntime().exec()产生阻塞的2个陷阱
  10. Java取模函数,再不刷题就晚了!