Yealid - University Cyber Drill 2022: Web Vulnerability Q1

securitykss·2023년 3월 16일
0

1. 문제 설명

간단히 설명하면,

어떤 회사의 모바일 앱 출시일이 유출되었고,

개발 서버를 제대로 사용하지 못해서

이 앱의 취약성을 늦게 알아차렸다.

그래서 공격자는 이 앱의 취약성을 사용해서 서버 내부로 들어가 중요 데이터를 빼갔다.

어떤 데이터가 날라갔는지 알아내보자.

2. 문제 파일

패킷을 캡쳐한 파일이 주어졌다. (Wireshark)

TCP, HTTP 등등 여러 프로토콜로 패킷이 왔다갔다 한 것을 확인할 수 있는데

문제 설명 부분을 다시 한번 보면

" From the attached artifact find the database server version used for the application? "

데이터베이스 서버 버전을 찾으라고 나온다.

3. 탈취 목적

문제의 목적이 뭔지를 다시 생각해보자

유출된 데이터 정보를 찾는 것이다.

그러면 그 유출된 데이터 정보는 바로 "데이터베이스 서버 버전"이다.

다시 또 생각하자

"왜 이 데이터베이스 서버 버전"을 유출했을까?

서버는 보통 리눅스 혹은 유닉스로 서비스를 제공한다.

그렇다면, 리눅스의 버전을 알아내면,

라이브러리 버전도 알 수 있게 되고, 어떤 쉘을 쓰는지, 그 쉘의 버전도 확인할 수 있다.

즉, 서버의 버전을 알게되면, 그 서버의 취약점들이 이미 "발견된 취약점"일 수 있기에

그 후속 공격, 예를 들어, 권한까지 탈취까지 당할 수 있다.

그래서 본인 생각으로는, 공격자는 이러한 목적으로 악용하려고, 데이터베이스 서버 버전을 탈취했다고 생각한다.

4. 흔적 찾기

그러면, 공격자는 "서버 버전"을 찾으려고 했으니

서버에게 뭔가의 "요청"을 했을 것이다.

그러면, 공격자와 서버간의 뭔가의 통신이 있었기 때문에 유출되었을 것이다.

통신??? 통신을 하려면, 어떤 프로토콜을 사용했는지를 알아내야한다.

주어진 파일에서는 TCP와 HTTP 프로토콜로 패킷을 주고받고 한 모습이 많이 있다.

일단, 데이터는 Packet으로 주고 받고,

그리고 TCP 연결이 되어야지 HTTP 연결이 되는 것을 알았다.

TCP 연결이 되면, 포트가 열리는데,

HTTP 연결이면 잘 알고 있는 (well known port) 80포트가 열린다.

순서가 TCP -> 포트열고 -> HTTP 연결(80포트)

3way handshake 하고 포트 열리고, 들어가서 http 요청하고

이제 http에서 데이터 왔다갔다 할 것 같은데

아! 그러면, http 프로토콜이 연결된 것 중에서, 어떤 패킷이 왔다갔다하는지 알아야 겠다!

4.1 http 프로토콜

http 프로토콜 연결이 되어서 여러 데이터가 왔다갔다 한 모습을 확인 할 수 있다.(Info 부분이 패킷 정보부분)

다시 문제를 생각해보자.

데이터 베이스 서버의 "버전", 즉 "version"이 노출되었었다.

그렇다면, 패킷에서 version 정보를 담고있는 것을 확인해보면 되겠다.

4.2 packet 분석

version이 들어간 packet 정보를 분석하는데,

하나하나 다 찾고 뜯어보면서 보는데, 다 비슷비슷한 내용이었지만,

hex 값과, unhex값이 들어간 packet들이 있었다.

그 전에 패킷들을 보면서 예상을 해보면,

로그인을 했던것 같다.

일단, hex와 unhex에 어떤 데이터를 주고 받았는지 보자

hex

unhex

unhex는 주고 받은 내용이 별로 안담겨 있는것 같고

hex는 저 이상한 382E~~~ 이런 값들도 담겨 있었다.

hex 값이니 디코딩을 해보자

오 우분투 버전이 나왔다.

답을 찾은거 같으니 제출해보자

5. 제출

성공!

알게된 내용

1. http 통신 프로토콜은 TCP 연결이 되었을 때, HTTP 통신을 함

2. WireShark에서 패킷들의 정보를 알 수 있음

3. 그리고 어떤 돋보기로 그 패킷에서의 정보들을 자세히 확인할 수 있음

Reference

https://yealid.me/UCD-2022/ (문제출처)

https://yealid.me/index.php (사이트)

https://gchq.github.io/CyberChef/ (디코딩 사이트)

profile
보안 공부를 하는 학생입니다.

0개의 댓글

관련 채용 정보