Skip to content

Commit 6ee509a

Browse files
committed
First release
1 parent 6068268 commit 6ee509a

16 files changed

+1020
-0
lines changed

README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# FakeLogonScreen
2+
FakeLogonScreen is a utility to fake the Windows logon screen in order to obtain the user's password. The password entered is validated against the Active Directory or local machine to make sure it is correct and is then saved to disk.
3+
4+
It can either be executed by simply running the .exe file, or for example using Cobalt Strike's `execute-assembly` command.
5+
6+
Binaries available from the [Releases](https://github.com/bitsadmin/fakelogonscreen/releases) page.
7+
- FakeLogonScreen.exe: Built against .NET Framework 4.5 which is installed by default in Windows 8, 8.1 and 10
8+
- FakeLogonScreen35.exe: Built against .NET Framework 3.5 which is installed by default in Windows 7
9+
10+
# Features
11+
- Primary display shows a Windows 10 login screen while additional screens turn black
12+
- Validates entered password before closing the screen
13+
- Username and passwords entered are stored in `%LOCALAPPDATA%\Microsoft\user.db`
14+
- Blocks many shortkeys to prevent circumventing the screen
15+
16+
# Screenshot
17+
![FakeLogonScreen demo in Cobalt Strike](https://raw.githubusercontent.com/bitsadmin/fakelogonscreen/master/demo.gif "FakeLogonScreen demo in Cobalt Strike")
18+
19+
20+
**Authored by Arris Huijgen ([@bitsadmin](https://twitter.com/bitsadmin/) - https://github.com/bitsadmin/)**

Source/App.config

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<configuration>
3+
<startup>
4+
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/>
5+
</startup>
6+
</configuration>

Source/FakeLogonScreen.csproj

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
4+
<PropertyGroup>
5+
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6+
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
7+
<ProjectGuid>{D35A55BD-3189-498B-B72F-DC798172E505}</ProjectGuid>
8+
<OutputType>WinExe</OutputType>
9+
<RootNamespace>FakeLogonScreen</RootNamespace>
10+
<AssemblyName>FakeLogonScreen</AssemblyName>
11+
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
12+
<FileAlignment>512</FileAlignment>
13+
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
14+
<Deterministic>true</Deterministic>
15+
<TargetFrameworkProfile />
16+
</PropertyGroup>
17+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
18+
<PlatformTarget>AnyCPU</PlatformTarget>
19+
<DebugSymbols>true</DebugSymbols>
20+
<DebugType>full</DebugType>
21+
<Optimize>false</Optimize>
22+
<OutputPath>bin\Debug\</OutputPath>
23+
<DefineConstants>DEBUG;TRACE</DefineConstants>
24+
<ErrorReport>prompt</ErrorReport>
25+
<WarningLevel>4</WarningLevel>
26+
<Prefer32Bit>false</Prefer32Bit>
27+
</PropertyGroup>
28+
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
29+
<PlatformTarget>AnyCPU</PlatformTarget>
30+
<DebugType>pdbonly</DebugType>
31+
<Optimize>true</Optimize>
32+
<OutputPath>bin\Release\</OutputPath>
33+
<DefineConstants>TRACE</DefineConstants>
34+
<ErrorReport>prompt</ErrorReport>
35+
<WarningLevel>4</WarningLevel>
36+
<Prefer32Bit>false</Prefer32Bit>
37+
</PropertyGroup>
38+
<ItemGroup>
39+
<Reference Include="System" />
40+
<Reference Include="System.Core" />
41+
<Reference Include="System.DirectoryServices" />
42+
<Reference Include="System.DirectoryServices.AccountManagement" />
43+
<Reference Include="System.Xml.Linq" />
44+
<Reference Include="System.Data.DataSetExtensions" />
45+
<Reference Include="System.Data" />
46+
<Reference Include="System.Deployment" />
47+
<Reference Include="System.Drawing" />
48+
<Reference Include="System.Windows.Forms" />
49+
<Reference Include="System.Xml" />
50+
</ItemGroup>
51+
<ItemGroup>
52+
<Compile Include="LogonScreen.cs">
53+
<SubType>Form</SubType>
54+
</Compile>
55+
<Compile Include="LogonScreen.Designer.cs">
56+
<DependentUpon>LogonScreen.cs</DependentUpon>
57+
</Compile>
58+
<Compile Include="Program.cs" />
59+
<Compile Include="Properties\AssemblyInfo.cs" />
60+
<EmbeddedResource Include="LogonScreen.resx">
61+
<DependentUpon>LogonScreen.cs</DependentUpon>
62+
</EmbeddedResource>
63+
<EmbeddedResource Include="Properties\Resources.resx">
64+
<Generator>ResXFileCodeGenerator</Generator>
65+
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
66+
<SubType>Designer</SubType>
67+
</EmbeddedResource>
68+
<Compile Include="Properties\Resources.Designer.cs">
69+
<AutoGen>True</AutoGen>
70+
<DependentUpon>Resources.resx</DependentUpon>
71+
<DesignTime>True</DesignTime>
72+
</Compile>
73+
<None Include="Properties\Settings.settings">
74+
<Generator>SettingsSingleFileGenerator</Generator>
75+
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
76+
</None>
77+
<Compile Include="Properties\Settings.Designer.cs">
78+
<AutoGen>True</AutoGen>
79+
<DependentUpon>Settings.settings</DependentUpon>
80+
<DesignTimeSharedInput>True</DesignTimeSharedInput>
81+
</Compile>
82+
</ItemGroup>
83+
<ItemGroup>
84+
<None Include="App.config" />
85+
</ItemGroup>
86+
<ItemGroup>
87+
<None Include="Resources\UserIcon.png" />
88+
</ItemGroup>
89+
<ItemGroup>
90+
<None Include="Resources\SubmitIcon.png" />
91+
</ItemGroup>
92+
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
93+
</Project>

Source/FakeLogonScreen.sln

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
Microsoft Visual Studio Solution File, Format Version 12.00
3+
# Visual Studio Version 16
4+
VisualStudioVersion = 16.0.29709.97
5+
MinimumVisualStudioVersion = 10.0.40219.1
6+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FakeLogonScreen", "FakeLogonScreen.csproj", "{D35A55BD-3189-498B-B72F-DC798172E505}"
7+
EndProject
8+
Global
9+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
10+
Debug|Any CPU = Debug|Any CPU
11+
Release|Any CPU = Release|Any CPU
12+
EndGlobalSection
13+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
14+
{D35A55BD-3189-498B-B72F-DC798172E505}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15+
{D35A55BD-3189-498B-B72F-DC798172E505}.Debug|Any CPU.Build.0 = Debug|Any CPU
16+
{D35A55BD-3189-498B-B72F-DC798172E505}.Release|Any CPU.ActiveCfg = Release|Any CPU
17+
{D35A55BD-3189-498B-B72F-DC798172E505}.Release|Any CPU.Build.0 = Release|Any CPU
18+
EndGlobalSection
19+
GlobalSection(SolutionProperties) = preSolution
20+
HideSolutionNode = FALSE
21+
EndGlobalSection
22+
GlobalSection(ExtensibilityGlobals) = postSolution
23+
SolutionGuid = {D79BA83E-2278-4FC5-A982-8C9478339321}
24+
EndGlobalSection
25+
EndGlobal

Source/LogonScreen.Designer.cs

Lines changed: 216 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)