별이의 IT이야기/정보보안

[시스템해킹] LCP 툴을 이용한 SAM 파일사전공격

빅러닝 2012. 12. 7. 13:59
반응형

시스템 해킹 방법

- 물리적 해킹(훔치기) -> 패스워드 크래킹

- 자리를 비운사이에 -> 로컬 패스워드 훔치기 -> 백도어 설치

- 원격에서 해킹 -> 시스템 취약점을 이용한 해킹(보안 패치 안한 취약점) -> 악성코드/백도어 다운로드 시켜서 시스템 해킹

1) 공격자가 희생자 컴퓨터로 접속하는 방법
2) 희생자가 공격자 컴퓨터로 접속하게 하는 방법
(reverse attack 공격)

* 패스워드 해킹과 보안(패스워드 크래킹)

- 자신의 시스템에서 패스워드 인증구조를 가진 파일(사용자 계정 테이터베이스)
-> %SysemRoot%\system32\config\SAM

1. 자동으로 SAM 파일 위치 찾아서 패스워드 크래킹
-> 패스워드 크래킹 하는 방법

1) 무차별 대입으로 찾아주는 방법(OphCrack Live CD)

2) 이전에 설정된 패스워드 삭제 (HirenBootCD LIve CD)

- 시스템에 로그인 암호 등이 설정된 경우 시도함
- HirenBootCD live CD을 이용하면 쉽게
윈도우 패스워드를 크래킹 할 수 있음(반 자동화됨)


패스워드 크래킹

(1) cmd 창에서 유저 생성

>net user korea korea /add

이후 로그아웃, 유저 생성 확인 후 시스템 종료

(2) Hiren's BootCD.9.8 시디 삽입

(3) start BootCD 선택

(4) 3번 패스워드&레지스트리 툴 선택

(5) 1번 선택

(6) 2번 선택

(7) 저장하고 reboot

방금 생성한 korea가 7번항목에 있는 것이 보인다

7번선택해서 재부팅하면 크랙이 깨어지고 로그인 가능

2. 윈도우 시스템 인증 구조 및 계정 관리

- LSA : 모든 계정의 로그인 검증, 시스템 자원 및
파일 접근 권한 검사, SRM이 생성한
감사 로그 기록하는 역할
(레지스트리 키값)
regedit->HKLM->System->CurrentControlSet->
Control->LSA


- SAM : 사용자/그룹 계정 정보에 대한 데이터베이스를 관리 사용자의 입력 정보와 SAM 정보를 비교하여 인증 여부 확정

- LM(Lan Manager) : 윈도우에서 가장 약한 인증 알고리즘

-> 네트워크를 통해 시스템에 접근시 인증을 체크하는 알고리즘
-> 98의 공유 폴더(공유암호) 이것땜에 98빨리 사라짐

- NTLM v1 : LM보다 안전하게 설계된 인증 알고리즘
-> Challenge/Response 방식 적용, 물어보면 응답

- NTLM v2 : xp/2000이상에서 사용하는 인증 알고리즘

- SRM : SAM이 사용자의 계정과 패스워드가 일치하는지를
확인하여 SRM에게 알려주면
SRM은 사용자에게 고유의 SID(Security Identifier)부여
SRM은 SID를 기반하여 파일이나 디렉토리 접근제어를
하게 되고 이에 대한 감사 메시지를 생성함

SID
- S-1 : 윈도우 시스템임을 말함
- 5-21 : 도메인 컨트롤러이거나 단독 시스템임을 표시
- 시스템의 고유한 숫자
- 각 사용자별로 표시되는 숫자
500 => 관리자
501 => Guest계정
1000 => 일반 사용자 계정

** 보안이 취약하면 null session과 user2sid를 이용하여
사용자 자원 목록화
접근: net use \\ip\ipc$ "" /u:""
목록화: user2sid \\ip administrator

** 윈도우 시스템의 가장 큰 취약점

-> 관리자적 공유(숨김 공유)
-> admin$, c$, d$, print$등
c:\> net share, 컴퓨터 관리-공유

접근방법--> 시작->실행->\\ip\공유폴더이름(UNC 경로명)
cmd창, 디렉토리 창에서도 실행가능 보안 업데이트 안되어있다면 다 뚫린다.

net share, net view등으로 확인

* NULL Session 해킹 기법
net share 시
- IPC$(internet process communication)
Inter Process Call
- MS 컴퓨터끼리 통신하는 프로세스

접근방법--> \\ip\ipc$ 암호 사용자이름

\\ip\ipc$ "" /user:""
널로 암호, 사용자이름 접근하여 공유된 폴더 정보 볼수 있음

=======================================================

- xp 서비스팩 2까지 적용 되었던 기술

net view : 공유된 폴더

- \\ip\ipc$ "" /u:""
- net view

ex) \\192.168.102.10\ipc$ "" /u:""
net view \\192.168.102.10

SRM : SAM이 사용자의 계정과 패스워드가 일치하는지를 확인하여 SAM

** 보안이 취약하면 null session과 user2sid를 이용하여 사용자 자원 목록화

접근 : ent use \\ip\ipc$ "" /u:""
목록화 : user2sid \\ip administrator


희생자에 icesword

실행 - 파일 - c:\windows\system32\config\SAM 파일 바탕화면으로 카피


공격자에는 lcp504en.exe 설치

korea계정이 아까 실습으로 크랙되었기 때문에 제어판-사용자계정에서 korea의 암호 및 관리자 계정으로 변경 후 SAM 파일 다시 복사 xp로 복사 - LCP실행 - Import에서 SAM파일 불러오기 - 재생버튼으로 공격!! - 암호 크래킹 성공(비번을 강도를 좀 쎄게 걸어놨더니 한시간 넘게 걸림 ㅡㅡ)


** 윈도우 패스워드 구조
- 패스워드 길이에 관계없이 8바이트가 하나의 블럭을
형성함.
- 이중 1바이트는 패스워드 블록에 대한 정보 저장하고
나머지 7바이트가 실질적으로 패스워드 문자열 저장함
(7 문자열이 하나의 블럭)

즉 qwer1234 패스워드 일 경우
패스워드 블럭1 : qwer123
패스워드 블럭2 : 4

* 원격에서 SAM 파일 덤프하여 크래킹
- pwdump3 유틸과 LC 유틸 이용하여 크래킹

C:\>pwdump3 \\원격ip outfile 계정
pwdump3 \\192.168.44.111 sam_file administrator
단점: administrator의 암호를 알고 있어야 함.

** *nix 계열, ms 계열의 패스워드를 무차별 대입하여
크래킹하는 유틸 - Joth the ripper


시나리오

공격자 희생자
iceSword를 이용하여 sam 파일 복사

LC4 를 이용하여 크래킹
Cain & Abel 등을 이용하여 크래킹하여
패스워드 값 추출 가능.


** 원격에서 무차별 대입 공격으로 시스템 해킹
시나리오
- redhat9 시스템의 telnet 서버를 무차별 대입공격으로
공격하여 패스워드 추출하여 로그인 시도

web cracker 4.0
brutus-AET2 *


(5)

그래서 루트 권한을 획득하기 위하여 현재 커널 버전을 확인후 (uname -a) 현재 커널의 보안 취약점을 이용하여 루트 권한 획득

-> http://www.exploit-db.com
커널 버전을 검색한후 취약점 코드를 찾아서 소스 코드를

** 윈도우 시스템 보안 패치 안한 컴퓨터 해킹

시나리오
- xp 사용자가 보안 패치를 하지 않고 시스템 이용하고 있음.

공격자 -bt4

희생자 - xp(IE-Aurora)
MS978207 취약점을 패치 안함 - 프로그램 추가/제거에서 확인


- 네트워크 설정
#dhclient eth0

- /pentest/exploits/framework3
-# svn update

* 취약점의 쉘 코드를 이용하여 직접 시스템을 공격함
- 모의해킹툴을 이용하여 공격할수도 있음.
=> Metasploit Framework, canvas, core impact

- SAM 파일 경로 확인 및 바탕화면으로 내보내기

- LCP 툴을 이용한 SAM 파일 사전공격, 무차별 대입 공격 시도 직전