SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Detecting Hardware Keyloggers

Fabian Mihailowitsch
November 6, 2010
Who?
   Fabian Mihailowitsch

   Former Software Developer
       German energy combine

   IT-Security Consultant
       cirosec GmbH
       Penetration Tests
       Source Code Reviews

   Contact
       Email: fm@cirosec.de
       www.cirosec.de


Fabian Mihailowitsch (cirosec GmbH)   2 of 49
What?
   Hardware Keylogger
       PS/2
       USB


   Hardware Keyloggers are undetectable by Software
    „Visual inspection is the primary means of detecting hardware keyloggers, since there are no
       known methods of detecting them through software. “, en.wikipedia.org, 26.10.10



   Talk: Detection of Hardware Keyloggers with Software ;)



Fabian Mihailowitsch (cirosec GmbH)                                                     3 of 49
Why?
   Less research on this topic
       Few information
       No practical way to detect HKL

   Because HKL are a threat
       2005 (GB): Sumitomo Bank
           Attackers tried to steal 423 million USD
           Multiple HKL were installed
       How about your company?

   Solution to identify HKL in large enterprises
       Visual inspection is impractical
       Only possible via software

Fabian Mihailowitsch (cirosec GmbH)                    4 of 49
Hardware Keylogger
   Hardware Keylogger
       USB
       PS/2
       Keyboard Module
       Mini- / PCI card

   Installed between PC and Keyboard
       Records key strokes

   Captured data are retrieved
       Software
       Keyboard
           Ghost typing
           Flash drive
       Wi-Fi-Access
           Email
           TCP connect
       Bluetooth


Fabian Mihailowitsch (cirosec GmbH)     5 of 49
Hardware Keylogger
   Features
       Up to 2 GB flash memory
       Encryption
       Password protection
       Timestamping
       Time use charts
       Search functions
       Upgradeable firmware

   Pricing
       PS/2: 32.00 USD
       USB: 58.00 USD

Fabian Mihailowitsch (cirosec GmbH)   6 of 49
Hardware Keylogger – The companies
   Big ones
       KeyDemon, KeeLog, … (PL)
       KeyCarbon (US)

   Most companies rebrand KeyDemon
       KeyCobra
       KeyLlama (once own products)
       …


   Also „famous“ (older products)
       KEYKatcher (US)
       KeyGhost (NZ)
       KeyShark (DE)

   The others
       WirelessKeylogger (UK)
       Exotic Stuff (mostly CN)
       Some Open Source Keylogger




Fabian Mihailowitsch (cirosec GmbH)    7 of 49
PS/2 – How does it work
   Keyboard
       Wire matrix
       Microcontroller
       Sends scancode (make/break)


   PC
       Keyboard Controller (KBC)
           0x60: I/O-Buffer
           0x64: Status




Fabian Mihailowitsch (cirosec GmbH)   8 of 49
PS/2 – How does it work
   Communication KBC <-> Keyboard
       Obvious
           Scancodes
       Not that obvious ;)
           Set LEDs                     Example (Ping)
           Choose scancode
                                         KBC sends "ping" (0xEE) via 0x60
           Set repeate rate             KB sends "pong" (0xEE) to 0x60
           Keyboard self-test / reset
           Ping
           …




Fabian Mihailowitsch (cirosec GmbH)                                   9 of 49
PS/2 – How does it work
   PS/2 is a serial interface

   Communication                                                                 1. DATA
                                                                                  2. -
       DATA                                                                      3. GND
       CLK                                                                       4. VCC
                                                                                  5. CLCK
       Bidirectional                                                             6. -

       Keyboard defines clock (30 – 50 ns)


   Data frames
           KB (11 bit): startbit, D0-D7 [data], odd parity, stopbit
           KBC (12 bit): startbit, D0-D7 [data], odd parity, stopbit, ACK (KB)

Fabian Mihailowitsch (cirosec GmbH)                                           10 of 49
PS/2 – How does it work
   PS/2 is a serial interface

   Communication                              1. DATA
                                               2. -
       DATA                                   3. GND
       CLK                                    4. VCC
                                               5. CLCK
       Bidirectional                          6. -

       Keyboard defines clock (30 – 50 ns)




Fabian Mihailowitsch (cirosec GmbH)           11 of 49
Detecting PS/2 Hardware Keylogger
   Current measurement
     Additional electronic components
    = Additional power consumption ;)
           KeyDemon = 65 mA
           KeyKatcher = 54 mA
       More current is drawn
       Cannot be measured by software




Fabian Mihailowitsch (cirosec GmbH)      12 of 49
Detecting PS/2 Hardware Keylogger
   Keylogger are password protected
       Entered via Keyboard
       Ghost typing
       Shipped with default password
       Password restore is complex

   Brute Force password
       Via software
       Check ghost typing




Fabian Mihailowitsch (cirosec GmbH)     13 of 49
Detecting PS/2 Hardware Keylogger
   Problem
       Tested HKL don‘t tap the data line
       HKL are placed „inline“


                                         HKL
                             Data                      Data
         Keyboard                                              PC
                             Clock    Microprocessor   Clock




       HKL knows the data flow
       KBC can‘t send fake keystrokes

Fabian Mihailowitsch (cirosec GmbH)                                 14 of 49
Detecting PS/2 Hardware Keylogger
   However
       Some KB commands (0x60) lead to fake key presses
       Maybe keyboard response is interpreted…

   Brute Force password
       Translation Table (KB command -> key press)
       Brute Force attack via Software

   Practical?
       Limited amount of chars (~10)
       Not all passwords can be Brute Forced
       Works for: KeyGhost, KEYKatcher (some)

Fabian Mihailowitsch (cirosec GmbH)                        15 of 49
Detecting PS/2 Hardware Keylogger




                                 Demo


Fabian Mihailowitsch (cirosec GmbH)     16 of 49
Detecting PS/2 Hardware Keylogger
   Changes on the line
       HKL are placed „inline“


   HKL might change signals on the line
       Different signals (data)
       Own clock (30-50 ns)
       Slight dislocation of data/clock signal
       Maybe more… ;)




Fabian Mihailowitsch (cirosec GmbH)               17 of 49
Detecting PS/2 Hardware Keylogger
   Analyze the data flow
       Tap signal at the keyboard
       Tap signal after the keylogger




Fabian Mihailowitsch (cirosec GmbH)      18 of 49
Detecting PS/2 Hardware Keylogger
   Result:




                                      Keylogger




                                      Keyboard




Fabian Mihailowitsch (cirosec GmbH)          19 of 49
Detecting PS/2 Hardware Keylogger
   Clock is set to low
       Delay of the HKL




                                         Keylogger




                                 Delay
                                         Keyboard



Fabian Mihailowitsch (cirosec GmbH)                  20 of 49
Detecting PS/2 Hardware Keylogger
   Clock is set to high
       Same timing




Fabian Mihailowitsch (cirosec GmbH)   21 of 49
Detecting PS/2 Hardware Keylogger
   Clock cycles are shorter for HKL
       Probably HKL generates own clock signal
       Can be detected on the wire
       No possibility to detect via software
       Exact clock state cannot be retrieved by KBC

   But the clock signal starts later…
       Remember when clock was pulled low
       HKL might cause a delay on the wire




Fabian Mihailowitsch (cirosec GmbH)                    22 of 49
Detecting PS/2 Hardware Keylogger
   Time Measurement
       Tested HKL were placed „inline“
       Microprocessor has to analyze the signal and pass it on
       This additional logic increase signal propagation time




              Data signal (begin)                 Data signal (end)

Fabian Mihailowitsch (cirosec GmbH)                                   23 of 49
Detecting PS/2 Hardware Keylogger
   Time Measurement
       Tested HKL were placed „inline“
       Microprocessor has to analyze the signal and pass it on
       This additional logic increase signal propagation time




                                                          Delay

Fabian Mihailowitsch (cirosec GmbH)                               24 of 49
Detecting PS/2 Hardware Keylogger
   Basic idea
       Send command to KB, wait for response and measure run time
       Like a „ping“
        _start:
                  xor %ecx, %ecx
                  mov $0x9999, %cx             Repeat 9999x:
        _wait1:   in $0x60, %al
                  xor %eax, %eax
                  in $0x64, %al
                  test $0x2, %al               Send „Identify Keyboard“ (0xF2)
                  jne _wait1
                  mov $0xF2, %al
                  out %al, $0x60

        _wait2:   xor %eax, %eax
                  in $0x60, %al                Wait until Keyboard
                  cmp $0xFA, %al
                  jne _wait2                   responds with „MF-II“ (0xFA)
                  loop _wait1
                  ret

Fabian Mihailowitsch (cirosec GmbH)                                     25 of 49
Detecting PS/2 Hardware Keylogger
   Delay introduced by the HKL is very (!) small
       Previous code can‘t be used in „normal OS state“
           scheduler, interrupts, …
           Measurement isn‘t exact enough
       Code must run exclusively
           Get the most accurate measurement




Fabian Mihailowitsch (cirosec GmbH)                        26 of 49
Detecting PS/2 Hardware Keylogger
   Solution
       Loadable Kernel Module
       Get CPU exclusively
           Deactivate interrupts for processor
           Disable kernel preemption
           SMP locking
       Run ASM code („ping“)
       Measure runtime of the code
           Interrupts are disabled
           Read processors time stamp counter (rdtsc)
           Counter is increased every clock cycle
           Use the number of clock cycles
       Restore everything and write result to kernel message buffer

Fabian Mihailowitsch (cirosec GmbH)                             27 of 49
Detecting PS/2 Hardware Keylogger
   Time Measurement
       Results
        Setup                         Clock cycles
        Keyboard                      338 1 03523280
        KeyGhost                      338 5 62656160
        KeyKatcher Mini               338 6 25304965
        KeyKatcher Magnum             338 4 21058298

       „Inline“ HKL can be detected using Time Measurement
           Measure without HKL
           Define Baseline (e.g 338200000000)
           Measure again
           Win ;)


Fabian Mihailowitsch (cirosec GmbH)                           28 of 49
Defeat PS/2 Hardware Keylogger
   Fill Keylogger memory via software
       Some stop logging
       Some overwrite memory at the beginning
       Keystrokes are overwritten / not recorded

   Keyboard commands
       Some commands lead to fake keypress (see Brute Force)
       Send those repeatedly
       ~100 logged keys in 10s
       109 minutes to fill 64kB

   Keyboard command „0xFE“
       Resend
       Keyboard responds by resending the last-sent byte
       ~ 4 logged keys in 10 s

   Practical?
       Most PS/2 HKL have a few KBytes memory
       Nevertheless takes too much time
       Works for: KeyGhost, KEYKatcher (some)



Fabian Mihailowitsch (cirosec GmbH)                             29 of 49
Defeat PS/2 Hardware Keylogger
   Stop HKL from sniffing keystrokes

   Keyboard sends scancodes
       Make / Break codes
       Defined in scan code set
       Scan codes set can be choosen via KB command „0xF0“

   3 scancode sets
       1: XT keyboards
       2: MF2 keyboard
       3: AT keyboads

   Tested Keyloggers support scancode set 2 and 3

   Choose scancode set 1…
       Keylogger doesn‘t log correctly
       Logs can‘t be used
       New mapping scancode <-> keycode is necessary for OS
           hdev
           HAL
           setkeycode



Fabian Mihailowitsch (cirosec GmbH)                            30 of 49
USB – How does it work
   Host controller + Hubs + devices build tree structure

   Device has various endpoints
       Buffer in / out
       Configuration via endpoint 0
       Low Speed devices (Keyboard): endpoint 0 + 2 endpoints with 8 Bytes

   Only host controller manages communication with devices
       Polls buffer (device configuration)
       Writes buffer


   Data are transferred as packets

   Data transfer types
       Isochronous transfer (guaranteed data rate, no error correction)
       Interrupt transfer (small amount of data, retransmission)
       Bulk transfer (big amount of data, retransmission)
       Control transfer (device configuration, ACKed in both directions)



Fabian Mihailowitsch (cirosec GmbH)                                           31 of 49
USB – How does it work
   Different device classes
       Plug and Play
       Relevant: HID class
       Defines communication

   KB sends 8 Byte input report
       Interrupt Transfer
       Periodically polled by host
       Contains pressed keys
       No make / break codes
       Packet:
         Modifier   OEM use   Keycode   Keycode   Keycode   Keycode   Keycode   Keycode
         keys

           Byte 0                                                                 Byte 7




Fabian Mihailowitsch (cirosec GmbH)                                                        32 of 49
USB – How does it work
   PC sends 1 Byte output report
       USB Control Transfer
       Control LEDs
       Packet:
        NUM       Caps     Scroll     Compose   KANA   Constant   Constant   Constant
        Lock      Lock     Lock

          Bit 0                                                                Bit 7




   No addtional KB commands
       Transfer handeld via USB
       Typematic rate, etc. configured on PC


Fabian Mihailowitsch (cirosec GmbH)                                                     33 of 49
Detecting USB Hardware Keylogger
   Current Measurement
       Like PS/2
       More current is drawn
       Cannot be measured by software
           Device configuration contains current
           However no accurate information available




Fabian Mihailowitsch (cirosec GmbH)                     34 of 49
Detecting USB Hardware Keylogger
   Brute Force KL password
       KeyCarbon: software to retrieve keystrokes




Fabian Mihailowitsch (cirosec GmbH)                  35 of 49
Detecting USB Hardware Keylogger
   Brute Force KL password
       KeyCarbon: software to retrieve keystrokes
       Software needs to communicate with KL…
       USB sniffer:




Fabian Mihailowitsch (cirosec GmbH)                  36 of 49
Detecting USB Hardware Keylogger
   Software needs to communicate with KL…
       1 Byte output reports (set LEDs)
       Fixed header + HKL password + footer
       Password char is encoded with 4 Bytes


   Brute Force (default) passwords
       Create Lookup Table for PW chars
       Perform attack via software
       Works for: KeyCarbon models




Fabian Mihailowitsch (cirosec GmbH)             37 of 49
Detecting USB Hardware Keylogger
   Changes to USB Properties / Topology
       Keyboard only:




Fabian Mihailowitsch (cirosec GmbH)        38 of 49
Detecting USB Hardware Keylogger
   Changes to USB Properties / Topology
       Keyboard + KeyCarbon:




Fabian Mihailowitsch (cirosec GmbH)        39 of 49
Detecting USB Hardware Keylogger
   Changes to USB Properties / Topology
       Addtional USB HUB if KeyCarbon is present
        „Why is the device undetectable, in practice, by software? The device shows up in
        Windows ‘Device Manager’ as a generic USB hub. This generic USB hub has no ID strings,
        and is indistinguishable from the generic USB hub found in 90% of all USB hubs. “

       Well…


                                                           USB HUB Controller used:
                                                           Texas Instruments (TUSB2046B)




Fabian Mihailowitsch (cirosec GmbH)                                                         40 of 49
Detecting USB Hardware Keylogger
   Changes to USB Properties / Topology
       KeyGhost changes device properties
           USB Speed
               Keyboard:       bMaxPacketSize0 08 / Speed: Low
               KeyGhost:       bMaxPacketSize0 64 / Speed: Full
           Device Status
               Keyboard :      Bus Powered (0x0000)
               KeyGhost :      Self Powered (0x0001)
       More details later…




Fabian Mihailowitsch (cirosec GmbH)                                41 of 49
Detecting USB Hardware Keylogger
   Time Measurement
       Like PS/2
       HKL are placed inline -> introduces a delay




                                                        Keylogger
                                                Delay
                                                        Keyboard




Fabian Mihailowitsch (cirosec GmbH)                         42 of 49
Detecting USB Hardware Keylogger
   Time Measurement
       Basically the same idea like for PS/2
       Has to be adjusted for USB

   PC can send 1 Byte output report to KB (LED)
       sent as Control-Transfer
       Control-Transfer are ACKed
       Like PS/2 „ping“
       Can be used for runtime measurement ;)

   Implementation
       Send output report to KB
       Wait until ACKed
       Do it various times (10.000)
       Measure runtime

   Measurement can be performed from userland
       e.g. libusb




Fabian Mihailowitsch (cirosec GmbH)                43 of 49
Detecting USB Hardware Keylogger
   Time Measurement
       Results
        Setup                           Milliseconds
        Keyboard                        40034
        KeyGhost                        56331
        KeyCarbon                       43137

       USB HKL can be detected using Time Measurement
           Create baseline for default setup (HUBs, etc.)
           Measure again
           Win ;)



Fabian Mihailowitsch (cirosec GmbH)                          44 of 49
Detecting USB Hardware Keylogger
   Different keyboard behaviour
       Normal behaviour:
           Interrupt read (8 Byte): x81x06x00x22x00x00x00x04
           Send USB Reset
           Interrupt read (8 Byte): x00x00x00x00x00x00x00x00


       KeyGhost behaviour:
           Interrupt read (8 Byte): x81x06x00x22x00x00x00x04
           Send USB Reset
           Interrupt read (8 Byte): x81x06x00x22x00x00x00x04




Fabian Mihailowitsch (cirosec GmbH)                                     45 of 49
Detecting USB Hardware Keylogger
   Different keyboard behaviour
       Analysis on the wire…
       Reason: keyboard never receives USB Reset



                                                       Before Keylogger




                                                       After Keylogger


                        USB Reset (D-/D+ pulled low)
Fabian Mihailowitsch (cirosec GmbH)                           46 of 49
Detecting USB Hardware Keylogger
   Keyboard never receives USB Reset

   USB single-chip host and device controller (ISP1161A1BD)
       Acts as Device for PC (causes changes to device properties)
       Acts as Host Controller for KB


   Behaviour can be tested via software
       e.g. libusb


   Note: Time Measurement for this design bug is possible too



Fabian Mihailowitsch (cirosec GmbH)                                   47 of 49
Conclusion
   PS/2
       All tested models were placed „inline“
       Time Measurement as general technique to detect them
       Scancode 1 as general technique to defeat them

   USB
       Detection via USB behaviour (USB speed, etc.)
       Individual bugs
       More research to come…

   All tested HKL contained bugs that can be used to detect them
       Generic and individual bugs
       Each HKL has to be analyzed seperately
       Bugs can be combined (Pattern)

   PoC code
       Soon: https://code.google.com/p/hkd/


Fabian Mihailowitsch (cirosec GmbH)                                 48 of 49
Thank you for your interest!




       Questions and Feedback



Fabian Mihailowitsch (cirosec GmbH)   49 of 49

Weitere ähnliche Inhalte

Was ist angesagt?

Building HMI with VB Tutorial [1998]
Building HMI with VB Tutorial [1998]Building HMI with VB Tutorial [1998]
Building HMI with VB Tutorial [1998]Sarod Paichayonrittha
 
44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON
 
Offline bruteforce attack on WiFi Protected Setup
Offline bruteforce attack on WiFi Protected SetupOffline bruteforce attack on WiFi Protected Setup
Offline bruteforce attack on WiFi Protected Setup0xcite
 
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGNVictor Asanza
 
HITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad UsbHITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad UsbSeunghun han
 
BalCCon2k18 - Towards the perfect cryptocurrency wallet
BalCCon2k18 - Towards the perfect cryptocurrency walletBalCCon2k18 - Towards the perfect cryptocurrency wallet
BalCCon2k18 - Towards the perfect cryptocurrency walletNemanja Nikodijević
 
Safe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSafe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSoumitra Bhattacharyya
 
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One StoryBlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One StoryBlueHat Security Conference
 
At 89s51
At 89s51At 89s51
At 89s51Mr Giap
 
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...Felipe Prado
 
Buffer overflow – Smashing The Stack
Buffer overflow – Smashing The StackBuffer overflow – Smashing The Stack
Buffer overflow – Smashing The StackTomer Zait
 
m.tech esd lab manual for record
m.tech esd lab manual for recordm.tech esd lab manual for record
m.tech esd lab manual for recordG Lemuel George
 

Was ist angesagt? (20)

Hacking the swisscom modem
Hacking the swisscom modemHacking the swisscom modem
Hacking the swisscom modem
 
Building HMI with VB Tutorial [1998]
Building HMI with VB Tutorial [1998]Building HMI with VB Tutorial [1998]
Building HMI with VB Tutorial [1998]
 
44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar44CON London - Attacking VxWorks: from Stone Age to Interstellar
44CON London - Attacking VxWorks: from Stone Age to Interstellar
 
Writing bios
Writing biosWriting bios
Writing bios
 
Offline bruteforce attack on WiFi Protected Setup
Offline bruteforce attack on WiFi Protected SetupOffline bruteforce attack on WiFi Protected Setup
Offline bruteforce attack on WiFi Protected Setup
 
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
⭐⭐⭐⭐⭐ PROTEUS PCB DESIGN
 
ShinoBOT Suite
ShinoBOT SuiteShinoBOT Suite
ShinoBOT Suite
 
Stuxnet dc9723
Stuxnet dc9723Stuxnet dc9723
Stuxnet dc9723
 
dspAt89 s52
dspAt89 s52dspAt89 s52
dspAt89 s52
 
Inside Winnyp
Inside WinnypInside Winnyp
Inside Winnyp
 
Argox scannerqig
Argox scannerqigArgox scannerqig
Argox scannerqig
 
HITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad UsbHITBSecConf 2016-Create Your Own Bad Usb
HITBSecConf 2016-Create Your Own Bad Usb
 
BalCCon2k18 - Towards the perfect cryptocurrency wallet
BalCCon2k18 - Towards the perfect cryptocurrency walletBalCCon2k18 - Towards the perfect cryptocurrency wallet
BalCCon2k18 - Towards the perfect cryptocurrency wallet
 
Safe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devicesSafe and secure programming practices for embedded devices
Safe and secure programming practices for embedded devices
 
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One StoryBlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
BlueHat Seattle 2019 || Guarding Against Physical Attacks: The Xbox One Story
 
At 89s51
At 89s51At 89s51
At 89s51
 
Des
DesDes
Des
 
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
DEF CON 27 - HUBER AND ROSKOSCH - im on your phone listening attacking voip c...
 
Buffer overflow – Smashing The Stack
Buffer overflow – Smashing The StackBuffer overflow – Smashing The Stack
Buffer overflow – Smashing The Stack
 
m.tech esd lab manual for record
m.tech esd lab manual for recordm.tech esd lab manual for record
m.tech esd lab manual for record
 

Ähnlich wie Detectando Hardware keylogger

Detecting hardware keyloggers
Detecting hardware keyloggersDetecting hardware keyloggers
Detecting hardware keyloggersmihailowitsch
 
DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)Michael Smith
 
23c3 Bluetooth hacking revisited
23c3 Bluetooth hacking revisited23c3 Bluetooth hacking revisited
23c3 Bluetooth hacking revisitedThierry Zoller
 
Bitcoin hardware wallets security
Bitcoin hardware wallets securityBitcoin hardware wallets security
Bitcoin hardware wallets securityEric Larcheveque
 
High Definition Fuzzing; Exploring HDMI vulnerabilities
High Definition Fuzzing; Exploring HDMI vulnerabilitiesHigh Definition Fuzzing; Exploring HDMI vulnerabilities
High Definition Fuzzing; Exploring HDMI vulnerabilitiesE Hacking
 
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)Nate Lawson
 
ฮาร์ดแวด์
ฮาร์ดแวด์ฮาร์ดแวด์
ฮาร์ดแวด์sommat
 
[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practicalMoabi.com
 
Hardware backdooring is practical : slides
Hardware backdooring is practical : slidesHardware backdooring is practical : slides
Hardware backdooring is practical : slidesMoabi.com
 
IoT and IIOT at QuBit Prague 2018
IoT and IIOT at QuBit Prague 2018 IoT and IIOT at QuBit Prague 2018
IoT and IIOT at QuBit Prague 2018 Avast
 
Raspberry Pi I/O控制與感測器讀取
Raspberry Pi I/O控制與感測器讀取Raspberry Pi I/O控制與感測器讀取
Raspberry Pi I/O控制與感測器讀取艾鍗科技
 
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)ClubHack
 
nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯鍾誠 陳鍾誠
 
side-channel-kevin2600
side-channel-kevin2600side-channel-kevin2600
side-channel-kevin2600Kevin2600
 
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON
 
HWallet: The simplest Bitcoin hardware wallet
HWallet: The simplest Bitcoin hardware walletHWallet: The simplest Bitcoin hardware wallet
HWallet: The simplest Bitcoin hardware walletNemanja Nikodijević
 
[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, future[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, futurehackersuli
 

Ähnlich wie Detectando Hardware keylogger (20)

Detecting hardware keyloggers
Detecting hardware keyloggersDetecting hardware keyloggers
Detecting hardware keyloggers
 
DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)DefCon 2012 - Hardware Backdooring (Slides)
DefCon 2012 - Hardware Backdooring (Slides)
 
23c3 Bluetooth hacking revisited
23c3 Bluetooth hacking revisited23c3 Bluetooth hacking revisited
23c3 Bluetooth hacking revisited
 
Power point
Power pointPower point
Power point
 
Power point
Power pointPower point
Power point
 
Power point
Power pointPower point
Power point
 
Bitcoin hardware wallets security
Bitcoin hardware wallets securityBitcoin hardware wallets security
Bitcoin hardware wallets security
 
High Definition Fuzzing; Exploring HDMI vulnerabilities
High Definition Fuzzing; Exploring HDMI vulnerabilitiesHigh Definition Fuzzing; Exploring HDMI vulnerabilities
High Definition Fuzzing; Exploring HDMI vulnerabilities
 
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
Don't Tell Joanna the Virtualized Rootkit is Dead (Blackhat 2007)
 
ฮาร์ดแวด์
ฮาร์ดแวด์ฮาร์ดแวด์
ฮาร์ดแวด์
 
[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical[Hackito2012] Hardware backdooring is practical
[Hackito2012] Hardware backdooring is practical
 
Hardware backdooring is practical : slides
Hardware backdooring is practical : slidesHardware backdooring is practical : slides
Hardware backdooring is practical : slides
 
IoT and IIOT at QuBit Prague 2018
IoT and IIOT at QuBit Prague 2018 IoT and IIOT at QuBit Prague 2018
IoT and IIOT at QuBit Prague 2018
 
Raspberry Pi I/O控制與感測器讀取
Raspberry Pi I/O控制與感測器讀取Raspberry Pi I/O控制與感測器讀取
Raspberry Pi I/O控制與感測器讀取
 
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
Handle Explotion of Remote System Without Being Online (Merchant Bhaumik)
 
nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯nand2tetris 舊版投影片 -- 第三章 循序邏輯
nand2tetris 舊版投影片 -- 第三章 循序邏輯
 
side-channel-kevin2600
side-channel-kevin2600side-channel-kevin2600
side-channel-kevin2600
 
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
44CON 2014 - Simple Hardware Sidechannel Attacks for 10 GBP or Less, Joe Fitz...
 
HWallet: The simplest Bitcoin hardware wallet
HWallet: The simplest Bitcoin hardware walletHWallet: The simplest Bitcoin hardware wallet
HWallet: The simplest Bitcoin hardware wallet
 
[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, future[HUN] Hackersuli - Console and arcade game hacking – history, present, future
[HUN] Hackersuli - Console and arcade game hacking – history, present, future
 

Mehr von Jaime Restrepo

I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )Jaime Restrepo
 
i fought the law and the law lost
i fought the law and the law losti fought the law and the law lost
i fought the law and the law lostJaime Restrepo
 
How to build a powerfull open source soc4
How to build a powerfull open source soc4How to build a powerfull open source soc4
How to build a powerfull open source soc4Jaime Restrepo
 
Zer 0 no zer(0 day) dragon jar
Zer 0 no zer(0 day)   dragon jarZer 0 no zer(0 day)   dragon jar
Zer 0 no zer(0 day) dragon jarJaime Restrepo
 
Alta seguridad para clusters críticos
Alta seguridad para clusters críticosAlta seguridad para clusters críticos
Alta seguridad para clusters críticosJaime Restrepo
 
Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)Jaime Restrepo
 
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...Jaime Restrepo
 
WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)Jaime Restrepo
 
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/LinuxHunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/LinuxJaime Restrepo
 
Hackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-EnergyHackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-EnergyJaime Restrepo
 
Memorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_conMemorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_conJaime Restrepo
 
Cloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jarCloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jarJaime Restrepo
 
Analysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursAnalysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursJaime Restrepo
 
Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)Jaime Restrepo
 
Threat intel malware_analysis
Threat intel malware_analysisThreat intel malware_analysis
Threat intel malware_analysisJaime Restrepo
 
Bugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dichoBugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dichoJaime Restrepo
 
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el TerrorismoTécnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el TerrorismoJaime Restrepo
 
Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19Jaime Restrepo
 
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...Jaime Restrepo
 
CSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David CastroCSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David CastroJaime Restrepo
 

Mehr von Jaime Restrepo (20)

I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )I Know You ( iKy OSINT Tool )
I Know You ( iKy OSINT Tool )
 
i fought the law and the law lost
i fought the law and the law losti fought the law and the law lost
i fought the law and the law lost
 
How to build a powerfull open source soc4
How to build a powerfull open source soc4How to build a powerfull open source soc4
How to build a powerfull open source soc4
 
Zer 0 no zer(0 day) dragon jar
Zer 0 no zer(0 day)   dragon jarZer 0 no zer(0 day)   dragon jar
Zer 0 no zer(0 day) dragon jar
 
Alta seguridad para clusters críticos
Alta seguridad para clusters críticosAlta seguridad para clusters críticos
Alta seguridad para clusters críticos
 
Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)Bogotá Wardriving (Spanish)
Bogotá Wardriving (Spanish)
 
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
IoT Cyber Attacks: Comprometiendo la Ciberseguridad de Gasolineras en Latinoa...
 
WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)WordPress, another terror story (Spanish)
WordPress, another terror story (Spanish)
 
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/LinuxHunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
Hunting Buffer Overflow. A la caza de funciones inseguras en GNU/Linux
 
Hackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-EnergyHackeando el mundo exterior a través de Bluetooth Low-Energy
Hackeando el mundo exterior a través de Bluetooth Low-Energy
 
Memorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_conMemorias perito vol_7_dragonjar_con
Memorias perito vol_7_dragonjar_con
 
Cloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jarCloud native security en tiempo de coronavirus dragon jar
Cloud native security en tiempo de coronavirus dragon jar
 
Analysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behavioursAnalysis of time windows to detect botnets behaviours
Analysis of time windows to detect botnets behaviours
 
Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)Bug Bounty Experiences (Spanish)
Bug Bounty Experiences (Spanish)
 
Threat intel malware_analysis
Threat intel malware_analysisThreat intel malware_analysis
Threat intel malware_analysis
 
Bugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dichoBugbounty en Español, todo lo que no te han dicho
Bugbounty en Español, todo lo que no te han dicho
 
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el TerrorismoTécnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
Técnicas de Inteligencia en la lucha contra el Crimen Organizado y el Terrorismo
 
Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19Gestión del tiempo en tiempos del COVID-19
Gestión del tiempo en tiempos del COVID-19
 
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
Pentest: Técnicas alternativas para un cliente “experimentado” – Nelson Boris...
 
CSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David CastroCSRF: El "Nuevo" Target - Juan David Castro
CSRF: El "Nuevo" Target - Juan David Castro
 

Kürzlich hochgeladen

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Kürzlich hochgeladen (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Detectando Hardware keylogger

  • 1. Detecting Hardware Keyloggers Fabian Mihailowitsch November 6, 2010
  • 2. Who?  Fabian Mihailowitsch  Former Software Developer  German energy combine  IT-Security Consultant  cirosec GmbH  Penetration Tests  Source Code Reviews  Contact  Email: fm@cirosec.de  www.cirosec.de Fabian Mihailowitsch (cirosec GmbH) 2 of 49
  • 3. What?  Hardware Keylogger  PS/2  USB  Hardware Keyloggers are undetectable by Software „Visual inspection is the primary means of detecting hardware keyloggers, since there are no known methods of detecting them through software. “, en.wikipedia.org, 26.10.10  Talk: Detection of Hardware Keyloggers with Software ;) Fabian Mihailowitsch (cirosec GmbH) 3 of 49
  • 4. Why?  Less research on this topic  Few information  No practical way to detect HKL  Because HKL are a threat  2005 (GB): Sumitomo Bank  Attackers tried to steal 423 million USD  Multiple HKL were installed  How about your company?  Solution to identify HKL in large enterprises  Visual inspection is impractical  Only possible via software Fabian Mihailowitsch (cirosec GmbH) 4 of 49
  • 5. Hardware Keylogger  Hardware Keylogger  USB  PS/2  Keyboard Module  Mini- / PCI card  Installed between PC and Keyboard  Records key strokes  Captured data are retrieved  Software  Keyboard  Ghost typing  Flash drive  Wi-Fi-Access  Email  TCP connect  Bluetooth Fabian Mihailowitsch (cirosec GmbH) 5 of 49
  • 6. Hardware Keylogger  Features  Up to 2 GB flash memory  Encryption  Password protection  Timestamping  Time use charts  Search functions  Upgradeable firmware  Pricing  PS/2: 32.00 USD  USB: 58.00 USD Fabian Mihailowitsch (cirosec GmbH) 6 of 49
  • 7. Hardware Keylogger – The companies  Big ones  KeyDemon, KeeLog, … (PL)  KeyCarbon (US)  Most companies rebrand KeyDemon  KeyCobra  KeyLlama (once own products)  …  Also „famous“ (older products)  KEYKatcher (US)  KeyGhost (NZ)  KeyShark (DE)  The others  WirelessKeylogger (UK)  Exotic Stuff (mostly CN)  Some Open Source Keylogger Fabian Mihailowitsch (cirosec GmbH) 7 of 49
  • 8. PS/2 – How does it work  Keyboard  Wire matrix  Microcontroller  Sends scancode (make/break)  PC  Keyboard Controller (KBC)  0x60: I/O-Buffer  0x64: Status Fabian Mihailowitsch (cirosec GmbH) 8 of 49
  • 9. PS/2 – How does it work  Communication KBC <-> Keyboard  Obvious  Scancodes  Not that obvious ;)  Set LEDs Example (Ping)  Choose scancode KBC sends "ping" (0xEE) via 0x60  Set repeate rate KB sends "pong" (0xEE) to 0x60  Keyboard self-test / reset  Ping  … Fabian Mihailowitsch (cirosec GmbH) 9 of 49
  • 10. PS/2 – How does it work  PS/2 is a serial interface  Communication 1. DATA 2. -  DATA 3. GND  CLK 4. VCC 5. CLCK  Bidirectional 6. -  Keyboard defines clock (30 – 50 ns)  Data frames  KB (11 bit): startbit, D0-D7 [data], odd parity, stopbit  KBC (12 bit): startbit, D0-D7 [data], odd parity, stopbit, ACK (KB) Fabian Mihailowitsch (cirosec GmbH) 10 of 49
  • 11. PS/2 – How does it work  PS/2 is a serial interface  Communication 1. DATA 2. -  DATA 3. GND  CLK 4. VCC 5. CLCK  Bidirectional 6. -  Keyboard defines clock (30 – 50 ns) Fabian Mihailowitsch (cirosec GmbH) 11 of 49
  • 12. Detecting PS/2 Hardware Keylogger  Current measurement  Additional electronic components = Additional power consumption ;)  KeyDemon = 65 mA  KeyKatcher = 54 mA  More current is drawn  Cannot be measured by software Fabian Mihailowitsch (cirosec GmbH) 12 of 49
  • 13. Detecting PS/2 Hardware Keylogger  Keylogger are password protected  Entered via Keyboard  Ghost typing  Shipped with default password  Password restore is complex  Brute Force password  Via software  Check ghost typing Fabian Mihailowitsch (cirosec GmbH) 13 of 49
  • 14. Detecting PS/2 Hardware Keylogger  Problem  Tested HKL don‘t tap the data line  HKL are placed „inline“ HKL Data Data Keyboard PC Clock Microprocessor Clock  HKL knows the data flow  KBC can‘t send fake keystrokes Fabian Mihailowitsch (cirosec GmbH) 14 of 49
  • 15. Detecting PS/2 Hardware Keylogger  However  Some KB commands (0x60) lead to fake key presses  Maybe keyboard response is interpreted…  Brute Force password  Translation Table (KB command -> key press)  Brute Force attack via Software  Practical?  Limited amount of chars (~10)  Not all passwords can be Brute Forced  Works for: KeyGhost, KEYKatcher (some) Fabian Mihailowitsch (cirosec GmbH) 15 of 49
  • 16. Detecting PS/2 Hardware Keylogger Demo Fabian Mihailowitsch (cirosec GmbH) 16 of 49
  • 17. Detecting PS/2 Hardware Keylogger  Changes on the line  HKL are placed „inline“  HKL might change signals on the line  Different signals (data)  Own clock (30-50 ns)  Slight dislocation of data/clock signal  Maybe more… ;) Fabian Mihailowitsch (cirosec GmbH) 17 of 49
  • 18. Detecting PS/2 Hardware Keylogger  Analyze the data flow  Tap signal at the keyboard  Tap signal after the keylogger Fabian Mihailowitsch (cirosec GmbH) 18 of 49
  • 19. Detecting PS/2 Hardware Keylogger  Result: Keylogger Keyboard Fabian Mihailowitsch (cirosec GmbH) 19 of 49
  • 20. Detecting PS/2 Hardware Keylogger  Clock is set to low  Delay of the HKL Keylogger Delay Keyboard Fabian Mihailowitsch (cirosec GmbH) 20 of 49
  • 21. Detecting PS/2 Hardware Keylogger  Clock is set to high  Same timing Fabian Mihailowitsch (cirosec GmbH) 21 of 49
  • 22. Detecting PS/2 Hardware Keylogger  Clock cycles are shorter for HKL  Probably HKL generates own clock signal  Can be detected on the wire  No possibility to detect via software  Exact clock state cannot be retrieved by KBC  But the clock signal starts later…  Remember when clock was pulled low  HKL might cause a delay on the wire Fabian Mihailowitsch (cirosec GmbH) 22 of 49
  • 23. Detecting PS/2 Hardware Keylogger  Time Measurement  Tested HKL were placed „inline“  Microprocessor has to analyze the signal and pass it on  This additional logic increase signal propagation time Data signal (begin) Data signal (end) Fabian Mihailowitsch (cirosec GmbH) 23 of 49
  • 24. Detecting PS/2 Hardware Keylogger  Time Measurement  Tested HKL were placed „inline“  Microprocessor has to analyze the signal and pass it on  This additional logic increase signal propagation time Delay Fabian Mihailowitsch (cirosec GmbH) 24 of 49
  • 25. Detecting PS/2 Hardware Keylogger  Basic idea  Send command to KB, wait for response and measure run time  Like a „ping“ _start: xor %ecx, %ecx mov $0x9999, %cx Repeat 9999x: _wait1: in $0x60, %al xor %eax, %eax in $0x64, %al test $0x2, %al Send „Identify Keyboard“ (0xF2) jne _wait1 mov $0xF2, %al out %al, $0x60 _wait2: xor %eax, %eax in $0x60, %al Wait until Keyboard cmp $0xFA, %al jne _wait2 responds with „MF-II“ (0xFA) loop _wait1 ret Fabian Mihailowitsch (cirosec GmbH) 25 of 49
  • 26. Detecting PS/2 Hardware Keylogger  Delay introduced by the HKL is very (!) small  Previous code can‘t be used in „normal OS state“  scheduler, interrupts, …  Measurement isn‘t exact enough  Code must run exclusively  Get the most accurate measurement Fabian Mihailowitsch (cirosec GmbH) 26 of 49
  • 27. Detecting PS/2 Hardware Keylogger  Solution  Loadable Kernel Module  Get CPU exclusively  Deactivate interrupts for processor  Disable kernel preemption  SMP locking  Run ASM code („ping“)  Measure runtime of the code  Interrupts are disabled  Read processors time stamp counter (rdtsc)  Counter is increased every clock cycle  Use the number of clock cycles  Restore everything and write result to kernel message buffer Fabian Mihailowitsch (cirosec GmbH) 27 of 49
  • 28. Detecting PS/2 Hardware Keylogger  Time Measurement  Results Setup Clock cycles Keyboard 338 1 03523280 KeyGhost 338 5 62656160 KeyKatcher Mini 338 6 25304965 KeyKatcher Magnum 338 4 21058298  „Inline“ HKL can be detected using Time Measurement  Measure without HKL  Define Baseline (e.g 338200000000)  Measure again  Win ;) Fabian Mihailowitsch (cirosec GmbH) 28 of 49
  • 29. Defeat PS/2 Hardware Keylogger  Fill Keylogger memory via software  Some stop logging  Some overwrite memory at the beginning  Keystrokes are overwritten / not recorded  Keyboard commands  Some commands lead to fake keypress (see Brute Force)  Send those repeatedly  ~100 logged keys in 10s  109 minutes to fill 64kB  Keyboard command „0xFE“  Resend  Keyboard responds by resending the last-sent byte  ~ 4 logged keys in 10 s  Practical?  Most PS/2 HKL have a few KBytes memory  Nevertheless takes too much time  Works for: KeyGhost, KEYKatcher (some) Fabian Mihailowitsch (cirosec GmbH) 29 of 49
  • 30. Defeat PS/2 Hardware Keylogger  Stop HKL from sniffing keystrokes  Keyboard sends scancodes  Make / Break codes  Defined in scan code set  Scan codes set can be choosen via KB command „0xF0“  3 scancode sets  1: XT keyboards  2: MF2 keyboard  3: AT keyboads  Tested Keyloggers support scancode set 2 and 3  Choose scancode set 1…  Keylogger doesn‘t log correctly  Logs can‘t be used  New mapping scancode <-> keycode is necessary for OS  hdev  HAL  setkeycode Fabian Mihailowitsch (cirosec GmbH) 30 of 49
  • 31. USB – How does it work  Host controller + Hubs + devices build tree structure  Device has various endpoints  Buffer in / out  Configuration via endpoint 0  Low Speed devices (Keyboard): endpoint 0 + 2 endpoints with 8 Bytes  Only host controller manages communication with devices  Polls buffer (device configuration)  Writes buffer  Data are transferred as packets  Data transfer types  Isochronous transfer (guaranteed data rate, no error correction)  Interrupt transfer (small amount of data, retransmission)  Bulk transfer (big amount of data, retransmission)  Control transfer (device configuration, ACKed in both directions) Fabian Mihailowitsch (cirosec GmbH) 31 of 49
  • 32. USB – How does it work  Different device classes  Plug and Play  Relevant: HID class  Defines communication  KB sends 8 Byte input report  Interrupt Transfer  Periodically polled by host  Contains pressed keys  No make / break codes  Packet: Modifier OEM use Keycode Keycode Keycode Keycode Keycode Keycode keys Byte 0 Byte 7 Fabian Mihailowitsch (cirosec GmbH) 32 of 49
  • 33. USB – How does it work  PC sends 1 Byte output report  USB Control Transfer  Control LEDs  Packet: NUM Caps Scroll Compose KANA Constant Constant Constant Lock Lock Lock Bit 0 Bit 7  No addtional KB commands  Transfer handeld via USB  Typematic rate, etc. configured on PC Fabian Mihailowitsch (cirosec GmbH) 33 of 49
  • 34. Detecting USB Hardware Keylogger  Current Measurement  Like PS/2  More current is drawn  Cannot be measured by software  Device configuration contains current  However no accurate information available Fabian Mihailowitsch (cirosec GmbH) 34 of 49
  • 35. Detecting USB Hardware Keylogger  Brute Force KL password  KeyCarbon: software to retrieve keystrokes Fabian Mihailowitsch (cirosec GmbH) 35 of 49
  • 36. Detecting USB Hardware Keylogger  Brute Force KL password  KeyCarbon: software to retrieve keystrokes  Software needs to communicate with KL…  USB sniffer: Fabian Mihailowitsch (cirosec GmbH) 36 of 49
  • 37. Detecting USB Hardware Keylogger  Software needs to communicate with KL…  1 Byte output reports (set LEDs)  Fixed header + HKL password + footer  Password char is encoded with 4 Bytes  Brute Force (default) passwords  Create Lookup Table for PW chars  Perform attack via software  Works for: KeyCarbon models Fabian Mihailowitsch (cirosec GmbH) 37 of 49
  • 38. Detecting USB Hardware Keylogger  Changes to USB Properties / Topology  Keyboard only: Fabian Mihailowitsch (cirosec GmbH) 38 of 49
  • 39. Detecting USB Hardware Keylogger  Changes to USB Properties / Topology  Keyboard + KeyCarbon: Fabian Mihailowitsch (cirosec GmbH) 39 of 49
  • 40. Detecting USB Hardware Keylogger  Changes to USB Properties / Topology  Addtional USB HUB if KeyCarbon is present „Why is the device undetectable, in practice, by software? The device shows up in Windows ‘Device Manager’ as a generic USB hub. This generic USB hub has no ID strings, and is indistinguishable from the generic USB hub found in 90% of all USB hubs. “  Well… USB HUB Controller used: Texas Instruments (TUSB2046B) Fabian Mihailowitsch (cirosec GmbH) 40 of 49
  • 41. Detecting USB Hardware Keylogger  Changes to USB Properties / Topology  KeyGhost changes device properties  USB Speed  Keyboard: bMaxPacketSize0 08 / Speed: Low  KeyGhost: bMaxPacketSize0 64 / Speed: Full  Device Status  Keyboard : Bus Powered (0x0000)  KeyGhost : Self Powered (0x0001)  More details later… Fabian Mihailowitsch (cirosec GmbH) 41 of 49
  • 42. Detecting USB Hardware Keylogger  Time Measurement  Like PS/2  HKL are placed inline -> introduces a delay Keylogger Delay Keyboard Fabian Mihailowitsch (cirosec GmbH) 42 of 49
  • 43. Detecting USB Hardware Keylogger  Time Measurement  Basically the same idea like for PS/2  Has to be adjusted for USB  PC can send 1 Byte output report to KB (LED)  sent as Control-Transfer  Control-Transfer are ACKed  Like PS/2 „ping“  Can be used for runtime measurement ;)  Implementation  Send output report to KB  Wait until ACKed  Do it various times (10.000)  Measure runtime  Measurement can be performed from userland  e.g. libusb Fabian Mihailowitsch (cirosec GmbH) 43 of 49
  • 44. Detecting USB Hardware Keylogger  Time Measurement  Results Setup Milliseconds Keyboard 40034 KeyGhost 56331 KeyCarbon 43137  USB HKL can be detected using Time Measurement  Create baseline for default setup (HUBs, etc.)  Measure again  Win ;) Fabian Mihailowitsch (cirosec GmbH) 44 of 49
  • 45. Detecting USB Hardware Keylogger  Different keyboard behaviour  Normal behaviour:  Interrupt read (8 Byte): x81x06x00x22x00x00x00x04  Send USB Reset  Interrupt read (8 Byte): x00x00x00x00x00x00x00x00  KeyGhost behaviour:  Interrupt read (8 Byte): x81x06x00x22x00x00x00x04  Send USB Reset  Interrupt read (8 Byte): x81x06x00x22x00x00x00x04 Fabian Mihailowitsch (cirosec GmbH) 45 of 49
  • 46. Detecting USB Hardware Keylogger  Different keyboard behaviour  Analysis on the wire…  Reason: keyboard never receives USB Reset Before Keylogger After Keylogger USB Reset (D-/D+ pulled low) Fabian Mihailowitsch (cirosec GmbH) 46 of 49
  • 47. Detecting USB Hardware Keylogger  Keyboard never receives USB Reset  USB single-chip host and device controller (ISP1161A1BD)  Acts as Device for PC (causes changes to device properties)  Acts as Host Controller for KB  Behaviour can be tested via software  e.g. libusb  Note: Time Measurement for this design bug is possible too Fabian Mihailowitsch (cirosec GmbH) 47 of 49
  • 48. Conclusion  PS/2  All tested models were placed „inline“  Time Measurement as general technique to detect them  Scancode 1 as general technique to defeat them  USB  Detection via USB behaviour (USB speed, etc.)  Individual bugs  More research to come…  All tested HKL contained bugs that can be used to detect them  Generic and individual bugs  Each HKL has to be analyzed seperately  Bugs can be combined (Pattern)  PoC code  Soon: https://code.google.com/p/hkd/ Fabian Mihailowitsch (cirosec GmbH) 48 of 49
  • 49. Thank you for your interest! Questions and Feedback Fabian Mihailowitsch (cirosec GmbH) 49 of 49