보안관련 프로그램중에 패킷을 변조하는데 사용하는 BurpSuite 프로그램에 대해 알아보도록 하겠습니다.
주로 시스템 운영 관리를 위해 모의해킹을 종종 진행하는데요.
모의해킹을 시도하면서 패킷을 변조할때 BurpSuite 프로그램을 사용하고 있습니다.
https://portswigger.net/burp/communitydownload
위의 사이트에서 프로그램을 다운받아 주세요
그 후 프로그램을 실행시키면
next 클릭해주시고
Start Burp 버튼을 클릭해주세요.
그러면 여러가지 탭이 존재하는데 그중에서 주로 사용하는 탭은 Proxy탭입니다.
기본값으로 프록시 설정은 8080포트 Running 설정되어있습니다.
로컬프로그램을 8080에서 돌리고 있지 않다면 문제가 없지만,
로컬시스템을 돌릴때 8080을 많이 사용하기때문에 포트중복이 날수 있으므로 잘 확인을 해야됩니다.
8080포트에 Running 체크 여부를 확인 후
네트워크 및 인터넷 설정 창을 열어주세요.
프록시탭을 들어가보면 수동 프록시 설정이 기본으로 꺼져 있습니다.
물론 주소랑 포트도 입력이 되지 않은 상태입니다.
수동 프록시 설정을 BurpSuite에서 설정되어 있는대로 바꾼 후 저장과 프록시 서버 사용 버튼을 켜주세요.
주로 사용 할 탭은 Intercept 탭 , HTTP history , Options 탭입니다.
Intercept 탭을 들어가보면
Intercept is on 버튼이 클릭되어 있는 상태일거입니다.
네트워크 요청이 들어오면 BurpSuite에서 중간에 잡아서 Forward 버튼을 클릭하기 전까지는 패킷이 넘어가지 못하도록 하는 기능을 합니다.
패킷을 변조하거나 테스트할때만 on으로 켜주시고 아니면 off로 해주세요.
on으로 켜놓고 인터넷브라우저에서 계속 접속한다면, Forward 버튼을 계속 눌러야 하니까요 ㅠ.ㅠ
on으로 되어 있는거 확인 한 후에 인터넷브라우저를 통해 사이트를 접속해보도록 하겠습니다.
저는네이버 사이트를 이용해 검색어를 0으로 입력 후, 확인해보도록 하겠습니다.
https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=0
크롬 브라우저에서 접속하면 브라우저에서 탐지를 해 접속 자체를 막는 것 같습니다ㅠㅠ
크롬 대신 IE에서 접속후
브라우저에서 패킷 프로그램을 감지했기때문에 위의 화면 처럼 뜰 수 있습니다.
하지만 무시하고!!!
추가정보를 눌러
웹페이지로 이동해주세요.
IE는 2022년 6월 15일 이후로 종료되었기때문에 상태가 다소 좋지 않을 수가 있습니다... ^^;;
그러면 BurpSuite프로그램이 활성화되면서 Forward 버튼을 누르기전까지 페이지가 대기상태로 있습니다.
Forward 버튼을 누르다가 변조하고 싶은 데이터를 수정 후 다시 Forward 버튼을 클릭해 패킷을 변조 후 전달하면 됩니다.
저는 query 부분을 0에서 change로 변경하도록 하겠습니다.
변경하고 검색어 부분입력 창이 바뀌었나 확인해보면 안바뀌었습니다 ㅋㅋㅋㅋㅋㅋㅋ
호락호락한 네이버가 아니죠....^^
변조 확인여부는 Http history 탭에 들어가서 하실 수 있습니다.
Original request 탭은 변조하기 전 원래 있었던 패킷들을 나타냅니다.
원래는 당연히 검색어값이 0이니 query값과 뒤에 값이 0으로 나오고 있습니다.
Edited request탭은 변조했던 값을 나타냅니다.
제가 변경했던 값이 0에서 change로 변경되어 요청이 되었던것을 확인해보실 수 있습니다.
Response탭은 변조된 패킷을 통해 나온 결과값에 대해 나타냅니다.
그치만 앞에서 봤던것처럼 변조를 했음에도 불구하고 Response값은 그대로 0을 가리키고 있습니다.
제 추측이지만 query 값 말고도 맨 뒤에 있는 암호화된 값으로도 추가 인증을 하지 않나 싶습니다...
무튼 패캇을 변조하여 전달해보고 테스트를 진행해봤습니다.
추가적으로 특정 변경어가 존재한다면 귀찮게 Forward 버튼 클릭전에 변경 안해도 자동으로 변경해주는 기능도 존재합니다.
Options 탭에 Match and Replace에 위치해있는 Add 버튼을 클릭해주세요
이제 0으로 해당하는 request요청 값을 change 로 자동 변경 해줍니다.
즉, 귀찮게 하나하나 수정하고 Forward 버튼을 클릭하지 않아도 된다는 뜻 입니다.
이러한 패킷변조는 불충분한 인가에 대한 취약점을 불러올 수 있습니다.
예를 들어 일반계정으로 로그인 후, 데이터를 조회 할때 패킷을 관리자계정으로 전달 한다면 관리자 계정에 관련된 데이터를 볼 수 가 있습니다.
이에 대한 대응 방안으로는 전달받은 패킷값을 사용하는것이 아니라 세션에 적용되어있는 id값을 이용해서
세션 체크 및 데이터를 조회하는 방안이 있습니다.
세션을 이용하지 않고 전달 받은 데이터값으로만 데이터를 조회한다면 민감한 데이터가 조회될 수 도 있겠져??
이를 불충분한 인가라고 합니다.
테스트가 끝났으면 BurpSuite프로그램을 종료하는것에서 끝나는게 아니라
꼭 수동 프록시 서버 사용을 꺼주세요!!!
BurpSuite프로그램은 종료했지만 저게 켜있다면 다른 인터넷 연결이 잘 안될 수 있습니다ㅠㅠ
저의 경험담입니다...
'보안' 카테고리의 다른 글
[쿼리문 취약점] 쿼리문을 이용하여 MySQL 정보 획득 (1) | 2024.09.25 |
---|---|
[공격] 웹쉘 취약점 업로드 관련 공격 기록 (0) | 2023.02.02 |