
CVE-2018-9995_Batch_scanning_exp
CVE-2018-9995 취약점에 대한 DVR 배치 스캔 스크립트
##CVE-2018-9995 원본 익스플로잇 코드(Original code)
##환경 준비(Environmental preparation)
python3, ubuntu
user@ubuntu:~$ sudo pip3 install grequests
user@ubuntu:~$ sudo pip3 install tableprint
##사용 방법(usage mode)
스캔할 장비를 ip:port 형식으로 CSV 파일의 첫 번째 열에 저장합니다.
The equipment to be scanned is stored in "ip:port" form in the first column of CSV file.
csv_file = csv.reader(open('66b2f74b75457f73347f6a840bebc339.csv','r'))
위 장비 목록 파일 디렉터리를 현재 사용 중인 디렉터리로 변경합니다.
Change the list of device list files to the current directory.
user@ubuntu:~$ sudo python3 CVE-2018-9995_Batch_scanning_exp.py
프로그램 실행
run
-----------------------------------501-------------------------------------------------------------
-----------------------------------501-------------------------------------------------------------
-----------------------------------501-------------------------------------------------------------
-----------------------------------NO.1-------------------------------------------------------------
[+] Users List: 1
[+] Users List: 1
[+] Users List: 1
[+] Users List: 1
[+] Users List: 1
[+] Users List: 1
[+] Users List: 2
[+] Users List: 1
501개의 IP마다 한 번씩 출력되며, NO는 라운드 수를 나타냅니다. "[+] Users List:"는 취약점을 성공적으로 이용한 장치에 포함된 사용자 수를 나타냅니다.
Every 501 IP output is once, "NO" indicates the number of rounds, and "[+] Users List:" indicates the number of users contained in the device that successfully exploited the vulnerability.
출력은 pass.csv 파일입니다.
output pass.csv
--------+-----+----+-------+----.......
ip:port |uid1 |pwd1 |role1 |uid2.......
--------+-----+----+-------+----.......
| | | | .......
| | | | .......
##원본 프로그램 대비 개선 사항(Improvement on the original program)
1. 일부 장비에서 401 오류로 인해 정보를 반환하지 못하는 문제 해결(Solved the problem that part of the equipment 401 error can not return information.)
2. 일부 장비에서 JSON 형식이 올바르지 않은 문제 해결(The problem of incorrect JSON format for some devices is solved.)
3. 비동기 HTTP 요청을 사용하여 스캔 효율성 대폭 향상(Using asynchronous HTTP request greatly improves scanning efficiency.)
##알려진 상황 설명(letter of presentation)
1. 각종 웹 장비 검색 엔진 조회 결과에 따르면 이번 취약점 설계 장비는 약 50000대이며, 현재 연결 응답이 있는 모든 장비는 이 취약점을 이용하여 로그인 계정 평문 정보를 얻을 수 있습니다.
1.There are about 50000 devices designed for this vulnerability from the results of the search engine query for web equipment. At present, any device with connection response can take advantage of the vulnerability to obtain information on the login account.
2. 중국 내 스캔에서는 6000여 대의 장비만 응답했습니다.
2.There are only more than 6000 devices in response to the scan in china
3. 취약점 악용 피해는 예상만큼 심각하지 않으며, 단지 비디오 스트림 접근 권한 획득에 그칩니다. 장비 시스템 제어권 추가 획득에 대해서는 추가 연구가 필요합니다.
3.The harm of vulnerability is not as serious as expected. It is only the right of access to the screen. Further access to control of the device system remains to be studied.
4. 약한 비밀번호가 정말 많으며, 스캔 결과의 80%가 약한 비밀번호를 사용했습니다.
4.There are many weak passwords, and 80% of the scan results use weak passwords.
취약 장비 목록은 각자 능력껏 구하세요. 조금만 생각하면 쉽게 얻을 수 있습니다. 즐기세요! XD have fun! XD