악성코드
악성코드
논문해석
A Windows machine infected with the Placeholder Trojan can be made to do a multitude of things by a remote attacker. When a victim installs our malicious program, their computer will communicate silently with an attacker whenever they are logged in.
Our program consists of a fake installer disguised as an official Java updater which downloads and installs the Trojan (written in Python and packaged as an executable) onto the victim's computer.
The Trojan communicates with a remote server (also written in Python) which is controlled by the attacker via a Java GUI.
The data in all messages between the attacker and the victims are encrypted and routed through the remote server (an Amazon EC2 instance).
This makes the program more secure, as the attacker's IP address cannot be discovered by monitoring network traffic from an infected computer. Furthermore, the attacker can connect to the server from anywhere.
'Placeholder' 트로이 목마에 감염된 Windows 시스템은 원격 공격자에 의해 다양한 동작을 수행하도록 조작될 수 있습니다.
피해자가 이 악성 프로그램을 설치하면, 사용자가 로그인해 있는 동안 컴퓨터는 공격자와 은밀하게 통신을 주고받게 됩니다.
이 프로그램은 공식 Java 업데이트 프로그램으로 위장한 가짜 설치 파일로 구성되어 있으며, 실행 파일 형태로 패키징된 Python 기반의 트로이 목마를 피해자의 컴퓨터에 다운로드 및 설치합니다.
해당 트로이 목마는 공격자가 Java GUI를 통해 제어하는 원격 서버(역시 Python으로 작성됨)와 통신합니다.
공격자와 피해자 간에 오가는 모든 메시지 데이터는 암호화되며, 원격 서버(Amazon EC2 인스턴스)를 거쳐 전송됩니다.
이러한 방식은 감염된 컴퓨터의 네트워크 트래픽을 모니터링하더라도 공격자의 IP 주소를 파악할 수 없게 하므로 프로그램의 보안성을 높여줍니다.
또한, 공격자는 어디서든 해당 서버에 접속할 수 있습니다.
중계서버
The Message Relay Server was created to act as an intermediary between the infected computer and the attacker.
It is meant to be hosted on an external server, most likely owned by the attacker.
Our relay server is hosted on an Amazon EC2 instance.
For added security, it can be hosted behind a TOR network.
The relay server keeps track of all connections to infected computers and the associated AES keys.
When a client connects to the relay server, the server sends a list of IPs and their corresponding AES keys so the client is able to effectively communicate with the infected computers.
Every time a new computer is infected or disinfected, the server updates and sends out an update to all the connected clients.
메시지 중계 서버(Message Relay Server)는 감염된 컴퓨터와 공격자 사이에서 중개자 역할을 하도록 설계되었습니다. 이 서버는 주로 공격자가 소유한 외부 서버에서 호스팅되도록 구성됩니다. 본 연구의 중계 서버는 Amazon EC2 인스턴스에서 호스팅됩니다. 보안을 강화하기 위해 TOR 네트워크 내부에서 호스팅할 수도 있습니다. 중계 서버는 감염된 컴퓨터와의 모든 연결 및 관련 AES 키 정보를 관리합니다. 클라이언트가 중계 서버에 접속하면, 서버는 클라이언트가 감염된 컴퓨터와 원활하게 통신할 수 있도록 IP 주소와 해당 AES 키 목록을 전송합니다. 새로운 컴퓨터가 감염되거나 감염이 치료될 때마다 서버는 관련 정보를 갱신하고, 연결된 모든 클라이언트에 업데이트 내용을 전송합니다.
결론
Although our program is not as sophisticated as malware written by professional hackers, it is able to do a lot of malicious things.
Writing the program, we discovered a number of security weaknesses in modern computers, for example the fact that anyone with access to someone's user account can read all of their Chrome passwords.
Particularly unsettling is the fact that the program is not flagged by antivirus software.
With this program, we were able to take screenshots of a victim's computer, steal their Chrome passwords, log their keystrokes, encrypt their documents, and run a (distributed) denial of service attack.
We worked hard on this project, but it only took us a few weeks of work to develop a potentially dangerous and hard to detect piece of malware.
Because our compiled code does not appear extremely similar to known viruses, antivirus software has no reliable means of detecting that it is malicious.
Overall, all we can do is to urge users to take security very seriously and to not install programs from unknown sources, even if they appear legitimate
비록 저희가 만든 프로그램이 전문 해커가 작성한 악성코드만큼 정교하지는 않지만, 다양한 악의적 행위를 수행할 수 있습니다.
이 프로그램을 개발하는 과정에서 저희는 현대 컴퓨터 시스템의 여러 보안 취약점을 발견했습니다. 예를 들어, 타인의 사용자 계정에 접근할 수 있는 사람이라면 누구나 해당 사용자의 모든 Chrome 비밀번호를 읽어낼 수 있다는 점이 그렇습니다. 특히 우려스러운 점은 이 프로그램이 백신(안티바이러스) 소프트웨어에 의해 악성코드로 탐지되지 않는다는 사실입니다. 저희는 이 프로그램을 이용해 피해자 컴퓨터의 화면을 캡처하고, Chrome 비밀번호를 탈취하며, 키보드 입력 내용을 기록하고, 문서를 암호화하는 것은 물론, (분산) 서비스 거부 공격(DDoS)까지 수행할 수 있었습니다. 이 프로젝트에 많은 노력을 기울이긴 했지만, 잠재적으로 위험하면서도 탐지하기 어려운 악성코드를 개발하는 데는 불과 몇 주밖에 걸리지 않았습니다. 저희가 컴파일한 코드는 기존에 알려진 바이러스와 형태가 크게 다르지 않기 때문에, 백신 소프트웨어가 이를 악성코드로 식별할 확실한 방법이 없습니다. 결론적으로 저희가 할 수 있는 일은 사용자들에게 보안을 각별히 신경 쓰고, 출처가 불분명한 프로그램은 겉보기에 정상적으로 보이더라도 절대 설치하지 말 것을 당부하는 것뿐입니다.
실습하기 GNS3를 이용해 가상환경 구축 아나콘다설치후 환경에 맞게 세팅할것
1. 중계서버 구축
2. 라우터와 라우터간 연결
3. pip install pyWinhook-1.6.2-cp310-cp310-win_amd64.whl
pip install pyinstaller
https://www.lfd.uci.edu/~gohlke/pythonlibs/
pip install PyInstaller-3.4-py2.py3-none-any.whl
pyinstaller keylogger.py
정보문화사
암호화 해킹
노력을 이기는 재능은 없고 노력을 외면하는 결과도 없다.