2023. 5. 19. 15:23ㆍSWLUG/etc.
1학년 1학기 소학회 활동을 종강세미나로 마무리했다.
나는 우선 세미나 주제로 랜섬웨어를 선택했고, 그 이유는 여러가지가 있지만, 뉴스스터디를 하면서 가장 쉽고 빈번하게 접해왔던 주제이기때문이었다.
아래는 내가 랜섬웨어를 주제로한 종강 세미나를 준비하면서 과정들을 기록하였다.
환경구축

랜섬웨어를 만들기 위해서 pycryptodomex를 설치 / 처음에는 no use wheel 을 포함해서 명령어?를 입력했는데 최신판에는 기본적으로 활성화되어있어서 옵션이 필요하지 않다고 오류가 뜨는 거였다.



전체 코드이다.
암호화 작업
암호화를 하기위해 맨 밑 복호화 key는 주석으로 바꾼다.

실행을 했더니 오류가 떠서 , 구글링 해보니
이 오류는 유니코드 이스케이프 시퀀스를 올바르게 처리하지 못해서 발생하는 것으로 보입니다. 라고 나와있었다.
주로 백슬래시(\) 다음에 유니코드 문자를 지정하는 형식(\uXXXX 또는 \UXXXXXXXX)으로 사용된다고 뜬다.
그래서 startpath 슬래시 방향을 바꿔줬더니 해결되었다.


no module named 'cyrpto'를 해결하기 위해 cryptodome으로 바꿔주었다.



해당 에러는 문자열과 binary 는 type이 달라서 같이 사용할 수 없어서 뜨는 것이다.

key값이 string으로 들어오고 있으니 b를 써줌으로써 해결하였다. ( 왜? 바이너리 뭐지.. 라는 생각을 잠시했다.)


이렇게 랜섬웨어 암호화된것을 확인할 수 있다.

열어보니 내용이 깨져있다.
RSA를 통한 암호화사용/ file내용을 binary 로 변환하고 원본을 제거한다.

복호화 작업

복호화된 모습이다.
간단하게 그 과정을 기록했고 , 최종 결과물은 아래 첨부한다.
원래는 파워포인트 원본 그대로를 첨부하려했는데, 용량 초과로 pdf를 첨부했다.
해당 영상은 랜섬웨어가 암호화되는 과정을 실시간으로 담은 영상이다.
1학년 1학기를 마친 후 , 겨우 1학기 지난 내가 세미나를 준비할 수 있을지 스스로 걱정을 하면서 준비했는데
생각했던 것보다 재밌었고 어느 한 주제를 깊숙이 공부해 볼 수 있는 좋은 기회가 됐던것 같다.😊
참고자료: 랜섬웨어를 만들어보자! [Part 1] / How to make a ransomware? :: TL&D (tistory.com)
랜섬웨어를 만들어보자! [Part 1] / How to make a ransomware?
Thumbnail YouTube Item for readyPycrypto : 파이썬 암호화 모듈 RSA, AES, Sha256등을 지원Python3 : 파이썬으로 만드니 당연히 파이썬이 필요! Python 2.* 에서는 Crypto Library가 pycrypto로 사용하지만, - Python2를 사용하
gmyankee.tistory.com