- Linbing 취약점 스캐닝 시스템
- 사용 지침
- 암호화 키 수정
- 패키지 vue 소스 코드(vue_src 디렉토리 입력)
- 우분투 배포
- 센토스 배포
- 배포용 Docker 파일 자체 컴파일
- 구성
- 이미지 컴파일(프로젝트 루트 디렉터리 입력)
- 컨테이너 시작(프로젝트 루트 디렉터리 입력)
- dockerhub에서 이미지 가져오기
- 입장
- 사용
- 인터페이스
- 변경 로그
- [v1.0] 2020.2.28
- [v1.1] 2020.7.28
- [v1.2] 2020.8.12
- [v1.3] 2020.9.13
- [v1.4] 2020.10.18
- [v1.5] 2020.10.30
- [v1.6] 2020.11.27
- [v1.7] 2020.12.5
- [v1.8] 2020.12.11
- [v1.9] 2020.12.18
- [v2.0] 2021.3.1
- [v2.1] 2021.3.5
- [v2.2] 2021.3.26
- [v2.3] 2021.5.20
- [v2.4] 2021.6.19
- [v2.5] 2021.7.10
- [v2.6] 2021.9.21
- [v2.7] 2021.10.11
- [v2.8] 2021.10.24
- [v2.9] 2021.12.26
- [v3.0] 2022.5.14
- 감사의 말
- 부인 성명
- 특허
Linbing 취약점 스캐닝 시스템
이 시스템은 웹 미들웨어 및 웹 프레임워크에 자동으로 침투하여 스캐닝 옵션에 따라 자동으로 자산을 수집한 후 POC 스캐닝을 수행하는 시스템으로, POC 스캐닝 중에 POC 플러그인 스캐닝을 기반으로 POC 플러그인을 선택합니다. 프런트엔드는 vue 기술을 사용하고 백엔드는 python fastapi를 사용합니다.
사용 지침
스캔은 지문 감지, 하위 도메인 블래스팅, 포트 스캔, 디렉터리 스캔, POC 스캔으로 구분됩니다. 스캔 옵션을 모두 선택하면 하위 도메인 이름으로 스캔한 IP가 포트 스캔으로 전달되고 포트에서 지문이 식별됩니다. 스캔하면 스캔된 자산이 디렉터리로 전달됩니다. 스캔 및 POC 스캔, POC 스캔은 자산 지문을 기반으로 플러그인 스캔을 로드합니다. 지문을 인식할 수 없는 경우 모든 POC 플러그인은 http와 포트의 두 가지 유형으로 구분됩니다. URL 형식의 경우 http 유형 플러그인이 로드됩니다. 그렇지 않으면 포트 유형 플러그인이 로드됩니다.
암호화 키 수정
mysql에 저장된 데이터는 AES로 암호화된 데이터이며, 로그인 요청은 현재 기본 키인 rsa 요청을 사용합니다. 키 정보를 수정하려면 다음을 참조하세요. vue 소스 코드를 다시 컴파일해야 합니다.
aes 키 수정
Python의 경우 /python/conf.ini에서 aes 부분의 구성을 직접 수정할 수 있습니다. vue 부분의 경우 vue_src/src에서 세 번째와 네 번째 줄을 수정해야 합니다. /libs/AES.js 파일입니다. conf.ini와 일치해야 합니다.
rsa 키 수정
rsa의 공개키와 개인키를 생성해야 합니다(개인키 1024비트). 참조 주소는 python/rsa.py 파일에서 공개키와 개인키 정보를 수정하는 것입니다. vue_src/src/libs/crypto.js 파일의 77 공개 키는 python/rsa.py 파일의 공개 키와 일치해야 합니다.
vue 부분을 수정한 후 다시 패키징한 다음, 패키징된 폴더 dist의 내용을 vue 폴더에 복사하고 원본 vue 파일을 삭제해야 합니다.
패키지 vue 소스 코드(vue_src 디렉토리 입력)
npm run build (패키징되어 있습니다. 즉, vue 폴더로 직접 사용할 수 있습니다. 셀프 패키징을 위해서는 node, vue를 설치해야 합니다. https://www.runoob.com/nodejs/nodejs를 참고해주세요. -install-setup.html, https://www.runoob.com/vue2/vue-install.html)
우분투 배포
센토스 배포
배포용 Docker 파일 자체 컴파일
dockerhub에서 이미지 가져오기
우분투 배포
https://github.com/taomujian/linbing/blob/master/ubuntu 배포.md를 참조하세요)
센토스 배포
https://github.com/taomujian/linbing/blob/master/centos 배포.md를 참조하세요)
배포용 Docker 파일 자체 컴파일
구성
먼저 프로젝트를 로컬로 다운로드합니다(https://github.com/taomujian/linbing.git). 그런 다음 python/conf.ini에서 이메일을 보내는 데 사용되는 계정과 인증 코드를 구성한 다음 python/에서 mysql 데이터베이스 계정 비밀번호를 수정합니다. conf.ini 에서 이 계정 비밀번호는 dockerfile에 설정된 계정 비밀번호와 일치해야 합니다.
이미지 컴파일(프로젝트 루트 디렉터리 입력)
docker build -f ubuntu.dockerfile -t linbing .
컨테이너 시작(프로젝트 루트 디렉터리 입력)
docker run -it -d -p 11000:11000 -p 8800:8800 린빙
dockerhub에서 이미지 가져오기
docker pull taomujian/linbing:최신
docker run -it -d -p 11000:11000 -p 8800:8800 taomujian/linbing
입장
http://yourip:11000/login을 방문하세요. 기본 계정 비밀번호는 admin/X!ru0#M&%V입니다.
사용
사용 프로세스는 대상을 먼저 추가한 다음 대상을 검색하는 것입니다. 검색 옵션에는 포트 검색, 디렉터리 검색 및 POC 검색이 포함되며 현재 POC 검색은 기본적으로 모든 POC를 로드하며 현재 사용자 정의 선택은 지원되지 않습니다.
인터페이스
변경 로그
[v1.0] 2020.2.28
[v1.1] 2020.7.28
[v1.2] 2020.8.12
[v1.3] 2020.9.13
- phpstudy_back_rce 플러그인 수 늘리기
- 대상을 추가할 때 여러 줄의 대상을 추가할 수 있습니다.
[v1.4] 2020.10.18
- 포트 세부 정보 보기(포트, 프로토콜, 제품, 버전)가 추가되었습니다.
- 하위 도메인 세부 정보(하위 도메인 이름, 하위 도메인 IP)를 추가하세요. 하위 도메인 이름은 OneForAll 도구를 사용하고 있습니다.
[v1.5] 2020.10.30
- 일부 플러그인 오류 수정
- POC 감지 중 동시 코루틴 수는 스캔 설정에서 설정할 수 있습니다.
- POC 스캔 속도를 향상시키기 위해 asyncio 다중 코루틴 기능 추가
[v1.6] 2020.11.27
- 기본 아바타를 수정하려면 플라스크/images/default.png 이미지를 사용하세요.
- 프런트 엔드 최적화 및 일부 사소한 버그 수정
[v1.7] 2020.12.5
- 프록시 및 스캔 시간 초과 시간을 설정하는 기능이 추가되었습니다.
- 프런트 엔드 최적화 및 일부 사소한 버그 수정
- 파일 구조 최적화 및 Docker 시간 동기화
[v1.8] 2020.12.11
- 프런트 엔드 새로 고침 버그를 최적화한 후 아바타가 손실됩니다.
[v1.9] 2020.12.18
- 이메일을 보내는 방법을 수정하고 postfix를 사용하여 이메일을 보냅니다.
[v2.0] 2021.3.1
- 프런트엔드 UI 프레임워크가 iview에서 Element로 변경되고 프런트엔드 코드가 재구성됩니다.
- 계정 등록을 취소하고 대신 내장된 관리자 계정으로 추가하세요.
- URL 대상에 대한 디렉터리 검색 기능 추가
- 모든 취약점과 모든 포트 정보를 볼 수 있는 기능이 추가되었습니다.
- 데이터베이스 테이블 데이터 구조 및 SQL 문 최적화
[v2.1] 2021.3.5
- 프런트엔드 인터페이스 최적화
- 여러 대상을 동시에 검사할 때 작업 대기열 관리가 추가됩니다.
[v2.2] 2021.3.26
[v2.3] 2021.5.20
- 스캐닝 로직 최적화
- 지문 감지 및 감지 프레임워크 추가
- Struts2 시리즈 취약점 감지 최적화
[v2.4] 2021.6.19
- 지문판단 기능 추가
- 스캔된 포트에 대해 지문 인식을 수행하고, 지문 인식 후 해당 플러그인을 로드하여 전송되는 패키지 수를 줄입니다.
- 플러그인을 http 및 non-http 카테고리로 분류
- 검사를 클릭하면 지문 감지, 하위 도메인 검사, 포트 검사, 디렉터리 검사, POC 검사로 구분되는 맞춤형 검사 옵션을 제공할 수 있습니다.
- 스캔 목록에 스캔 일시 정지, 스캔 재개, 스캔 취소 기능 추가
[v2.5] 2021.7.10
- 백엔드 프레임워크가 Flask에서 fastapi로 변경되었습니다.
[v2.6] 2021.9.21
- 스캔 시 POC 플러그인을 선택할 수 있습니다.
- POC 목록 추가
- 알려진 BUG 수정
[v2.7] 2021.10.11
- 모든 대상을 스캔할 때 발생하는 버그 수정
- XSS LOG 기능 추가(데이터 수신용 URL은 토큰 생성 후의 URL을 참조)
[v2.8] 2021.10.24
- 대상 관리 및 스캔 관리의 상태 정보 업데이트가 Ajax 폴링에서 웹 소켓으로 변경됩니다.
[v2.9] 2021.12.26
- dnslog.cn 기능 통합 및 dnslog 기능 제공
[v3.0] 2022.5.14
- POC 플러그인 스캐닝은 비동기 스캐닝으로 대체되어 스캐닝 속도를 높입니다.
감사의 말
대상 환경을 제공한 vulhub 프로젝트에 감사드립니다: https://github.com/vulhub/vulhub, https://hub.docker.com/r/2d8ru/struts2
POC는 또한 많은 프로젝트를 참조합니다: https://github.com/Xyntax/POC-T,
https://github.com/ysrc/xunfeng、
https://github.com/se55i0n/DBScanner、
https://github.com/vulscanteam/vulscan
안전한 시작 방법을 가르쳐주신 Master Pan에게 감사드리고, Vue를 안내해주신 동급생 Daiju에게도 감사의 말씀을 전하고 싶습니다.
부인 성명
도구는 보안 연구 및 내부 자체 점검용으로만 사용되며, 불법적인 공격을 위해 도구를 사용하는 것은 금지되어 있습니다.
특허
MIT