横向移动-内网信息收集

张天师大约 4 分钟

信息收集的深度,直接关系到内网渗透结果的成败

进入内网后,红队一般会在本机以及内部网络 开展进一步信息收集和情报刺探工作

包括收集当前计算机的网络连接、进程列表、命令执行历史记录、 数据库信息、当前用户信息、管理员登录信息、总结密码规律、补丁更新频率等信息;

同时对内网的其他机器的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/ListRDPConnectionsopen in new window

可能发现跨段的连接,还能定位运维人员主机

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端口找到能获取权限的主机 ,拓展权限。

下一步才能对内网发起大规模扫描,否则会被管理员发现,权限会掉内网渗透就止步于此失败了。