본문 바로가기

Hacking

레일건 부가 기능으로 윈도우 API 조작하기 패트릭 HVE가 작성한 메타스플로잇의 레일건 부가 기능을 호출하면 직접 윈도우 API를 사용할 수 있다. 메타스플로잇 프레임워크에 레일건을 추가하면 미터프리터를 통해 모든 윈ㄷ우 API를 호출 할 수 있다. 예를 들어 다음과 같이 미터프리터를 이용해 대화형 루비 쉘을 얻어 낼 수 있다. IRB 쉘은 루비 기반의 문법을 이용해 직접 미터프리터와 통신한다. 다음은 레일건을 호출하고 간단하게 메시지를 띄우는 팝업 상자를 만든 사진이다. * 레일건은 윈도우 API의 모든 접근 권한을 갖고 있으므로 WIn32 애플리케이션과 동일한 기능을 수행할 수 있다. 더보기
미터프리터 명령어 외부의 다양한 미터프리터 스크립트는 미터프리터 쉘 내에서 미리 정의된 작업을 수행하거니 시스템을 살펴보는데 도움이 된다. 본 포스팅에서는 유용한 몇 가지만 살펴본다. VNC 사용, 대상 시스템 GUI 얻기 1번째 사진처럼 "run vnc" 명령어를 통하여 2번째 사진처럼 대상 시스템의 GUI 그래픽 환경을 얻을 수 있다. Migrate 작업 시스템을 공격해 IE와 같은 서비스를 악용할 때 대상 시스템의 사용자가 브라우저를 닫으면 미터프리터 세션도 함께 닫히게 되며, 세션이 끊어진다. 따라서 이런 문제를 해결하기 위해 포스트 익스플로잇 모듈을 Migrate(이주)할 수 있다. 더 안전한 프로세스로 이주하면 프로세스가 죽지 않고 시스템과의 연결을 계속 유지할 수 있다. Anti Virus 무력화 Anti V.. 더보기
권한 상승 공격 대상 시스템인 Windows XP(실습은 XP진행, Windows7도 가능)에서 다음 명령을 실행한다. 유저명 : test test 비밀번호 : password123 를 가진 계정을 생성한다. 다음으로 payload.exe라는 미터프리터 기반 페이로드를 생성하고 이것을 대상 시스템에 복사한다. tcp를 이용하여 reverse connection 연결하도록 하는 "reverse_shell.exe"라는 파일을 생성한다. 이 파일을 실행하면 192.168.0.2의 1234포트에 연결된다. 물론 여기서 192.168.0.2는 공격자의 IP이다. 그리고 사용자 계정인 test로 로그인하여 실행한다. 실행하면 다음과 같이 meterpreter 쉘이 떨어지고 여기서 "shell" 명령을 이용하면 대상 (XP) .. 더보기
패킷 인젝션 패킷 인젝션이란, AP에 연결돼어있지도 않은 상태에서 임의의 패킷을 유발하는 것을 말한다. 패킷 인젝션이 되면, 와이어샤크 등에서 볼 때 별 의미없는 데이터가 담긴 잉여 패킷을 많이 보게 된다. 그러나 차후 WEP 방식의 무선 암호 알고리즘을 크랙할 때 반드시 필요한 방법이다. 본 포스팅은 간단히 패킷 인젝션을 하는 방법만 실습한다. 1. 와이어샤크를 실행한 후 필터로 " (wlan.bssid == 00-26-66-12-cc-9c) && !(wlan.fc.type_subtype == 0x08)" 을 한다. 이 필터를 적용하면 트워크에서 비콘을 제외한 모든 패킷을 볼 수 있다. 2. 터미널 창에서 명령어 "aireplay-ng -9 -e "Anonymous" -a 00-26-66-12-cc-9c mon0".. 더보기
데이터 패킷 스니핑 AP를 다음 기준에 맞게 설정한다. AP 이름은 마음대로 (여기서는 "Anonymous") 개방 모드 암호화는 하지 않음 SSID 공개 AP에서 오가는 데이터 패킷을 스니핑하려면 무선 랜 카드를 AP와 동일한 채널로 고정해야 하기 때문에, AP가 동작중인 채널을 다음과 같은 작업으로 확인한다. Anonymous AP가 채널 9번에서 동작 중인 것을 확인할 수 있다. 이제 무선랜카드를 채널 9로 고정한다. 위의 사진에서 채널은 주파수(Frequency)로 확인할 수 있는데, 채널별 주파수는 다음과 같다. 채널 주파수 1 2.412 GHz 2 2.417 GHz 3 2.422 GHz 4 2.427 GHz 5 2.432 GHz 6 2.437 GHz 7 2.442 GHz 8 2.447 GHz 9 2.452 GHz.. 더보기
무선 패킷 스니핑 및 프레임 분석 Kali Linux(이하 칼리) 내에서 와이어샤크를 실행한다. 실행이 되면 Capture > Interfaces 메뉴를 선택한다. mon0 인터페이스를 체크하고 Start 버튼을 눌러 패킷 캡처를 시작한다. 위의 사진에서 보다 싶이 약 3분간 캡쳐된 패킷의 수는 26932개이다. 일일이 분석하는 것은 시간적 낭비이므로 의미있는 패킷만 추려내는 작업(정규화)이 상당히 중요한데 여기서 사용할 수 있는 것이 바로 와이어샤크의 필터 기능이다. 1. 필터창에 "wlan.fc.type == 0"을 입력하고 Apply 버튼을 입력하면 캡처된 패킷에서 관리 프레임만 추출할 수 있다. 동일한 방법으로 제어 프레임은 숫자를 1로, 데이터 프레임은 2로 수정하면 볼 수 있다. 2. "wlan.fc.subtype" 필터를 사.. 더보기
모니터 모드 무선 랜카드를 모니터 모드로 설정하면 해당 랜 카드로 전송도지 않는 프레임을 포함해서 주변의 모든 무선 프레임을 수신할 수 있다. 이를 무차별 (또는 promiscous) 모드라고 한다. 무선 랜카드를 모니터 모드로 바꾸는 방법은 다음과 같다. 1. 우선 무선랜카드가 인식되어 사용이 가능한 상태인지 확인한다. * 노트북에서 VMWARE, VirtualBox 등 별도의 가상화 제품 내에서 구동되는 Kali Linux(혹은 백트랙)의 경우 노트북 자체 랜카드를 인식하지 못한다. 따라서 멀티부팅을 하거나 별도의 USB 랜카드를 사용해야 한다. 2. 무선랜카드를 활성화 한다. *2번째 줄에서 UP이 보여야 한다. ( UP BROADCAST ~~~ ) 3. airmong-ng 유틸리티를 사용하여 무선 랜 카드를 .. 더보기
무선랜의 프레임 1. 관리 프레임 관리 프레임은 액세스 포인트(이하 AP)와 무선 클라이언트 간의 통신을 유지하는데 사용된다. 관리 프레임의 하위 타입은 다음과 같다. 인증 인증 해제 결합 요청 결합 응답 재결합 요청 재결합 응답 비콘 프로브 요청 프로브 응답 2. 제어 프레임 제어 프레임은 AP와 무선 클라이언트 간의 적절한 데이터 교환을 보장해주는 역활을 맡는다. 제어 프레임의 하위 타입은 다음과 같다. 송신 요청 송신 가능 승인 3. 데이터 프레임 데이터 프레임은 무선 네트워크에서 실제 데이터를 운반한다. (하위 타입은 없음) 더보기
잘못 설정된 MS SQL 서버 찾기 네트워크에 잘못된 설정 정보를 가진 마이크로소프트 SQL (이하 MS SQL) 서버 시스템이 있다면 초기 공격 대상이 될 수 있다. 사실 마이크로소프트 비주얼 스튜디오 같은 일부 S/W에는 MS SQL 서비스 설치 옵션이 제공되고 기본으로 체크되어 있기 때문에 시스템 관리자들이 모든 서버 시스템에 설치된 MS SQL 서버를 인지하는것은 상당히 어렵다. 이렇게 설치된 MS SQL은 자주 사용되지도 않고, 패치도 하지 않으며 설정 또한 취약하다. MS SQL을 설치하면 기본적으로 TCP 1433번 / 동적 TCP 포트로 응답을 대기하는데, 만약 동적 포트로 대기중이라면 간단힌 UDP 포트 1433번으로 신호를 보내 MS SQL이 대기 중인 동적 TCP 포트를 확인할 수 있다. 이 작업은 메타스플로잇 프레임워.. 더보기
타켓 스캐닝 - 서버 메시지 블록 스캐닝 메타스플로잇의 smb_version 모듈을 이용해 네트워크를 탐색하면 윈도우의 버전을 확인할 수 있다. 스캔 결과 192.168.0.4의 IP를 가진 컴퓨터는 Windows XP SP3 한글판이라는것을 알 수 있다. Windows7의 경우 방화벽에서 자체적으로 139 & 443 포트를 막고 있기 때문에 아무런 결과가 나타나지 않는다. 그러나 방화벽을 풀 경우에는 위와 같이 스캔 결과가 나타난다. 더보기
고급 nmap 스캔 : TCP Idle 스캔 TCP Idle 스캔은 네트워크에 있는 다른 호스트의 IP 주소를 스푸핑해 은닉 상태로 대상을 스캔할 수 있다. 스캔을 수행할 때 IP 헤더의 ID 필드(패킷 순서를 맞추는 데 사용)의 증가를 고려해야 하므로 네트워크에서 트래픽 전송이 없는 시스템을 찾아야 한다. 트래픽이 발생하지 않는 시스템을 이용하면 IP ID를 예측할 수 있고, 다음 ID로 무엇이 사용되는지도 예측할 수 있다. 스캔을 진행하는 동안 스푸핑으로 인해 대상 시스템의 열린 포트에서 오는 응답을 수신할 수 있으며, 열린 포트를 발견할 때 수신된 패킷의 IP ID 시퀀스 변화를 통해 열린 포트를 식별 할 수 있다. TCP Idle 스캔은 프레임워크의 scanner/ip/ipidseq 모듈을 사용한다. 위 목록은 ipidseq 스캔이 요구하는.. 더보기
nmap 예제 (Windows XP 대상) 첫 번째로 사용할 nmap 옵션은 -sS로 스텔스 TCP 스캔을 수행하여 TCP 포트가 열려있는지 확인한다. 다음으로는 -Pn 옵션을 사용하는데 이 옵션은 핑(ping)을 사용하지 않고 네트워크 상의 시스템이 '동작중'인지 판단한다. (포트 오픈 판단 불가) 모의해킹을 진행하다 보면 네트워크에서 핑 명령이 사용하는 ICMP 패킷을 방화벽에서 허용하지 않은 경우가 많은데, 이 때 이 옵션이 유용하게 사용된다. 스캔 대상이 내부일 경우에는 굳이 사용하지 않아도 되는 옵션이지만 윈도우 7 이후부터는 기본적으로 ICMP를 막기 때문에 늘 지정해주는 버릇을 가지는 것이 좋다. 다음은 XP를 대상으로 한 스캔 예제이다. 기본적인 옵션만 사용할 경우 빠른 시간 내에 응답이 가능하며 간단한 포트 오픈과 서비스를 확인할.. 더보기
nmap 개요 nmap 사용방법 nmap의 기본 사용형식은 아래와 같다. nmap [스캔타입] [옵션] 스캔타입 -s TCP SYN 스텔스 포트 스캔 방식으로서 완전한 tcp 세션을 만들지 않기 때문에 half-open 스캔이라고 하기도 한다. 스캔하고자 하는 목적지로 SYN 패킷을 발송한 후 목적지로부터 SYN|ACK 패킷을 받으면 포트가 리슨한다고 판단하고 RST 패킷을 받으면 리슨하지 않는다고 판단한다. 만약 SYN|ACK 패킷을 받으면 RST 패킷을 보냄으로써 스캔이 로그에 남지 않도록 한다. -sT TCP connect() 포트스캔으로 connect() 함수를 이용하여 connect()가 성공하면 해당 포트는 리슨 상태이고 실패하면 포트는 리슨하지 않는 것으로 판단한다. 이 방법은 가장 기본적인 tcp 스캔 .. 더보기
모의 해킹 유형 7가지의 PTES 카테고리를 이해했다면 모의 해킹의 두 가지 종류인 공개/비공개 모의해킹 유형을 알아야 한다. 공개 모의해킹 진단은 대상 기관이 완벽하게 인지된 상태에서 수행되고, 비공개 모의해킹 진단은 몰래 알려지지 않은 공격자의 행동을 실험하기 위해 설계됐다. 공개 모의 해킹 공개 모의 해킹은 기관 내 IT 팀이나 보안 팀이 내부 시스템을 알려주고, 모의 해킹 전문가는 해당 시스템의 잠재적 보안 위협을 식별하는 작업이다. 공개 모의 해킹의 가장 큰 장점은 모의 해킹 전문가가 공격할 때 자신의 IP가 차단되는 문제가 발생하지 않으며, 기관 내부 시스템의 정보를 얻은 상태에서 진행되기 때문에 보다 시간이 절약 된다는 것이다. 그러나, 고객사의 사고 대응 프로그램을 효과적으로 평가하지 못하거나, 보안 프로.. 더보기
PTES, 모의 해킹 표준안 PTES PTES란 Penetration Testing Excution Stanrd의 약자로 해석하자면 모의 해킹 수행 표준안 이라는 뜻을 가진다. 예전 PTES에 비하여 모의 해킹 업무를 수행하는 초보자와 경험자를 모두 만족시키는 방향으로 개정되었고, 대부분의 보안 단체가 이 표준안을 채택하고 있다. PTES에 대한 자세한 정보는 여기에서 확인 할 수 있다. PTES 단계 PTES 단계는 모의 해킹을 정의하고 평가할 때 모의 해킹에 쏟는 노력의 표준화된 기준을 고객에게 납득시키기 위해 설계되었다. 표준은 공격 대상 도직에 필요한 노력의 수준에 따라 총 7가지 범주로 나뉜다. 1. 사전 계약 사전 계약 단계는 모의 해킹의 약관과 범위를 고객과 논의하는 과정이다. 사전 계약 기간에는 계약 목표를 고객에게 .. 더보기