반응형

사이버 424

[Really Awesome CTF] Really Awesome Monitoring Dashboard - 웹해킹 / SQL Injection

SQL Injection 과 관련된 웹해킹 문제 인젝션 자체는 어렵지 않았는데 벡터를 찾는게 시간이 좀 걸렸다. 문제페이지에 들어가면 보이는 화면이다. 이건 Grafana 라고 불리는 오픈 소스 애널리틱스 시각화 웹 어플리케이션이다. 쉽게 생각해서 어떤 테이터 소스를 이용해서 저런 대시보드 같은거 만드는 것이다. 벡터는 이 부분이었다. 눈에 직접적으로 보이지 않아서 찾는데 좀 걸렸다. 대시보드를 몇초마다 갱신하면서 데이터베이스로 SQL 쿼리를 계속 날리는데 쿼리의 내용을 queryText 에 담아서 보내고 있다. 몇가지 테스트를 해보니 서버에서 사용하는 DB는 SQLite 였다. SELECT name From sqlite_master WHERE type = 'table' AND name NOT LIKE ..

CTF/웹해킹 2023.06.11

[Root Me] Python - input() - 포너블

파이썬과 관련된 포너블 문제 파이썬 스크립트의 취약점을 이용해 .passwd 파일의 내용을 읽어 비밀번호를 획득하면 된다. 문제에서는 파이썬 소스코드와 원격 접속할 수 있는 WebSSH 링크가 제공된다. WebSSH 를 이용하면 이렇게 원격에서 웹으로 작업할 수 있다. ls -al 을 해보니 .passwd 와 ch6.py, setuid-wrapper 파일이 보인다. ch6.py 외에는 모두 app-script-ch6-cracked 소유의 파일이다. 당연하게도 .passwd 파일은 권한이 없어 읽을 수 없다. setuid-wrapper.c 파일을 보면 setreuid 를 사용해서 ch6.py 파일을 실행시킨다. 위에서 setuid-wrapper 파일을 봐도 권한에 s 가 들어가 있는게 보인다. setuid..

워게임/Root Me 2023.06.10

[Really Awesome CTF] Missing Tools - MISC / Jail Escape

간단한 난이도의 Jail Escape 문제이다. 별도로 파일은 제공되지 않고 ssh를 이용해 원격에서 접속할 수 있도록 해놨다. ssh 로 주어진 id, password 를 입력해 원격으로 접속하면 Linux restricted shell 이라는 문구가 출력되면서 $ 프롬포터 부분에서 사용자 입력을 받는다. 말그대로 리눅스긴 리눅스인데 제한된 명령어를 제공하는 쉘이다. 예를들어 위 처럼 ls 명령어를 입력하면 admin 에 의해서 명령어가 disabled 라는 문구가 나오고, id 명령어 같은 경우에는 /bin 폴더에 해당 명령어가 아예 존재하지 않는지 No shuc file or directory 라는 문구가 출력된다. pwd 처럼 입력 가능한 명령어가 제한적으로 존재하고 있다. echo 명령어는 살아..

CTF/MISC 2023.06.09

[Root Me] It happens, sometimes - 웹해킹 / Verb tampering / Burp Suite

Root Me 웹해킹 문제에서 다뤘던 기법에 대한 실전느낌의 문제이다. HTTP - Verb tampering 문제와 관련있다. (https://hackingstudypad.tistory.com/120) 문제의 목표는 administration section 에 접근하는 것이다. 문제 페이지에 접속하면 이런 허접한 홈페이지가 나온다. 주소창에 /admin 을 입력했더니 이렇게 팝업이 뜨면서 id, pw 를 입력받는다. /admin 경로가 administration section 인게 확실한것 같다. 문제는 id, pw 를 모른다는 것이다. Burp Suite 라는 프록시 도구를 이용해 한번 패킷을 살펴보았다. /admin 경로에 접근할때 GET 메소드를 이용해서 Request 를 보낸다. Response..

워게임/Root Me 2023.06.08

[HackingCampCTF] plus minus - MISC / Pwntool

이전에도 많이 풀어봤던 유형의 MISC 문제 pwntool 을 연습하기에 좋은 문제인것 같다. MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 문제에서는 원격 접속할 수 있는 주소가 주어진다. 원격으로 접속하면 다짜고짜 수학문제를 낸다. 4931 + 3542 을 계산해서 답을 냈더니 Succeed! 가 출력되면서 다음 문제가 또 나온다. 암산을 잘한다면 별다른 노력없이 그냥 바로 답써도 되겠지만 아쉽게도 그런 능력이 없어서 코드를 작성해야 한다. from pwn import * p = remote('ctf-hackingcamp.com', 3280) for i in range(100): a = p.recvuntil(': ') print(a) a1 = str(a) b..

CTF/MISC 2023.06.07

[Root Me] SSL - HTTP exchange - 포렌식 / Wireshark

SSL 패킷 포렌식과 관련된 문제이다. 19th DEFCON CTF qualification 에 나왔던 문제라고 한다. 밑에 google 에 inurl:server.pem 이라고 검색해보라는 힌트도 있다. 문제에서 주어진 ch5.pcap 파일을 열어보면 이런 화면이 나온다. TLSv1 을 사용하는 패킷들이 보인다. TLS 패킷의 자세한 내용을 보려면 우클릭 - Follow - TLS Stream 을 눌러야 하는데 비활성화 되어있는 모습이다. 암호화 통신이기 때문에 Key 가 있어야 내용을 확인할 수 있기 때문이다. 힌트에 나온대로 구글에 inurl:server.pem 이라고 검색해봤다. 맨 위에 defcon 이라고 적힌 링크가 나오는데 이건 들어가보니 다른것 같고, 아래쪽에 있는 Apple Open So..

워게임/Root Me 2023.06.01

[HeroCTF] dev.corp 1/4 - 포렌식 / Access log

웹 엑세스 로그와 관련된 포렌식 문제이다. 어떻게 보면 보물찾기랑 비슷한 느낌이다. 플래그 형식은 attacker가 사용한 CVE 공격의 넘버와 attacker 가 덮어쓴 파일의 절대경로를 쓰면 된다. 아래는 회사 인프라에 대한 diagram 이 제공되어 있는데 문제푸는데 크게 상관할 부분은 아니다. 문제에서는 access.log 파일이 주어진다. 오래전 포렌식 문제에서 많이 볼 수 있었던 유형인데 뭔가 반가웠다. access.log 파일을 열어보면 이런 내용이 들어있다. 접속자의 ip - 접속 시간 - 메소드 - 접속한 URI - 응답코드 - 응답 메세지 크기 등의 정보가 저장되어 있다. 이제 이 로그에서 공격당한 흔적을 찾으면 된다. 로그가 1,857줄 밖에 안돼서 아주 쉬운 문제이다. 로그 앞부분에..

CTF/포렌식 2023.05.31

[Root Me] SIP - authentication - 포렌식 / Sipcrack

SIP 프로토콜과 관련한 네트워크 문제 SIP 프로토콜은 Session Initiation Protocol 의 약자로 VoIP 에서 사용하는 신호 프로토콜이다. 문제 Level 을 보면 노란색으로 표시되어 있어서 마냥 쉽지만은 않겠구나 생각했는데 황당할 정도로 쉬운 문제였다.. 이게 문제에서 주어지는 ch4.txt 파일의 내용이다. SIP 프로토콜로 어딘가에 로그인한 로그가 남겨져있는데 첫번재 줄을 보면 REGISTER, PLAIN 뒤에 숫자가 써있는걸 볼 수 있다. 이 부분이 바로 평문으로 통신된 비밀번호이다. 문제는 비밀번호를 찾는것으로 이 값을 그대로 적으면 문제가 풀린다; 원래라면 저기에 아래처럼 MD5 해시값을 넣어서 Crack 해야하는게 올바른 문제일것 같은데 너무 간단해서 정답이 아닌줄 알았..

워게임/Root Me 2023.05.30

[Root Me] POP - APOP - 포렌식 / Wireshark

Root Me 에서 제공하는 네트워크 패킷 포렌식 관련 문제 원래라면 더 어렵게 풀어야 했으나 많은 사람이 풀어서 그런지 의도치않게 쉽게 풀렸다. 문제에서 주어지는 것은 ch23.pcapng 파일이다. 여기서 user password 를 찾아야 한다. pcapng 파일은 패킷 캡처 파일로 Wireshark 라는 도구를 이용해 열어볼 수 있다. 파일을 열어보면 이런 화면이 나온다. 여러 패킷들이 섞여있는데 문제 제목에 나와있는 POP 프로토콜 패킷을 찾아본다. POP 프로토콜은 Post Office Protocol 의 약자로 원격 서버에서 TCP/IP 연결을 통해 이메일을 가져오는데 사용된다. 이렇게 pop 이라고 검색하면 필터링 할 수 있다. 첫번째 패킷을 우클릭한 뒤 Follow - TCP Stream..

워게임/Root Me 2023.05.28

[D^3CTF] d3readfile - MISC / locate

쉬울거라고 생각했는데 생각보다 좀 어려웠던 MISC 문제 MISC는 miscellaneous의 약자로 여러가지 잡다한 이라는 의미를 가지고 있다. 어떤 파일이든 읽을 수 있기에 플래그도 읽을 수 있다... 의미심장하다. 문제 소스파일은 따로 주어지지 않고 웹 페이지 주소만 주어진다. 주어진 주소로 들어가보면 File Request 라는 문구와 함께 뭔가 입력할 수 있는 창이 있다. 입력창에 /etc/passwd 를 입력해봤더니 /etc/passwd 파일의 내용이 출력되는것을 볼 수 있다. 입력창을 통해 서버에 있는 파일을 가져와 읽을 수 있다는 것이다. 문제는 플래그가 들어있는 파일명이 무엇인지 모른다는 것이다. 이것저것 파일을 불러와서 읽어보다가 /proc/1/environ 파일을 불러와 읽어봤다. 해..

CTF/MISC 2023.05.27
반응형