横向移动-内网信息收集
信息收集的深度,直接关系到内网渗透结果的成败
进入内网后,红队一般会在本机以及内部网络 开展进一步信息收集和情报刺探工作
包括收集当前计算机的网络连接、进程列表、命令执行历史记录、 数据库信息、当前用户信息、管理员登录信息、总结密码规律、补丁更新频率等信息;
同时对内网的其他机器的IP、主机名、开放端口服务等情况进行情报刺探。
再利用内网机器不及时修复漏洞、不做安全防护、同口令等弱点来进行横向渗透扩大战果。
对于含有域的内网,红队专家会在扩大战果的同时,去寻找域管理员登录的蛛丝马迹。
一旦发现某台服务器有域管理员登录,就可以利用Mimikatz等工具去尝试获得登录账号密码明文;
或者Hashdump工具去导出 NTLM哈希,继而实现对域控服务器的渗透控制。
在内网漫游过程中,红队会重点关注邮件服务器、OA系统、集中运维管理平台、统一认证系统、域控等;
尝试突破核心系统权限、控制核心业务、获取核心数据,最终完成目标突破工作。
判断系统是否Docker
#是否存在以下文件 .dockerenv
ls -alh /.dockerenv
cat /proc/1/cgroup
:devices:/kubepods/burstable/podc #Docker
:devices:/ #虚拟机或物理机
判断是否在域内
ipconfig /all
#如果在域内,一般DNS即域控
net config workstation
#其中工作站域显示域名,登录域表明当前是域用户还是本地用户
net time /domain
#1)如果存在域会从域控返回时间,并在第一行返回域控及域名
#2)当前服务器在域内但是当前用户非域用户,会返回System error 5,表示权限不够
#3)找不到域 WORKGROUP 的域控制器,当前网络环境为工作组
用户权限
whoami /all
#查当前用户在目标系统中的具体权限
quser
#查当前机器中正在线的用户,注意管理员此时在不在
net user
#查当前机器中所有的用户名
net localgroup
#查当前机器中所有的组名,了解不同组的职能,如,IT,HR,ADMIN,
net localgroup "Administrators"
#查指定组中的成员列表
操作当前机器的远程桌面(RDP)
开启和关闭RDP,需要管理员权限
#开启
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
#关闭
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 0
#下边的命令查询RDP服务的端口,返回一个十六进制的端口
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber
系统基本信息
ipconfig /all
#获取本机网络配置
net statistics workstation
#查看主机开机时间
echo %PROCESSOR_ARCHITECTURE%
#可查看系统的体系结构,是x86还是AMD64等
systeminfo
#查看系统的基本信息(系统版本、软件及补丁的安装情况,是否在域内)
tasklist
#查看本机进程列表,分析是否存在VPN杀软等进程
wmic servcie list brief
#查看本机服务信息
wmic startup get command,caption
#查看程序启动信息
schtasks /query /fo LIST /v
#查看系统计划任务
网络信息
netstat -ano
#查看本机所有的tcp,udp端口连接及其对应的pid
net share
#查看本机共享列表,和可访问的域共享列表
wmic share get name,path,status
#利用wmic查找共享列表
REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
#查看代理配置情况
主机发现
网段划分:通过内网业务判断网络架构,DMZ、办公网、核心业务网
查看各种历史记录
1、查看bash历史记录
history
cat ~/.bash_history
2、查看hosts文件(看域名绑定),linux & windows
cat /etc/hosts
type c:\Windows\system32\drivers\etc\hosts
3、查看mstsc对内和对外连接记录
https://github.com/Heart-Sky/ListRDPConnections
可能发现跨段的连接,还能定位运维人员主机
4、浏览器浏览记录
查看浏览器中访问过的内网应用
二次开发相关工具-深入研究实现原理
被动主机发现-不扫描
#查看路由表
netstat -r
#arp可以轻易bypass掉各类应用层防火墙,除非是专业的arp防火墙
arp -a
#SPN扫描服务 (域)
每个重要的服务在域中都有对用的SPN,所以不必使用端口扫描
只需利用SPN扫描就能找到大部分应用服务器
#查看当前域内的所有SPN(系统命令)
setspn -q */*
端口扫描
一开始先低并发扫描内网机器,千万不要上来就fscan一把梭(傻逼行为)
先对C段做主机发现,扫描高危端口(22,445,3306,1443,1521,5432,6379,80,443,8000,8080)
通过主机端口和数据库端口高频Web端口找到能获取权限的主机 ,拓展权限。
下一步才能对内网发起大规模扫描,否则会被管理员发现,权限会掉内网渗透就止步于此失败了。