와이어 샤크를 이용해서 패킷을 분석해보자.
목표
1. 공격자의 IP 주소는?
2. 공격자가 서비스에 접속하기 위해 사용한 계정 정보는?
3. 공격자가 공격하기 위해 사용한 대상 주소 URL은?
4. 공격자가 사용한 파일 이름은?
5. 공격자가 획득한 개인 정보는?
6. 공격자가 시스템에 침투한 후에 실행한 명령어는?
우선 저번 와이어 샤크 사용법처럼 통계를 켜서 분석을 할 것이다.
TCP(Transport Control Protocol) 쪽의 퍼센트가 높은 것으로 확인이 된다.
그중에서도 http 쪽의 퍼센트가 높은 것 역시 확인이 된다.
Multipart Media Encapsulation부분이 적은 것을 보고 큰 파일들을 올린 것은 아니다.
하지만 파일이 존재하므로 어떤 정보 파일이나 어떤 파일들이 올라갔을 가능성이 높다.
Line-based text data는 브라우저를 통해 어떤 공격자가 웹 쉘이나 명령어를 통해 가지고 브라우저에서 결과들이 뿌려 나오는 형식.
이런 것들이 뿌려질때 Line-based text data이라는 프로토콜이 쓰인다.
Multipart Media Encapsulation -> Line-based text data로 올라갔기 때문에 웹쉘이 올라간 형태의 가능성이 높다라고 추측할 수 있다.
Conversations 클릭
Conversations은 이제 통신하는 과정에서 포트 정보 등을 기준으로 볼 때 사용한다.
TCP를 누른다.어
Address정보들을 보면 2개 크게는 3~4개 정도에서가 찍히는 것을 볼 수가 있고 152 -> 154번에 접속한 흔적이 많다는 것을 확인할 수 있다.
152가 공격자, 154이 공격당한 서버라고 보면 될 것이다.
Requests 확인하면 파일에 접근한 것들이 나온다.
이런 것들을 순서대로 보기 위해
Burst start를 눌러준다.
그러면 발생한 시간대대로 정렬해준다.
공격자(152번)가 서버(154번) 쪽으로 접근했던 것들을 순서대로 정렬한 것이다.
이것으로 공격을 추측할 수 있다.
우선 154페이지로 접근했고 /bWAPP/으로 가서 portal.php와 login.php로 접근하였다.
공격자가 접속한 아이디와 패스워드는 바로 login.php에 패킷 부분에서 찾을 수 있을 것이다.
그다음 unrestricted_file_upload.php페이지 접근했다. 여기서 unrestricted_file_upload.php을 확인한다.
그리고 위의 사진에는 php-backdoor.php 있는다는 것을 알 수 있다. 그것이 만약 올리지 않았던 파일이고 생성된 페이지라면 이것이 웹쉘 일 가능성이 높다는 것이다.
그리고 c=ls -> 시스템의 목록들을 보는 것, c = uname+-na 은 운영체제 이 시스템의 정보들을 확인하게 되는 것,
데이터베이스의 어떤 쿼리의 정보를 요청하는 것으로 보인다.
요약하면 php-backdoor라는 웹쉘을 올려서 시스템이 있는 정보들을 웹 페이지 쪽으로 웹쉘을 실행하고 나서 명령어를 사용했고 정보를 라인 베이스로 출력시켰다고 추측할 수 있다.
이제 이것이 맞는지 확인을 해볼 것이다.
login.php정보가 들어있을 것 같은 부분이다.
그래서 여기에 오른쪽 마우스 클릭 TCP Stream을 클릭한다.
여기서 쭉 찾아보면
여기서 로그인 페이지를 보내는 부분이 있다. (POST로 요청했음)
여기 적힌 대로 login에 bee와 password에 bug가 있다는 것을 알 수 있다.
이것이 공격자가 사용했을 것이라고 예상되는 ID와 password이다.
이 TCP Stream은 이 세션이 유지되는 동안에 공격자가 실제로 접근했던 페이지들 패킷 정보가 모아져서 보이는 것이다.
만약 세션이 끊기면 다음 패킷 쪽에서 다시 tcp로 3 웨이 핸드 쉐이커를 하게 된다,
하지만 이 TCP Stream은 공격자가 연결을 해서 아주 빠르게 공격자가 접근한 것이다.
그러므로 이 TCP Stream안에 모든 결과물이 들어있을 가능성이 높다.
실제로 어디까지 접근했는지 보기 위해서 저장을 한다.
이렇게 저장을 하였다.
그리고 저장된 파일을 클릭한다.
파일은 html 파일 형식으로 해석이 되어있을 것이다.
하지만 모든 코드가 html이 아니기 때문에 깨져서 나오는 것들이 있다.
쭉 내려보니 이러한 파일 업로드가 있었다.
이곳으로 php-backdoor를 업로드한 가능성이 높다.
이제 페이지를 실제로 올린 것을 찾아보고 페이지를 또 동일하게 확인을 해보자.
여기 패킷을 찾아서 TCP stream을 클릭했다.
그리고 그것을 저장을 한다.
제일 아래쪽으로 내리고 확인해봤다.
php-backdoor.php에 uname+-na를 입력하면
이렇게 출력된다는 것이 확인된다.
이것으로 공격자가 시스템에 침투한 후에 실행한 명령어 들은 ls, uname+-na 등으로 프로세스 정보를 확인한 것들까지 확인할 수 있었다.
이제 공격자가 획득한 개인정보가 무엇인가를 알아보자.
아마 이 패킷이 개인정보를 확인한 패킷일 것이다.
동일하게 TCP Steam을 해준다.
파일명을 upload_03.html로 저장을 해준다.
실행해보면 공격자가 웹쉘을 이용해서 뽑아먹은 정보를 확인할 수 있다. (위 사진과 같이)
다른 방법으로 HTTP object로 바로 저장할 수도 있다.
이렇게 저장을 하면 좀 더 깔끔하게 정보를 확인할 수 있다.
이것을 보고 2개의 개인정보가 유출되었다는 것을 확인할 수 있다.
더 간단한 방법으로 네트워크 마이너를 사용해도 된다.
pcap파일을 넣고 File을 누르면 php-backdoor.php를 확인할 수 있다. (백신을 꺼야 한다.)
네트워크 마이너는 웹쉘을 올렸을 때 데이터가 올라간 것을 이렇게 분리를 해서 보여준다.
와이어 샤크에서는 html로 저장을 해서 하나씩 확인을 하였다.
하지만 네트워크 마이너는 자동으로 파일들이 저장되어 있는 것을 확인할 수 있다.
php-backdoor.php을 파일을 열어보면
이렇게 파일이 저장되어있는 것을 확인 할 수 있다.
그리고 그 파일의 소스를 확인하기 위해 깃허브를 이용하였다.
코드를 확인하면 웹쉘이라는 것을 알 수 있다.
'공부 > 해킹공부' 카테고리의 다른 글
Recon-ng (0) | 2020.07.26 |
---|---|
이메일 수집 (0) | 2020.07.26 |
넷캣 간단하게 사용해보기 (0) | 2020.07.25 |
와이어 샤크 패킷 분석(feat.네트워크마이너) (0) | 2020.07.02 |
모의해킹 공부를 위한 버추얼박스 설치 후 칼리리눅스 설치 (0) | 2020.06.30 |