http://ctf.ubuntu-kr.org/


자동 대체 텍스트를 사용할 수 없습니다.



부상은 그래픽카드라고 하네요ㅋㅋㅋ


하 주변에 고등학생이면서 잘하는 사람들밖에 못보니


이번에도 한문제라도 풀 수 있을지...


일단 출전 할려고 합니다!


'강의 및 대회정보' 카테고리의 다른 글

2018 Codeengn conference  (0) 2018.06.22
제 9회 신한 시큐어 정보보안 콘서트  (0) 2018.06.22
사이버공격방어대회(CCE)  (0) 2017.10.06

오랜만에 LOB로 글을 올립니다. 10월달은 계속 대학면접이라 시간이 많이 없었습니다.;;;

그래도 합격발표가 11월 초에 난다는 것과 마지막 면접날이 11월 말이라.... 이제 운동이나 밀렸던 기록이나 올려야죠


LOB는 일단 빨리 끝내고 싶어서 풀이보면서 끝냈습니다.(어차피 그러지 않았더라도 풀이는 봤겠지만요...)


 풀이를 봐도 실제 메모리 주소의 차이때문에 core dump보면서 풀어야 됬었지만 풀때 안나와서 뭐지...하고 있었는데

 

제가 복사한 파일에만 core dump가 뜨는걸 나중에 알아서 다시 풀어야되는 문제들도 몇 문제 있다죠...


일단은 차차 올리도록 하겠습니다.




이번에는 egghunter라고 환경변수를 초기화 해주는 함수가 있어 에그쉘의 사용은 안될거 같습니다.



memset함수로 완전 초기화 해버리네요....



일단 분석을 위해 tmp디렉에 파일을 복사했습니다.


저는 원래 buf공간이 충분하니 여기에다가 shellcode를 넣고 RET주소를 buf로 덮어씌울려고 헀지만

풀이에서는 argv[2]라는 신박한 공간을 사용해서 익스를 진행해서 그방법을 사용해 볼려고 합니다.



먼저 argv[]는 입력값에 따라 용량(?)이 변하기 때문에 argv[2]의 주소를 구하기 위해서는 최대한 비슷한 익스코드를 입력할

필요가 있습니다. argv[1]에는 \xbf를 argv[2]에는 \x90을 넣어줬습니다.



90부터 시작하는 주소가 argv[2] 시작주소 라고 할 수 있는데요. 주소 차이가 날 수 있으니 0xbffffc61주소를 사용했습니다.



나가서 bash2로 바꿔줍니다.



깔끔하게(?) 쉘을 얻었고요



성공~! 오늘은 여기까지 하겠습니다. 무리하게 올리는것 보다 하루에 하나씩 올릴려고 합니다ㅎㅎㅎ


'포너블 > Lord Of BOF' 카테고리의 다른 글

LOB 6번 wolfman  (0) 2017.11.02
LOB 5번 orc  (0) 2017.10.31
LOB 3번 cobolt  (0) 2017.10.02
LOB 2번 gremlin  (0) 2017.10.01
LOB 1번 gate  (0) 2017.09.29

오늘부터는 웹 해킹 연습으로 보안 프로젝트 니키(조정원)님 매우 강조하시는 Bee-box를 기록할려고 합니다.


0번째로는 역쉬 환경 구축부터~!!


일단

https://sourceforge.net/projects/bwapp/files/bee-box/


위 사이트로 들어가시면


이렇게 뜨는게요 밑에 있는 파일 중에서 bee-box_v1.6.7z 1.2기가 파일을 다운~!



압축을 푼다음 vmware 에서 File -> open으로 압축을 푼 경로로 들어가 위에 파일을 열어주면



이렇게 알아서 해줍니다.




부팅을 완료 하면 이렇게 뜨는데요 로그인 화면이 떠도 bee/bug로 로그인 해주시면 됩니다ㅎ



터미널을 틀고



ifconfig 만 치면 이녀석이랑 이제 볼 이유가 없어지는데요 오른쪽 위 글자 표시에 kor로 되있어야지 정상적인 영어가 입력됩니다. 만약 USA로 되있으면 사진 밑에 쳐논 이상한 외계어가..ㅎㄷ


그다음에는 크롬으로 하면 XSS나 SQL할때 브라우저 자체가 걸러버려서 아주 취약한(?) 인터넷 익스플로러를 사용하면 됩니다.



이제 bee/box로 로그인 하면 끝~



http://www.nisa.or.kr/cce2017/page5.html/




이번 '모의침투연구회'운영진 분들과 연구회 분들과 함께 나갈려고 합니다.


이번 대회는 우승목적이 아니라 경험 목적이 크지만


기회가 된다면 우승도...!(갓갓 분들이 엄청 나올듯해서 안될거 같지만요ㅋㅋ)


하 저도 빨리 늅이 아니라 한몫하는 해커가 되고 싶네요ㅎㅎ


'강의 및 대회정보' 카테고리의 다른 글

2018 Codeengn conference  (0) 2018.06.22
제 9회 신한 시큐어 정보보안 콘서트  (0) 2018.06.22
Ubuntu CTF  (0) 2017.10.31

Mr.robot CTF 풀이.pptx

제가 직접 만든 ppt입니다.(그래서 더 허접하죠.)


원래는 이번



대회준비가 있어서 처음 공부하시는 분들을 위해 만든 ppt입니다. 뭐 제가 직접 만든거라 공개 여부도 제 맘일거 같아 올립니다ㅎㅎ 부디 잘 이용해 주셨으면 합니다.

오늘은 cobolt입니다~! 추석이라 이렇게 기록을 올릴 수 있는거 같네요ㅋㅋㅋㅋㅋㅋ





노트북으로는 하나도 안풀었는데 데탑으로 다 풀었나 보네요..ㄷ


저번 문제처럼 Direct Overwrite RET를 쓰면 되는데요 이번에는 gets함수라는게 제일 주의해야될 점입니다.


저번 문제는 인자로 주면 되서 뒤에 잘 쓰면 됬지만

이번에 gets함수는 엔터를 입력할때까지 받기 때문에 파이프로 날려줘야 됩니다.


또한 그냥 보내면 실행되고 바로 종료되기때문에 다시 실행해주는 cat명령어까지 넣어주면 완벽해집니다.




일단 에그쉘 주소 구하고요



성공~!



오늘은 여기서 마치도록 하겠습니다~!


'포너블 > Lord Of BOF' 카테고리의 다른 글

LOB 5번 orc  (0) 2017.10.31
LOB 4번 goblin  (0) 2017.10.30
LOB 2번 gremlin  (0) 2017.10.01
LOB 1번 gate  (0) 2017.09.29
LOB 시작하기  (0) 2017.09.29

오늘은 gremlin입니다. gate랑 똑같이 풀 수 있기 때문에 쉬웠습니다.






gate에서는 buffer크기가 256이였지만 지금은 16입니다. 하지만 저희는 Direct RET Overwrite로 RET에 바로 에그쉘을 넣어

익스 하기 때문에 buffer의 크기 따위 별 상관이 없습니다.



주소 구하고~



bash2쉘로 변경한다음 넣어주면



끝~!



한번 buffer에 쉘코드 넣고 RET에 buffer주소를 넣어보고 싶은데 주소 구하는 법을 잘 모르겠네요....

함수가 아니라 objdump로도 안보이고 gdb에서 $esp 보는 방법으로 구할 수 있는걸로 알고 있지만


노트북으로 하면 기본 쉘이 bash2라 권한 문제가 생겨서 엄청 삽질한 기억이..ㅠ


'포너블 > Lord Of BOF' 카테고리의 다른 글

LOB 5번 orc  (0) 2017.10.31
LOB 4번 goblin  (0) 2017.10.30
LOB 3번 cobolt  (0) 2017.10.02
LOB 1번 gate  (0) 2017.09.29
LOB 시작하기  (0) 2017.09.29

LOB 1번 simple bof 풀이 기록입니다.



저는 putty를 이용해서 접속을 했습니다. 아이디와 비번은 gate/gate입니다.



제가 데탑으로는 이미 풀어버려서 이미 eggshell이 있네요ㅋㅋ



문제 소스는 이렇습니다. 정말 F.T.Z라던지 LOB라던지 소스 안주고 풀라하면 분석능력은 많이 향상 되겠지만

난이도가 급상승 할거 같에요...


일단 정말 간단한 BOF이며 FTZ만 하셨다면 쉽게 푸실 수 있습니다.



저는 에그쉘을 쓸건데요. 에그쉘은 쉘코드를 환경변수에 올려주어 쉽게 사용하능하게 만드는 프로그램입니다.


제가 올린 팀 Zer0mous 발표자료에 적어놨습니다ㅎㅎㅎ


하지만 에그쉘을 돌려서 나오는 주소로 bof공격을 하면 동작을 안해서 따로 환경변수 주소를 구해주는 프로그램을

작성해서 돌릴려고 합니다.



일단 bash2로 쉘을 바꿔주고요



에그쉘을 실행한 다음 제데로 된 주소를 구해주는 프로그램을 실행합니다.

(만약 getegg부터 실행한다면 null값이 나옵니다.)



LOB시작 글에서 말했든 리눅스가 옛날 버전이라 배열값보다 더 많은 공간을 할당하지 않습니다.

그래서 buf+sfp = 260으로 쓰레기 값을 채우시면 되고 RET에 getegg를 실행한 값을 넣어주시면 됩니다.


만약 segment fault만 뜬다면 bash2 쉘이였던것이 bash 쉘로 변경되어 RET에 넣을 값 중에 \xff 를 \x00으로 인식해버러

다시 bash2를 입력하시고 진행하시면 됩니다.



성공! 오늘은 여기서 마치도록 하겠습니다!


'포너블 > Lord Of BOF' 카테고리의 다른 글

LOB 5번 orc  (0) 2017.10.31
LOB 4번 goblin  (0) 2017.10.30
LOB 3번 cobolt  (0) 2017.10.02
LOB 2번 gremlin  (0) 2017.10.01
LOB 시작하기  (0) 2017.09.29

정말 오랜만에 기록 글을 쓰고 있는 CodeByO입니다.ㅎㅎ


이번에는 기존에 계속 하던 치명적 파이썬을 조금만 미루고(대입 끝나면 바로 할겁니다ㅎ) 팀 과제이기도 한


BOF원정대 다른 이름 LOB(Lord Of BOF)를 시작해볼려고 합니다.


이번은 첫 풀이기 때문에 저도 풀다가 다른 풀이를 검색해서 보는 경우도 있고

거기에 따라 내용이 같아진다는걸 미리 알려드립니다. 어차피 이건 풀이글이 아니라 제 기록글이지만요.....


먼저 LOB의 시작 설정 및 주의사항을 알려드리도록 하겠습니다.



LOB를 vmware로 open하고 root/hackerschoolbof로 로그인을 해줍니다.



로그인에 성공했습니다.



원래 리눅스에서 ip할당 정보를 알고 싶으면 ifconfig 명령어를 사용하면 되는데


이건 다른 리눅스와 다르게 /sbin/ifconfig 라고 경로 까지 쳐 줘야됩니다.(아마 레드햇 6.2버전이라 그런거 같습니다.)


이렇게 확인하고 putty나 xshell로 접속하시면 됩니다.


또한 커널도 옛날 버전이라 현재 커널 버전에서 BOF를 할때 고려하던 배열의 dummy값을 신경쓰지 않아도 되고


bash 쉘 버전도 낮아 bash2쉘을 사용해야됩니다. 


시스템 설정 수정으로 무조건 bash2쉘을 쓰도록 설정할 수 도있지만


그렇게 되면 gdb사용할때 권한 에러나서 짜증납니다......


익스할때만 bash2로 변경하고 하는게 좋을거 같다고 생각합니다.


그럼! 이제 기록을 시작해 보도록 하겠습니다ㅎ


'포너블 > Lord Of BOF' 카테고리의 다른 글

LOB 5번 orc  (0) 2017.10.31
LOB 4번 goblin  (0) 2017.10.30
LOB 3번 cobolt  (0) 2017.10.02
LOB 2번 gremlin  (0) 2017.10.01
LOB 1번 gate  (0) 2017.09.29

이번 9월 23일날 열린 팀 Zer0mous 정기 모임떄 제가 발표한 것입니다.


보안 분야와 실습 그리고 정보보안전문가의 구체적인 직업 및 합법적인 돈벌기 까지 다루었습니다.


비록 그렇게 잘 만든건 아니지만 필요하시면 댓글을 달아주시고 받아가 주시면 감사하곘습니다ㅎㅎ


팀 Zer0mous 발표.pptx


+ Recent posts