这次我们通过对Metasploitable 2进行一个渗透攻击,之后使用Meterpreter进行讲解Meterpreter的使用
服务枚举
模块使用
查看配置选项
设置攻击目标主机IP地址
开始攻击
可以看到成功返回一个Meterpreter
使用"help"查看Meterpreter命令选择项
基本命令
1、background命令
如果想在MSF终端中执行其他任务,可以使用background命令将Meterpreter终端隐藏在后台:
2、session命令
Metasploit的session命令可以查看已经成功获取的会话,如果想继续与某会话进行交互,可以使用“session -i”命令查看会话,之后使用“sessions ID”之后重新开启会话:
3、quit命令
quit命令直接关闭当前的Meterpreter会话,返回MSF终端
4、shell命令
shell命令可以获取系统的控制台shell,如果目标系统上的命令可执行程序不存在或禁止访问,那么shell命令会出错。成功运行的结果如下
之后如果想要返回Meterpreter则输入“exit”即可:
5、irb命令
irb命令可以在Meterpreter会话里与Ruby终端进行交互,直接调用Metasploit封装好的函数,如下显示了使用irb命令调用client.sys.config。sysinfo()函数获取系统配置信息的结果:
在irb中还可以通过添加Metasploit的附加组件——Railgun,直接与Windows本地API进行交互。
Railgun是Meterpreter的Ruby语言扩展,允许在目标机器上使用所有的Windows API。
同样,我们可以使用“exit”返回到Meterpreter
1、cat命令
使用cat命令查看文件内容
2、getwd命令
getwd命令可以获得目标机上当前的工作目录,相似的命令还有getlwd,这个命令可以获得系统的工作目录:
3、upload命令
Meterpreter的upload命令可以上传文件或文件夹到目标机器上,其命令选项的帮助信息如下:
其中参数“-r”可以将文件夹内的文件或文件夹递归的上传,不需要考虑多层目录的问题。
4、download 命令
download命令从目标机上下载文件或文件夹,需要注意的是这里用双斜杠进行转义才行
5、edit命令
使用edit命令可以调用vi编辑器,对目标机上的文件进行编辑:
6、search命令
search命令支持对远程目标主机上的文件进行搜索,使用参数-h可以查看帮助说明信息:
1、ipconfig/ifconfig
查看目标主机上的网络接口信息:
2、portfwd命令
portfwd命令式Meterpreter内嵌的端口转发器,一般在目标主机开放的端口不允许直接访问的情况下使用,比如说,目标主机开放的远程桌面3389端口只允许内网访问,这是可以使用portfwd命令进行端口转发,以达到直接访问目标主机的目的。
portfwd的帮助信息如下:
假设目标主机开放了3389端口,使用下面的命令可以将其转发到本地的1234端口:
portfwd add -l 1234 -p 3389 -r 192.168.11.138
3、route命令
route命令用于显示目标主机的路由信息:
1、ps命令
ps命令用于获取目标主机上正在运行的进程信息:
2、migrate命令
使用migrate命令可以将Meterpreter会话从一个进程移植到另外一个进程的内存空间中,这个命令在渗透攻击模块中经常使用。
试想一下,如果是利用IE浏览器漏洞进行溢出得到的Meterpreter会话,Meterpreter代码存在与IE的内存空间中,如果用户关闭浏览器,将会中止会话链接,这时可以将会话移植到稳定的系统服务进程中,比如explore.ex。而且之中移植是无缝移植,不需要断开已有TCP链接再建立新的链接。
3、execute命令
execute命令可以在目标机上执行文件,帮助信息如下:
下面的命令可以在目标机上隐藏执行cmd.exe程序
execute -H -f cmd.exe
如果直接想与cmd进行交互,可以使用“-i”参数
execute -H -f -i cmd.exe
4、getpid命令
getpid命令用于获取当前会话所在进程的PID值
5、kill命令
kill命令用于终结指定的PID进程
6、getuid命令
getuid命令用于获运行Meterpreter会话的用户名,从而查看当前会话所具有的权限
7、sysinfo命令
sysinfo命令用于得到目标系统的一些信息,包括机器名、使用的系统信息等
8、shutdown命令
shutdown命令用于关闭目标主机,显然,Meterpreter会话也将被关闭:
1、screenshot
截屏
2、run killav
这个命令可以关闭对方杀毒软件
3、webcam_list
查看目标机器上是否有网络摄像头,并且列举出来
4、webcam_snap
这个命令主要用来远程连接目标系统的摄像头。
5、lpwd
显示本地目录,也就是你自己所在的系统的目录
6、lcd
进入本地目录,也就是进入你自己系统的目录