이번에 이야기할 취약점은 패스워드와 관련된 취약점입니다. 특히 개인정보보호법 등에서 패스워드에 대한 내용이 언급이 되고 있어 컴플라이언스 및 정책적인 측면에서 확인을 해줘야 하기 때문에 패스워드 관련 취약점은 생각보다 다양한 케이스가 존재합니다. 패스워드와 관련된 다양한 케이스는 아래와 같습니다. 01. 패스워드 정책 검증02. 2차 패스워드 정책 검증03. 패스워드 대/소문자 구분부재04. 패스워드 초기화 정책 미흡05. 잘못 입력한 패스워드 출력 06. 응답값 내 패스워드 노출07. 패스워드 저장 시 암호화08. 패스워드 로그기록 이 밖에도 다양한 케이스들이 존재할 수 있습니다. 01. 패스워드 정책 검증보통 공격자는 자주 사용하는 계정명 또는 응답값에 노출된 계정명에 대해 Fuzzing 프로그램을 ..
보안업무가 이제 5년이 넘은 것 같습니다. 업무가 소스코드 진단인데 쓸줄 아는 툴은 BURP에서도 몇몇 기능 뿐이죠. 올해에는 Kali를 이용해 다양한 툴을 배워보려고 하고 있습니다. 책을 보다보니 가장 먼저 나온게 NMAP이더군요. NMAP은 여러 보안 담당자로부터 자주 언급된 적이 있던 툴인 것으로 보아 자주 사용하는 툴 같습니다. 직접적으로 업무상 하는 일은 아니지만, Python으로 업무에 좀 더 실용적으로 만들 수 있다면 좋을 듯 하여 Python도 공부할 겸 이번 포스팅을 시작해보았습니다. 최종 목표는 입력받은 IP대역과 체크하려는 PORT 범위에 OPEN 된 Well-Known PORT를 엑셀로 저장시키는 것까지 진행보려고 합니다. 오늘은 우선 NMAP의 사용을 간단히 익혀보고 CLI 환경에..
이전에 작성한 업로드 취약점과 형제격으로 함께 이야기하는 취약점이 다운로드 취약점입니다. 만약 다운로드 취약점이 발생한다면 소스코드를 다운로드하여 서비스의 취약점을 쉽게 분석을 할 수 있고, 중요파일을 다운로드하여 익스플로잇 등에 이용도 가능하죠. 그동안 만나본 다운로드 취약점은 사실 케이스가 다양하지는 않았습니다. 업로드와는 다르게 다운로드 로직은 매우 명확하기 때문이죠. 01. 파일명 및 파일경로 검증02. 다운로드 파일에 대한 권한검증03. 웹서버 설정미흡에 따른 중요파일 다운로드 제가 만나보지 못한 다양한 케이스가 있을 수 있으니 이점 참고 부탁드립니다. 01. 파일명 및 파일경로 검증다운로드 취약점의 대부분이 이 내용에 해당될 것입니다. 서버 외부로부터 전달받은 다운로드 하려는 파일의 파일명 또..
성능좋은 노트북에 Virtual Box를 설치하고 여기에 칼리와 윈도우(Victim)을 설치해 놓았습니다. 하지만 제 데탑에 연결된 모니터가 더 커서 데탑에서 노트북의 칼리에 ssh 접속하면 더욱 편하게 공부할 수 있을 것 같아서 외부PC에서 SSH접속이 가능하도록 테스트환경을 구성하였습니다. 대략적인 구성도는 아래와 같습니다. 01. 네트워크 설정 변경 우선 VirtualBox가 설치된 이더넷 어댑터와 VM에서 사용하는 이더넷 어댑터가 같은 대역의 IP를 사용하도록 변경해줘야 합니다. 제 경우에는 로컬IP가 192.168.0.X 대역이라 VM의 이더넷을 해당 대역으로 변경해 줬습니다. 우선 VirtualBox에서 호스트 네트워크 관리자를 실행하여 변경하려는 어댑터의 IP주소를 직접 변경해줍니다.기본설정..
칼리리눅스(Attacker)와 윈도우(Victim) 를 Virtual Box를 이용하여 가상머신에 설치를 완료한 이후 한글패치를 통해 사용성을 높여놓았으니 이제 각 OS간 네트워크 연결을 할 수 있도록 환경을 구축하려고 합니다. 하지만 항상 이 부분은 어렵습니다. 특히 개인적으로 네트워크는 전문분야가 아니고 Virtual Box에서 이야기 하는 용어 등에 대해 정확히 이해를 하지 못해 매번 고생스럽게 진행하고 있어 이번에 정리를 해보기 위해 포스팅을 하게 되었습니다. 역시나 이번에도 상당히 고전을 면치못했는데, 특히 버그인지 무엇때문인지 윈도우의 어뎁터 인식문제로 인해 꽤 오랜시간을 헤딩해버렸네요. ※ 해당 내용은 각 버전 및 OS종류 및 버전 등에 의해 차이가 있는 것으로 보이니 참고만 하는 것이 좋을..
칼리 테스트 환경설정을 구축할 때 VICTIM으로 윈도우를 많이 사용하는 편입니다. 다행스럽게도 이런 테스트 목적으로 MS에서 임시로 사용할 수 있는 가상 이미지를 무료로 제공하고 있습니다. https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ 해당 사이트에서 원하는 버전의 윈도우의 가상머신을 자신이 가지고 있는 가상머신 플랫폼에 맞춰 다운로드 할 수 있는데요, 저 같은 경우는 무료인 Oracle VM VirtualBox를 이용하고 있습니다. 무료라서 부담없이 사용이 가능하고, 약 3개월간 사용할 수 있기 때문에 매우 만족스럽게 사용하고 있습니다. 하지만 기본 세팅으로는 한글을 사용할 수가 없기 때문에 멀티랭기지 팩을 설치해줘야 합니다.물론 영..
웹해킹 중 간단하지만 발생했을 때 매우 위험한 취약점 중 하나로 업로드 취약점이 있습니다. 사실상 웹쉘이 업로드만 된다면 서버가 탈취된 것과 동일하기 때문이죠. 다행스럽게도 웹쉘 업로드를 방지하는 방법은 매우 간단합니다. 웹쉘 업로드를 방지하기 위해서는 서버에 업로드를 허용할 확장자를 선정한 뒤 업로드 하려는 파일의 확장자를 대/소문자 구분없이 검증해야 합니다. 여기에 Null Injection 등을 통해 확장자 검증을 우회할 수 있기 때문에 전달받은 파일명에 공백과 널 바이트를 삭제해줘야 합니다. 이밖에도 업로드 취약점과 관련하여 추가로 확인해야 하는 내용들이 아래와 같습니다. 01. 상대경로/절대경로 포함 여부 02. 업로드 허용 경로검증03. 응답값 내 파일명 및 파일경로 노출 여부04. 데이터 저..
웹 해킹 중 정말 간단한 공격이면서도 치명적인 공격이 몇가지 있는데요, 그 중에서 SQL Injection에 대해 이야기 해보겠습니다. SQL Injection은 입력값이 쿼리에 동적적용 시 개발자가 의도하지 않는 쿼리로 변조가 되는 취약점이죠. SQL Injection을 방지하기 위해 가장 좋은 방법은 필터링보다는 입력값을 파라미터화 시켜 바인드 처리하여 입력값이 쿼리로 인식되지 않도록 하는 것입니다. 하지만 이 과정에서도 개발자 분들이 실수를 하는 경우가 있습니다.대표적인 사례가 아래와 같습니다. 01. 동적쿼리 사용 시 입력값 검증 02. 잘못된 PreparedStatement 사용 이 밖에도 여러 케이스가 존재하겠지만, 위 내용에 대해 간단히 이야기 해보겠습니다. 01. 동적쿼리 사용 시 입력값 ..
웹해킹을 진행하면 가장 먼저 소개하는 취약점이 XSS인 것 같습니다.XSS는 기본적으로 입력값과 출력값을 검증하지 않아서 악성코드가 삽입되거나, 인증정보가 탈취되는 취약점이죠. 그 과정이 어떻게 되느냐에 따라 Stored인지 Reflected인지 등으로 구분이 되는 것일 뿐 개인적으로 크게 중요하지는 않아 보입니다. 오히려 중요한 점은 개발자가 검증하는 값이 사용자로부터 직접 입력받는 값에 대해서만 검증한다는 점일 것 같습니다. 입력값이 사용자 기준이 아니라 웹서버 기준으로 입력되는 모든 데이터를 검증하는 것이 가장 중요하기 때문이죠. 이와 관련된 일부 케이스는 아래와 같습니다. 01. 일반적인 파라미터를 통해 전달받은 입력값의 검증02. 일부 입력값의 검증 예외처리03. 일부 입력값을 가져오는 함수에 ..
칼리리눅스를 설치할 때 한글어를 선택하더라도 최종 설치를 완료하면 로그인화면부터 한글이 깨져나옵니다.정상적으로 한글이 출력되게 하기 위해서 별도의 작업을 진행해 줘야 하더군요. # apt-get update# apt-get install fonts-nanum# apt-get install fcitx-lib*# apt-get install fcitx-hangul# reboot 01. 칼리 리눅스 업데이트우선 root 계정으로 로그인하고 터미널을 열어줍니다.한글 업데이트를 하기 전 칼리를 최신화 시키기 위해 업데이트부터 해줍니다. # apt-get update 02. 한글폰트 설치칼리 업데이트를 완료하면 한글에 사용할 폰트를 설치해 줍니다. # apt-get install fonts-nanum 03. 라이브..
- Total
- Today
- Yesterday