当前位置:   article > 正文

内网安全-信息收集-内网资源探测-扫描内网存活主机_内网扫描

内网扫描
简介
   在渗透测试中可以根据目标主机的情况,上传工具进行主机存活探测,也可以借助内网代理或路由转发对目标主机所处的局域网发起探测。

   测试人员可以根据当前渗透环境,选用ICMP、NetBIOS、UDP、ARP、SNMP、SMB等多种网络协议。按照协议类型,下面介绍使用常见工具来发现内网存活主机的方法。
  • 1
  • 2
  • 3
基于ICMP发现存活主机
   ICMP (Internet Control Message Protocol,因特网控制消息协议)是TCP/IP 协议簇的一个子协议,用于网络层的通信,即IP主机、路由器之间传递控制消息,提供可能友生在通信环境中的各种问题反馈。通过这些信息,管理员可以对发生的问题做出诊断,然后采取适当的措施解决。

   在实际利用中,可以通过ICMP循环对整个网段中的每个IP地址执行ping 命令,所有能够ping 通的IP地址即为内网中存活的主机。

   在目标主机中执行以下命令:
  • 1
  • 2
  • 3
  • 4
  • 5

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.199.%I| findstr "TTL="

命令参数解析:
for /L %I in (sequence) do command,for遍历

192.168.199.%I,代表你要ping的网段:192.168.199.0网段

(1,1,254),第一个1和最后一个254,代表从1-254,中间那个1,代表,每次ping,递增1

-n 1,代表发送的回显请求数

-w 60,代表等待回复每次ping超时时间(毫秒)



   循环探测整个局域网C段中存活的主机
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

或者也可以使用nmap

nmap -sP 192.168.204.1/24

基于NetBlOS(网络基本输入/输出系统)协议发现存活主机
   **网络中的计算机之间必须知道IP地址后才能相互通信。但对人来说IP难以记忆,NetBIOS计算机名称比较容易记忆。当计算机使用 NetBIOS 名称与其他计算机通信时,必须先通过 NetBIOS名称找到IP地址,然后再通过IP地址通信。由NetBIOS名称找出IP地址的操作被称为NetBIOS名称解析(NetBIOS name resolution)。**

   NetBIOS(端口:137~139)提供OSI/RM的会话层(在TCP/IP模型中包含在应用层中)服务,让不同计算机上运行的不同程序可以在局域网中互相连接和共享数据。严格来说,NetBIOS不是一种协议,而是一种应用程序接口 (Application Program Interface,API)。几乎所有局域网都是在NetBIOS协议的基础上工作的,操作系统可以利用WINS服务、广播、Lmhost文件等模式将NetBIOS名解析为相应的IP地址。**NetBIOS的工作流程就是正常的机器名解析、查询、应答的过程。在 Windows中,默认安装TCP/IP后会自动安装NetBIOS。**可以使用`nbtstat -n` 查看netbios信息。

   在实际利用时,向局域网的每个IP地址发送NetBIOS状态查询,可以获得主机名、MAC地址等信息。
   NBTScan是一款**用于扫描****Windows网络****上 NetBIOS名称的程序,用于发现内网中存活的 Windows 主机。**NBTScan可以对给定IP范围内的每个IP地址发送NetBIOS状态查询,并且以易读的表格列出接收到的信息,对于每个响应的主机,会列出它的IP地址、NetBIOS计算机名、登录用户名和MAC地址。**总之,NBTSCAN可以获取到PC的真实IP地址和MAC地址。**
   将nbtscan.exe 上传到目标主机(网页搜索下载即可),执行以下命令:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

nbtscan-1.0.35.exe 192.168.199.1/24

基于UDP发现存活主机
   UDP (User Datagram Protocol,用户数据报协议)是一种用于传输层的无连接传输的协议,为应用程序提供一种不需建立连接就可以发送封装的IP数据包的方法。
   在实际利用中,可以将一个空的UDP报文发送到目标主机的特定端口,如果目标主机的端口是关闭的,UDP 探测就马上得到一个ICMP端口无法到达的回应报文,这意味着该主机正在运行。如果到达一个开放的端口,大部分服务仅仅忽略这个空报文而不做任何回应。
   Unicornscan是 Kali Linux平台的一款信息收集工具,提供了网络扫描功能。
   执行以下命令,通过UDP协议扫描内网的存活主机。
  • 1
  • 2
  • 3
  • 4

us -mU 192.168.204.1/24

  1. TCP是有连接的协议,而UDP是无连接的;
  2. TCP扫描检测(ACK SYN)或者是(RST)报文,而UDP检测ICMP端口不可达报文;
  3. TCP协议是可靠但低效的,可以有效进行端口扫描,范围广,效率低,可以应用于任何网络中;UDP协议时不可靠但高效的,范围小,效率高,一般应用于局域网内部,随着网络规模的增大,UDP端口扫描的结果准确度会越来越差,极端情况是,如果对Internet使用UDP端口扫描,所得到的结果一定不准确。
基于ARP发现存活主机
   ARP (Address Resolution Protocol,地址解析协议)是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,用于网络层通信。主机发送信息时,将包含目标IP地址的ARP请求广播到局域网上的所有主机,并接收返回消息,以此确定目标的物理地址﹔收到返回消息后,将该IP地址和物理地址存入本机 ARP缓存,并保留一定时间,下次请求时直接查询ARP缓存,以节约资源。
   在实际利用中,可以向网络发送一个ARP请求,若目标主机处于活跃状态,则其一定会回应一个ARP响应,否则不会做出任何回应。
  • 1
  • 2

(1)ARP-Scan 的利用
ARP-Scan是一款快速、便捷的内网扫描工具,利用ARP发现内网中存活的主机。将工具上传到目标主机,执行以下命令,即可扫描内网中存活的主机。

arp-scan.exe -t 192.168.204.1/24

(2) PowerShell 的利用
Empire渗透框架的 Invoke-ARPScan.ps1脚本可利用ARP发现内网存活主机(项目见Github
上的相关网页)。使用时,需要将脚本导入执行:

Import-Module . \Invoke-ARPScan. ps1
Invoke-ARPScan -CIDR 192.168.204.1/24

基于SMB (Server Message Block,服务器消息块)协议发现存活主机
   SMB(端口445)又称为网络文件共享系统(Common Internet File System,CIFS)协议,是一种应用层传输协议,主要功能是使网络上的机器能够共享计算机文件、打印机、串行端口和通信等资源。CIFS消息一般使用NetBIOS或TCP发送,分别使用139或445端口,目前倾向于使用445端口。
   在实际利用中,可以探测局域网中存在的SMB服务,从而发现内网的存活主机,多适用于Windows主机的发现。

   CrackMapExec(简称CME)是一款十分强大的后渗透利用工具,在Kali Linux上可以直接使用apt-get命令进行安装。CrackMapExec能够枚举登录用户、枚举SMB服务列表、执行WINRM攻击等功能,可以帮助测试人员自动化评估大型域网络的安全性(具体见 Github 上的相关网页)。执行以下命令:
  • 1
  • 2
  • 3
  • 4

crackmapexec smb 192.168.204.1/24

探测局域网中存在的SMB服务,从而发现内网中的存活主机

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你点击这里

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/867714
推荐阅读
相关标签