일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- JavaScript
- EUC-KR
- PDA
- crashlog
- .net
- MFC
- protobuf-c
- API
- docker
- C#
- 기념일관리
- php
- net
- plcrashreporter
- self-signed ssl
- 설치제거
- Font
- ClickOnce
- 자바스크립트
- 블루투스 헤드셋
- 데이터 전달
- 한 번만 실행
- Antialiasing
- VS2008
- 크래시로그
- C/C++
- 와이브로
- M8200
- GDI
- phpmailer
- Today
- Total
~☆~ 우하하!!~ 개발블로그
웹 보안 취약점 점검 도구 - Arachni 본문
아라크니 또는 아락니 라고 읽는 Arachni 는 웹 보안 취약점을 점검하는 도구이다.
https://github.com/Arachni/arachni 및 https://github.com/Arachni/arachni-ui-web 에 소스가 공개되어 있고, https://ecsypno.com/blogs/articles/the-arachni-chronicles 에는 Arachni 부터 후속작인 Codename SCNR 에 이르기까지의 과정을 다룬 글이 있다.
개발자는 Codename SCNR 을 홍보하고 있지만(GitHub 에 있는 Homepage 주소 http://www.arachni-scanner.com/ 로 이동하면 https://ecsypno.com/pages/arachni-web-application-security-scanner-framework 주소로 redirect 되고 있다), Arachni 는 여전히 사용이 가능하다. GitHub 에 공개되어 있는 버전은 1.6.1.3 (2022년 5월이 마지막 릴리즈이다) 이다.
이번 포스트에서는 Arachni 를 이용하여 웹 취약점을 점검하는 방법에 대해서 알아보려고 한다.
설치
Arachni 는 Docker Container 로 설치하여 사용할 수 있다.
Docker 를 설치하는 방법에 대해서는 이번 포스트에서 생략하기로 한다. https://iwoohaha.tistory.com/352 포스트에서 macOS 에서 Homebrew 를 이용한 Docker Desktop 설치 방법을 설명하고 있다.
git clone https://github.com/ahannigan/docker-arachni.git
위 명령어를 실행하면 Arachni 의 도커 이미지를 다운로드할 수 있다.
실행
아래 명령어로 도커 이미지를 컨테이너로 등록하여 실행시킬 수 있다.
docker run -d --name arachni -p 9292:9292 ahannigan/docker-arachni bin/arachni_web -o 0.0.0.0
만약 Apple Silicon macOS 라면 아래와 같이 플랫폼을 지정(--platform linux/amd64)해 주어야 한다.
docker run --platform linux/amd64 -d --name arachni -p 9292:9292 ahannigan/docker-arachni bin/arachni_web -o 0.0.0.0
분석
도커 컨테이너가 정상적으로 실행된 것을 확인했다면, 웹브라우저에 아래 주소를 입력하여 Arachni 를 이용하여 웹사이트에 대한 보안 취약점을 점검 진행할 수 있다.
http://localhost:9292
Email 주소와 Password 값은 다음과 같다.
- Email : admin@admin.admin
- Password : administrator
로그인해서 Scans > New 메뉴를 선택하면
Target URL 을 입력할 수 있는 폼이 표시된다.
Target URL 오른쪽에는 점검할 항목 목록이 있는데, 다음 3가지를 지원한다.
- Default
- Cross-Site Scripting (XSS)
- SQL Injection
다음은 Default 를 선택하여 스캔한 결과이다.
스캔하는 동안의 웹서버 CPU 와 메모리 사용량은 다음과 같았다.
Scan 결과 리포트는 여러 포맷으로 다운로드받을 수가 있다.
이 중에서 HTML 포맷으로 다운로드받은 report 를 열어보면 다음과 같다.
만약 로컬에서 개발중인 http://localhost:8080 을 테스트하기 위해서 Target URL 에 http://localhost:8080 이라고 입력하면 오류가 발생할 것이다. Arachni 는 localhost 에 대해서는 수행할 수 없는데, localhost 대신 PC의 IP 주소를 입력해주면 점검이 가능하다.
'개발환경' 카테고리의 다른 글
macOS 에 postgresql@16 설치하기 (1) | 2024.12.02 |
---|---|
macOS 에서 Docker Desktop 을 설치하기 (0) | 2024.12.02 |
cloudflare tunnel - 로컬 애플리케이션에 외부에서 접근 허용 도구 (0) | 2024.11.27 |
ngrok - 로컬 애플리케이션에 외부에서 접근 허용 도구 (1) | 2024.11.27 |
[소셜로그인] Apple 계정으로 로그인하기 구현을 위한 설정 (0) | 2024.11.25 |