第七章作业
windows 系统攻防
所属课程 | 网络攻防实践 |
---|---|
作业要求 | [第七章作业]( <https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10612 ) |
1 实践内容
1.1 windows 系统框架概述
-
基本结构:内核态包括windows执行体,windows内核体,设备驱动,硬件抽象层,窗口和图形等模块,用户态包括系统支持进程,服务进程应用软件,核心子系统DLL。
windows采用宏内核(monolithic)的模式进行构架,即大量内核模块通设备驱动共存于内核内存中。内核核心文件为ntoskrnl.exe。
内核态模块 功能 windows执行体 进程,内存,I/O间的通信和管理 windows内核体 线程调度,中断,异常的管理,多处理器的同步 设备驱动 I/O,文件系统,网络设备的驱动 硬件抽象层 抽象底层平台硬件,hal.dll文件 用户态模块 功能 系统支持进程 开机自启动服务 服务进程 各类系统及网络服务 核心子系统DLL kernel32.dll/user32.dll/advapi32.dll等动态连接库文件,进程及应用面向内核的接口 windows核心机制包括进程管理,内存管理,文件管理,注册表管理(各类进程从注册表中读取和修改配置信息;windows注册表可通过系统自带的regedit.exe进行访问;注册表中的系统自启动挂接点上注册的应用可自运行)以及网络管理等。
windows网络机制各模块包括:
组件 功能 网卡硬件驱动(物理层) NDIS库及miniport驱动(链路层) 抽象底层网卡类型并提供其与传输层间的接口 TDI(网络层及传输层) 实现TCP/IP等协议栈功能,提供上下层的接口 网络API DLL 及TDI客户端(会话层与表示层) 提供应用级网络交互接口 网络应用及服务进程(OSI) 网络交互及通信
1.2 系统安全体系结构与机制
-
引用监控器模型:利用引用监控器对系统中所有主体对客体的访问进行访问控制与管理,生成审计日志。windows安全引用监控器包括内核态的SRM及用户态的LSASS。
-
windows身份认证:对系统中安全主体进行标识,管理,通过口令字等方式进行身份认证,以分配符合相应权限的资源。加密后的用户口令储存在SAM中。目前windows使用Kerberos协议进行身份认证。
-
授权与访问控制:基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同实施,由SRM作为安全主体访问对象的资源时的中介,根据设定的访问控制列表进行授权访问。访问信息可通过whoami命令查询。
基本机制与模型:
-
安全审计机制:主体对象的访问与操作日志记录机制。
-
其他安全机制:windows安全中心,IPSec加密验证,EFS加密文件系统等。
1.3 远程安全攻防
- 安全漏洞公开披露信息库:CVE,NVD,OSVDB,CNNVD等。
- 针对特定目标的渗透测试攻击过程:漏洞扫描,查找相应渗透代码,渗透测试(匹配环境等)。
- 远程口令猜测和破解攻击:SMB服务的用户口令猜测,利用身份认证协议的漏洞进行用户口令破解;防范措施:尽量关闭不必要的易受攻击的网络服务,配置防火墙对相应端口进行访问控制,设置强口令。
- 网络服务远程渗透攻击:对网络服务默认开放的端口进行攻击。防范措施:打补丁,在漏洞发布到补丁更新时尽量关闭相关端口网络服务。
1.4 本地安全攻防
- 获取受限账户后提权(DLL注入),获取adminstrator权限甚至local system权限。
- 敏感信息窃取:提取口令字密文,破解密文,窃取数据;防范措施:设置强口令,加密口令。
- 消踪灭迹:关闭审计功能,消除事件日志;防范措施将日志记录到不可擦除的设备中或备份至网络服务器。
- 设置后门:在受控主机中安装特定后门程序;防范措施:后门检测软件。
2 实践过程
1. 使用Metasploit软件进行windows远程渗透
攻击机A(kali) 192.168.200.2
靶机B(win2k )192.168.200.124
- 启动msfconsole:
msfconsole
。 - 选择攻击模块:
use exploit/windows/smb/ms08_067_netapi
。 - 设置PAYLOAD,RHOST,LHOST,TARGET(默认为0)等参数。
- 执行渗透攻击:
exploit
。 - 查看用户权限: “net user` 。
2 取证分析实践:解码一次成功的NT系统攻击
首先里利用snort进行分析:snort -A console -q -u snort -c /etc/snort/snort.conf
此时可以得到一些粗略的攻击信息,如MDAC Content-Type overflow,msadcs.dll access,ftp bad login, cmd.exe access ,nc.exe attempt, ping, ATTACK-RESPONSES directory listing 等。查询这些攻击信息猜测其利用了远程缓冲区溢出漏洞获得了目标主机的控制权,然后进入系统,攻击了一些文件,并留下了后门。
然后使用wireshark观察一些细节信息:
首先过滤数据,ip.addr == 172.16.1.106
然后一段分组一段分组进行tcp流追踪(没办法),发现,在299组号前,大致信息为下载msadc文件,并post msadcs.dll,并有间断的发现”–!ADM!ROX!YOUR!WORLD!“这行字,查询后可知这是msadc(2).pl:
继续追踪tcp流,发现其连接了nether.net尝试进行攻击,但是口令输错了,然而其貌似并未发现,仍然进行下面指令,推测其为自动登录脚本。之后重新下载漏洞攻击文件,重新连接ftp服务器。直到988号分组,貌似换了一种攻击方式(unicode攻击):
1096号分组后,终于登入成功:
1293号分组到5537号分组(中间访问过goole等干了些别的东西)开始写入一些命令,如dir, pdum, net user(查看权限),del(删除下载运行过的文件), ridsk(获取sam里的口令密文?)…最后写了个文件rfp.txt表明发现这是个蜜罐主机。
防范措施包括关闭一些易受远程破解攻击的网络服务端口,使用强口令,及时打补丁等。
3 团队对抗实践:windows远程渗透攻击与分析
攻击方使用metasploit,利用漏洞获取攻击方控制权,防守方使用wireshark抓包。
-
攻击方操作如任务一。
-
防守方使用wireshark分析数据包
攻击ip及源端口:192.168.200.7 45145 。
目标ip及端口:192.168.200.125 445。
攻击发起时间:攻击方arp请求发起时间。
攻击利用的漏洞:SMB网络服务漏洞。
写入命令:ipconfig, mkdir hello。
3 学习问题及解决
问题1:任务3中攻击方的shell_code以及利用的漏洞不能准确的分析。
解决:尝试通过涉及的一些协议分析,但仍然未果。