内网数据防护的第一步,就是要熟悉攻击者获取数据的流程。在实际的网络环境中,攻击者主要通过各种恶意方法来定位公司内部各相关人员的机器,从而获得资料、数据、文件。定位的大致流程如下。
内部人事组织结构往往能够在被攻击目标的门户网站或者招聘信息中找到,一般公司都包括领导层、办公室、产品部、市场部、业务部等。
2.在内部人事组织结构中寻找需要监视的人员
作为攻击方,往往会有一个明确的攻击目的,再结合已经定位到的内部人事组织结构,能够进一步确定需要监视的人员。
3.定位相关人员的机器
通过人事资料中的需要监视人员的相关资料和已经收集到域计算机和域用户等信息,一般能够很快定位到相关人员的机器。
4.监视相关人员存放文档的位置
除了相关人员机器内的文档存放位置,更重要的是要找出存放文档的服务器的目录,后续将以该服务器为攻击重点。
1. 人事组织结构图
类似公司结构图可以在目标的外部站点(类如首页“关于我们”)和网上暴露的信息(类如发表在招聘网的各类岗位名称)来分析,或者在内网电脑中寻找类似的人事组织结构图,再结合分析人事资料里相关员工资料与域内用户名或者用户组的对应关系,可以很快定位到你需要寻找的人员使用的机器。如图所示。
人事组织结构图
人事组织结构图
2. 人力资源主管个人电脑
在内网中通过上述种种方法定位到人力资源主管个人机器,通常单位人力资源主管电脑中会存在公司所有人员的身份信息及相关材料,寻找到人力资源主管个人机器后在其电脑中寻找公司人力资源相关文档得存放位置,然后从人力资源文档中寻找公司相关人员信息,直至收集到你所需要的材料。
3. net group /domain
前面讲过可以通过net group /domain这个命令来查询域内所有用户组的信息,同样可以利用该命令来定位公司内部人事结构。如图所示。
查询域内所有用户组的信息
这里除了内置重点组外,自建的域组需要特别关注,可能每个单位命名的方式不同,需要自己去研究,常见的一些自建域组如下所示。
(1)IT组/研发组 他们掌握了大量的内网密码,数据库密码等。
(2)秘书组 他们掌握着大量的目标机构的内部传达文件和资料,为信息分析业务提供信息。
(3)财务组 他们掌握着目标机构大量的资金往来与目标企业的规划发展,并且可以通过资金表,来判断出目标组织的整体架构。
(4)CXX组 如ceo cto coo等,不同的组织名字不同,如部长、厂长、经理等,会拥有目标机构的机密信息。
1.核心业务机器
以下机器一般是内网的核心业务机器,需要重点保护。
高级管理人员、系统管理员、财务/人事/业务人员的个人计算机。
产品管理系统服务器。
办公系统服务器。
财务应用系统服务器。
核心产品源码服务器(IT公司通常会架设自己的SVN或者GIT服务器)。
数据库服务器。
文件服务器、共享服务器。
电子邮件服务器。
网络监控系统服务器。
其他服务器(分公司、工厂)。
2.敏感信息和敏感文件
站点源码备份文件、数据库备份文件等。
各类数据库的Web管理入口,例如phpMyAdmin、Adminer。
浏览器密码和浏览器Cookie。
其他用户会话、3389和ipc$ 连接记录、“回收站”中的信息等。
Windows无线密码。
网络内部的各种账号和密码,包括电子邮箱、VPN、FTP、TeamView等。
前文介绍了如何定位内部人事组织结构,那么如何能够快速定位到感兴趣的用户个人计算机呢?这里以定位域管理员的个人计算机为例,介绍一些常用方法。
1.找到感兴趣内网个人用户
通过企事业单位介绍、组织架构图、招聘公告等信息可以了解目标机构的岗位及职责划分,进而分析出感兴趣用户所属的部门、岗位。有的机构会在网站上进行信息公示。也可以在目标机构内网中先定位人事部员工的个人机,然后收集资料进行分析。部分单位网站上还会将网络管理员的账户名和邮箱也公示出来,这为我们定位信息化相关负责人提供了便利。
为了便于演示操作,本文以定位域管理员为例进行演示,
2.获取域管理员用户列表
执行如下命令,查询域内所有用户组列表,如图所示。
net group /domain
查询域内所有用户组列表
可以看到域内有很多组,其中比较常见的用户组如下:
Domain Admins:域管理员
Domain Computers:域计算机
Domain Controllers:域控制器
Domain Users:域用户
其中Domain Admins组即为域管理员组,通过如下命令查询域管理员用户。如图所示,有两个域管理员用户。
net
group
"domain admins"
/domain
查询域管理员用户
3.定位域管理员所使用的个人计算机
常用的域管理员定位工具有psloggedon.exe,它是微软公司开发的PSTools工具集中的一款实用工具。使用psloggedon.exe,可以查看本地登录的用户和通过本地计算机或远程计算机的资源登录的用户。如果指定的是用户名而不是计算机名,psloggedon.exe会搜索网上邻居中的计算机,并显示该用户当前是否已经登录。其原理是通过检查注册表HKEY_USERS项的key值来查询谁登录过(需要调用NetSessionEnum API),但某些功能需要管理员权限才能使用。
内网信息收集阶段,攻击者一般不会拥有域管理员权限,所以更加倾向于通过使用psloggedon.exe扫描所有域计算机的方法来查找域管理员当前登录终端。
首先执行如下命令,查询域内所有计算机,如图所示。
net
group
"domain computers"
/domain
查询所有域成员计算机列表
其次使用psloggedon加域计算机名的方法扫描登录用户,使用如下命令,结果如图所示。
psloggedon
\DC
# 使用说明:psloggedon [-] [-l] [-x] [\computername|username]
# -:显示支持的选项和用于输出值的单位。
# -l:仅显示本地登录,不显示本地和网络资源登录。
# -x:不显示登录时间。
# \computername:指定要列出登录信息的计算机的名称。
psloggedon.exe
获取到内网所有域计算机的登录用户以后,再与域管理员列表进行对比,如此就能够快速定位到域管理员的个人计算机了。
基于应用与文件形式的信息收集,说白了就是翻文件,包括一些应用的配置文件,敏感文件,密码文件、浏览器、远程连接、员工账号、email等。总体来说,不管什么途径获得的内网机器,首先需要知道的就是这台机器所属人员的职位、权利,通常一个高权利的人他在内网的权限比一般员工要高很多,他的电脑内也会有很多重要的、敏感的个人隐私文件、或公司内部文件、商业机密文件等。
常见的特定文件位置和关键词信息如下:
重点关注位置:用户桌面、回收站、网络共享盘
密码相关关键词:password、passwd、pwd、server、list
网络相关关键词:Diagram、.vsd、network、intranet、topology、topologies
特定文件后缀名:kdbx、ovpn、vsd、vsdx、xls、xlsx、doc、docx
通常情况下,攻击者使用cmd命令来自动化查找文件,
1.搜索指定含有任意多关键字的文件名
dir c:*.doc /s
dir /b/s password.txt
dir /b/s config.*
dir /s
*pass*
==
*cred*
==
*vnc*
==
*.config*
2.搜索文件名为password.txt/xml/ini的文件,
这个操作可能造成大量的输出
findstr
/si password
*.xml
*.ini
*.txt
3.搜索带有关键词的注册表项,
下例中是查询的关键词是 "password"的命令
reg
query HKLM /f password /t REG_SZ /s
reg
query HKCU /f password /t REG_SZ /s
4.加密office办公软件
如果是低版本如2003的话,可以在百度搜一些网上的破解软件进行破解。
如果是高版本的话,可以在目标用户打开文件时使用微软SysinternalsSuite套装中的抓取dump的工具-procdump来抓取内存dump,然后用内存查看器直接查看文件内容。
类如,可以搭配使用dir和findstr这两个命令来定位个人计算机的指定位置(Desktop)的特定文件(密码文件password),命令及相关说明如下,结果如图所示。
dir /s /b C:UsersAdministratorDesktop
*.*
| findstr “pass”
# dir:显示磁盘目录和文件列表的命令
# /s 表示递归搜索子目录
# /b 表示只显示文件名,不显示其他信息
# C:UsersAdministratorDesktop*.*是个人计算机桌面目录
# findstr:查找指定字符串的命令
# “pass”:密码相关关键词
查找password文件
5.搜索查看最近访问的文件记录
通过如下命令查看最近访问的文件记录,其中[Username]需要改成相应的个人计算机用户名,比如我的个人计算机用户名为administrator,执行命令结果如图所示。
dir
c:Users[Username]AppDataRoamingMicrosoftwindowsRecent
*.lnk
#所有访问的文件
dir c:Users[Username]AppDataRoamingMicrosoftOfficeRecent
*.lnk
#访问的office文件
dir c:Users[Username]AppDataRoamingMicrosoftInternet ExplorerQuick Launch
*.lnk
#快速启动栏中的快捷方式
dir c:Users%username%AppDataRoamingMicrosoftWindowsStart Menu
*.lnk
#开始菜单中的快捷方式
dir
c:Users[Username]Desktop
*.lnk
#桌面快捷方式
查看文件访问记录
6.搜索恢复回收站内文件
回收站其实就是一个隐藏的文件夹,个人计算机在默认情况下每个硬盘分区都会有一个回收站(即Recycle文件夹),删除文件其实就是把文件放入这个文件夹,攻击者在需要的时候可以随时恢复回收站中的文件。
通过执行如下命令可以遍历所有硬盘下的回收站,结果如图所示。
for
/f
"skip=1 tokens=1,2 delims= "
%c in (
'wmic useraccount get name^,sid'
)
do
@for /f %i in (
'dir /a /b C:$Recycle.Bin%d 2^>^&0 ^| findstr /v -'
)
do
@echo %c:C:$Recycle.Bin%d%i
#以上命令无需分行
遍历回收站
原文始发于微信公众号(Ms08067安全实验室):内网敏感数据的发现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论