모의 해킹 전반적인 로드맵

 

기초해킹에 관련된 다양한 정보 수집과, 그 정보를 바탕으로 한 기본적 공격. 그리고 그 과정에서 다양한 경험을 습득할 수 있는 전반적인 흐름입니다.

당장 이해가 어려워도, 코스를 돌고 다시 이 글을 본다면, 거대한 흐름이 조금은 느껴지리라 생각합니다

 

 

1. FootPrinting ( 풋 프린팅 )

- 백과사전 : 해킹 시도 대상의 관련 정보를 수집하는 사전 작업. 침입하기 위한 보안상 취약점, 도메인 이름, IP 주소, 침입 탐지 시스템 설치 여부, 사용자 목록, 시스템의 하드웨어 사양, 사용 중인 네트워크 프로토콜, 인증 메커니즘 등의 정보 수집을 말한다.

 

해킹을 시도하려면, 시도할 대상. 목적지에 대한 정보를 수집해야 합니다.

대상의 서버 OS, 버젼, IP 정보 등을 통해, 해당 버젼에서 취약한 해킹 공격 방법 등의 목적을 수립할 수 있고, 해킹 성공 확률을 높여주게 됩니다.

 

비기술적 정보수집 - Social Engineering ( 사회적, 내부공모, 인맥, 대화 정보수집 )

기술적 정보수집 - Scanning 이라고 정의합니다.

 

 

가장 기초적인 정보수집 - 구글 해킹 기법

공격하고자 하는 서버의 종류/버전/네트워크 DNS 서버명 등을 탐지할 있습니다.

고급 검색 명령어를 통해, 기초적인 보안과정을 거치지 않은 다양한 사이트와 서버들의 정보를 습득할 수 있습니다.

 

해당 DNS 서버의 기본적인 구조 파악

Whois

Dig

Nslookup

 

그외

Zone transfer -> DNS Brute forcing 공격 기법  

 

2-1. 스캐닝 ( Scanning )

 

목표 네트워크에서 "실제로" 동작중인 시스템의

IP,OS,PORT,Service ,Version 등을 탐지하는 과정입니다.

 

  1.Active host scanning - 호스트(IP) 생사 유무를 탐지합니다.

Ping ( hping )

Nmap

Nmap 다용도 정보수집에 활용가능하다.

 

  2. 살아있는 호스트 탐지(Port 열려 있는지 유무) - 접근

 --> Port scanning

TCP Full Connect Scanning

TCP SYN Connect Scanning

TCP FIN Connect Scanning

X-Mas scanning

 

위의 방법은 공격자 직접접근이라 역추적 우려가 있습니다.

그럴 경우, IDLE Scanning 이용합니다.

 

3. Vulnerability Scanning : 취약점 스캐닝

  --> 시스템의 취약점을 찾고 공격합니다.  -

  --> Firewalking

( 방화벽 등의 설치로, 접근이 힘든 경우 )

  1) traceroute

  2) firework

  3) Banner grubbing

 

3. Enumeration ( 목록화, 권한 상승 단계 )

사용자 이름이나, 패스워드, 공유하고 있는 네트워크 자원이나 , 서비스 등을 알아내는 것을 의미.

주로 목적 타겟의 직접적인 연결을 통해 이루어집니다.

상대방의 권한을 습득하고, 원격으로 제어하거나 조작, 설치 등의 행위가 가능합니다.

 

(1). Null session ( Win 2000 이하에 통할 있는 기초적 개념 )

-> NetBios 라는 Windows 의 통신 프로토콜의 보안상 헛점 이용

 

(2). Brute Forcing ( 무차별 대입 ) - Cain & Abel Program

-> Dictionary Attack 등으로 병행.

 

(3). Tunneling ( SSH , HTTP )

-> 침투 후 원격 레지 조작으로 telnet을 위한 원격 service 등의 강제 구동이 필요.

 

SSH - 오리지널 패킷을 방화벽에 터널 뚫어서 다이렉트 연결

암호화된 패킷 직접전달이므로 악성코드 탐지에 걸리지 않습니다.

 

1) Local 터널링 - 피해자의 방화벽 안쪽에 SSH 서버역할을 하는 경유지 설치

공격자가 클라이언트 역할. SSH 서비스의 관리자 권한 요구.

방화벽에서 포트가 열려 있어야 합니다.

 

2) Remote 터널링 - 공격자가 서버역할, 방화벽 내부의 경유지 서버가

클라이언트 역할 -- 리버스 기법이라고 합니다.

( 내부에서 바깥으로 패킷을 내보낸다 )

내부 경유지 서버의 PC 제어해야 하는 선결조건.

( plink 등의 클라이언트측 설치가 필요 )

 

내부의 리버스 클라이언트에 설치하거나, 추후 연결통로를 위해

Backdoor 만들고, 설치하여, 차후 침입을 용이하게 만듭니다.

 

3) Backdoor -> SFX

MS08-014 ( 2003 이전 )

- 원격접속 프로그램류 -> RAT(Remote Administration Tools)

- R-Admin(로컬터널, 피해자 서버역할, 공격자 클라이언트, 피해자의 방화벽 포트 개방 요구) , VNC(리모트 터널류, 리버스 커넥션 기법, 방화벽이 있는 경우, callhome 의해 공격자의 흔적이 피해자의 내부에 남는다)-> Wollf ( 공격자가 웹서버 경유지를 만들어서 그곳에 자신에게 통하는 .txt 파일을 만들어, 피해자가 웹서버로 접속한 경유하도록 만들어, 자신의 정보가 직접 피해자의 서버에 남지않게 한다 )

 

4) 로그정보 지우기 - Covering track

 

 

윈도우즈

  • 감사정책 해제시키기 : secpol.msc
  • 로그 삭제 : eventvwr.msc
  • 감사정책 다시 활성화

 

백도어 은닉화 - ads 영역 ( Meta data - Binary ) - 실제동작 -> 링크

 

NTFS 4, 5 시스템은 ADS 영역이 존재합니다. ( 일반적으로 접근불가 )

용량 영역 검색불가 용량 비할당 영역

[ 일반 디스크 영역 ] [ 접근불가 ads 영역 ]

|----------- 링크 ----------------|

file : file

type 리다이렉트 : ads 영역 링크 가능

start 링크파일로 ads 영역 실행 가능.

ADSspy 등으로 영역 탐지 가능.

 

 

리눅스

  • 감사정책 해제 : syslog 서비스 데몬 비활성화
  • 로그정보 수정/삭제 : /var/log/messages , secure, lastlog
  • history 삭제작업 ( 히스토리 삭제 /dev/null 심볼릭 링크로 연결 )
  • 감사정책 다시 활성화.

 

 

이하의 방법들은 네트워크의 보안이 무력화된 , 또는 없는 상태에서

사용가능한 기법들입니다. 현재의 대부분의 간단한 백신에게도 탐지되는 툴들이 많습니다. 다만 지금까지 방법으로, 해킹의 전반적인 개념과 방식을 이해할 있었다면 훌륭한 기초해킹 과정을 마쳤다고 보시면 되겠습니다.

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,

Vmware 의 기본 VMnet1 번 host-only 로 내부단 아이피를 구성한 후라도 언제든지 VMnet8 어댑터로 변경 후 네트워크 재시작 DHCP 할당으로 외부 인터넷을 연결가능합니다.

하지만 그렇게 NAT-DHCP 임대를 받아도 재부팅을 하면 원래의 네트워크 데몬의 환경설정 파일의 상태로 돌아가겠죠.^^

하지만 재부팅마다 초기화되는 네트워크 아이피 지정이나 설정을 환경설정 파일에서 지정하면 편리합니다.

 

백트랙 서버 : 172.16.1.2

CentOS 서버 : 172.16.1.53

winnt 2000 : 172.16.1.100

XP : 172.16.1.1

로 수동 설정해주시고 서로간 내부 Ping 이 통하는지 테스트도 거치시기 바랍니다.

반드시 가상머신 우측 하단의 트레이 아이콘에 네트워크 어댑터에 파워 들어와있는지 확인해 주시구요 ^^

 

[ Backtrack R3 서버의 네트워크 환경설정 ( Ubuntu ) ]

/etc/network/interfaces  를 편집기로 엽니다

첫 랜카드는 보통 eth0 입니다

auto eth0
iface eth0 inet static
address 172.16.1.2
netmask 255.255.255.0

dhcp 설정을 지우고

등의 내부단 아이피로 static 지정하시면 됩니다.

 

 

[ Cent OS 서버의 네트워크 환경설정 ( Redhot ) ]

/etc/sysconfig/network-scripts/ifcfg-eth0 을 편집기로 엽니다.

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:b4:40:9e
IPADDR=172.16.1.53
NETMASK=255.255.255.0

비슷하게 dhcp 를 static 으로 바꿔주고 아이피와 넷마스크를 적으면 됩니다.

브로드캐스트나, IPV6 금지 설정이라던지 다양한 옵션이 많지만, 차후에 심화때 다루도록 합니다.

 

[ Windows 의 네트워크 환경 설정 ]

실행 - ncpa.cpl 입력하여 네트워크 환경 접속.

아이콘 오른쪽 클릭 - 속성 - TCP/IP 프로토콜의 속성 정보에 접속

IP를 직접 지정해 줍니다. 서브넷 마스크는 /24 (255.255.255.0)로 설정.

 

 

윈도우즈는 수동 설정시 기본적으로 바로 적용되지만, DHCP 등의 기타 경우에는

실행 - CMD - ipconfig /release 후 ipconfig /renew 로 다시 받아오시면 됩니다.

( 장치에서 수동으로 아이피 지정하신 경우는 다시 받아오기가 안 됩니다 ^^ )

 

 

리눅스는 설정후 네트워크 데몬 재시작을 잊으면 안 됩니다.

리눅스는 네트워크 뿐이 아닌, 환경설정 후의 데몬 재시작은 공통사항입니다.

service 가 아닌 직접접근 재시작

Backtrack = /etc/init.d/networking restart

Cent OS - /etc/rc.d/init.d/network restart

 

 

 

 

 

 

 

블로그 이미지

늙은M군

개인 저장공간입니다. 해당 일부 과정들을 공인 인터넷 환경에서 악성적으로 응용할 시 피해가 발생할 수 있으며, 그에 대해 책임은 사용자에게 있습니다!! 주의해주세요.

,