728x90
반응형
728x90
반응형
728x90
반응형

지금은 문제가 없어졌다.

 

그냥 브포 문제라서 그런 것 같다.

 

저번 해캠때도 비슷한 브포 문제가 있었는데 출제자 분이 동일했던 것으로 기억한다. (제가 아는 분입니다.)

 

 

이번 문제 내용은 이렇다.

 

import random 
import sys 
url= ['h','t','t','p','s',':','/','/','x','x','x', '.' 'x','x','/','1','2','3','4','5','6','7'] 
 #url is https://xxx.xx/XXXXXXX 
 # flag in this site. #guess what !!!! 
random.shuffle(url) 
for i in range(0,21): 
    sys.stdout.write(url[i]) 
    sys.stdout.flush()

 

이렇게 소스 코드 하나 주고, 출력도 주는.....ㄷ....ㅔ??

 

Aㅏ 따로 저장해두지 않았다....

 

 

출력은 저 구해야 되는 url의 문자들이 랜덤으로 배치된 문자열을 준다.

 

url이 https://xxx.xx/XXXXXXX 이와 같은 형태라고 하는데 xxx.xx을 보고

0. 단축 url이다.

1. bit.ly

을 유추해 냈다.

 

출력값에서 h t t p s : / / b i t . l y / 을 빼내면 A B C D E F G가 남게 된다.

(이 문제는 단순 브포에다가 bit.ly에 5000번 정도를 접속을 해야 하기 때문에 그냥 문자를 ABCDEFG로 바꾸었습니다.

외부 공개된 CTF문제에서도 빠진 것을 보면, 굳이 그대로 올리는 건 좋지 않은 것 같았습니다.)

 

저 7개 문자를 가져다가 순열을 만들어서 다 접속해보면 된다.

 

from itertools import permutations
import requests

a = list(permutations(['A','B','C','D','E','F','G']))
url = "https://bit.ly/"

print(len(a))
for i in range(0, 5041): #4967
    print(i)
    b = a[i]
    b = str(b).replace(",", "")
    b = str(b).replace("(", "")
    b = str(b).replace(")", "")
    b = str(b).replace("'", "")
    b = str(b).replace(" ", "")

    d = url + b
    print(d)

    response = requests.post(d)
    print(response)

 

0. 200 응답만 오는 걸 출력하도록 조건문을 추가하는 것이 더 좋다.

1. 돌리다 보면 request에서 오류가 나는 경우가 있는데, 해당 url 다음 번째부터 다시 코드를 돌려주면 된다.

2. 코드가 잘 돌다가 어느 순간부터 403으로만 응답이 오면 bit.ly로 부터 차단된 것이다. 몇 분 기다렸다가 다시 시도해 c주어야 한다.

 

CTF때, url 하나 접속하고 응답받는데 약 2초정도 걸렸었다. 혼자 돌리는 건 매우 오래걸릴 것 같아서 팀원 2명과 같이 범위를 나누어서 돌렸었는데, 그 중 한분이 구글 콜라보레이터를 알려주시면서 빠르게 코드를 돌릴 수 있었다.

 

4000개쯤 시도했을 때... 이거 다 돌려도 안나오면 어떡하지 라는 걱정을 했었는데 결국 4967번째에서 찾을 수 있었다.

(뒤에서부터 돌릴걸 그랬다.)

728x90
반응형
728x90
반응형

헐... ? 누군가가 장난을 쳐두었어 ! 3가지를 찾아줘 ! 플래그 포맷

HCAMP{삭제 된 유저_메모프로그램에 저장된 숫자_부팅 시 조작 된 프로세스명}

 

[+] 삭제 된 유저는 로그에서 찾을 수 있습니다.

[+] 메모 프로그램은 sticky note입니다.

[+] 부팅 시 로드 되는 화면은 레지스트리에서 관리합니다.

 

 

 

TEAM : 속4Four

대회때 느린 다운로드 속도 + 제한된 데이터량 때문에 이미지파일을 못 받았다가

다음날 와이파이로 접속해서 다운받아 풀었다.

 

vmware로 열려다가 부팅이 안되길레 그냥 FTK Imager로 열어서 풀었다.

 

삭제 된 유저는 로그에서 찾을 수 있다. -> 이벤트 로그

유저 관련 이벤트 로그는 Security.evtx다. 해당 로그파일을 추출해서 이벤트 뷰어로 보면되는데, 삭제로그 이벤트 ID는 4726이다. id로 정렬하면 id가 4726인 로그를 하나 찾을 수 있다.

 

로그 내용에서 '계정 이름: Bn312'을 찾을 수 있다.

 

 

 

 

 

 

 

메모프로그램 (sticky note)에 저장된 숫자 -> sticky note 세이브 파일을 찾으면 된다.

세이브 파일 경로를 검색했을 때

 

C:\Users\계정명\AppData\Local\Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\localstate

로 찾을 수 있었는데, 해당 경로가 존재하지 않아서, 다른 경로를 찾아 보았다.

 

https://tirtir.tistory.com/entry/%EC%8A%A4%ED%8B%B0%ED%82%A4%EB%85%B8%ED%8A%B8-%EA%B5%AC%EB%B2%84%EC%A0%84-%ED%8C%8C%EC%9D%BC-%EC%9D%BD%EA%B8%B0snt

 

스티키노트 구버전 파일 읽기(.snt)

C:\Users\계정이름\AppData\Roaming\Microsoft\Sticky Notes 안에 위치한 이 파일만 백업한 후 윈도우 업그레이드를 시작했는데.. 새 버전의 윈도우10에서는 아무리 찾아도 넣어야 할 폴더가 보이지 않는다. 업무..

tirtir.tistory.com

 

위 블로그 글을 참고했다. 이미지 파일에서 snt파일을 추출해서 내 컴퓨터에 덮어쓴 후에, sticky note를 실행해주면

저장된 메모가 나온다. 여기서 '저장된 숫자' = 589319235를 구할 수 있다.

 

 

 

 

 

 

 

 

부팅 시 조작 된 프로세스명은 레지스트리에서 찾을 수 있다고 한다.

역시 검색을 해보았다.

 

 

https://ploiu.tistory.com/30

 

[윈도우] 윈도우 구동시 자동시작프로그램 로드순서

[윈도우] 윈도우 구동시 자동시작프로그램 로드순서 얼렁뚱땅 2006.12.01 09:31 윈도우를 구동할시에는 윈도우가 자동적으로 로드를 하여 구동을 시키는 프로그램들이 있는데, 이를 (자동)시작프로그램 이라고 합..

ploiu.tistory.com

여기에서 관련된 레지스트리를 찾았다.

 

SOFTWARE 레지스트리 파일을 추출해서 분석하면 되는데, 

SOFTWARE > Microsoft > Windows > Run 에 shell이라는 이름으로 h33cxkqi1531 라는 값이 들어있었다.

 

 

해서 flag는 HCAMP{Bn312_589319235_h33cxkqi1531}가 된다.

728x90
반응형
  1. $1m0hYa 2019.08.26 08:32 신고

    우와! 감사합니다 ㅎㅎ

+ Recent posts