본문 바로가기
工夫/Security

nc 통신을 이용한 피해 컴퓨터 정보 가져오기

by 치세 2009. 8. 2.

● nc 통신을 이용한 피해 컴퓨터 정보 가져오기
- nc 리버스 쉘 통신 이용
피해컴퓨터
 ir_script.bat | nc 조사자 컴 IP 포트

조사자 컴퓨터
nc -Lvp 포트 > %date%.txt

** 조사자 컴퓨터에서 작성한 스크립트 파일 과 분석 파일을 피해컴퓨터에 복사하는 방법
1)CD-ROM의 부팅 CD 로 작성하여 피해컴퓨터의 CD -rom 에 넣으면 nc를 이용한 통신 접속.

2) usb의 autorun.inf 파일을 이용하여 nc에 접속

3) 피해 컴퓨터는 전혀 모르는 사람의 컴퓨터이므로 패스워드를 알고 있음. 그래서 네트워크 드라이브라를 잡아서 복사하고 스크립트 파일 시작하면 됨.

4) sysinternals 의 psexec.exe 를 이용하여 원격연결후 복사후 실행.
 - 피해 시스템에 admin$의 관리자적 공유가 존재해야함...

● 디스크 이미지 덤프 뜨기
- 리눅스 dd(disk dump)를 윈도 용으로 만든 windows dd 이용
하드 드라이브
dd if =\\.\phsicaldrive0 of=c:\filename bs=4096
dd if =\\.\d: of\d:filename bs = 4096

메모리 덤프
dd if =\\.\physicalmemory of=\filename bs=4096

피해컴퓨터
dd if=\\.\c: | nc 조사자컴 IP 포트

조사자 컴퓨터
nc -l -p 12345

● 침해 대응
침해 대응 - 침해 분석/대응
포랜식 - 증거 수집/분석

1. 데이터 수집
데이터 수집(증거 수집)의 원칙 :
- Live Data 수집
- 휘발성의 정도 (OOV - Order if volatility) 를 고려하여 증거 수집
증거마다 위발성의 정도가 다르므로 휘발성이 높은 것부터 낮은것 순으로 수집
즉 arp 케시는 수분내로 사라지는 데이터임 그러나 어떤 파일은 수 시간내에는 존재하는 데이터임

1) 네트워크 기반 증거 수집
- IDS 로그 수집
- 라우터 로그수집
- 방화벽 로그 수집
- 중앙 호스트(syslog)에서 원격로그 수집
- 기타

2) 호스트기반 증거 수집
- 시스템 시간 수집
- 휘발성데이터 수집
- 피해 시스템의 모든 시간 / 날짜 정보수집
- 출처 미확인 파일 수집
- 기타

3) 기타
증인으로 부터 증언 수집

● 데이터 분석
- 휘발성 데이터 분석
=> 네트워크 접속 조사, 악의적인 코드 식별 (백도어, 스니퍼)

- 파일 시간 및 날짜 정보 수집
=> 공격자에 의해 시트템 업로드 파일 식별
=> 업로드 / 다운로드 vkdfl tlrquf

- 로그파일 재조사
=> 비인가된 사용자 계정 식별
숨겨진 파일 식별
스케줄 과업 조사/식별
레지스트리 조사
키워드 검사

● 호스트 기반 분석
1) 시스템날짜와 시간
2) 시스템에서 현재 동작중인 어플리게이션
3) 현재 연결이 성립된 네트워크 상황
4) 현재 열려진 소켓 상에서 동작 또는 대기 중인 어를리케이션
5) 네트워크 인터 페이스 상태
6) 메모리 정보
7) 현재 열려진 파일
8) 시스템 패치 상황등

* Live Data 를 수집하는 방법
- Initial Live Response : 대상 시스템이나 피해 시스템의 휘발성 데이터만 획득
- In- depth Response: 휘발성+ 부가적인 정보 획득
- Full Response : 디스크 복제 포함한 완전 조사

● 침해 분석 기술 - 윈도
1. 시스템 시간 확인
  date /T : 시스템 날짜를 알려주는 명령어
  time /T : 시스템 시간을 알려주는 명령어

2. 시스템 정보 확인 
-  사고 (피해) 시스템의 기본적인 정보 확인.
-  sysinternals 의 psinfo.exe를 이용하면 OS기본정보, 
    보안 업데이트 정보, 설치된 소프트웨어 정보 등을 알려줌.
-  psinfo -h -s : 핫픽스와 소프트웨어 목록 정보

3. 프로세스 정보 확인
- 악성코드나 공격자의 프로그램 찾기 위해.
- 프로세스명, 프로세스 실행팡리 위치, 프로세스 커맨드 라인,
  프로세스실행시간, 프로세스가 참조중인 DLL 및 파일등의 정보
- sysinternals 의 
  psinfo.exe  => 프로세스 리스트,
  listdlls.exe => 프로세스가 사용하는 dll 출력,
  handle.exe => 프로세스들이 참조하는 파일 리스트

4. 네트워크 정보확인
- 네트워크 정보 , 서비스를 열고 있는 응용프로그램 정보 서비스레 연결된 세션 정보등.
netsta -an
arp -a
nbtstat -c
ipconfig /all
ipconfig /displaydns

http://www.foundstone.com 의 fport.exe
랜카드가 무차별 모드로 동작했는지 여부

http://ntseciruty.nu
promiscdetect.exe

5. 사용자 /그룹 확인
net suer
net localgroup administrators

6. 공유/로그인 정보
netshare
net session

7. 스케줄러
at

8.시스템통신
netcat(nc)

9. 시스템 복사
dd(win)
이런정보를 모아서 배치 스크립트 작성

http://www.foundstone.com
http://www.sysinternals.com


● 윈도 상에서 nc 통신을 이용한 피해 컴퓨터 정보 가져오기를 해보겠습니다.
그전에 자신의 컴퓨터의 정보를 모아 보는 것이 먼저 할일 입니다.
먼저 정보를 모으는 것을 해보겠습니다.

아래의 실행파일들은 윈도 운영체제에서 정보를 실행, 보여주는 파일들 입니다.
아래의 파일들을 받아 보거나 pc상에서 파일들을 찾아서 모아 봅니다.
(찾아 보는 것을 권합니다.)


아래의 nc(netcat)파일은 전송을 하는 하도록 하는 파일입니다.

위의 모든 파일들을 하나의 디렉토리에 넣어둡니다.
아래와 같이 메모장에 쓰도록 합니다.


그리고 ir_script.bat 파일로 만듭니다.
(파일을 저장할때 "ir_script.bat" 이라는 이름으로 저장을 해줍니다.)

실행파일들이 있는 곳에  ir_script.bat 파일을 넣어 줍니다.
commend 창을(시작, 실행, 실행창에서 cmd를 칩니다.) 
그리고 파일들을 모아둔 디렉토리로 이동을 합니다. 아래와 같이 실행을 합니다.

>> %date%.txt 라는 의미는 ir_scrip.bat 의 결과를 윈도상의 현재 날짜의 정보와 현재날짜를  txt 파일 이름으로 만들어라라는 의미 입니다.
아래는 실행결과 입니다.

위의 내용보다 더 자세한 정보를 모으고 싶을 때는 http://www.sysinternals.com/ 으로 접속하여 sysinternals suite 파일을 내려 받아 사용하면 됩니다.

이제 피해를 받은 컴퓨터의 정보를 분석할 컴퓨터로 옮기도록 해보겠습니다.

해킹의 피해를 받은 컴퓨터의 정보를 분석하기 위해서는 피해받은 컴퓨터에서 정보를 가지고 오는 것이 중요함니다. 위의 내용은 피해를 받은 컴퓨터의 정보를 모으는 것에 불과 합니다.
  
먼저 피해를 받은 컴퓨터에 위의 파일모두를 피해를 받은 컴퓨터에 넣어줍니다.
여기에서 사용되는 핵심파일은 nc(netcat)파일이며, 그리고 또 하나의 bat 파일이 필요합니다.
ir_script.bat 파일은 피해시스템을 분석하는 파일이며, 또 하나의 bat 파일은 nc파일을 이용하여 분석을 하기 위한 컴퓨터로 전송되게끔 하는 파일입니다.

또 하나의 파일을 start_script.bat 으로 만들겠습니다.
(파일을 저장할때 "start_script.bat" 이라는 이름으로 저장을 해줍니다.)

ir_script.bat 을 실행을 하겠다는 것이며, nc.exe 를 실행하여  분석할 컴퓨터의 주소로 12345 포트를 이용하여 전송 하겠다는 의미입니다.

먼저 분석할 컴퓨터에 아래와 같이 실행을 합니다.
실행을 먼저 하는 이유는 피해를 받은 컴퓨터에서 정보를 보내는 것을 받기위해 미리 준비하는 것입니다.


1) -w 10은 nc로 연결한 곳에서 10초 동안 아무런 입력이 없으면 접속을 끊으며,
2) -Lvp 12345는 12345 포트를 이용하여 접속을 하고, 그리고 접속이 끊겨도 계속해서 다른 연결을 기다리며(대문자 L),
3) -lvp 옵션은(소문자 l )  연결을 기다리다가 누군가 접속을 하고 그 접속을 끊어지 되면, 분석 시스템에서도 자동적으로 연결을 끊어버린다는 의미 입니다.

피해를 받은 컴퓨터에서 start_script.bat 또는 ir_script.bat를 실행하면 수집한 정보가 전송이 시작한다.

수집 전송이 되는 도중에 위의 그림과 같이 동의를 요구되는 파일들이 있다.
그런경우에는 Agree를 눌러준다.
Agree 를 누르기 귀찮으면 ir_script.bat 파일에서 창이 뜨는 명령어 부분에서 /accepteula를 붙여 줍니다. 그러나 /accepteula 를 붙여도 계속해서 뜨는 것도 있습니다.
ir_script.bat 를 적을 때 /accepteula 를 붙여 놓았습니다.

이제 전송이 되었는지를 확인을 해봅니다.

위의 그림과 똑같지만 크기가 다른다는 것을 알수 있을 것입니다.
아래의 그림은 전송된 파일의 내용입니다.

댓글