티스토리 뷰

침투 테스트 = Penetration Test (PenTest)

 

⇒ 취약점 진단 & 컨설팅 (모의해킹은 컨설팅의 일부 보고서가 중요)

 

 

한국에서는 시스템X 네트워크X(방화벽, 네트워크 솔루션이 많이 있기 때문에 회사 내부적으로 진단 많이 함) 보통 웹서비스 대상으로 진단 à OWASP TOP 10 / 행안부 43가지

 

두 가지 모두 가이드에 나오는 하나하나 가지고는 진단

각 웹서비스마다 동작하는게 달라서 특정 취약점이 있던 말던 회사에 영향에 끼치지 않는 경우 그냥 넘어갈 수도 있음

⇒ 매번 새로운 웹사이트를 진단하면 새로운 가이드가 나오는 것

 

보고서에는 찾았다가 목적이 아니고 찾았으니 이것이 회사에 어떤 영향이 있을것이다(가상의 시나리오)” 쓰는 것이 목적

 

IoT 사물인터넷 취약점 진단을 갑자기 들어가게 된다면?

어떤 드라이버를 쓰는지 어떤 칩셋을 쓰는지에 따라 다 다를지도 모를 일

사물인터넷에 대한 준비 필요 (사물인터넷은 가이드가 없지만 스스로 조사를 해보는 것이 필요)

 

IT issues + scenario + techniques + guide ⇒ 취약점 진단, 모의해킹

 

어떻게 접근해야 하는가는 블랙해커의 입장이 되어봐야 하므로 it 뉴스를 많이 보며 습득해보도록 한다

해외 언론사들 보면 기발한 범죄 아이디어가 넘쳐남! (국내 보안언론사는 한정되어있으므로)

10군데 회사 중에 실제 4군데 정도는 먹히는 아이디어들이!

또는 트위터, 페이스북 등 소셜 미디어를 통해 접할 수 있음

 

눈에 보이지 않는 것도 생각해보고 취약점 진단하기

-       쇼핑몰 : 배송비에 마이너스값을 넣어서 돈 덜 내기(배송비 무료라고 적혀있다고 해도 파라미터는 0이 들어갈 수 있기 때문), 구매하기 버튼의 파라미터 100개중에 한 개만 조작해도 먹힐 수 있음, 적용 가능 쿠폰..

-       Hts 주식거래 : 타인의 명의로 접근하는 취약점이 실제로 발견됨

BUT 쇼핑몰, 주식거래 해본 적이 없다면 볼 수 없음 그냥 경험이라도 해보는 것이 필요

특히 워드프레스를 직접 구축/사용해보아야 함!

CMS 관리 점유율에 80~90퍼센트가 워드프레스!

서울시청 및 금융권과 대기업들도 워드프레스 기반

 

 

사이버 공격기법 지능화, 복합화





일반적인 해킹 형태

 

1.     공격자가 취약한 웹서버1를 공격해서 서버 관리자 몰래 악성코드를 숨겨놓음

2.     웹서버2에 게시판에 악성글 게제 : 글 내용에 악성코드가 있는 취약한 웹서버1의 링크를 연결

3.     공격자가 감염시킬 pc들을 찾아서 메일을 보내거나 게시판에 악성 글 게시

4.     웹서버2의 이메일 열람과 게시글 열람

5.     웹서버2가 인터넷 이용자(봇넷: 악성코드에 감염된 좀비 PC)에게로 악성코드 전송

6.     악성코드에 감염된 pc는 좀비pc가 되어 사용자 몰래 공격자에게 자동으로 연결된다

7.     좀비pc의 개인정보와 현금화가 가능한 중요자료들을 유출 또는 디도스

8.     디도스 공격 시도 (서버에 과다 접속으로 서버 접속장애 발생)

9.     금품요구 및 사이버 범죄에 이용

 

아이핀의 아이디와 비밀번호가 거래될 정도로 우리 정보가 거래되고 있음

좀비 pc들도 거래됨




 

해킹 유형

 

XSS, SQL Injection, DDoS, ARP Spoofing, Session Hijacking & Side Jacking(스니핑 공격), APT

è  스니핑 공격을 통해 세션 값으로 예전에는 다른 사람 페이스북까지 들어갈 수 있었음!

이런 세션정보를 보안하기 위해서 개인정보 수정 시 한번 더 로그인 해달라고 하는 것

 

APT 가장 중요! 원데이, 제로데이 취약점 가장 많이 활용

Deep web 에 제로데이 취약점 거래 VS 신고하면 bug hunting

1.     정보수집 : 8개월~1년이상 à 사회공학이 많이 포함되며 오래 걸림 친분을 쌓아야 하므로! 동호회, 자주가는 곳 시간대별로 가서 만나기, 친해지기, 우연히 가장해서 usb에 음악파일 선물로 주거나 동호회 일정 파일이라던가에 악성코드 심기 / 아예 공격자가 회사 앞에서 악성코드 심겨진 usb 공짜로 준다고 가판대 차려서 나눠준 연구 사례도 있었음 / usb를 그냥 회사에서 사람 안볼 때 그냥 흘려놓으니까 15프로만 회수되고 75퍼센트중 5퍼센트는 발전소 외 사람, 나머지 70퍼센트는 발전소 직원들이 사용했다는 연구사례도 있음 ⇒ 망분리가 되었다고 보안되어있다고 생각하면 절대 안됨!!

2.     침입 : 내부 네트워크에 침입 3개월

3.     C&C 서버 통신 : 6개월

4.     확산

5.     데이터 접근

6.     데이터 유출 à 데이터 접근과 유출은 보통 3~6개월 짧게

 

유포지가 C&C서버로 활용하려면 만명이상의 하루 방문자가 있어야 함

그냥 탈취한 서버를 계속 갖고 있고 싶다고 하면

쇼단이라는 웹서비스를 활용하기도 함

쇼단(Shodan)이란 무엇인가?

쇼단을 정의하자면검색 엔진에 가깝다고 할 수 있다.

다만 일반적인 Search Engine처럼 웹사이트의 정보를 가져오는 것이 아니라

라우터, 스위치, FTP, 특정 웹 서버(Apache, IIS )에 대한 정보를 수집하고 그 결과를 보여준다.

 

국내 yes24에서 작년에 악성코드를 세번이나 유포함

밤 열한시/새벽 두시부터 오전 출근하기 전까지 유포 (딱 해당 사이트 관리자가 일 안하는 시간) 후에 공격자가 악성코드 지워줌





실습 환경 구축

 

공격 도구 : 칼리 리눅스 1.0.9 64비트

https://www.offensive-security.com/kali-linux-vmware-arm-image-download/

 

 

공격 대상 : 윈도우 서버 2003 쇼핑몰

 

테스트 환경 : Metasploitable, DVL, 가상이미지들, 도구들 Metasploitable V2 리눅스 사용할것

http://sourceforge.net/projects/metasploitable/files/Metasploitable2/metasploitable-linux-2.0.0.zip/download




 

패스워드 크래킹

 

전세계 사람들이 자주쓰는 패스워드 순위를 구글링만해도 쉽게 알 수 있음

Dictionary Attack(사전 대입 공격) : 테이블 데이터베이스 (숫자 몇자 조합, 글자 조합 리스트 만든 파일)

Brute Force Attack (무차별 대입 공격) :

Guessing Attack (추측 대입 공격) : 그냥 때려 맞추기 (옆에서 보니까 키보드 어느 부분 누르더라 같은 것)

 

해외에서는 그래픽 카드를 이용해서 크래킹 함 à 16자리 기호+숫자+문자 섞여도 몇분만에 성공

병렬로 연결한 그래픽 카드 (150만원짜리 *  8)

 

레인보우 테이블을 이용한 공격

사전 파일처럼 레인보우 테이블을 만들어놓고 공격

대용량으로 생성될 수 있는 해시 테이블을 R(Reduction)함수를 이용해 작은 크기로 줄이는 것

많이 사용하는 편은 아님

 

Salt

해시나 암호화로 패스워드 저장 à 같은 패스워드는 같은 해시값, 같은 암호문으로 저장

같은 해시 결과나 같은 암호문으로 크랙이 가능하게 되므로

이런 상황을 막기 위해 패스워드 해시와 암호화에 사용되는 첨가물의 일종

운영체제별로 다양한 알고리즘 존재

 

 

가장 흔하게 구할 수 있는 패스워드 사전 파일은 구글에 crackstation 검색

https://crackstation.net/buy-crackstation-wordlist-password-cracking-dictionary.htm

 

크랙 도구

-       findmyhash : 온라인 상에 저장된 해시값을 찾음 - 칼리 리눅스에서 도구 이름 그냥 쳐도 다 나옴! 사용법, 옵션들 등

-       johntheripper : 유닉스 계열 크래킹 도구이지만 도스,윈도우 등의 플랫폼 지원, 콘솔환경에서 실행됨

-       xHydra (그냥 Hycra는 콘솔창에서 명령어와 옵션주고 했지만 칼리에서 gui화됨) : id까지도 리스트에서 찾을 수 있음 BUT 원래 콘솔에서는 어떤 옵션값으로 이걸 검색할 수 있게 되는건지도 알 필요가 있음 몇몇 칼리 도구 gui들은 하단에 명령어가 어떻게 조합되는지 알려주기도 함

metasploitable 텔넷 대상으로 하면 크랙 될 것

msfadmin 패스워드 같은..

-       cupp 이용한 사전 파일 생성 : 생일과 이름과 닉네임 같은 정보로부터 패스워드를 조합하여 유력한 패스워드 사전 파일 생성

 

 




스캐닝 기술


서비스를 제공하는 서버의 존재 여부와 해당 서버가 제공하고있는 서비스를 확인하는 것

 

Ping : 네트워크와 시스템이 정상적으로 작동하는지 확인 (ICMP 사용)

Type  0 : echo reply

3 : Destination Unreachable

5

8

11

13

이것만 기본적으로만 알고 있어도 됨

 

포트 스캔 : 포트가 열려있는지에 대한 확인으로 포트가 열려있을 때 해당 시스템이 활성화

-       TCP Open Scan : 열린 포트에 대해 완전한 세션 성립 (쓰리웨이 핸드 셰이킹)

-       Stealth Scan : 세션을 완전히 성립하지 않고 시스템 포트 활성화 여부만 체크

-       FIN, NULL, XMAS Scan : 포트가 닫힌 경우에만 응답

스텔스 스캔이 로그기록이 덜 남음 (세션을 완전히 성립하지 않기 때문에)

-       UDP Scan : UDP패킷이 네트워크를 통해 전달되는 동안 라우터나 방화벽에 의해 손실 될 수 있기 때문에 신뢰하기 어려움

 


Nmap : 네트워크 대역의 모든 호스트 정보 및 서비스 정보를 파악하고 지속적인 모니터링을 할 시에 유용하게 사용

NSE : Lua 기반의 스크립트 언어를 이용하여 NFS, SMB, RPC등의 상세한 정보 수집, 다른 네트워크 대역의 백도어 설치 여부, 취약점 여부 판단 가능

vulscan 디렉토리 안에 cve.csv 등과 같은 스크립트가 있음

 

Zenmap : Profile에 등록되어 있는 대표적인 스캔 방식을 선택하면 옵션이 자동으로 설정, 여러 대상 호스트를 스캔 작업 하고 난 뒤에 이력관리를 하기에 매우 편함

설치 디렉터리가 한글로 표기될 시에는 에러 발생되니 주의

 

*Nmap 개발자 페이지에서 주요 모듈 및 스크립트 매월 마다 업데이트 되는지 확인, 여러 포럼과 커뮤니티에 쓰인 Nmap의 정보를 업무에 활용할 수 있음

댓글
댓글쓰기 폼