1 实践内容
1.1 实践目标
本实践目标是掌握metasploit的基本应用方式,重点常用的三种攻击方式的思路。具体需要完成:
- 一个主动攻击实践;
- 一个针对浏览器的攻击;
- 一个针对客户端的攻击;
- 成功应用任何一个辅助模块。
1.2 基础问题回答
什么是exploit,payload,encode?
我认为exploit是漏洞攻击,利用一些工具找到可以当做目标并且可以达到某些目的的漏洞,并且通过对漏洞的分析研究,采用一些手段和方法对它们进行攻击,从而达到获取网站用户资料文档、添加自定义用户、甚至侵入网站获得管理员权限控制整个网站的最终目的。payload是荷载,我认为就是一段关键代码吧,表示了攻击者所使用的的不同的方法不同的手段进行的攻击。encode是避免使攻击载荷不能完整运行的坏字符或是改变特征码,在MSF攻击过程中对payload进行编码,进行包装,让payload顺利运行。
2 实践过程
在电脑上安装好一台攻击机和一台靶机:(保证他们互相之间能ping通)
- 攻击机:kali-linux-vmware-amd64:192.168.190.130
- 靶机:Microsoft Windows XP Professional:192.168.190.128
2.1 主动攻击实践——ms17-010
首先先用nmap去扫描一下靶机上存在的漏洞
使用命令:nmap --script=vuln 192.168.190.128:
扫描结果如下:
可以看到靶机存在一个smb-vuln-ms17-010的漏洞
既然如此,我们就对这个漏洞进行攻击
首先,用命令search ms17-010查看漏洞的具体模块位置:
发现关于ms17-010的模块有好多,为了知道哪一个还得翻译一下后面的描述
原来这个漏洞叫永恒的浪漫。。。。(不明觉厉!)
选择第四个,因为第四个的描述是远程代码执行,正是我们所需要的。
接下来就进行一系列参数的配置了:
开始攻击:
攻击成功!用ipconfig检验一下:
完美!
2.2 针对浏览器的攻击——Mozilla FireFox
已知靶机上是具有火狐浏览器的
这样一来就可以搜索一下关于Mozilla FireFox的模块:
有很多啊,展示一部分好了
选择一个rank高的,诶,看到有一个exploit/multi/browser/firefox_webidl_injection,IDL的注入,效果应该不错,而且又是有关于浏览器攻击的,就用它了
看一下它的有效荷载:
好了,选择其中一个荷载shell_reverse_tcp,查看一下它的option:
根据要求设置一下参数:
设置好以后开始攻击,就像老师说的就等着鱼儿上钩了.......
切换到靶机,打开火狐浏览器,输入给出的诱导URL:http://192.168.190.130:80/whh
和想的一样,输入url之后是一个空白页面(已经跨入了成功的大门)
切换回攻击机,可以看到回连成功了,而且成功创建了一个session:
在此基础上,已经可以进行cmd shell里进行 dir、passwd,或者其他命令了
但我并不满足于此,在网上查找资料后决定对火狐浏览器进行shell的提升
这样一来就需要使用另一个模块了:exploit/firefox/local/exec_shellcode
一样的配置好参数,并且把session设定为刚刚我得到的session1:
接下来exploit一下:
成功提升了shell,接下来就可以进行干掉杀毒软件,迁移进程,设置开机自启.......等等后渗透攻击了
那些高端攻击太麻烦,在此还是用最基本的Ipconfig验证一下:
没毛病!
2.3 针对客户端的攻击——Adobe
试了很久,找了很多客户端的漏洞,去尝试攻击发现都有各种问题
还是最常见的Adobe的漏洞比较好攻击
选择其中的adobe_cooltype_sing模块并进行info:
看到相应的版本号和需要配置的参数
配置好熟悉的windows/meterpreter/reverse_tcp荷载
并设置好攻击机的IP地址和端口号:
可以看到生成的msf.pdf文件已经存到了特定位置
把该文件拷贝到靶机去,打开它
是一个没有响应的状态
切换回攻击机,转换到监听模块
设置好荷载和参数,进行攻击:
可以看到已经获得了回连的shell,可以进行各种命令的操作了
我用ipconfig验证一下:
显而易见,成功
2.4 辅助模块的应用——Filezilla FTP Server
关于filezilla的辅助模块是在做前几步实验时无意中搜索到的:
看到filezilla是有两个辅助模块可以利用一个是用户登录,一个是端口服务
我选择对端口的拒绝服务攻击那一个来进行攻击
应用之后设置好有效荷载,并info一下:
没有什么特别要求,只是说版本必须低于0.9.4d
而刚好靶机中存在filezilla server这个软件并且版本符合要求:
那么只需要设置一下靶机地址和端口就好:
OK,辅助模块执行成功!
打开靶机中的Filezilla server看一下:
果然是拒接服务攻击成功,过程被记录了下来。
3 实践总结
3.1 离实战还缺些什么技术或步骤
我认为离实战还是有一定的距离的吧,我们只是在两个没有防备的虚拟机之间进行试验的。在实际情况中,首先存在的问题就是防火墙等一系列装在靶机中的各种防护手段以及各种安全防护软件,要想攻击靶机,就必须绕开它们或者伪装起来避免被识别;其次,在实验中靶机是完全在主动配合攻击机进行工作的,因此在实际情况中,如何让靶机按攻击者的想法来进行操作甚至不能有一点误差这是值得研究的问题,包括诱导文件的传输、漏洞网站的打开等等。
3.2 实验心得体会
在这次实验中主要难度在于自己对各种msf漏洞攻击的模块进行探索的过程,不管是寻找可攻击的漏洞,还是对自己找到的漏洞进行攻击都具有一定的难度。当然,如果直接跟着指导或者已知的漏洞做的话,技术难度并不大,难就难在自主创新的精神和艰苦探索的过程。在实验中遇到的卡点主要是两方面,一是一定要根据漏洞所指定的options来设定参数,稍有偏差都会导致最后的攻击不成功,如果有多个模块需要联系起来攻击的话,一定要按照特定的顺序来进行,否则也会出问题;二是权限方面,经过几次的实验我都认为,不知道是linux的特点还是kali独有的特点,它对用户权限要求很严格,不同的权限可执行的命令不同,甚至能进行操作也不同,这样一来在没办法提权的情况下有些操作就很麻烦。比如在针对客户端攻击时,生成的文件正巧不巧地存在了root文件夹,然而用图形界面我不知道怎么提权去打开这个文件,没办法只有用cp命令拷到另外的地方再拷到另一个虚拟机去,就很麻烦。总的来说这次实验拓宽了攻击手段的宽度,让我们了解了更多的关于msf的应用知识。