2020년 3월 25일 보안정보 스크래핑

2020년 3월 25일 보안정보 스크래핑 3월 25일 보안정보 스크래핑 ==================================================================== + 주요 취약점 - 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 외 1건 1. 메일전송 프로토콜을 이용한 원격 명령어 실행 주의 권고 최근 OpenSMTPD* 취약점이 발견되는 등 메일전송 프로토콜에서 원격 명령어 실행이 가능하여 주의를 권고함 공격자는 취약점을 악용하여 피해를 발생시킬 수 있으므로, 해결방안을 참고하여 조치 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35302 2. Django 제품 SQL Injection 취약점 보안 업데이트 권고 최근 Django*에서 SQL Injection취약점(CVE-2020-9402)을 악용할 수 있는 개념증명코드(Proof of concept, PoC)가 인터넷상에 공개되어 사용자의 보안 업데이트 필요 - https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=35301 ==================================================================== + 취약점 - Apple Safari 취약점 1. Apple Safari 취약점 Apple Safari security bypass CVE-2020-3885 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178339 Apple Safari security bypass CVE-2020-3887 - https://exchange.xforce.ibmcloud.com/vulnerabilities/178338 Apple Safari inform

Django 와 SB Admin을 이용한 Yara GUI Interface 만들기(10)

Django 와 SB Admin을 이용한 Yara GUI Interface 만들기(10)

1.데이터 삽입

1). yara 설치 및 룰 생성

다음과 같이 yara를 설치한다.

[명령어] pip3 install yara-python

설치는 pip말고 github에서 직접 받는 방법이 있는데 현재 나의 시스템에서는 pip로 설치시 tag 및 기타 사항들이 동작하지 않는 이슈가 있었다. 만약 github에서 설치 할려면 아래에서 설치 진행하도록 한다.

[명령어] git clone --recursive https://github.com/VirusTotal/yara-python cd yara-python python3 setup.py build sudo python3 setup.py install

설치후 python 실행시 아래 import yara가 동작하는지 확인한다.

그림1. yara python 실행.

되면은 룰을 다운로드 받는다.

룰은 아래 사이트에서 다운로드 받는다.

https://github.com/Yara-Rules/rules

위의 사이트에서 룰을 다운로드 받은후 해당 시스템에 해당 파일을 업로드 한다. 업로드 후 파일을 해당 시스템의 적당한 위치에 폴더를 만들어 압축을 해제한다.

룰은 malware.yar trojan.yar callback.yar 세개로 나뉘어서 룰을 배정하였다.

그림2. yara위치 및 룰생성

yara에 대한 파이선 모듈을 하나 만든다(이름:yaraS.py)

다음은 아래 그림처럼 yara 룰을 불러오고 저번 업로드 한 파일을 불러와서 야라를 실행시키는 모듈이다.)

그림3. yaraS.py 생성1 그림4. yaraS.py 생성2

YaraSearch함수로 fileName을 불러온다음, yara.compile(filepath)로 룰을 불러온다음. rules에 룰들을 저장한다. fileName을 절대경로로 만들어서 test23에 저장한다.

그후 rules에서 malware/trojan/callback인지 확인후 ruleG에 저장에 해당 그룹에 맞게 저장하고 yara결과값을 rResult에 저장합니다.

hashlib.md5 (bytehex).hexdigest() 를 이용하여 파일의 해쉬값을 구합니다.

bytehex값을 f.read()로 불러오는데 이건 추후 modal값을 헥사값을 보여주기 위해 쓰여 집니다.

마지막으로 django_sb_admin.objects.cretae를 하는데 이부분은 DB에 데이터를 저장할대 쓰여집니다. 즉 뒤의 rResult, ruleG, img_key, binaryhex, filename을 DB에 저장합니다.

해당 부분이 저장 다 되었으면 다시 views.py의 yaraAnalysis를 불러와 아래 그림처럼 수정합니다.

yaraS.YaraSearch(upload_file.name)

그림5. views.py 코드 추가

yaraS.YaraSearch( upload_file.name)으로 생성한다. 해당 뜻은 yaraS.py의 YaraSearch에다가 upload_file 이름을 YaraSearch에 보낸다.

저장하고 브라우저를 파일 업로드하면 데이터테이블 아래에 해당 데이터가 생성된 것을 확인할수 있다.

그림6. 데이터테이블 생성확인

근데 여기서 데이터테이블들을 몇개 올리면 데이터들이 오름차순으로 기본적으로 되어 있는 것을 알수가 있다.

이럴떄 datatable 스크립트를 수정해야 하는데 그 방법은 아래와 같다.

그림7. datatables 내용 수정

django_sb_admin사이트에서 static/vendor/datatables 폴더가 있다. 이 부분에 여러가지 파일들이 나오는데 jquery.dataTbles.js파일을 열도록한다. 해당 파일안에 DataTable.defaults부분이 있다. 이부분은 DataTable가 기본적으로 나올때 나오게 하는 옵션 부분이다. 이중에서 aaSoring 부분이 있을 것이다.

이부분이 [[0, 'asc']] 부분이 있다. 이부분이 의미하는 것은 기본 데이터테이블 생성시 0번째 열로 sorting하는데 오름차순으로 정리하라는 의미이다. 여기서 asc 부분을 desc로 수정한다. 그러면 데이터테이블을 불러올때 내림차순으로 정리되어 기본적으로 나오게 할수 있다.

그림8.Datatables 기본 정렬

만약 해당 부분이 제대로 되어 있지 않다면 브라우저 임시 파일들을 삭제하고 진행해보길 요청한다. 아니면 리부팅도 좋은 방법이다.

다음시간에는 데이터테이블 클릭시 modal이 나올수 있도록 진행하도록 하겠습니다.

from http://zerosin13.tistory.com/17 by ccl(A) rewrite - 2020-03-21 14:20:14

댓글

이 블로그의 인기 게시물

Django Rest Api 참고

Elasticsearch-dsl 삽질 복기(1)

django 설치 방법