목록분류 전체보기 (62)
농소
기대효과 비밀번호 기반의 사용자 인증은 동일한 비밀번호를 반복 사용하므로 보안이 취약하여 OTP가 도입되었다. 이것을 도어락에 적용시킴으로써 몰래카메라나 지문흔적으로 인하여 비밀번호가 노출되는 취약점을 해소할 수 있을 것이다. 이 프로젝트에서는 사용자 등록기능을 추가하여 주인에게 허가받은 사람에 한하여 도어락에 정보를 등록할 수 있게 하였고, 사전에 등록된 대상은 모두 문을 열 수 있게 구현하여 일반 가정집 도어락에 활용할 수 있는 형태로 구현하였으며 이로써 도어락의 취약점에 의해 발생하는 범죄를 예방을 할 수 있을 것이다. + 홍채인식기능 새롭게 추가
XSS는 Cross-Site Scripting의 약자로 웹 게시판이나 웹 메일 등에 스크립트 코드를 넣어 개발자가 원하지않는 행위를 만들게 하는 치명적인 공격기법중 하나이다. 이번 게시글은 위 공격기법을 이용하여 악성 스크립트가 삽입된 웹 서버에 접속한 사용자들을 대상으로 악성코드가 심어진 실행파일( 여기서는 쉘코드로 대체하겠다. )을 실행시키도록 하여 관리자 권한을 획득하여 키로거를 실행시키는 것을 해보도록 하겠다. 먼저 Kali 리눅스로 칼리리눅스 쪽으로 원격접속하도록 하는 쉘코드를 만들도록 하자 칼리리눅스(공격자)쪽으로 원격접속 하도록 하는 update.exe라는 실행파일을 만들었다. 해당 악성 실행파일이 제대로 적용되는지 확인을 해보자 meterpreter를 실행시키고페이로드를 설정해줍니다. 네트..
간단한 인젝션 공격 및 상품 가격을 변조하는 공격을 해보고자 합니다 해당 웹 쇼핑몰은 취약점이 있는 쇼핑몰로 정보보안 교육용으로서 해당 이미지를 사용하여 실습해보겠습니다. 우선 프록시 프로그램인 Burp Suite를 실행시키고 intercept를 off로 해둡니다. 우선 쇼핑몰 메인 페이지 입니다. 회원가입 없이 간단하게 injection을 해봅니다 해당 쇼핑몰의 로그인시도 질의는 SELECT ID,PW FROM USER WHERE ID=' ' AND PW=' '로 되어있습니다 앞서 말했듯이 공부용으로 만든 사이트 이므로 이러한 질의는 injection 공격에 아무런 방어책을 설정하지 않았기 때문에 쉽게 공격에 노출이 됩니다. [ ID = 1' or 1=1# ] // #은 DB에서 주석을 의미 [PW =..
[ dark_stone ] 문제를 보시면 문제푸는 요령은 전 문제와 동일합니다.차이점은 remote bof를 통해서만 권한을 딸 수 있는데요nc를 이용하여 외부에서 공격해주시면 되는 문제입니다. 이전 문제와 동일하게 우선 가젯들을 모아봅시다. ppr 가젯 0x080484f3 strcpy's plt = 0x8048438printf's plt = 0x8048408 printf's got = 0x0804984c system = 0x007507c0이제 system의 주소와 동일한 값들을 1바이트씩 찾아봅니다. 가젯들을 전부 모았으니 정리해 봅시다 0x7507c0 :printf's plt = 0x8048408= "\x08\x84\x04\x08"printf's got = 0x804984c= "\x4c\x98\x04..
[ evil_wizard ] 이번에는 fake ebp를 막았고 고맙게도 문제에서 //healing potion을 주었네요system함수를 이용해 쉘을 실행시키면 권한이 상승할 것입니다.힌트로 GOT overwriting을 이용하라고 나와있네요 코드 제일 밑에 수행되는 printf함수의 GOT를 system GOT로 변환하면 될것 같습니다.그러기위해선 고정값이 되는 지점에서의 값을 strcpy를 통해서 GOT를 변경해야하는데요system의 got값을 가르키는 주소를 찾아야 strcpy를 할 수있는데 아쉽게도 그런값을 가지고 있는 곳은 없습니다.그러면 어떻게 해야하느냐?변하지않는 영역의 값을 살펴봐 1바이트씩 해당 코드를 찾아 strcpy를 해주면 됩니다. strcpy를 4번 해주면 되겠네요하지만 여기서 문..
[ hell_fire ] 이번문제느 remote bof를 이용하라고 나오네요그리고 fake ebp나 got를 이용하면 된다고하니 저는 fake ebp를 이용해 보겠습니다. 공격할 파일을 본 결과 setuid가 걸려있질 않아 RTL을 이용해도 권한이 떨어지질 않습니다.소스코드를 보면 알듯이 슈퍼데몬을 이용하여 공격을 해야하는데요 해당 xinetd.d 디렉토리에 들어가 hell_fire를 보면 알 듯이이 파일을 원격으로 접속할때는 사용자가 hell_fire인것을 알 수 있습니다.즉, 원격으로 할 시 setuid설정이 되어있다고 보시면됩니다. 즉 파이프라인으로 공격할 때 nc를 이용하여 원격접속을 이용하면 될것입니다. payload | ./hell_fire ( x )payload | nc localhost 7..
[ dark_eyes ] fake ebp를 막고힌트로 RET sleding을 이용하라고 나와있네요ret sleding이란 에필로그에 ret주소를 넣고 반복적으로 사용하여 공격자가 원하는 위치로 eip를 변경할 수 있게 하는 기법입니다. dummy 268 | dddd 를 넣어본 결과입니다. 보시면 랜덤스택이 적용이 되었는데도 메모리값이 바뀌질 않는곳이 있습니다. 다시한번 실행해서 본 결과 빨간색으로 네모친 부분의 값이 변경이 안됨을 알 수 있습니다.이것을 execl의 첫번째 인자로 잡고서 공격을 진행해 보겠습니다.execl( "/bin/my-pass", NULL );으로 생각하고 만들어볼 생각입니다. 자 우선 해당위치가 첫번째 인자로 쓰기위해 ret sleding을 이용하여 위치를 바꾸어줍니다.ret주소를..
페도라캐슬 1층 iron_golem.c파일입니다보시는바와 같이 저번 LOB의 첫번째문제인 gremlin과 문제가 같습니다.딱 보면 디버거를 실행을 하지 않아도 bof을 할 수 있을정도로 매우 취약한 파일처럼 보입니다. 그러나 이 FC1층부터는 버전이 업데이트 되면서 메모리보호기법이 적용 되었는데요 1. 스택가드 : 더미 생성 - 스택내에 함수의 변수 크기를 정확하게 예측하지 못하게 더미값을 추가합니다. 2. 아스키 아머 - 라이브러리의 영역이 가장 낮은 영역으로 이동됨 ( 0x00번지에 위치 ) - RTL을 이용 할 시 라이브러리 호출은 되지만 인자값을 맘대로 변형이 불가능함. 3. 랜덤스택 (ASLR = Address Space Layout Randomization ) - 실행을 할 때마다 메모리 주소..
단순히 소켓을 통해 외부에서 bof를 해주면 되는 문제입니다. 현재 버퍼크기는 40바이트인데while문의 recv를 보시면 buffer에 256바이트 크기를 받고있습니다.bof가 발생하게 됩니다. [xavius@localhost xavius]$ ps -efdeath_kn 646 1 0 Feb21 ? 00:00:00 /home/xavius/death_knight프로세스를 보니 현재 실행중임을 알수 있으니 이를 통하여 nop코드와 쉘코드를 넣고 외부에서 보내주면 되겠네요 파이선으로 코드를 작성하면from socket import * payload = b'A' * 44payload += b'\x12\xfd\xff\xbf'payload += b'\x90' * 100payload += b"\x66\xbd"payl..