반응형

워게임/HackTheBox 30

[HackTheBox] Cryptohorrific - 리버싱 / Plist pro / IDA

HackTheBox에서 제공하는 아이폰 앱 관련 리버싱 문제이다. 문제에서 주어진 압축파일의 압축을 풀어보면 challenge.plist 라는 파일이 들어있다. 이 파일은 plist pro 라는 도구로 열어볼 수 있는데 열어보면 xml 형태로 이렇게 암호화된 flag 가 들어있는것을 볼 수 있다. 여기까지 확인하고 다음으로 hackthebox 라는 파일도 같이 압축파일에 들어있는데 이게 앱 파일인것 같았다. 해당 파일을 IDA를 이용해 열어보니 SecretManager:key:iv:data 라는게 보인다. 뭔가 암호화랑 관련있는것 같다. 눌러서 들어가보면 CCCrypt 라는 함수가 보인다. CCCrypt 로 들어가보면 이렇게 나온다. 두번째 인자가 alg 라는것을 알 수 있는데 document 를 찾아보..

[HackTheBox] Neonify - 웹해킹 / SSTI / Ruby

HackTheBox에서 제공하는 EASY 난이도의 웹해킹 문제 Ruby 로 개발된 웹페이지에 대한 SSTI 취약점과 관련된 문제이다. 문제 소스파일과 함께 문제페이지 주소가 주어진다. 문제 페이지에 들어가면 Ruby로 개발된 것을 어필하는듯 빨간 보석들이 보이고 중간에 입력할 수 있는 칸이 하나 보인다. 웹 페이지의 기능은 사용자가 입력한 텍스트를 아래쪽에 네온 효과를 줘서 출력시키는 것이 전부이다. 처음엔 SSTI 관련 문제인지 모르고 XSS 페이로드를 테스트 해보고자 를 입력해 보았다. 그랬더니 Malicious Input Detected 라는 문구가 출력된다. class NeonControllers < Sinatra::Base configure do set :views, "app/views" set..

[HackTheBox] Obscure - 포렌식 / Wireshark / John the Ripper

HackTheBox에서 제공하는 HARD 난이도의 포렌식 문제 HARD 로 분류되어있긴 하나 다른 HARD 난이도 문제들에 비해선 쉬운편이다. 문제파일은 다운로드 받으면 패킷캡쳐파일과 support.php 가 들어있다. 패킷캡쳐 파일에는 웹 서버와 통신한 내용이 들이있다. URI가 support.php 인 통신이 있는걸로 보아 이 support.php 가 문제 파일로 제공된 파일과 같은 내용인듯 하다. support.php 에는 난독화된 내용이 들이었다. 그런데 자세히 보면 그렇게 어렵게 난독화되어있지 않다. 마지막에 str_replace 하는게 고작이기 때문에 수작업으로도 깔끔하게 고칠 수 있다. $k="80e32263"; $kh="6f8af44abea0"; $kf="351039f4a7b5"; $p="..

[HackTheBox] FreeLancer - 웹해킹 / SQL Injection / LFI / dirb

HackTheBox 에서 제공하는 웹해킹 문제 MEDIUM 난이도이지만 꽤 어렵다고 느꼈다. 문제페이지에 접속하면 이런 화면이 나온다. 어떤 프리랜서가 본인의 포트폴리오를 올려놓은 이력서 웹사이트이다. F12를 눌러 개발자 도구를 통해 HTML 을 살펴봤다. 주석으로 숨겨진 경로가 하나 보이는데 portfolio.php?id=2 이런식으로 되어 있는것을 보고 id 파라미터를 통해 뭔가 할 수 있을거라고 생각했다. 해당 URL 로 접근해서 id 파라미터를 변경시켜 봤다. ?id=1 이라고 하면 아래쪽에 Log Cabin 뒤에오는 숫자가 1로 바뀐다. 2, 3 으로 바꾸면 마찬가지로 Log Cabin 2, 3 이런식으로 바뀐다. id=1 or true 라고 입력했더니 SQL Injection 이 성공한 듯 ..

[HackTheBox] Forest - 포렌식 / Stegsolve / Steghide / Vigenere

Medium 난이도의 포렌식 문제 스테가노그래피와 관련한 문제이다. 문제에서 주어지는 파일은 위와 같다. 가장 먼저 Stegsolve 라는 도구를 사용해봤다. 아래 경로에서 Stegsolve.jar 파일을 다운로드 받을 수 있다. (http://www.caesum.com/handbook/Stegsolve.jar) Stegsolve를 실행시켜서 File - Open으로 이미지를 불러오면 된다. 아래쪽에 있는 버튼을 누르면 이미지의 alpha, blue, green, red, xor 등등 다양한 값을 조정한 형태를 보여주게 된다. 하나씩 넘기다보면 중간에 이렇게 문자열이 보이게 된다. 처음엔 이게 플래그인줄 알았는데 아니었다. steghide 에서 사용하는 passphrase 였다. steghide extr..

[HackTheBox] Impossible Password - 리버싱 / IDA

HackTheBox 에서 제공하는 쉬운 난이도의 리버싱 문제 간단하게 풀 수 있다. 문제에서 주어지는 파일은 impossible_password.bin 파일이다. 리버싱 문제이니 고민하지 않고 바로 IDA 로 열어보았다. main 함수에서 f5를 눌러 수도코드를 살펴보니 * 을 출력한 뒤에 사용자 입력을 받는데 그 값이 SuberSeKretKey 일 경우 다음으로 넘어가게 되어있다. 그리고나서 ** 을 출력하고 또 입력을 받는데 이번엔 그 값이 v3 의 값과 같아야 한다. v3 는 sub_40078D 의 수행결과가 저장되는데 sub_40078D 를 들어가 봤더니 시간을 시드값으로 해서 랜덤한 값을 생성하고 그 값의 % 94 + 33 을 계산해 V3 에 집어넣고 있었다. 사실상 이걸 알아내는건 불가능하다...

[HackTheBox] xorxorxor - 암호학

제목 그대로 정직한 XOR 과 관련된 암호학 문제이다. 문제에서 제공되는 파일은 output.txt 파일이다. 해당 파일을 열어보면 암호화된 플래그가 적혀있다. 당연하겠지만 XOR 을 이용해서 암호화 됐을것이다. 암호화하는 파이썬 코드도 함께 주어진다. 암호화하는 과정을 살펴보면 os.urandom(4) 로 4바이트짜리 임의의 키를 생성해서 그 키값과 플래그를 XOR 연산을 한다. 랜덤이라 경우의 수가 굉장히 많지만 HackTheBox 에서의 플래그는 HTB{ 로 시작한다는 사실일 알기때문에 아주 쉽게 풀 수 있다. CyberChef(https://gchq.github.io/CyberChef) 를 이용해서 HTB{ 를 16진수로 바꿔보면 48 54 42 7b 가 된다. 이 값을 암호화된 플래그 맨 앞자리..

[HackTheBox] Reminiscent - 포렌식 / Volatility

HackTheBox 에서 제공하는 Easy 난이도의 포렌식 문제 문제 설명을 읽어보면 채용 담당자가 이상한 메일을 받아서 악성코드에 감염되었는데 이메일 사본과 메모리 덤프를 가지고 분석을 해달라 한다. 문제에서 제공되는 파일은 flounder-pc-memdump.elf 파일, imageinfo.txt, Resume.eml 파일 세가지이다. elf 파일이 메모리 덤프 파일이고, imageinfo.txt 는 volatility 를 이용해 메모리 덤프 파일에 imageinfo 플러그인을 실행한 결과, eml 은 이메일 사본이다. eml 파일을 열어보면 resume.zip 파일에 링크가 걸려있는데 해당 링크는 http://10.10.99.25:8080/ 주소로 연결되어 있는걸 알 수 있다. imageinfo.t..

[HackTheBox] USB Ripper - 포렌식 / Python

EASY 난이도의 포렌식 문제 sysadmin 으로서 누군가가 USB 를 이용해 중요 정보를 가지고 나간걸 찾아내라고 한다. 문제힌트도 함께 주어진다. once you find it, "crack" it 잘 기억해 둔다. 문제 파일로는 두개의 파일이 주어진다. 첫번째 파일은 syslog 파일이다. 일부만 가져왔는데 파일 크기가 무려 90만줄이다.. USB를 연결할 때마다 해당 USB의 Product, Manufacturer, SerialNumber 를 로그로 남기는듯 하다. 두번째로 주어지는 파일은 auth.json 파일이다. 이 파일에는 json 형태로 인가된 USB의 Product, Manufacturer, SerialNumber 값을 저장하고 있다. syslog 에서 식별된 값이 auth.json ..

[HackTheBox] MarketDump - 포렌식 / Wireshark

MEDIUM 난이도의 포렌식 문제 문제 설명을 읽어보면 해커가 내부 네트워크에 접근해서 고객 DB를 털어갔따고 한다. 고객 중 하나가 범인이라는데 누군지 잡아달라고 한다. 문제에서는 패킷파일이 주어진다. 주어진 패킷 파일은 Wireshark 라는 도구로 열어볼 수 있다. 주어진 패킷파일을 와이어샤크로 열어보면 10.0.2.15 에서 10.0.2.3 주소로 계속 패킷을 보내는 것을 볼 수 있다. 10.0.2.15 가 해커의 주소이고 뭔가 열린 포트를 찾기위해 스캔하는것 처럼 보인다. 계속 내리다가 2,550 번째 패킷 쯤 가면 TELNET 프로토콜을 이용해 뭔가 데이터를 주고받은 흔적이 보인다. 해당 패킷에서 우클릭 - Follow - TCP Stream 버튼을 눌러서 확인해본다. 서버에서 admin / ..

반응형