전체 글 161

Arachni를 이용한 Sql Injection 스캔 및 검증

이번에도 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. SQL Injection의 개념일단 스캐닝을 하기 앞서 SQL Injection의 개념을 이해하고 가도록 하겠습니다. SQL Injection은 웹 어플리케이션에서 데이터베이스로 전달되는 SQL 쿼리 값을 변조 및 삽입하여 비정상적인 방법으로 데이터베이스에 접근하는 공격기법을 의미합니다. 공격기법에 따라 다양한 유형이 존재합니다.① 논리적 에러를 이용하는 SQL Injectionor1=1 등의 논리적 에러를 발생시킬 수 있는 패턴을 이용한 인증우회 기법이며, 에러가 발생되는 사이트에서는 에러 정보를 이용하여 데이터베이스 및 쿼리 구조 등의 정보를 추측할 수 있습니다.예를 들어 사용자가 회원 ID에 ..

웹/웹 보안 2018.03.27

Arachni를 이용한 파일 다운로드 취약점 스캔 및 검증

이번에도 이어서 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. 파일 다운로드(Path Traversal)취약점의 개념일단 스캐닝을 하기 앞서 간단하게 파일 다운로드 취약점의 개념을 이해하고 가도록 하겠습니다. 먼저 게시판에 첨부된 파일을 사용자에게 제공하는 방식에는 정적방식, 동적방식이 있습니다.정적방식은 디렉터리에 파일 링크를 걸어 사용자에게 제공하기 때문에 파라미터 변조 가능성이 없는 안전한 구조인 반면, 동적 방식은 파라미터 값 조작(file=../../../../../../../../etc/passwd) 등의 취약점으로 시스템 파일 등의 접근 시도가 가능합니다. 즉, 파일 다운로드 취약점은 상대경로나 절대경로 문자를 이용해 경로를 조작하여 파일 ..

웹/웹 보안 2018.03.25

Arachni를 이용한 XSS 취약점 스캔 및 검증

오늘은 Arachni를 이용하여 스캐닝을 하고 그에 대한 검증까지 해보는 시간을 갖도록 하겠습니다. 1. XSS의 개념일단 스캐닝을 하기 앞서 간단하게 XSS의 개념을 이해하고 가도록 하겠습니다. XSS(Cross Site Script)는 OWASP top 10의 A7에 위치하고 있습니다. 공격자가 웹 페이지(게시판 등)에 악성 스크립트를 삽입하면 사용자 측에서 해당 스크립트가 동작하여 사용자의 정보(쿠키, 세션 등)탈취 등 여러 공격을 수행할 수 있습니다. XSS는 크게 Stored XSS, Reflected XSS, DOM based XSS로 나누어집니다.Stored XSS는 사용자의 입력 데이터가 DB에 저장되고, DB에서 해당 값을 추출하는 경우에 발생됩니다.Reflected XSS는 사용자 입력..

웹/웹 보안 2018.03.14

Arachni scanner 설치 및 스캔

오늘은 Web application scanner인 'Arachni scanner' 설치와 간단한 스캔방법을 알아보겠습니다.해당 글은 Windows 10 (64bit) 기준으로 작성하였습니다. 1. Download먼저 아래의 주소를 클릭하여 자신의 OS에 맞게 DOWNLOAD 버튼을 눌러줍니다.무료로 다운로드가 가능합니다.(설치 경로에 한글이 들어가 있으면 에러가 나면서 실행이 되지 않으니 주의해야 합니다.)=> http://www.arachni-scanner.com/download/ 다운로드가 완료되면 다운받은 exe파일을 실행시켜 설치를 진행합니다.설치는 저절로 진행이되니 어려울 건 없습니다. 설치가 완료되면 다운받은 파일의 이름으로 폴더가 하나 생성됩니다.해당 폴더로 들어가면 bin, system ..

웹/웹 보안 2018.03.10

살아있는 호스트 IP 스캔하기

같은 네트워크 대역에 살아있는 호스트의 IP를 스캔하는 소스를 작성해 보려고 한다. 찾아보니 방법은 아래와 같이 나왔다. 1. ping을 이용하는 방법(ICMP Echo Reply를 보내오는 호스트가 살아있는 것으로 판별) 2. 특정 포트로 메시지를 보내는 방법(Port Unreachable를 보내오는 호스트가 살아있는 것으로 판별) 이중에서 나는 ping을 이용하는 방법을 선택했다. ping을 이용하는 방법에도 찾아보니 여러가지가 있었다. 1. pyping 모듈의 ping을 이용 2. os모듈의 system을 이용 3. ICMP Echo Request 패킷을 직접 만들기 나는 이중에서 ICMP Echo Request 패킷을 직접 만들어 보기로 결정했다. 일단 참고하기 위해서 wireshark로 ping..

코딩/Python 2018.02.13

HTTP Session Hijacking

* HTTP 특징- HTTP는 기본적으로 비연결유지(stateless) 프로토콜이다. 따라서 웹 사이트 로그인 후 다른 페이지 방문시마다 매번 로그인해야 하는 불편함이 있는데 이는 Session ID를 사용해서 해소할 수 있다. * Session ID- 웹 서버가 다수의 웹 페이지 요청자를 구별하기 위하여 각각의 사용자의 세션에 대해서 부여한 임의의 긴 문자열을 말한다.- 사용자가 홈페이지 방문시 혹은 로그인시에 생성이 된다.- 사용자의 계정, 암호, 그 밖의 IP 주소, times tamp 등의 여러 파라미터들을 조합하여 생성할 수 있다.- 사용자와 일련의 웹 서핑 동작을 연결시켜줌으로써 웹 사이트 로그인 후 다른 페이지 방문시마다 매번 로그인을 하지 않아도 되는 편리함을 제공해준다. 1. 쿠키에 저장..

웹/웹 보안 2018.02.06

TCP Session Hijacking

* 세션- 두 대의 컴퓨터 간의 활성화된 상태를 말한다. * TCP 세션 하이재킹-> 개념- TCP가 가지는 고유한 취약점을 이용해 세션을 가로채는 공격이다.(즉, 로그인된 상태를 가로챈다.) -> 원리- TCP는 시퀀스 넘버가 잘못되면 이를 바로잡기 위한 작업을 하는 데, 이를 이용한다.- 서버와 클라이언트에 각각 잘못된 시퀀스 넘버를 위조해서 연결된 세션에 혼란을 준 뒤 자신이 끼어들어가는 방식이다. 1. 공격자는 ARP Spoofing을 이용하여 서버와 클라이언트 사이에서 패킷을 스니핑하고 있다가 서버에 RST패킷을 보내 서버쪽 연결을 끊는다.2. 그 후 공격자는 새로운 시퀀스 넘버를 생성하여 서버로 보낸다.4. 서버는 새로운 시퀀스 넘버를 받고 다시 세션을 연다. 5. 공격자는 정상적인 연결처럼 ..

DHCP Starvation

* DHCP Starvation-> 개념- DOS공격 기법 중 하나이다.- 공격자가 MAC Address를 계속 변경하여 DHCP Server로부터 IP를 할당받아서 DHCP Server가 보유하고 있는 모든 IP 주소를 할당받아 정작 정상적인 호스트가 IP를 할당받지 못하게 하는 방식이다.- DHCP Server는 클라이언트가 전송하는 DHCP Discover안에 있는 MAC Address만을 보고 다른 장비 임을 구분하기 때문에 공격에 성공할 수 있다. [실습 1]- 실습을 진행하기 전 아래와 같은 토폴로지를 구성해준다. R1은 DHCP Server로 동작하고 있는 상태이다. -> 실습 환경 - WinXP - BT(Attacker) -> 실습 도구 - dhcpx - 현재 XP와 BT에서는 아래와 같이..

IP Spoofing

* IP Spoofing-> 개념- 송신자의 IP를 신뢰된 IP로 속이는 공격이다. -> 원리- /etc/host.equiv파일에 클라이언트의 IP와 접속 가능한 아이디를 등록해 놓으면 트러스트 설정을 할 수 있다. 즉, 패스워드 없이 IP주소만을 가지고 인증이 이루어진다. Attacker는 이러한 트러스트 관계를 이용하여 /etc/hosts.equiv파일에 동륵된 IP주소로 스푸핑하여 인증에 성공하게 된다. [실습 1]- 실습을 진행하기 전 아래와 같은 토폴로지를 구성해준다.- 현재 R1에는 Telnet서비스가 올라가져 있는데, access-list를 등록하여 WinXP는 Telnet에 접속하지 못하는 상태이다. 이를 IP Spoofing을 통해 접속할 수 있도록 할 것이다. -> 실습 환경 - Win..