월 33,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
[공유]섹션6.Kioptrix_level_2 SQL Injection을 이용한 MySQL 버전 정보 획득
안내1) 해당 정보는 섹션6의 MySQL 버전 정보 획득 방법을 공유하기 위함입니다.안내2) 해당 내용은 강의 내용에 포함되지 않은 사항이므로 섹션6 강의를 모두 들으신 후 참고하시길 추천합니다.안내3) 해당 정보는 SQL Injection과 Burp Suite에 대한 지식이 있는 상태에서 봐야 더욱 이해하기 쉽습니다.안내4) 잘못된 내용이 있을 수 있으니 잘못 표기 된 내용은 댓글로 지적해 주시면 감사하겠습니다.[SQL Injection이 가능한 ID/PW 입력 창]-> ID/PW 입력 창에 SQL Injection이 가능함을 알 수 있습니다.-> 해당 부분에 SQL Injection 기능을 이용해서 MySQL의 버전 정보를 알아낼 것 입니다. ㅁ 사용할 SQL Injection 종류 선정Error Based SQL Injection(불가) : ID/PW 입력 창에 싱글쿼터만 입력하면서 Error 발생을 시켜서 DBMS 에러 메시지가 나오는지 확인했으나 나오지 않으므로 Error Based Injection은 불가Union Based SQL Injection(불가) : 입력에 대한 DB의 응답 값이 표현 된 부분이 없는 것 같아서 Union Based SQL Injection 도 사용 불가Blind SQL Injection(사용) : 입력 SQL Injection 구문이 False인 경우 ID/PW 입력 창(index.php), 입력 SQL Injection 구문이 True 일 경우 pingit.php 가 나오므로 Blind SQL Injection으로 MySQL 버전 정보를 얻기로 결정들어가기에 앞서. MySQL의 버전 정보를 담은 함수는 version() 입니다.[MySQL 버전 정보 획득 과정]1. MySQL 버전 정보 글자 길이 확인1). Burp Suite를 키고 브라우져에 Proxy 서버를(127.0.0.1:8080) 설정하여 Burp suite를 통해 Kali와 Kioptrix_level_2 웹 서버와 통신하게 구성합니다.2) ID/PW 입력창에 ' or 0<length((version()))# 입력하고 Login 버튼을 클릭하면 Burp Suite에 아래와 같이 쿼리문이 잡힙니다. -> 해당 쿼리문을 설명하면 MySQL 버전 정보를 담은 version()의 글자 길이가 0보다 큰지 질의 하고 있습니다.(당연히 version 정보는 3.X.XX 또는 5.X.XX 이런식으로 구성됬기 때문에 글자 길이가 0보다는 클 것 입니다.)Tip. '(싱글쿼터)가 웹 인코딩이 되면 %27 : 따라서 burp suite에서 %27로 표시됨#(샵)도 웹 인코딩 되면 %23 : 따라서 burp suite에서 %23으로 표시됨-> or의 오른쪽 0<length((version()))#가 참(True) 이므로 쿼리문이 참 그래서 Response에 이렇게 결과를 확인 할 수 있습니다.-> pingit.php가 결과로 들어옴을 확인 할 수 있습니다.그래서 ?=length((version()))# 쿼리에서 ?의 숫자들을 1부터 2,3,4 .... 높여가다 보니 6일 때 6=length((version()))# 가 True로 반환되어 Response에 pingit.php가 나옴을 확인 할 수 있습니다.[Request에서 6=length((version()))#로 쿼리문 구성][Response 결과]결론 : MySQL 버전 정보 길이는 6글자 이다. 2. MySQL 버전 정보 획득이제 MySQL 버전 정보 글자 길이가 6글자 임을 알아 냈으니 버전 정보가 어떤 글자들인지 알아내야 합니다.쿼리문을 아래와 같이 ascii와 substring 구문을 이용해서 구성하였습니다.[MySQL 버전 정보 얻는 SQL 쿼리문]해설1) ascii : ascii()하면 괄호안의 값을 ascii 코드 값으로 변경하는 함수 입니다.해설2) substring((version()),1,1) : version의 첫번째글자에서 1개의 글자(즉, 첫번째 글자 한개)를 가져오는 함수 입니다.해설3) 52=ascii(substring((version()),1,1))# 은 substring을 통해서 version의 첫번째글자에서 1개의 글자를 가져온 값이 ascii 코드 값으로 52가 맞는지 묻는 쿼리문 입니다.ascii 코드표를 보면 ascii 코드 값 52는 '4' 입니다.결론은 해당 쿼리문 결과가 참이므로 Response에 pingit.php를확인 할 수 있습니다. 그런데 ascii 코드 값은 굉장히 많으므로 Burpsuite에 intruder 기능을 이용해서 나머지 5글자를 찾아보겠습니다.-> intruder에 접속해서 positions 메뉴에서 payload positions 아래에 쿼리문에서 52=ascii(...)부분에서 52를 드래그 선택하고 오른쪽에 add$를 클릭합니다.(예시)그리고 위쪽의 Payloads 메뉴를 선택합니다.-> payload set: 1은 $로 감싼 52부분을 뜻합니다.-> payload type을 ascii코드값을 순차적으로 탐색할 것 이므로 Numbers로 바꿔주고-> 아래 payload options에서 From 33, To 126, Step 1로 설정합니다.From 33, To 126 인 이유 ascii코드값 33~126이 모든 숫자,영문 대소문자, 특수문자 값이므로[version()) 2,1 즉 version의 2번째 글자][intruder를 통한 2번째 글자 확인] ascii 코드값 46일 때 True, pingit.php 확인, ascii코드값 46은 온점('.')version()의 2번째 글자 : '.'(온점) [version()) 3,1 즉 version의 3번째 글자][intruder를 통한 3번째 글자 확인]ascii 코드값 49일 때 True, pingit.php 확인, ascii코드값 49는 '1'version()의 3번째 글자 : '1'(숫자 1) [version()) 4,1 즉 version의 4번째 글자][intruder를 통한 4번째 글자 확인]ascii 코드값 46일 때 True, pingit.php 확인, ascii코드값 46은 온점('.')version()의 4번째 글자 : '.'(온점) [version()) 5,1 즉 version의 5,6번째 글자][intruder를 통한 5,6번째 글자 확인]ascii 코드값 50일 때 True, pingit.php 확인, ascii코드값 50은 숫자2('2')참고로 6번째 글자도 5번째 글자와 동일한 결과 회신지금까지 나온걸 모두 합치면 4.1.22 결론 : MySQL의 버전은 4.1.22 후기.혹시 MySQL 4.1.22 버전에 맞는 공격코드가 있는지 검색했지만 Integer Overflow는 DoS공격, Privilege Escalation은 .txt이다. (따라서 공격을 진행할 수 없다)
- 해결됨버그헌팅과 시나리오 모의해킹 전문가 되기
locate 명령어가 실행되지 않습니다
/var/lib/plocate/plocate.db: No such file or directorylocate 명령어 실행하면 위 에러 출력됩니다. 혹시 몰라서 mlocate 설치했는데도 동일한 에러가 출력됩니다. 어떻게 해결해야 하나요?
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
metepreter>세션에서 vim 명령어가 없습니다
meterpreter> 창열리고 세션이 연결되었는데 vim pass.bak 명령어입력시 vim 명령어가 언노운으로 나오네요
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
zenmap 설치오류
zenmap을 설치하는 과정에서 cairo_1.16.2-2는 정상적으로 설치가됐는데, 나머지 2개 (gobject, gtk2)는 dpkg 에러가 뜨면서 설치가 안됩니다. libffi7 package를 설치하라는거 같아서 이것도 설치해봤는데 : Package 'libffi7' has no installation candidate 라고 하면서 오류가 뜨더라구요 ㅠㅠ
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
http 접속 문제
안녕하세요. 첫 번째 시나리오 실습 시 http://192.168.0.X 접속 오류가 발생하여 질문 드립니다. http://192.168.0.X로 입력 후 접속을 시도하면, 자동으로 https://192.168.0.X로 변경되어 아래 그림과 같은 오류가 출력됩니다. http로 접속하려면 어떻게 해야 하나요? 감사합니다.
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
21강 '권한 상승 단계 - 시스템 커널 취약점을 이용한 상위 권한 획득' 강의 관련 공유 및 문의 사항
안녕하세요. 김태영 팀장님 basic_Pentesting_1에 관한 문의 및 공유 사항이 있습니다. 현재 2022년 2월 11일에 vulnhub를 통해서 다운로드한 basic_pentesting_1의 경우 현재 kernel 버전이 4.15.0 버전으로 확인됩니다. [basic_pentesting_1에 reverse shell을 연결하고 hostnamectl로 확인한 정보] 따라서 21강에서 진행한 것 처럼 eBPF 취약점을 이용한 시스템 권한 상승 공격을 시도하면 error가 발생하면서 권한 상승이 되지 않습니다. 커널 버전 이 높아지면서 취약점 패치가 된 것으로 생각됩니다. 추후에 이점에 대한 추가 강의나 강의 내용 수정이 있는지 궁금합니다. P.S 제 개인적인 사견으로는 문제 출제자가 kernel 취약점을 이용하기 보다는 다른 방식으로 권한 상승을 하기를 원해서 해당 버전으로 커널을 업데이트 한 것으로 추정됩니다. 따로 exploit-DB에서 해당 버전의 취약점을 찾아봤지만 저는 4.15버전 kernel 취약점을 찾을 수가 없었습니다.
- 해결됨버그헌팅과 시나리오 모의해킹 전문가 되기
MacOS로 수강 및 실습이 가능한지 문의드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 이번에 강의를 수강하게된 macos 유저입니다. 혹시 macos(macbook)으로도 수강 및 실습이 가능한지 문의드립니다. 감사합니다.
- 해결됨버그헌팅과 시나리오 모의해킹 전문가 되기
zenmap 설치 에러 발생
안녕하세요. 김태영 팀장님 실습을 진행하다가 문제가 발생해서 질문을 드리게 되었습니다. apt-update를 하려고 하면 아래와 같은 에러가 발생하면서 apt update가 진행되지 않고 있습니다. [에러 발생 이미지] --> 위에서 보면 /usr/lib/cnf-update-db에서 부터 Traceback이 발생했으며 --> 좀더 아래에 보면 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 15: invalid contion byte 라는 에러 문구가 발생하면서 apt update가 되지 않고 있습니다. [python-gtk2 설치가 되지 않는 이미지] 이 여파때문인지 python-gtk2도 설치 되지 않고 있습니다. python-dependence 때문인거 같은데 해당 내용을 수정하기 위해서 apt update가 필요할 것 같은데 apt update가 진행되지 않아서 python-gtk2 미설치 에러도 해결되지 않고 있습니다. 당연히 zenmap 역시 설치가 정상적으로 진행되지 않고 있습니다. 해당 사항에 대한 해결책을 제시해 주시면 감사하겠습니다.
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
VMware Pro 환경 질문있습니다.
강의에서처럼 일반적인 NAT가 아닌 "NAT네트워크"를 사용해서 호스트PC내 가상머신들간의 통신을 VMwarePro 환경에서도 하고싶습니다. 하지만, VMware Pro에서는 NAT, Bridge, Host-Only 설정만 있을뿐, "NAT네트워크"라는 설정이 따로 없는것 같아 설정에 애로사항이 생겼습니다. VMware pro에서도 강의에서처럼 설정을 할 수 있는 방법이 따로 있을까요? 늦은 시간에 죄송합니다..!
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
페이로드 질문
페이로드중 기본 meterpreter가 아닌 shell/reverse_tcp로 하였을 때 exploit이 가능한 이유가 궁금합니다. 해당 모듈의 default값으로 되어있는 페이로드가 아닌 상황에 따라서 적절한 페이로드를 선택해야하는 것 같은데 적절한 페이로드를 어떻게 하면 찾을 수 있을까요?
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
강의자료
Kioptrix에 해당하는 강의 자료는 제공이 안되나요?
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
아래 질문 글 봤지만 이해가 안돼서 질문 드립니다.
hotst파일은 호스트 이름을 IP랑 매핑 시키는 것으로 이해 했습니다. 예를 들어 hosts파일에 192.168.0.5 boan 이라고 입력 되어있을 시 브라우저를 통해 http://192.168.0.5/secret이나 http://boan/secret 으로 접근했을 때 호스트 이름도 결국 IP로 바뀌는 것에 불과하기 때문에 위 2가지 케이스는 모두 같은 결과가 나와야하는거 아닌가요?? 왜 host파일을 수정해야만 정상적인 렌더링이 되는지 궁금합니다
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
20:40 hosts 파일 관련
호스트 파일은 아이피와 도메인 이름만을 연결해주는 것 인가요 ? 만약 이름만을 연결해주는 것이라면, 왜 아이피만을 입력했을 때는 예쁜 브라우저가 나오지 않고 이름만 바꿔주었을 뿐인데 예쁜 브라우저가 나오는 것 일까요 ?
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
안녕하세요 질문이 있습니다
7:04 에서 netdiscover 를 활용 해 해당 네트워크에 접속되어 있는 장치들을 보고 18이 타겟임을 알 수 있었습니다. 그런데 실제로 다중이나 많ㅁ은 사람이 접속하여 특정하기 힘든 경우는 어떤식으로 찾게 되는지 궁금합니다 !
- 미해결버그헌팅과 시나리오 모의해킹 전문가 되기
iso 파일이 없어서 로그인후 멈춤
2021.4 버전을 받았고요, virtualbox버전이 VirtualBox 그래픽 사용자 인터페이스 버전 5.2.20 r125813 좀옛날거여서 그런지 일단 ova가져오기 한후에 로그인 했는데 그 부팅화면 그대로 멈춤이 발생해서 설정에서 광학 드라이브에 2020.버전 .iso를 넣고서야 로그부팅이 제대로 되었는데 이건 2020버전 kali로 로그인된거같은데요... 왜그런거지... 여쭤봐도 되나요???