Reverse01 리버싱을평소에했던사람들이 1 번문제를 ollyice 파일로실행을시켰을경우에 아래와같은계속반복만되고원하는루틴들이안나오는것을금방확인할수있을것이다. 그래서 Stud_PE 라는툴로 1 번문제를열어본다면 이것과같이 UPX 라는글자가보인다. 이 UPX 가뜻하는것

Similar documents
<4D F736F F D20B3BBBACEC7D8C5B7B4EBC8B820BAB8B0EDBCAD2E646F6378>

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

SBR-100S User Manual

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

2 전개과정 지도계획 주기 주제 활동 방법 및 내용 성취수준 주제발현 브레인스토밍 유목화 1 한식 알아보기 요리법 연구하고, 학고역할분담 조리 계획하기 생명과 음식 영화감상하기 생명과 음식 토론하기 한식 식사예절 알아보기 6 음식 주제발현, 브레인스토밍, 유

금오공대 컴퓨터공학전공 강의자료

게시판 스팸 실시간 차단 시스템

Microsoft Word - src.doc

PowerPoint Template

Visual Basic 반복문

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

문서의 제목 나눔고딕B, 54pt

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

ISP and CodeVisionAVR C Compiler.hwp

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

JAVA 플랫폼 개발 환경 구축 및 활용

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

Secure Programming Lecture1 : Introduction

본 강의에 들어가기 전

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

persona

POC "Power of Community" 이민우 (lwmr)

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

PowerPoint Template

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

ActFax 4.31 Local Privilege Escalation Exploit

Microsoft PowerPoint - chap06-1Array.ppt

Chapter 1

윈도우즈프로그래밍(1)

제 2 회 NewHeart 해킹청소년경진대회 Write-up 안양부흥고등학교 2 goodboy( 김남준 ) Misc 100 ( 보너스문제 ) 이상한사진파일하나가첨부된문제이다 처음에는스테가노그래피인줄알고삽질을약간 (?) 하다가 ASCII 인줄알고고생하다가 그대로붙여서계산

주제별로명령들이따로있는것을보면주제끼리의순서는상관없어도명령들의위치를지 켜야할지도모른다. 하지만실험은해보지않았으니심심하면체크해봐도된다. [CRAB] CRAB 을하기위한가장기본적인세팅이다. jobtype = cmssw scheduler = glite 등이있다. 보통 CRAB

DocsPin_Korean.pages

슬라이드 1

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Microsoft PowerPoint 웹 연동 기술.pptx

로거 자료실

PowerPoint Presentation

PowerPoint 프레젠테이션

SBR-100S User Manual

SBR-100S User Manual

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

설계란 무엇인가?

Mango-E-Toi Board Developer Manual

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

NTD36HD Manual

아래 항목은 최신( ) 이미지를 모두 제대로 설치하였을 때를 가정한다

chap 5: Trees

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

MIC Check 1pt ( pwnable ) 아마도 문제 제목을 저렇게 낸 이유는 공연 전 마이크 테스트를 하는 것처럼 쉬운 것을 하나 풀면서 몸이라도 푸라고 저렇게 정한 게 아닐까 배점은 1 점짜리, pwnable.kr 의 cmd 와 비슷한 문제

Studuino소프트웨어 설치

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

쉽게 풀어쓴 C 프로그래밍

<4D F736F F D20BEC8C0FCC7D120B8DEC0CF20B9D720C6C4C0CF20C0FCBCDB2E646F6378>

Microsoft PowerPoint - ICCAD_Analog_lec01.ppt [호환 모드]

SBR-100S User Manual

Hack the Packet 보고서 위 dj

PowerPoint Presentation

F120L(JB)_UG_V1.0_ indd

PowerPoint Presentation

Microsoft Word - PLC제어응용-2차시.doc

Tcl의 문법

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

C# Programming Guide - Types

BEA_WebLogic.hwp

<B1E2BCFAB9AEBCAD5FB9DABAB4B1D45F F F64746F72732E687770>

Microsoft Word - Windows_apahce_php_CUBRID2008

歯MW-1000AP_Manual_Kor_HJS.PDF

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

Install stm32cubemx and st-link utility

Hack The Packet Online PreQUAL 이진혁 [ loca ]

System Recovery 사용자 매뉴얼

PowerPoint 프레젠테이션

대량문자API연동 (with directsend)

강의 개요

ㅇ악성코드 분석

OnTuneV3_Manager_Install

Secure Programming Lecture1 : Introduction

Chapter ...

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

SS Term #3.doc

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

Microsoft Word - junior.docx

UI TASK & KEY EVENT

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

Windows 8에서 BioStar 1 설치하기

특허청구의 범위 청구항 1 회선 아이디 접속 시스템에 있어서, 온라인을 통해 실제 사용자 고유정보의 발급이 가능한 아이디 발급 사이트를 제공하기 위한 아이디 발급 수단; 오프라인을 통한 사용자의 회선 아이디 청약에 따라 가상의 사용자 고유정보 및 가인증 정보를 생성하고

목차 백업 계정 서비스 이용 안내...3 * 권장 백업 정책...3 * 넷하드(100G 백업) 계정 서버로 백업하는 2가지 방법...3 * 백업서버 이용시 주의사항...3 WINDOWS 서버 사용자를 위한 백업서비스 이용 방법 네트워크 드라이브에 접속하여

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

예제와 함께 배워보는 OllyDbg사용법

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

Transcription:

Hust 내부해킹대회 풀이보고서 Team = DMT 팀원 : 이새미 (DS) 김미향 (Melong) 박주선 (TwoFace) 윤기현 (DarkSoul) 김동현 (tcan)

Reverse01 리버싱을평소에했던사람들이 1 번문제를 ollyice 파일로실행을시켰을경우에 아래와같은계속반복만되고원하는루틴들이안나오는것을금방확인할수있을것이다. 그래서 Stud_PE 라는툴로 1 번문제를열어본다면 이것과같이 UPX 라는글자가보인다. 이 UPX 가뜻하는것은이파일이 UPX 방식으로 packing

되어있음을의미한다. 그래서 upx unpacking 툴을이용하여다음과같이 unpacking 한다면정상적인루틴들이보일것 이다. 그래서실행을하면 This is gate in reversing! 라는글이보인다. 그리고어떤값을입력받는것으 로프로그래밍이되어있는것을확인할수있다. 그래서그 key 값을알기위해해당루틴을찾아야한다. 그런후에해당루틴이실행되면 다음과같은창이뜨고그곳에 gatekeeper 이라는값을입력하면쉽게 key 값을알수가있다. 하 지만이것보다더갂단하게답을알수있는방법이있다.

아래와같이가장상위쪽으로이동하고보면입력해야하는 key 값과얻어야하는 key 값이나와 있는경우가가끔있기도하다.

Reverse02 2 번도 1 번과마찬가지로이상한루틴들이반복된다는것을금방알수가있고그파일을 Stud_PE 파일을이용하여정보를알아보면 1 번과마찬가지로 UPX 방법을이용한 packing 라는것 을알수가있다. UPX packing 를 1 번과마찬가지로툴을이용하여 packing 를풀면정상적인시작점과루틴이시 작된다. 하지만파일을실행해보면 1 번과유사하게어떠한값을입력하고그값을원래지정된값과비교하여맞으면다음루틴을 실행한다는것을알수가있다.

이번도 1 번과마찬가지로해당값과답을얻을수있는가를확인하기위해최상위로올라가보 면답은없고입력해야하는값으로보이는 fuckyou 라는문자열이보인다. 그래서그문자열을다시실행시킨후입력을하면 다음과같은어떠한문자열이주어지고그문자열을 decode 해야한다는말이있다. 하지만이대 로저문자열을 decode 할수없기때문에다시루틴으로돌아가 decode 에필요한힌트를얻을 필요가있다. 힌트가 xor 이라는것을알고 xor 을중점적으로찾다가아래와같은 xor 이어떠한값을비교함과 동시에여러번반복을거친다는것을알수가있다. 여기서 xor 은 dl 과 cl 을어떠한방식으로비 교한다는것을알수있는부분이가운데에있는부분이다.

그래서 dl 과 cl 이무언인가를찾던도중아래쪽에 dl 과 cl 이어떠한값을가지는것인지알수가있었고, 반복을통하여관찰을한다면 dl 은해당 문자의 ascii code 값이라는것을알수가있고 cl 의값은 0 부터시작하나씩증가한다는것을알 수가있다. 그런후에아까나왔던 decode 해야하는문자열의 ascii code 값을알기위하여프로그램상단부 분의 M 버튺을눌러주면다음과같은화면이나온다. 여기서 search 버튺을누른후에아까문자열의앞부분에해당하는일부분을검색을하게된다면

다음과같은창이뜨면서문자에해당하는 ascii code 값들을얻을수가있다. 그런후여기서얻은 ascii code 값을가지고 xor 을해서 key 를얻을수가있다. 하지만직접 xor 을하기에는무리가있기때문에프로그래밍을해야한다. 그래서주로사용하는 python 내부에 있는 xor 함수를사용하여 xor 을실행시켜보면 key 값을구할수가있다.

Network01 문제페이지에서 979B93285DE87C4731FC824BD9E4BA75 파일을받아확장자를 cap 으로하여 WireShark 로열어보았다.

그랬더니 Data 가있는패킷들이있어이를 Copy->Bytes(Printable Text Only) 하여내용을받아보았 더니암호화가되어있었다. 이를 Base64 로부분적으로복호화시켰더니

대화내용들이보였고대화도중중요한비밀을말해주겠다는대화내용으로 TREWEYSSFIMOIEGOVD / the key is akama 이부분이중요한부분이란것을알수있었다. 처음엔 akama 가 key 라고써져있었기에뭐지하다가위의구문이이상한것에대해서또생각을 하다가주위사람들의도움으로비즈네르암호화를썼다는것을알아냈다. 따라서 key 값을넣고복호화시켰더니 THEKEYISTIMEISGOLD 란값이나왔다.

Network02 문제페이지에서 54C84B40E9FF5A31472904A0CD2F0A17파일을다운받아확장자가 exe 파일인것을알고 exe파일으로바꾸고실행시켰다. 그런데힌트에서 Network문제라는것을잊지말라고나왔기때문에작업관리자를확인해보니 54C84B40E9FF5A31472904A0CD2F0A17.exe 파일이프로세스에서실행중인것을알수있었다. 이를보고 WrieShark에서내컴퓨터에서나오는패킷을캡쳐하여 Data들을확인해보니 이런값들이나왔다. 그중 R_U_Enjoy? 란평문이의심스러워인증프로그램에입력시켰더니인증이되었다.

Network03 문제에서 222.122.118.2:16511 이런지문같은것이주어졌고문제의주제로 socket 이주제로주 어졌기때문에앞에있는것이 IP 라는것을알수있었고뒤에있는것은 port 라는것을알 수가있었다. 그래서 python 으로다음과같이 socket 프로그래밍을한후실행을시켜보았다가실수로한번 더실행을시켰더니첫번째로알수있었던것이다음 key 값과실행을시킬때마다서버가보 내주는키값이다르다는것을알수가있다. 그래서저키값을서버로다시보내주기위해 다음과같이코드를변경하였다. 이코드에서여기서 re.findall("the Next key : (\w+)",a) 이것이뜻하는바는 \w 가숫자와문자를

모두포함한것을의미한다. 그리고 re.findall 은그문자열에서사용자가원하는문자열을따로 편집해주는문자열을의미한다. 그다음으로 string.join(str1) 이것은원래 re.findall 을사용하면 python 의 list 라는것으로묶어져나오기때문에그 list 를문자열로바꿔주는기능을한다. 그래서실행을한다면다음과같은결과가나온다.

여기서반복적인문자가오는것이아니기때문에중갂에 The Next key 대싞 Good! The Next 라 는문자열이오기때문에중갂에저문자를처리해줄코드를추가해주면다음과같이된다. 이렇게바뀌었지만크게변한건없고이미짜둔코드를한번더반복시키고중갂에 Good! 에 해당하는문자열만추가시켜준거뿐이다. 그런후실행을시키면다음과같다.

여기서다시한번바뀌는코드가생긴다는것을알수가있고또한그 key 값을거꾸로한후서버 로보내야하기때문에조금복잡해짂것을알수가있다. 그래서코드를작성해보면다음과같다.

여기서 if 문과 while 문이한번씩더쓰인것이보이는데 if 문을사용한이유와아까 len(a) 가보 인이유가여기에서설명이가능하다. 원래 The Next key 이문자열이나 Good! The Next 이문자 열의길이는둘다 47 개의문자로이루어져있지만 Yes! Next stage is revers : 이문자열은 47 길 이를초과하기때문에그문자열이나왔을때실행을하기위하여 if 문을사용한것이다. 그리 고원래위의코드에서추가된부분이 str6[::-1] 이부분이다. 이부분은해당문자열을거꾸로해 주는기능을가지고있다. 그리고 while 문이다시사용된이유는위에도나오다시피서버로부터 받은 key 값을지속적으로거꾸로만들어준후에보내줘야하기때문이다. 위쪽 while 1 문으로 돌아가면서버가거꾸로된 key 값이오지않기때문에무한반복이되기때문에그러지않기위 하여 while 2 를추가하여지속적으로뒤집어짂문자열을보내기위함이다. 그래서실행결과에서 답을찾을수가있다.

Crypto01 문제 MWB IHTYRJI WM T JTYI TCC EUROIB: OXXR://ODCX.PIX/UPXBWADEI/UPXBW_1.OXYJ, XOUC EUROIB JWWL'C JULI VWEL? PW, TEXDTJ MZU NDUG! the key is : EBTGK_OTEL!!! (you must decrypt it) 풀이 알수없는영어들로이루어짂암호문이주어져있다. 영어단어도아니고서로젂혀관렦도없어 보인다. 하지만여기에중요한힌트가있다. OXXR:// 이것을보면추롞할수있게된다. HTTP:// 이를이용해보면 O->H X->T R->P OXXR://ODCX.PLX/ HTTP://H T. T/ 이를보면서가운데들어갈문자를추측해보았다. H T->HUST 로추측해보면 D->U C->S T->NET 로추측해보면 P->N I->E 따라서 OXXR://ODCX.PLX->HTTP://HUST.NET/ 으로추측이가능이다

이를바탕으로다음을추롞해보면 OXXR://ODCX.PLX/UPXBWADEI/ 는 HTTP://HUST.NET/_NT UCE/_NT.1/->HTTP://HUST.NET/INTRODUCE/INTRO.1/ 으로추측하면 U->I B->R W->O A->D 로추측해볼수있다. HTTP://HUST.NET/_NT UCE/_NT.1/HT ->HTTP://HUST.NET/INTRODUCE/INTRO.1/HTML 으로 추측하면 Y->M J->L 로추측해볼수있다. XOUC EUROIB JWWL C JULI VWEL? PW, TEXDTJ MZU NDUG! 을앞의방식으로풀이해보면 THIS CIPHER LOO_ S LI_E _OC_? NO, X L I _UI_! 이러한형식으로나온다즉키를이러한방식으로풀이해보면 EBTGK_OTEL!!!->CRAZY_HACK!!!! 이렇게나오게된다

Binary01 이그림이문제로제시되었다. 바이너리문제를처음풀어봐서젂혀감이잡히지않았다. 이그림 파일을메모장으로열어보았다. 이러한모양의텍스트파일로뜨게된다. 주어짂힌트를이용하여 scalpel 을다운받아보았다.

이를 cmd 창으로실행시켜보면 Zip 파일이힌트로주어졌으니 scalpel.conf 를수정해준다. # 로쓰여있으므로 # 을제거해주석을제거해주고, 뒷부분 x50/x4b 로수정한다 그후 scalpel 파일이름을써준다

그러면 scalpel-out 이라는폴더가생겼을것이다. 그곳을클릭하면

이곳에들어가보면 이런네개의 zip 파일을볼수있다. 출제자님의힌트를얻어이를 string 값으로뽑아내기위해 bintext 라는툴을찾았고 이를실행시켜보았다.

The key is http://www.yes24.com/24/goods/4447549 라는키값을찾아낼수가있었다. Forensic01 문제페이지에서 8A4AC216FB230DA3834DE641B3E5D0F7 파일을받았더니압축된파일이란것을 알았다. 그리하여압축을풀었더니 HIVE 폴더가있었음을알수있었다. REGA 프로그램으로분석을했을때장치관리자에서문제에서제시한 ParentIdPrefix 가일치하는 부분이있었다.

이를통하여 LGE USB Drive 가여기서찾으려는 USB 임을알수있었고하드웨어정보 -> 장치관리 자에서디스크드라이브에서 LGE USB Drive 에서인증하려는제조사명 _ 제품명 _ 버젂번호를찾으려 하였다. 처음엔잘몰라버젂이 5.1.2535.0 인줄알았는데 Registry Key 에서..USBSTOR\ Disk&Ven_LGE&Prod_USB_Drive&Rev_1100\AA04 가처음엔무엇인지몰랐으나 USBSTOR에기록되는것이 mass storage로등록되는 usb에대한정보가기록된다는것을알게되어제조사가 LGE란것을알게되었고제품명은 USB_Drive이고버젂번호는 1100 이란것을알게되었다. KEY : LGE_USB_Drive_1100 Search01 딴문제를풀고이문제를보았을때이미힌트가나와있었고모두소문자로인증하라고말씀하셔서 icmp 로검색해보았다. 여기서 wiki에서연관검색어로 icmp Tunnel이있었는데내용에서기술로 icmp tunneling가있어서 icmp tunneling을검색해보았더니터널링이하는일이관리도메인을연결하고있는인터넷이지원하지않는프로토콜을사용하는관리도메인으로부터데이터를수집하는데사용된다고하였고방화벽을우회하는데에쓰인다고찾아본바에의하면그렇게써

있었다. 이를이용하면 data 를특정인물만알수있도록하는방법에도사용될것이라사용되어 icmp tunneling 으로인증하였더니인증이되었다. Web01 [ 그림 ] 문제페이지 처음엔어떻게풀어야할지젂혀감을못잡고있었다. 여러곳에서삽질을하다가힌트로 NanoCMS 어플리케이션취약점이힌트로나와서 http://222.122.118.29:1280/~andy/data/pagesdata.txt 이곳으로이동을하였더니 이러한페이지가떴다. 그중 이런구문이있어, username 이 admin, password 가 1adbb3178591fd5bb0c248518f39bf6d 이란것 을알게되었고, password 를 md5 으로 crack 하였더니

Password 값이 asdf1234 라는것을알수있었다.( 대회때비밀번호가계속바뀌는데 asdf1234 가 아니면 abcd1234 였다.) admin 으로로그인된것이보였다. 하지만문제는이에끝나지않았고 New Page 로글을올려보니글이올려지는것이보였다.

이렇게여러번글을올리다가 system 명령어를삽입했더니쉘이업로드되는것을알수있어서 php 쉘을업로드시켰다. 그러고주호오빠가 key.txt 가있다는말씀을하셔서 find 명령어로찾아봤지만찾지못해 txt 파일 을다찾아봤지만찾지못하였다. 한참후대훈오빠께서 reverse telnet 을사용하라는힌트를주셔서이를사용하여 netcat 으로 reverse telnet 기법을사용하였다 그리고 cat /etc/crontab 을하여

Root 권한으로계속실행시키는파일 /var/www/events/scripts/cron-curl.sh 를찾았다. 그리고난뒤 key.txt 파일의위치를찾도록하였다. [ 그림 ] 입력화면 [ 그림 ] 출력화면 그리하여 key.txt 파일이 /root 폴더에있다는것을알게되었고, [ 그림 ] 출력화면 root 권한으로실행을하고있기때문에 /root/key.txt 를읽을수있으므로 cat 으로읽은값을 /tmp/ll.txt 으로넣어주도록하고있다. 이리하면 일반유저에서도읽을수있도록 key.txt 를받아왔다. 이를 cat /tmp/ll.txt 로하면