Security (23) 썸네일형 리스트형 [Whois x Swing] 악성코드 분석 연합 활동의 일환으로 진행된 연합스터디 중 악성코드 분석 스터디의 결과 산출물입니다 추가로 각 개인의 이름이 노출되는 것을 방지하기 위해 이름을 모두 삭제하였습니다. 악성 코드 분석 결과 보고서 [Forensic] Suninatas 21번, N0Named wargame MagizIMAGE Suninatas 21번 (난이도 하, foremost 도구를 사용하여 문제를 풉니다.) 문제를 보고 파일 크기를 젤 처음 확인해 보았는데 화질이 너무 안좋은데 용량 이1.4MB였다. 여기서 이 파일에 무언가 더 숨겨져 있을거라고 확신하고 ppt 힌트에 있던 foremost 도구를 활용 했다. 탐색 대상을 정확히 모르니까 all로 하고 계속 입력해 보았는데 위와 같이 stdin 만 계속 뜬다. 이 것을 해결하기 위해 재부팅도 해봤고 인터넷에서 많은 자료를 얻어 시도했지만 전부 다 헛수고………. 그래서 포기 하고 그냥 HxD를 사용했다. 위의 사진에서 flag 값 ‘H4CC3R_IN_TH3_MIDD33_4TT4CK’를 얻었다. N0Named wargame MagicIMAGE (난이도 하) Mandu.png.. [이제 시작이야! 디지털 포렌식 : THE BASICS -2장] 비트와 바이트 그리고 수의 체계 비트 : 0과 1로 이루어진 2진수 바이트 : 8개의 비트로 이루어 진다(ex.01101001) 바이너리에서 문자로: ASCII와 유니코드 인코딩 방법 1. ASCII : 영어를 표시하기 위해 사용하는 인코딩 방법 2. 유니코드(Unicode) : 전 세계의 모든 언어를 표시하기 위해 사용된다(수천 개의 문자로 이 루어져 있다.) 파일 카빙(file carving) : 할당되지 않은 공간처럼 특정한 형태가 없는 데이터를 바탕으로 파일의 위치를 확인하고 복원하 기 위해 사용된다. 헤더가 있다면 헤더로 파일을 식별한다. 바이너리와 헥스를 해석할 수 있는 능력이 파일 카빙을 가능하게 하는 것이다. 파일 확장자와 파일 시그니처 파일 : 연속적인 비트와 바이트로 이루어져 있다. -.. [WebHacking] suninatas 18번 문제를 보자마자 main이나 back등 이것저것 눌러봤는데 메인 페이지로 돌아갈 뿐이였다. 그래서 문제 해결의 실마리를 찾기위해 숫자들이 의미하는 값들을 생각을 해보았다. 계속보니까 혹시 아스키코드와 관련된 것들이 아닐까? 라는 결론을 내렸고 저기 있는 값들을 c언어로 돌려보았다. 그러니VG9kYXkgaXMgYSBnb29kIGRheS4gVGhlIEF1dGhLZXkgaXMgVmVyeVZlcnlUb25nVG9uZ0d1cmkh라는 값이 나왔고 뭔가 문자열이 인코딩된거 같이 생겨서 base 64 디코딩 사이트를 이용해 위 문자들을 디코딩 해보았더니 Today is a good day. The AuthKey is VeryVeryTongTongGuri!라는 값이 나왔다. 고찰: 마지막 문제는.숫자들이 의미하는 것이.. [WebHacking] webhacking.kr 33번 문제 풀이 33-1번 소스코드를 확인하면 get방식으로 'hehe'를 보내면 되는거 같다. 그래서 get방식으로 “hehe”를 보내면 Wrong이 Next로 변하게 된다. 33-2번 이번에는 post방식으로 hehe와 hehe2를 보내야하는데 post방식은 get방식처럼 url에서 보낼수 없기 때문에 postman을 이용해 post 방식으로 보내준다. 그후 33.php를 웹사이트주소에서 6/뒤에 붙여넣어 https://webhacking.kr/challenge/bonus-6/33.php 를 입력하면 문제가 풀리고 다음문제로 넘어가게된다. 33-3번 Get 방식으로 나의 아이피주소를 보내는 것이니까 33-1번문제와 비슷한 방식으로 하면된다. https://webhacking.kr/challenge/bonus-6/33.. [WebHacking] webhacking.kr 32번 문제 풀이 일단 한 명을 투표하면 아래 사진과 같이 내 이름이 랭킹에 올라간다. 일단 투표를 하면 쿠키값에ok가 들어간 후 값이 있으면 또 다시 중복 투표를 못하게 하는 원리이다. 이 문제를 풀기위해 쿠키값이 들어가도 Ok값이 안들어 가도록 차단을 해주고 python을 이용해 사이트안으로 for문 100번을 돌린다. 그럼 내 아이디 투표수가 올라가 풀리게 된다.!!! 고찰: 이번 문제는 사이트 소스를 파악하는것보다 맥에서 python을 사용하고 이것을 이용해 웹사이트에 반복문을 보내는 것이 처음하는 과정이라서 힘들었다. [WebHacking] webhacking.kr 24번 문제 풀이 24번 문제에서 view source를 누르면 위와 같은 소스 코드들이 나온다. 여기서 코드들을 훑어 보다가 맨 마지막 줄인 if($ip=="127.0.0.1"){ solve(24); exit(); 를 보고 24번 처음 들어갔을때 있던 ip의 값이 127.0.0.1이면 24번 문제가 풀리는 것 같았다. 그래서 ip를 어떻게하면 변경 할 수 있을까 생각을 해보았다. Editthiscookie를 이용해 적혀져있는 ip값을 변경해보려고했다. 코드를 보면 $ip = $REMOTE_ADDR; $agent = $HTTP_USER_AGENT; if($REMOTE_ADDR){ $ip = htmlspecialchars($REMOTE_ADDR); 이므로 editthiscookie에서 name은 REMOTE_ADDR로 해주.. [WebHacking] webhacking.kr 17번 문제 풀이 처음들어가면 이런 화면이 나오는데 아무런 정보가 없어 소스보기를 해보았다. 그럼 위와같은 창이 나오는데 script부분에 unlock하고 이상한 숫자들이 연산되어있다. Unlock이 저 연산인것으로 볼때 저 값들을 계산한 값이 이 문제의 키워드 같다. function sub(){ if(login.pw.value==unlock){ location.href="?"+unlock/10; } else{ alert("Wrong"); } } 그 후 밑에 보니까 if문을 사용해 login.pw.value값이 unlock과 같으면 정답이 풀리고 그것이 아니면 안풀린다는 코드같다. 그래서 구글 콘솔을 사용해 저 이상한 값들을 연산해보았다. 그 후 연산한 값인 7809297.1를 입력하니까 문제 풀기 성공~~~ 고찰:이 문.. 이전 1 2 3 다음