对某电信网络进行安全检测
sakura@白帽汇零妖攻防实验室
前言
在得到某客户的授权对整个公司的业务进行安全检测,客户为电信网络,靶机为整个公司业务的核心数据区,这种电信内网基本都是工作组,和域环境比起来杂度程序和难度都增加很多。
正文
前期通过话术钓鱼进入到客服个人机,后续扩展了一台服务器的Webshell,开始进行常规的扫描,探测内网网络结构、内网中主要服务、端口扫描、机器扫描等。
首先在Webshell进行提权,提权后对当前服务器进行信息收集。包括操作系统,当前用户权限,内网ip段,杀毒软件,端口开放情况,系统打的补丁,网络状况,共享文件夹等,如果是域内的主机的话,操作系统、补丁、运行的服务、杀软等一般是域管批量用脚本安装的。
#查询网络配置信息。进行IP地址段信息收集
ipconfig /all
#查询操作系统及软件信息
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" # 英文系统
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" #中文系统
# 查看系统体系结构
echo %PROCESSOR_ARCHITECTURE%
#PowerShell收集软件的版本信息
powershell "Get-Wmiobject -class Win32_Product |Select-object -Property name, version"
#查看当前权限
whoami && whoami /priv
#查询本机服务信息
wmic service list brief
#查看安装的软件的版本、路径等
wmic product get name, version
#查询进程信息
wmic process list brief
#查看启动程序信息
wmic startup get command,caption
#查看计划任务
at(win10之前)
schtasks /query /fo LIST /v(win10)
#查看主机开机时间
net statistics workstation
#查看本机用户列表
net user
#获取本地管理员信息
net localgroup administrators
##查看当前在线用户
query user || qwinsta
#列出或断开本地计算机与所连接的客户端的对话
net session
#查询端口列表
netstat -ano/-tnlp
#查看补丁列表
systeminfo
# 查看补丁的名称、描述、ID、安装时间等
wmic qfe get Caption,Desc ription,HotFixID,InstalledOn
#查看本机共享列表和可访问的域共享列表
net share (445端口)
#查找共享列表
wmic share get name,path,status
#磁盘映射
net use k:\\192.168.1.10\c$
#查看当前系统版本
wmic OS get Caption,CSDVersion,OSArchitecture,Version
#查询路由表
route print
#可用接口的ARP缓存表。局域网内arp -a,查看是否有重复的mac地址判断是否存在arp欺骗。服务器绑定mac地址方式防止arp欺骗
arp -a
#查看服务
tasklist
#查看在线用户
quser
#查看远程连接信息
cmdkey /l
#查看杀软
WMIC /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
#查看本地密码策略
net accounts
#查看hosts文件:
linux:cat /etc/hosts
windows:type c:\Windows\system32\drivers\etc\hosts
#查看dns缓存
ipconfig /displaydns
信息收集后发现该服务器为Windows Server 2008,并且是工作组。但是由于Webshell的命令行为非交互模式,有很多工具使用起来比较不方便。在收集信息时看到该服务器安装有.Net4.0,想到可使用.Net4.0自带组件实现交互Shell反弹。
由于是windows2008,可直接上抓密码工具。
使用frp把流量代理出来,Goby使用代理进行内网漏洞扫描。
再使用msf中的smb_login模块尝试,一台都没有成功。。。
既然当前密码用处不大,尝试ms17-010远程溢出。
结合Goby和MSF扫描结果,有10台存在ms17-010漏洞。使用ms17-010远程溢出直接打,收集信息后继续使用抓到的密码进行尝试。使用smb_login模块又扫描到12台服务器。翻过12台服务器的文件后最终锁定一台管理员的机器,该管理员应该是内部网络管理员,个人目录下存放多个敏感密码文件,由于靶机是某数据库服务器,但是文件中并没有数据库相关的信息,猜测数据库应该是另有管理员管理。但是该管理员管理着Softx3000,Softx300中存放的算是最原始的数据了,看到IP地址是另外一个段,Ping后无反应,应该是被墙了。
无意间看到管理员经常连接192.xxx.xxx.31的远程桌面,尝试使用管理员密码进行连接后密码错误,再次尝试密码文件中的其他密码成功连接。使用smb共享看到桌面很多专业的软件,这时最好是远程桌面登录看一下比较直观,但是登录后发现管理员也在活跃状态,这时如果管理员突然登录会继承会话,自己的操作就全部被管理员看到了,这时候就需要使用一个VBS脚本来监控管理员登录事件,如果指定管理员登录桌面就会将当前的会话注销,保证管理员看不到咱们自己的桌面。
登录远程桌面后发现然后管理员正在连接Softx3000。
并且可直接在Bill Browser查看通话记录。
根据以往经验,目前这台机器可以连接核心机房,可能会连接到对应的数据库进行数据清洗,深挖该机器后发现存在多张网卡。
发现一张网卡命名为Billing,会不会是连接通话数据库?
扫描该网段机器:
发现该网段开放多个1521,猜测应该是存放在Oracle数据库。试了一波弱口令,运气不错有很多台服务器中招。
既然都已经有Oracle用户了,直接连接数据库找靶机了。
运气不错,翻到第二台就找到靶机数据库。
总结
1.由于机器陈旧和更新不及时,直接使用ms17-010漏洞打开突破口。
2.管理员安全意识淡薄,内部密码存放在服务器上并且未加密保存。
3.人品很重要,弱口令直接进入关键核心服务器。
最新评论