这章我们具体介绍下Meterpreter。
Meterpreter只是比较高级的payload,大家别想太多了。这个payload的特点是不会写任何东西在目标的硬盘空间。它只读取内存数据,或者说Meterpreter就是个内存类型的shell code。有些人认为,使用Meterpreter进行会话容易被监听到,实际上在这个payload中,目标机器和控制机器之间的会话是加密的,就算被抓包了也没关系。
可能这么说大部分还是不太明白,那么我换个说法。抓过肉鸡的鸡客都应该知道3389爆破抓鸡。我们枚举出远程连接的账号和密码,随后上传一个远程木马上去,随后就得到了一个肉鸡。Meterpreter就好比你上传的远程木马。Meterpreter只是payload的种类,在metasploit上,有各种各样的Meterpreter类型的payload。
通过search命令,我们可以找到所有Meterpreter类型的payload。
但是这里遇到一个小问题,就是开启了数据库后没有办法使用path和search参数进行综合查询。不知道是属于BUG还是我的设置问题。
使用方法一:
先设置exploit模块和payload。我选择了一个SMB益处模块,选择了meterpreter类型的payload。然后再输入show options查看选项。原谅我还是使用067模块。。。因为方便讲解。
设置好参数再检查一下
之后输入exploit就进入了Meterpreter操作界面。
方法二:
实际上你也可以自己生成一个payload,然后放在目标系统里,并且运行。只要进行监听就行。
先ifconfig查看一下我的IP地址。
用msfpayload生成一个payload。LHOST是监听IP,也就是你的IP地址,LPORT是端口。路径那些自己选择。然后回车。
这时我设置的目录里有一个exe程序,实际上这个也就相当于木马的客户端。
复制到目标系统,然后双击。
之后要使用到一个后门模块,叫做exploit/multi/handler。同样的,你需要加载你生成的payload。
然后设置一下端口,你可以不设置IP,因为你只需要监听就行。
但是不知道出什么情况了,居然监听不到。。。。好吧,换个payload试试。现在可以看到已经进入了Meterpreter命令行页面。
下面开始说meterpreter的参数和解释。说完你就知道这种payload的强大性了。
Help:这个参数可以查看meterpreter的全部参数和英文解释
Background:这个命令可以让当前的会话在后台运行。从而进行新的渗透测试。如果想返回之前的会话,那么就输入sessions -i 命令。
Cat:这个命令可以查看目标系统的文件。这个命令和unix里面的cat命令有一样的效果。
Clearev:这个命令很重要!如果你不想被查水表,当你对目标系统测试后,一定要输入clearev命令。这个命令可以清除系统,软件之类的所有登陆信息。目前我还没发现能够恢复这些登陆信息方法,所以这个指令很有用。
Download:就是下载命令。输入这个命令可以下载目标系统的文件。
Ls:这个命令就是列出当前所在路径下的文件目录。和linux的ls命令一样。
Edit:这个是编辑命令。运用的是vim编辑器。
Execute:这个是执行命令。大家可以先输入execute,然后回车查看这个命令更详细的信息。
Getuid:这个命令可以查看meterpreter所在的用户组,或者说是你目前所拥有的权限。
Hashdump:这个属于一个post模块,要配合meterpreter使用。这个模块可以获取目标系统的哈希值。直接输入“run post/windows/gather/hashdump”即可运行这个模块。
Idletime:输入这个指令可以查看目标系统运行了多长时间。
Ipconfig:这个都不知道就不用往下看了。。。。。。
Pwd:输出当前所在路径
Cd:这个命令就是转到某个目录。和linux里面的cd命令一样。
Lpwd:显示本地目录。也就是你自己所在的自己系统的位置。
Lcd:进入本地目录。也就是进入你自己系统的目录。
Migrate:这个是一个POST模块。可以将meterpreter当前的进程移动到一个新的进程。主要用来防软杀,或者进程不稳定的时候使用这个模块。使用“run post/windows/manage/migrate”这个命令即可。
Ps:这个命令可以查看目标系统的所有进程。这个命令很有用。如果你没有root权限或者administrator权限,你可以先查看进程,随后根据进程分析目标系统运行了什么软件。随后可以查找哪些软件有命令执行漏洞用来提权。甚至你还可以查看到目标系统用什么数据库之类的等等。
Search:这个命令可以帮助我们搜索目标系统的一些文件。我一般都用来查找备份的数据库文件。
Shell:这个命令可以在目标系统打开一个命令行窗口。
Upload:这个命令可以上传一些文件。
webcam_list:这个命令可以查看目标机器上是否有网络摄像头,并且列举出来。
webcam_snap:这个命令主要是远程连接目标系统的摄像头。大家可以使用webcam_snap –h查看更详细的参数。因为我的虚拟机没有配置摄像头,我从网上找了两张列子给大家展示一下。
Run killav:这个命令可以关闭对方的软杀
Meterpreter类型的payload实在是太强大了。只有几十KB,却能做到如此强大的事情,不得不敬佩作者的思路和才华。
感觉基础命令差不多就是这些。网上还有很多关于meterpreter命令的解释,大家可以访问以下网站查看,下面讲到的我就不再重复了,我感觉讲的还不错,有键盘记录啊,提权命令啊,等等:
http://www.2cto.com/Article/201310/248124.html
http://www.metasploit.cn/thread-736-1-1.html
http://www.shellsec.com/tech/32205.html
http://www.freebuf.com/articles/system/53818.html
下集预告
之前一直使用靶机测试,我感觉差不多该来一次真正的实战了。
目标:某APP服务器
开始时间:2015年6月1日 敬请期待!
附上作者微博账号:Arthur 欢迎美女和汉子们关注私信~
* 作者/Arthur,整理/FreeBuf小编banish,应作者要求,未经允许禁止转载!