2010/05/16 13:22
3번 문제는 주최측이 미리 준비해둔 GTalk 봇들과 대화를(?) 통해 답을 얻어내는 문제였습니다.
봇에게 아무 말이나 하면 "Unknown command, Type "help" for available commands!" 라고 대답을 합니다.
help 를 입력해 봅시다.
Available commands[user]:

base64: Returns passed arguments base64'ed
ls: Displays file list
rot13: Returns passed arguments rot13'ed
time: Displays current server time
whoami: Tells you your username

Type help <command name> to get more info about that specific command,

ls 를 입력해 봅시다.
DB2,txt Infomix,txt Ingres,txt MSSQL,txt MySQL,txt Oracle,txt PostgreSQL,txt

상위 디렉터리를 보기 위해...
ls ../ 를 입력해 봅시다.
File not found,

음... ../ 가 먹히지 않는걸까요? 하지만 상위 디렉터리를 보기 위한 다른 명령이 있습니다.
ls .\. 를 입력해 봅시다.
public private

public 폴더를 ls .\./public 으로 들여다보니 기존에 있었던 폴더같구요... private를 들여다 보겠습니다.
ls .\./private 를 입력해 봅시다.
memo1 ?memo2 memo3

메모를 읽고 싶습니다. help에는 없었지만, 본능적으로 cat을 입력해보았습니다.
cat .\./private/memo1 를 입력해 봅시다.
Need admin privilege,

오호... cat명령이 있긴 한데 관리자 권한이 없다 하는군요.
whoami 를 입력해 봅시다.
vhain6512@gmail,com/Talk,v10456D8BACD

이멜주소/리소스 의 형태로 되어있습니다. 여기서 전 Google Talk 프로그램을 이용했었습니다. 리소스의 경우엔 실행한 프로그램에 따라 달라지더라구요. 그래서 전 GTalk 이 이용하는 프로토콜인 XMPP를 이용하는 클라이언트를 직접 작성해보기에 이릅니다.. ;; (XMPP 웹사이트에 많은 라이브러리들이 있더군요...ㅠㅠ 저는 대회 다 끝나고 알았다는... 참고하시면 client 만드시는데 도움이 되실겁니다. http://xmpp.org/software/libraries.shtml)

작성 후 help라는 말을 날려보았더니 응답이 이렇게 왔습니다.
<message to="vhain6512@gmail.com" type="chat" id="1214(request마다 각각 다른 id를 줍니다.)" from="hdconbot4@gmail.com/HDCONTalk49A12728"><body>Available commands[user]:

base64: Returns passed arguments base64'ed
ls: Displays file list
rot13: Returns passed arguments rot13'ed
time: Displays current server time
whoami: Tells you your username

Type help &lt;command name&gt; to get more info about that specific command,</body><thread>None</thread><nos:x value="disabled" xmlns:nos="google:nosave"/><arc:record otr="false" xmlns:arc="http://jabber.org/protocol/archive"/></message>

흠... 봇들은 HDCONTalk 를 리소스 (메신저타입?) 으로 이용하고있더라구요. 그리고 이 리소스는 로그인과정에서 client에서 server로 보내주게 되어잇는 부분이었습니다.
<iq type="set" id="request마다 각각 다른 id를 줍니다.">
<bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">
<resource>VHAIN</resource>
</bind>
</iq>

이곳에서 VHAIN을 저도 봇들과 같이 HDCONTalk 으로 변경하여 로그인을 다시 시도해보았습니다.
로그인 후에 whoami 라고 말을했더니...
vhain6512@gmail,com/HDCONTalk77889A49

랍니다. 일단 의도대로는 잘 된것같군요.
help 라고 말 해 봅시다.
Available commands[admin]:

base64: Returns passed arguments base64'ed
cat: Displays file(argument: file or inode)
ls: Displays file list
rot13: Returns passed arguments rot13'ed
stat: Displays information about the server
time: Displays current server time
whoami: Tells you your username

Type help <command name> to get more info about that specific command,

ㅋㅋㅋㅋ Available commands[admin] 이라는군요.
자 성공입니다. !! 이제 아까 안됬던 memo1 읽기를 다시 시도해봅시다.
cat .\./private/memo1 을 입력해봅시다.
N,M 팀의 효율적인 팀웍을 위해
정보 공유 봇을 제작하였습니다,

불필요한 파일을 올리지 말고 사용하시길 바랍니다,
업로드에 필요한 정보는 memo2에 기록해 두겠습니다,

memo2를 읽으면 되겠네요. 그런데 memo2 파일이름이 아까 좀 이상했었습니다. ? 이런 문자가 있었던걸로 보아 뭔가 출력하기 곤란한 문자였나보군요...
help cat 을 입력해봅시다.
Displays file(argument: file or inode)

허허.. 파일이름이나 inode를 입력하라는군요. 파일이름 입력이 곤란하니...그래서 이번엔 inode를 이용하기로 합니다.
inode는 간단하게... 파일의 주소? 라고 말씀드리도록 하겠습니다.. (자세한것은 시간상... 하지만 구글신에게 여쭤보신다면..ㅎ)
memo2의 inode가 memo1과 memo3 사이에 있다는 가정 하에... 일단 memo1의 inode를 알아보도록 하겠습니다.
stat .\./private/memo1 을 입력합니다.
posix,stat_result(st_mode=33188, st_ino=59639L, st_dev=64512L, st_nlink=1, st_uid=1000, st_gid=1000, st_size=225L, st_atime=1273120860, st_mtime=1273120870, st_ctime=1273120870)

memo3의 inode를 알아보도록 하겠습니다.
stat .\./private/memo3 을 입력합니다.
posix,stat_result(st_mode=33188, st_ino=59644L, st_dev=64512L, st_nlink=1, st_uid=1000, st_gid=1000, st_size=143L, st_atime=1273120884, st_mtime=1273120887, st_ctime=1273120887)

memo1의 inode는 st_ino=59639, memo3의 inode는 st_ino=59644 이군요. ^^
cat 59640 ~ cat 59643. 네번 시도만 하시면 넷중이 하나 답이 나오겠군요. ~~
정답은 59639 였습니다.
cat 59639 를 입력하시면...
축하합니다!
아래 키를 입력하면 다음 단계로 진행할 수 있습니다,

Key is "_tob607^^3xpl07~~777"

클리어 ~

P.S. Pidgin 메신저에서 XMPP 콘솔을 이용해서 푸신 분도 계시는것 같더라구요 ~
저작자 표시 비영리 동일 조건 변경 허락
크리에이티브 커먼즈 라이선스
Creative Commons License

'Security > HDCon' 카테고리의 다른 글

HDCon 2010 예선 4번 문제 풀이  (8) 2010/05/16
HDCon 2010 예선 3번 문제 풀이  (3) 2010/05/16
HDCon 2010 예선 2번 문제 풀이  (4) 2010/05/16
HDCon 2010 예선 1번 문제 풀이  (2) 2010/05/16
Posted by VHAIN