1. DVWA (Windows)
0. DVWA구성
1.APM SETUP 설치
2. Dvwa 설치 후 apm setup 하단의 htdocs 파일 안에 압축 해제
3. 127.0.0.1에 접속하여 정상작동을 확인
4. MyAdmin 접속하여 dvwa라는 데이터베이스 생성
5. Config.inc.php파일로 이름을 바꾼 후 유저와 비밀번호 변경
6. php.ini에 635번부터 643번 줄까지 주석 제거
7. 캡차 구글에서 발급
8. 발급받은 값 Config.inc.php 안에 넣어줌.
<<정상작동 됨을 확인 할 수 있습니다. 만약에 안되었을 경우에는 오타가 있는지 확인해보세요! >>
특히 소문자 l(엘)과 대문자 I(아이)를 혼동하는 경우를 조심하세요. (제가 그래서 몇일 고생했습니다...ㅠㅠ)
위에 그대로 따라하면 안되는 경우 절대 없습니다. 혹시 안되면 댓글 남겨주세요!! 최대한 도와드릴게요!!
2. Command Injection
1. 개념
- 사용자가 입력하는 인자 값을 조작하여 운영체제 명령을 호출하여 실행하는 공격기법
- 웹을 통해 시스템 명령어를 실행한다.
- 웹 애플리케이션 제품과 개발자에 의해 자주 수정되는 웹 애플리케이션에서 발생합니다.
2. 공격에 취약한 함수
3. Commend injection 공격 실습
아이피를 입력한다.
Ping에 대한 결과 실행됨을 확인
커멘드 인젝션에 아이피를 입력했는데? Ping에 대한 결과가 실행됩니다.
시스템 명령어가 수행된다는 것을 확인 할 수 있으며 시스템 명령어가 수행된다면 리눅스 환경의 특성인 다중 명령어를 활용한 공격이 가능함을 알 수 있습니다.
다중명령어로는 세미콜론, 더블 앰퍼샌드, 더블 버티컬바 등이 있습니다.
소스코드 확인
소스코드를 확인해 보면, Submit 버튼 클릭시에 ip 입력에 따라 shell_exec 함수를 통해 커멘드를 실행하여 결과를 표시해 주는 구조입니다.
Shell_exec() -> 쉘을 통해 명령을 실행하고 전체 출력을 문자열로 반환하는 함수
=> php.ini 에서 safe mode이 off로 설정되어 있는 경우에만 사용이 가능
4. Commend injection 공격 실습
5. Commend injection 대응 방안.
- 사용자 입력값에 운영체제 명령어를 실행 할 수 있는 문자가 포함 유무를 적절히 필터링하여 차단.
- 화이트 리스트를 선정하여 해당 명령어만 실행 할 수 있도록 설정.
3. Brute Force Attack
1. 개념
해커가 데이터베이스에 저장된 사용자의 아이디와 암호를 알기 위해 문자와 숫자 등의 가능한 모든 조합을 대입하여 정보를 찾으려고 하는 것.
2. 구조
3. 실습
버프슈트
버프 슈트를 켜고 DVWA에 아이디와 패스워드를 넣고 로그인 합니다.
로그인을 하면 버프슈트에서 이 로그인 내용이 잡히는 것을 볼 수 있습니다.
이 내용이 잡히면 인트루더로 보내줍니다.
인트루더 내용
인트루더 접속합니다.
포지션 클릭, 클리어합니다.
패스워드 부분 드래그, add 클릭합니다.
이유 : 패스워드 부분만 값을 변경하여 공격하기 위함.
자주 사용하는 패스워드 100개 리스트를 인터넷에서 다운 받은 후에 로드하여 검사합니다.
먼저, 페이로드 타입에 심플리스트로 선택합니다.
로드를 클릭합니다.
다운 받은 텍스트파일을 업로드 합니다.
패스워드 일 경우
실제 패스워드 값의 리스폰스 값을 보면 정상 로그인 되었다는 것을 확인 할 수 있고 비밀번호를 찾을 수 있습니다.
패스워드가 아닐 경우
리스폰스에 유저네임 혹은 패스워드가 일치 하지 않다는 것을 확인 할 수 있습니다.
4. 대응방안
- 2 factor 인증 : 지식 기반인 비밀번호 이외의 소유기반인 휴대전화, OTP, 보안카드 또는 생체 기반인 지문 같은 인증 요소들을 둘 이상 결합한 인증방식
- 다중 인증: 아이디와 패스워드 이외의 추가 인증수단을 제공하는 방식
- 공격 시도 탐지 : 강력한 로깅과 모니터링으로 이상현상을 감지하고 공격용으로 의심되는 ip에 대한 조사등 적절한 조치가 필요합니다.
'보안' 카테고리의 다른 글
[웹모의해킹] 3. File Upload, Insecure Captha (0) | 2021.06.10 |
---|---|
[웹모의해킹] 2. CSRF, File Inclusion (0) | 2021.06.10 |
[웹취약점진단] 5. 웹쉘 실습편 (예제2) (0) | 2021.06.09 |
[웹취약점진단] 4. 웹쉘 이론편 (0) | 2021.06.09 |
[웹취약점진단] 3. 구글링 취약점 3 (0) | 2021.06.09 |
댓글