농소
[ 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 ) - 실행을 할 때마다 메모리 주소..