반응형

전체 글 259

NetBIOS / SMB 프로토콜

※ NetBIOS(Network Basic Input/Output System) 미국 마이크로소프트사와 IBM사가 제공하고 있는 PC-LAN에서 사용되는 응용 프로그램 인터페이스(API). API로서만이 아닌 구내 정보 통신망(LAN)용 프로토콜의 기능도 가지고 있으며, 나중에 확장판에 해당하는 NetBEUI(Net-BIOS extended user interface)가 등장하였다. 통신망에 참가하는 개인용 컴퓨터(PC) 등에 NetBIOS명을 부가해서 그 명칭을 근거로 통신을 실행하는데, 현재 윈도 통신망의 기본형이 되어 있다. - NetBIOS 사용 포트 1. NetBIOS 이름 확인 : 137/UDP,TCP 자신의 이름을 알리거나 질의할 때 2. NetBIOS 데이터그램 서비스 : 138/UDP N..

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

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

[DIMICTF] dimi-math 문제풀이(Write up)

해당 문제는 netcat으로 접속하여 제공되는 S/W를 이용하는 방식의 챌린지이며, 힌트로는 smt slover가 제공된다 SMT(Satisfiability Modulo Theories) : 술어논리 기반의 논리식(방정식을 포함하는 개념) SMT solver : SMT를 풀어 정답을 도출하는 S/W 중근(Multiple root) : 2차 이상의 방정식에서, 2개 이상의 같은 값인, 중복되는 근(해) netcat을 이용해 해당 주소 및 포트로 접속하면 다음과 같은 화면이 뜬다. 제한시간은 500초이고 300문제를 풀게되면 쉘을 획득할 수 있게 된다, 코딩을 이용해 문제를 풀어보자. SMT solver 파이썬 모듈인 sympy를 사용할 것이며, 해당 모듈은 중근 존재 여부를 확인해주지 않으므로 코딩 중 별..

[DIMICTF] DIMICTF와 CTF를 위한 환경설정

- DIMICTF란 DIMICTF(한국디지털미디어고등학교CTF)는 청소년 모의해킹대회로 불리며, 과학기술정보통신부와 한국정보기술연구원에서 후훤하고 한국디지털미디어고등학교에서 주최 및 주관하는 국내 해킹대회이다. 챌린지의 유형은 제퍼디(Jeopardy, 출제된 퀴즈를 풀이하는 방식)이며, 분야는 일반적으로 많이 다루어지는 리버싱, 포너블, 웹, 및 MISC(MISCellaneous, 기타)로 구성되어 있다. 문제는 총 20문제로 구성되어 있으며, 예선전에 출제된 문제이다.

[Lena's Reversing] 레나 튜토리얼 실습 환경 및 샘플 자료

리버싱 엔지니어링 : 되돌리는 기술 리버싱 연습을 위한 레나 튜토리얼을 시작해보자. 레나 튜토리얼은 총 40개의 실습 자료로 구성되어 있으며, 실습 환경은 XP에서 ollydbg를 활용할 예정이다. https://tuts4you.com/e107_plugins/download/download.php?list.17 Downloads / Lenas Reversing for Newbies - Tuts 4 You tuts4you.com 레나 1번 문제폴더에 가면 ollydbg 설정파일을 ollydbg 실행경로에 넣어주고, udd와 plugin 경로를 설정해준다.

[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"라는 파일을..

반응형