반응형

모의해킹 23

[Kali/ARP 정찰] 정보수집 단계 정찰 도구 Netdiscover 사용법 정리

1. Netdiscover Netdiscover는 dhcp 서버가 없는 무선 네트워크를 위해 주로 개발된 능동/수동 ARP 주소 정찰 도구이다. 허브/스위치 네트워크에서도 사용할 수 있다. libnet 및 libpcap을 기반으로 하여 ARP 요청을 능동적으로 전송하여 온라인 호스트를 수동적으로 감지하거나 검색할 수 있다. Netdiscover는 네트워크 ARP 트래픽을 검사하거나 일반 로컬 네트워크를 검색하는 자동 검색 모드를 사용하여 네트워크 주소를 찾는 데 사용할 수 있다. Netdiscover는 OUI 테이블을 사용하여 발견된 각 MAC 주소의 제조사를 표시하며 보안 검사 또는 침투 테스트에 매우 유용하다. - Nmap 옵션 정리 및 실습 사용법 : netdiscover [-i device] [-..

[Kali/Port Scan] 정보수집 단계 포트 스캔 Nmap 사용법 정리

칼리 리눅스에서 사용하는 포트 스캔 툴 Nmap에 대해 알아보자. 1. Nmap - Nmap 기능 호스트 탐지 : 네트워크 대역대의 ping 응답/특정 포트가 Open된 Host들을 식별 포트 스캔 : 열린 포트 식별 버전 탐지 : 대상 Host들의 응용 프로그램명과 버전 정보 확인 운영 체제 탐지 : OS와 Network 인터페이스 카드 정보 확인 - Nmap 옵션 정리 및 실습 사용법 : nmap [Scan Type(s)] [Options] {target specification} 공격자 PC : Kali Linux / 192.168.0.5 희생자 PC : Linux / 192.168.0.8 TARGET SPECIFICATION Can pass hostnames, IP addresses, networ..

[Penetration testing] Kali linux에 DVWA 설치하기

- DVWA? DVWA(Damn Vulnerable Web App)는 취약하게 만든 웹 환경으로 Apache, MySQL, PHP로 구성되어 있으며 웹 모의해킹을 실습하기 위해 사용된다. - DVWA 다운로드 경로 : http://www.dvwa.co.uk/ DVWA - Damn Vulnerable Web Application dvwa.co.uk - Apache2 실행 아파치 서비스 구동을 위해 apache2 서비스 start로 상태 변경해준다. 아파치 웹서버 정상동작 확인 다운로드 했던 DVWA경로로 접속해보면 DVWA config 파일을 찾을 수 없다는 에러 메시지를 확인할 수 있다. find 명령어를 이용하여 php.ini 설정 파일에 들어가 allow_url_include(fopen) 설정값을 o..

[취약점 분석] SMB 취약점(MS17-010)

SMB 취약점(MS17-010)은 MS SMB 프로토콜의 메모리 파괴 취약점으로, 인증을 거치지 않은 공격자가 원격에서 해당 취약점을 악용하여 웜(worm)과 같은 공격 효과를 가져올 수 있는 취약점이다. 해당 취약점은 OS가 SMB 3.1.1 프로토콜의 압축패킷을 처리하는 과정에서 오류가 발생하여 야기되는 취약점으로, 공격자는 조작된 패킷을 악용하여 원격에서 인증을 거치지 않은 상태로 원격코드 실행이 가능하다. 또한 직접 SMB 서버를 직접 공격하여 RCE 취약점을 악용할 수 있을 뿐만 아니라, SMB 클라이언트를 공격하여 공격자가 특정한 웹페이지, 압축파일, 공유파일, office 문서 등을 조작하는 방식으로 취약점을 트리거 할 수 있다. 여기서, SMB(Server Message Block)가 어떠..

[Web Hacking] bWAPP(비박스) SQL Injection

※ SQL Injection 사용자가 입력한 값을 검증하지 않고 데이터베이스 쿼리 일부분으로 포함될 때 발생하는 취약점이다. 쿼리문을 참을 만드는 SQL Injection을 시도하면 데이터가 출력되게 된다. ※ Union SQL Injection 2개 이상의 쿼리를 요청하여 결과를 얻는 UNION 이라는 SQL 연산자를 이용한 SQL Injection 공격을 말하며 이 연산자를 이용하여 원래의 요청에 한 개의 추가 쿼리를 삽입하여 정보를 얻어낸다. 단, union를 사용할 때에는 컬럼의 갯수가 같아야 하고 데이터 형식도 같아야 한다. Union select을 이용하여 DB명과 버전 등을 알아낼 수 있다. 관련 시스템 변수 및 함수는 아래와 같다. database() : DB명을 알려주는 함수 user()..

[Web Hacking] bWAPP(비박스) iframe, OS Command, PHP Code, SSI(Server Side Includes) Injection

※ iframe 인젝션 iframe은 HTML 문서 안에서 또 다른 HTML 문서를 보여주는 태그로 다른 프레임들과는 달리 어느 위치든 상관없이 사용 가능하다. 해당 문제에 들어가면 다음과 같은 화면이 나오게 되고, 해당 내용은 robots.txt의 내용이다. 소스에서 페이지의 소스코드를 확인해보면 iframe태그에 의해 출력되는 것을 확인했다. 이렇게 출력되는 것을 보며 여기에는 HTML Injection이 가능할 것으로 추측된다. " height="250" width="250"> 해당 공격문을 url뒤에 추가해서 request해보도록 하자. 공격이 성공적으로 수행되는 것을 볼 수 있다. 공격 후의 소스코드를 확인해보면 iframe태그가 추가되어 있는 것을 볼 수 있다. ※ OS Command 인젝션 ..

[Web Hacking] bWAPP(비박스) HTML Injection

※ HTML 인젝션 - Reflected(GET) 취약한 매개변수에 악의적인 HTML 코드를 삽입하는 공격이다. HTML 태그를 악의적인 사이트에 연결하거나 악성 파일을 다운로드 하도록 유도한다. h태그를 입력해보면 태그가 해석되면서 입력값들이 출력되게 된다. 해당 요청을 URL의 파라미터로 전달할 때는 다음과 같다. 이제 자바스크립트의 alert함수를 이용해 XSS를 시도해보자. alert창이 뜨는 것을 확인할 수 있다. 해당 공격을 이용하여 쿠키와 같은 정보를 탈취할 수 있고, 악의적인 페이지로 리다이렉션이 이루어질 수 있다. 쿠키값을 가져올 수 있는지 테스트해보자. 만약 쿠키값이 공격자에게 넘어가게 된다면 공격자는 ID/PW없이 사용자로 로그인할 수 있다. 이번에는 img태그를 이용해보도록 하자. ..

[Penetration testing] Kali linux에 도커 환경 구축 및 취약한 서비스 설치

칼리 리눅스에 도커 환경으로 취약한 서비스를 설치를 하게 되면 kali linux 가상환경 하나만 구동함으로써 취약점 점검 실습이 가능하다. ※ 설치 순서 1) ./install_docker_kali_x64.sh -f 설치 후 도커가 제대로 설치됬는지 확인해보자. 2) ./pentestlab.sh pentestlab.sh의 옵션을 활용하여 실습하고자 하는 환경을 다운로드 받을 수 있다. owasp에서 제공하고 있는 가상의 쇼핑몰과 비박스를 설치해보자.

[Web Hacking] WebGoat Blind XXE 개념

※ Blind XXE 어떤 경우에도 공격이 성공하더라도 결과가 보이지 않는 경우가 있다. 혹은 읽으려고 하는 자료에 XML 파서에서 오류를 일으키는 문자가 포함되어 있을 수 있다. 예시를 통해 알아보자. 여기서는 외부 DTD를 하나 참조하는데 이것은 공격자의 서버(WebWolf)에서 통제가 가능한 특징이 있다. 당신은 공격자로서, WebWolf 서버를 통제할 수 있다.(동일한 기능을 할 수 있다면 굳이 WebWolf가 아니여도 상관없다) 한 가지 예를 들면, 이 서버의 랜딩 페이지인 "http://192.168.219.100:9090/landing"에 연결을 시도하면 클라이언트의 흔적을 남길 수도 있다. 그럼 어떻게 이를 활용하여 XXE 공격을 할 수 있을지 고민해보자. "attack.dtd"라는 파일을..

[Web Hacking] WebGoat XXE Modern REST framework 문제풀이

※ Modern REST framework 최신의 REST 프레임워크를 사용하는 서버의 경우, 개발자가 생각하지 못한 형태의 데이터(요청 메시지)를 받아들이는 경우도 있다. 이에 따라 JSON 엔드포인트(서버에서 JSON 형식의 데이터를 받아 처리하는 부분)는 XXE 공격에 취약할 수 있다. 해당 문제에서는 이 프레임워크로 서버용 웹 어플리케이션을 개발하는 경우, 클라이언트와 JSON 객체의 형식으로 메시지를 주고 받을 수 있고, 개발 의도와 무관하게 클라이언트가 JSON 객체가 아닌 형태로 요청 메시지를 보내도 서버 측에서는 그것을 받아들일 수 있다는 정도로 생각하면 된다. 문제의 힌트를 열어보게 되면 content type를 살펴보라고 나와있다. Content-Type을 살펴보면 application..

반응형