Hackerboard WikiHaboBlog

[HaBo]

 
Hacks & Crackmes Tests, Fragen oder Hilfestellungen. Crackmes und Hackits werden hier diskutiert.

[KillMe] PC Lock

Diskussion: [KillMe] PC Lock im Forum Hacks & Crackmes, in der Kategorie Software Home; Ich hatte vor ein Programm zu schreiben, welches bei bestimmten Events den PC sperrt/entsperrt... Da das Programm auch automatisch entsperren ...

Antwort
Alt 20.07.08, 21:37   #1 (permalink)
 
Registriert seit: 20.07.08
evilinside Leistung: Facit NTK
Likes: 0
Standard [KillMe] PC Lock


Ich hatte vor ein Programm zu schreiben, welches bei bestimmten Events den PC sperrt/entsperrt...

Da das Programm auch automatisch entsperren sollte, fiel Win+L (Passwortabfrage) weg.

Jedoch wurde des öfteren behauptet, dass man den PC alternativ zu Win+L nichtz wirklich sperren könnte.

Ich denke meine "Sperrfunktion" ist ziemlich sicher, von daher würde ich euch bitten, euch selbst mal dran zu probieren, ob ihr es schafft, den PC zu entsperren ohne, dass ihr auf den "entsperren" button klickt...





noch ein paar infos:

- Bisher getestet unter XP im Single- und Dualmonitor Betrieb
- Fullscreen - Topmost
- Taskleiste per WinApi "versteck"
- Taskmanager geblockt (nicht per Registry deaktiviert!)
- Startmenü, Schließen (Alt+F4), etc. per Low-Level-Hook abgefangen

Angehängte Dateien
Dateityp: zip habo - kill me.zip (9,1 KB, 40x aufgerufen)
evilinside ist offline   Mit Zitat antworten
Alt 20.07.08, 22:11   #2 (permalink)
 
Registriert seit: 07.03.08
90nop Leistung: Facit NTK
Likes: 0
Standard

1. Unter Vista funktioniert der Taskmanager Aufruf teilweise. der (Benutzer wechseln/pc herunterfahren/taskmanager starten usw.) Bildschirm wird angezeigt.
2. Meine "Quickshell" wird mir angezigt; Ich habe auf meiner Mittleren Maustaste ein Skript, welches die cmd sofort startet (mit alwaysontop property). Das landet dann über deinem Fenster

Da du aber "Enter" usw. blockierst, kann man damit auch nicht viel anfangen.


Wenn man einen standard PC vorsich hat, wo der Lock drin ist, hat man keine Change. Kann man aber vorher am PC rumspielen und weiss was kommt, bringt der Schutz wenig. Man kann deinen lockprozess einfach abschiessen lassen. (in dem man ein Skript auf eine nicht geblockte Taste legt. Dafür eignet sich eben der mittlere Maus-button recht gut.) Aber das zweite Szenario gibts ja auch eher selten.

90nop ist offline   Mit Zitat antworten
   
HaBOT
 

Werbung ist gerade online    
Alt 20.07.08, 22:14   #3 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 64
Standard

Bei mir startet der Taskmanager ganz normal und dein Programm wirft eine Exception.

Zitat:
************** Ausnahmetext **************
System.ComponentModel.Win32Exception: Zugriff verweigert
bei System.Diagnostics.ProcessManager.OpenProcess(Int3 2 processId, Int32 access, Boolean throwIfExited)
bei System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
bei System.Diagnostics.Process.Kill()
bei USBDriveSerialNumber.Form2.timerKillTaskmgr_Tick(O bject sender, EventArgs e)
bei System.Windows.Forms.Timer.OnTick(EventArgs e)
bei System.Windows.Forms.Timer.TimerNativeWindow.WndPr oc(Message& m)
bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
+++ATH0 ist offline   Mit Zitat antworten
Alt 20.07.08, 23:22   #4 (permalink)
 
Registriert seit: 29.03.07
Maulwurf Leistung: Facit NTK
Maulwurf eine Nachricht über ICQ schicken
Likes: 0
Standard

Ich schließe mich 90nop an. Unter Vista kann man mit STRG-ALT-ENTF den PC neustarten lassen. Ansonsten habe ich keinen Weg daran vorbei gefunden.

PS: Interessantes Program, wofür willst du es in der finalen Version verwenden?

Maulwurf
Maulwurf ist offline   Mit Zitat antworten
Alt 21.07.08, 00:28   #5 (permalink)
Themenstarter
 
Registriert seit: 20.07.08
evilinside Leistung: Facit NTK
Likes: 0
Standard

Danke euch schonmal für eure Mitarbeit!

Das Vista Problem ist relativ unrelevant, da das Programm in den Autostart kommt... Das Script von dir werd ich auch ncoh blocken, indem ich die Maustasten "hooke"...

Wofür das alles dienen soll?
Das ganze Arbeit zusammen mit einer Routine, die die USB Ports absucht nach USB Sticks, werden USB Sticks gefunden, werden deren Hardware Seriennummern ausgelesen.

Ist der Stick angeschlossen kann man normals Arbeiten, wird der Stick entfernt, springt die Sicherung rein, von daher geht es mir auch nciht sosehr darum, ob man die .exe datei vorm blocken abschießen kann...

Ist halt nur die Methode die reinspringt, wenn der USB Stick entfernt wird, da ist ein neustart dann auch unrelevant, dank Autostart bzw. meistens User passwort...

Ich hoffe ihr könnt mir folgen
evilinside ist offline   Mit Zitat antworten
Alt 21.07.08, 00:46   #6 (permalink)
Member of Honour
 
Benutzerbild von xrayn
 
Registriert seit: 05.03.08
xrayn Leistung: Pentium IIIxrayn Leistung: Pentium IIIxrayn Leistung: Pentium IIIxrayn Leistung: Pentium IIIxrayn Leistung: Pentium III
Likes: 185
Standard

Dein Programm laesst sich noch mit einem altem Trick aushebeln: Einfach eine Cd erstellen, diese mit 2 Dateien bestuecken autorun.inf und eben einem Programm, welches dein Programm beendet. Voraussetzung ist natuerlich, dass die Autostartfunktion aktiviert ist.
Um absolut sicher zu gehen, dass deine Sperre nicht umgangen wird, wuerde ich Filtertreiber erstellen um wirklich saemtlichen Userinput zu blockieren, sowie NtCreateSection hooken um zu verhindern, dass irgendein Programm waehrend des Locks gestartet wird.

Natuerlich bleiben die Angriffsmoeglichkeiten, dass der PC einfach neugestartet wird, offline auf die Daten zugegriffen wird usw., aber dies ist wohl nur durch eine autarke Stromversorgung und einen dicken Kaefig außen herum zu unterbinden...

Fakt ist, will man dran vorbei, kommt man auch dran vorbei
xrayn ist offline   Mit Zitat antworten
Alt 21.07.08, 01:08   #7 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 64
Standard

Ähm. Es gibt auch die Möglichkeit mit dem normalen LockWorksation zu arbeiten UND das automatische Entsperren zu realisieren. Wie wäre es mit einem Service? (Programm, dass mit Local System Rechten läuft)

Warum denken alle gleich immer an umständliche und potentiell unsichere Neukonstrukte?
+++ATH0 ist offline   Mit Zitat antworten
Alt 21.07.08, 01:12   #8 (permalink)
Themenstarter
 
Registriert seit: 20.07.08
evilinside Leistung: Facit NTK
Likes: 0
Standard

Von Filtertreibern hab ich nicht so wirklich Ahnung... Könntest du mir vielleicht nen kleinen Anstoß geben, wie ich das in/mit C# realisieren kann?
evilinside ist offline   Mit Zitat antworten
Alt 21.07.08, 01:48   #9 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von evilinside
Von Filtertreibern hab ich nicht so wirklich Ahnung... Könntest du mir vielleicht nen kleinen Anstoß geben, wie ich das in/mit C# realisieren kann?
Mit C#? Gar nicht, da auf Kernelebene kein .net-Framework zur Verfügung steht. Dafür musst du schon C oder C++ verwenden(und brauchst das Windows DDK). Für andere Sprachen keine ich für Windows keinen Weg Kernelmodule zu erzeugen.
Lesco ist offline   Mit Zitat antworten
Alt 21.07.08, 06:01   #10 (permalink)
Themenstarter
 
Registriert seit: 20.07.08
evilinside Leistung: Facit NTK
Likes: 0
Standard

schade, dachte würde vll nen paar dll's einbinden können und des dann über c# lösen können...

Naja, hab nochmal fleißig gegoogelt - wie schauts dann mit deinem vorschlag aus - +++Atho?! Hast du nen Beispiel, wie man "LockWorkstation()" autmatisch wieder entsperren kann?
evilinside ist offline   Mit Zitat antworten
Alt 21.07.08, 08:41   #11 (permalink)
 
Registriert seit: 14.06.07
Machine Leistung: Facit NTK
Machine eine Nachricht über ICQ schicken
Likes: 0
Standard

Tach,

sag, hast du das alles in C# geschrieben? Teilweise sieht mir der Sourcecode ganz schön nach VB .NET aus... z. B.:
Code:
Public Sub CheckUsbPorts()
    If (((Me.usbdrive = "") OrElse (Me.usbdrive = "A:")) OrElse (Me.usbdrive = "none")) Then
        Dim strArray As String() = New String(&H100  - 1) {}
        Dim index As Integer = 0
        Dim drives As DriveInfo() = DriveInfo.GetDrives
        Dim info As DriveInfo
Ich wusste garnicht, dass man ohne weiteres VBNET in C# integrieren kann...

EDIT: ich sehe grad, dass du einfach den Taskmanager immer wieder killst.. wenn man aber z. B. den Namen davon ändert hat das auch keine Wirkung mehr Aber da muss man auch erstmal drauf kommen...
Machine ist offline   Mit Zitat antworten
Alt 21.07.08, 11:31   #12 (permalink)
Senior Member
 
Registriert seit: 03.09.05
Lesco Leistung: Facit NTK
Likes: 0
Standard

Zitat:
Original von M4CH!N3

Ich wusste garnicht, dass man ohne weiteres VBNET in C# integrieren kann...

EDIT: ich sehe grad, dass du einfach den Taskmanager immer wieder killst.. wenn man aber z. B. den Namen davon ändert hat das auch keine Wirkung mehr Aber da muss man auch erstmal drauf kommen...
Stammt dein Sourcecode aus dem Reflector? Wenn ja, der kann soweit ich weiß nicht bestimmen in welcher .net-Sprache die Anwendung geschrieben wurde, allerdings lässt sich die Sprache in der das angezeigt wird auch umstellen.
Lesco ist offline   Mit Zitat antworten
Alt 21.07.08, 13:37   #13 (permalink)
Themenstarter
 
Registriert seit: 20.07.08
evilinside Leistung: Facit NTK
Likes: 0
Standard

scheint aus'm reflector zu kommen, denn im original siehts so aus

Code:
public void CheckUsbPorts()
        {
            if (usbdrive == "" || usbdrive == "A:" || usbdrive == "none")
            {
                string[] UsbSticks = new string[256];
                int Arraycount = 0;
                DriveInfo[] drives = DriveInfo.GetDrives();
hab mir grad noch was anderes überlegt... wenn man im gerätemanager die tastatur und die maus deaktiviert, dann dürften das doch auch nur Änderungen in der Registry sein, die ich auch so in c# durchführen könnte... Mal sehen, das wär glaub ich jedenfalls am effektivsten...
evilinside ist offline   Mit Zitat antworten
Alt 21.07.08, 14:24   #14 (permalink)
 
Registriert seit: 14.06.07
Machine Leistung: Facit NTK
Machine eine Nachricht über ICQ schicken
Likes: 0
Standard

Jo, war ausm Reflector. Komischerweise hat er mir bis heute immer die richtige Sprache angezeigt.. also C#-Code als C# und VB-Code als VB... man lernt nie aus
Machine ist offline   Mit Zitat antworten
Alt 21.07.08, 14:28   #15 (permalink)
Member of Honour
 
Benutzerbild von +++ATH0
 
Registriert seit: 02.04.05
+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3+++ATH0 Leistung: K 6-3
Likes: 64
Standard

Bei user32!LockWorkStation wird ein neuer Desktop namens "winlogon" von der winlogon.exe erstellt und zu dem geswitched.

Ein im Hintergrund laufender Service oder eine Dll, die in die winlogon.exe injeziert wurde, könnte zu dem "Default" Desktop zurückswitchen.

Siehe dazu:
http://www.codeproject.com/KB/system/RemoteUnlock.aspx
+++ATH0 ist offline   Mit Zitat antworten
Antwort
   

Werbung ist gerade online    

[HaBo] » Software Home » Hacks & Crackmes » [KillMe] PC Lock
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
CPU mit Lock Stepping Serow Hardware Probleme 6 07.09.09 19:10
Lock Workstation Gottzilla Windows 2 01.12.05 09:45
Funktionsweise von SIM-Lock (D1) Flou Off topic-Zone 11 22.04.05 20:41
Security Lock neji Code Kitchen 1 14.08.04 10:39
PC Lock Flou Downloads 2 24.10.03 09:00


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61