Skip to content

Latest commit

 

History

History
218 lines (208 loc) · 8.11 KB

内网渗透学习.md

File metadata and controls

218 lines (208 loc) · 8.11 KB

title: 内网安全攻防 author: bmth tags:


可学习文章: 手把手教你入门内网渗透之一 手把手教你入门内网渗透之二 手把手教你入门内网渗透之三

内网信息收集

手动收集信息

  1. 查询网络配置信息
ipconfig /all
  1. 查询从操作系统及软件信息 (1)查询操作系统和版本信息
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

(2)查看系统体系结构

echo %PROCESSOR_ARCHITECTURE%

(3)查看安装的软件及版本、路径

wmic product get name,version

利用PowerShell命令,收集软件的版本信息:

powershell "Get-WmiObject" -class Win32_Product ;Select-Object -Property name,version
  1. 查询本机服务信息
wmic service list brief
  1. 查询进程列表 可以查看当前进程列表和进程用户,分析软件、邮件客户端、VPN和杀毒软件等进程
tasklist

查看进程信息

wmic process list brief
  1. 查看启动程序信息
wmic startup get command,caption
  1. 查看计划任务
schtasks /query /fo LIST /v
  1. 查看主机开机时间
net statistics workstation
  1. 查询用户列表
net user

获取本地管理员(通常包含域用户)信息

net localgroup administrators

查看当前在线用户

query user || qwinsta
  1. 列出或断开本地计算机与所连接的客户端之间的会话
net session
  1. 查询端口列表 查看端口列表、本地开放的端口所对应的服务和应用程序
netstat -ano

可以看到当前机器和哪些主机建立了连接,以及TCP、UDP等端口的使用和监听情况 11. 查看补丁列表

systeminfo

需要注意系统的版本、位数、域、补丁信息及更新频率等。 使用wmic命令查看安装在系统的补丁

wmic qfe get Caption,Description,HotFixID,InstalledOn

补丁的名称、描述、ID、安装时间等信息 12. 查询本机共享列表 查看本机共享列表和可访问的域共享列表(域共享在很多时候是相同的)

net share

利用wmic命令查找共享列表

wmic share get name,path,status
  1. 查询路由表及所有可用接口的ARP缓存表
route print
arp -a
  1. 查询防火墙相关配置 (1)关闭防火墙 Windows Server 2003 及之前的版本
netsh firewall set opmode disable

Windows Server 2003 之后的版本

netsh advfirewall set allprofiles state off

(2)查看防火墙配置

netsh firewall show config

自动收集信息

WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具) ,提供了从命令行接口和批命令脚本执行系统管理的支持。 WMIC脚本的下载地址:www.fuzzysecurity.com/scripts/files/wmic_info.rar

查询当前权限

  1. 查看当前权限
whoami

如果当前内网中存在域,那么本地普通用户只能查询本机相关的信息,不能查询域内信息,而本地管理员用户和域内用户可以查询域内信息。其原理是:域内的所有的查询都是通过域控制器来实现的(LDAP协议),而这个查询需要经过权限认证,所以只有域内的用户才拥有这个权限,当域内用户执行查询命令时,会自动使用 Kerberos 协议进行认证,无需额外输入账号和密码。 本地管理员 Administrator 权限可以直接提升为 system 权限,因此,在域中除普通用户外,所有的机器都有一个机器用户(用户名是机器名后加上 "$")。 机器的 system 用户对应的就是域里面的机器用户。所以使用 system 权限可以运行域内的查询命令。

  1. 获取域SID
whoami /all
  1. 查询指定用户的详细信息
net user XXX /domain

判断是否存在域

  1. 使用ipconfig命令 可以查看网关IP地址、DNS的IP地址、域名、本机是否和DNS服务器处于同一网段等信息
ipconfig /all

然后,通过反向解析查询命令nslookup来解析域名的IP地址,用解析得到的IP地址进行对比,判断域控制器和DNS服务器是否在同一台服务器上 2. 查询当前登录域及用户登录信息

net config workstation
  1. 判断主域 域服务器通常会同时作为时间服务器使用
net time /domain

隐藏通信隧道技术

常用的隧道列举如下:

  • 网络层:IPv6隧道、ICMP隧道、GRE隧道
  • 传输层:TCP隧道、UDP隧道、常规端口转发
  • 应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道

判断内网的连通性

  1. ICMP协议
ping <IP地址或域名>
  1. TCP协议 netcat被誉为网络安全界的"瑞士军刀",是一个短小精悍的工具,通过使用TCP或UDP协议的网络连接读写数据
nc -zv <IP地址 端口号>

-z 设置nc只是扫描侦听守护进程,实际上不向它们发送任何数据。 -v 启用详细模式

  1. HTTP协议 curl是一个利用URL规则在命令行下工作的综合文件传输工具,支持文件的上传和下载。curl命令不仅支持HTTP、HTTPS、FTP等众多协议,还支持POST、Cookie、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。
curl <IP地址:端口号>
  1. DNS协议 nslookup是windows操作系统自带的DNS检测工具,在没有指定vps-ip时,nslookup会从系统网络的TCP/IP属性中读取DNS服务器的地址
nslookup www.baidu.com vps-ip

dig是Linux默认自带的DNS探测命令,在没有指定vps-ip时,dig会到/etc/resolv.conf文件中读取系统配置的DNS服务器的地址

dig @vps-ip www.baidu.com

权限提升分析及防御

在windows中,权限大概分为四种,分别是User、Administrator、System、TrustedInstaller。

  • User:普通用户权限,是系统中最安全的权限(因为分配给该组的默认权限不允许成员修改操作系统的设置或用户资料)。
  • Administrator:管理员权限。可以利用Windows的机制将自己提升为System权限,以便操作SAM文件等。
  • System:系统权限。可以对SAM等敏感文件进行读取,往往需要将Administrator权限提升到System权限才可以对散列值进行Dump操作。
  • TrustedInstaller:Windows中的最高权限。对系统文件,即使拥有System权限也无法进行修改。只有拥有TrustedInstaller权限的用户才可以修改系统文件。

Windows操作系统中管理员账号的权限,以及Linux操作系统中root账户的权限,是操作系统的最高权限。提升权限(也称提权)的方式分为以下两类。

  • 纵向提权:低权限角色获取高权限角色的权限。例如,一个WebShell权限通过权限,拥有了管理员权限,这种提权就是纵向提权,也称作权限升级
  • 横向提权:获取同级别角色的权限。例如,在系统A中获取了系统B的权限,这种提权就属于横向提权

常用的提权方法有系统内核溢出漏洞提权、数据库提权、错误的系统配置提权、组策略首选项提权、Web中间件漏洞提权、DLL劫持提权、滥用高权限令牌提权、第三方软件/服务提权等

Powershell攻击指南黑客后渗透之道系列——实战篇 powersploit的用法

PowerShell中的Sherlock脚本

https://github.com/rasta-mouse/Sherlock,可以快速查找可能用于本地权限提升的漏洞

Import-Module .\Sherlock.ps1
Find-AllVulns