
|
|
||||||||||||
|
::: 다음은 이번 제 1회 Hacking The Linux Contest에서 입상하신 linu 님의 공격 보고서입니다. :::
위 명령으로 일단 포트를 검색하였다. 80번과 3306으로 웹상에서 php가 돌아가는 데 사용되거라 생각했다. 23번은 접속을 위한 것이라 생각했다. 그런데 8888번이 열려있었다. 보통 8888은 MP3스트리밍 서버로 사용되는 포트 번호인데 일단은 접속을 시도해보았다.
브라우저에서 http://211.215.55.247:8888 로 시도하니깐 아이디와 패스워드가 나왔다.
guest계정이었는데 들어가기 전에 23번 포트로 접속을 시도했지만 잘 되지 않았다. 그래서 그 포트를 막아버렸나 생각했지만 나중에 안 사실이지만 규칙을 확실히 정하지 않은 해커스쿨의 운영 때문에 발생한 문제였다. 아무튼 여러번의 시행착오 끝에 성공 을 하였다. 그렇지만 너무나 느렸다. 아마도 DoS 공격이었나 보다. 아니면 리소스가 너무나 많이 사용되기 때문일 수도.. 힌트를 보고 그 다음 작업을 시작했다. 바로 walwal 계정 그룹으로 된 파일을 검색해보는 것이었다.
수 많은 파일이 나왔지만 그 권한 취득자의 활동에 관련된 파일로 간주하고 더 열심히 찾아본 결과 위와 같은 파일이 눈에 띄었다.
하나씩 ls -l 로 파일 권한을 보니깐 walwal 계정으로 보는 것이었다.
그런데 하나의 파일 /bin/SolveMe/walwal 에는 SetUid가 걸려있었다. 즉 이 파일로 walwal의 권한을 얻게 되는 것이라 생각을 했다.
그냥 한번 실행해보면 세그먼트 실패라고 나온다. 프로그램 내에서 정해준 것과 상황 이 달라지면 발생하는 에러인 것이다.
그래서 여러가지 추측을 해보았다.
로 포함되는 문자열을 찾아보았다. 끝에 ./HackTheNose.txt 가 있었다.
이 파일에 기록아니면 열기일 것이다. 파일에 대한 작업은 쓰기와 읽기 밖에 없기 때 문이다.
실행해보니 /bin/SolveMe/HackTheNose.txt 의 최근날짜와 시간은 갱신되지 않았다.
조금의 생각을 해보니 결국은 읽어들인다는 것을 알았다. 그것도 현재 폴더에서 말이다.
간단히 소프트 링크로 해결을 할 수 있을 거라 생각하고 시도해보았다.
결국 위와 같이 실행을 해본 결과 예상대로 현재 위치에서 HackTheNose.txt 파일을 열 었다. 파일 내용은 위와 같았다.
또 하나의 의문의 파일 /etc/sysconfig/network-scripts/.hidden/WALWALPASSWD.TXT 을 보고 싶었고 그게 답으로 생각이 되었다.
위에서 여는 파일은 HackTheNose.txt 이었다. 이름만 이거면 된다는 공식이 성립된 것 이다. 물론 파일 읽기 권한은 walwal이고 말이다. 위와 같이 파일 내용이 보여졌다. 저 한글이 암호구나 생각을 하고 다음과 같이 해보 았다.
id라는 명령어로 현재 상태를 보니깐 역시나 walwal을 따게 되었다.
walwal에서 guta가 cron으로 어떤 프로그램을 실행한다는 것은 알았고 그것의 버그 즉, system 함수의 중간에 문자열이 들어간 다는 것을 알고 시도를 해보았지만. 안타깝게도 잘 되지 못했다. 결국 통과는 하지 못했다. 파일을 만들어도 적용이 되지 않았다.
다음은 mysql의 특정테이블을 보면 된다는 말에 PHP를 많이 해온터라 잘됐다 하고 시 도를 해보았다. 역시나 쉽게 알수가 있었다.
이것은 nobody의 권한(웹상에서)으로 액세스가 가능해야하므로 mysql에 연결하는 설정 파일은 항상 other에게 읽기권한이 읽을거라 생각하면 간단히 해결된다. 즉, 나한테도 읽기 권한이 있는 것이다.
제로보드 위치만 알면 그 디렉토리내에 있는 config.php 파일을 열면 간단히 해결되는 문제이다.
바로 mysql 접속에 시도해보았다.
아무 생각없이 nobody를 풀기 위한 작업이므로 간단히 되었다. 저러한 파일들을 nobody에 그룹을 주고 그룹에만 읽기 권한을 준다면 해결될 것을 귀찮고 만든 사람이 아니면 잘 모르게 되므로 그냥 두는 버그 인 것이다.
다음으로는 root의 스크린을 따는 것이었다. 일단 screendump 라는 명령을 써보기로 했다. 해보지는 않았지만 왠지 연관이 있을거 라는 막연한 생각에서 였다. /dev/vcs 관련 device를 열지 못한다는 메시지가 나왔다.
위와 같이 일단 리스트를 보았다. /dev/vcs1에 이상하게도 other에 r(읽기)권한이 있 어서 저게 답이구나 생각하고 뽑아보았다.
위와 같이 간단히 덤프를 할 수가 있었다.
위 같이 몇개 밖에 못땄다. 딴 것도 아니다. 그냥 힌트대로 따라 한 것이다.
언제쯤 진정한 해커가 될지를 생각해보면 망막하기만 했다. 크래커가 아닌 컴퓨터를 연구하면서 일생을 살아가고 싶은데.. 아무튼 이번 해킹 대회. 처음으로 참가하는 대회이지만 재미 있었다.
** 입상자에게 한마디!! **
이름 : 내용 : |
||||||||||||
|
|