보안 20

CVE ID 신청 방법

최근 CVE 신청할 일이 있었어서 정리해봄. 우선 CVE 를 등록해주는 기관선정을 해야하는데 본인이 찾은 취약점이 트리거 되는 프로그램의 벤더가 아래 링크에 있는 240개(2022.10.09 기준) 기관(통칭 CNA 라고 함) 중에 존재하면 해당 CNA 로 가서 먼저 제보하도록 권고 하고 있다. CNA Lists 링크 ex) visual studio code 에서 취약점을 찾았으면 CNA 역할을 하고있는 Microsoft Corperation 에 먼저 제보를 하면 빠르고 정확하게 CVE 를 발급받을 수 있다 일반적으로는 mitre corperation 에 제보하는 편이라고 한다. 기관선정을 했으면, 기관에 가서 신청을 해야하는데 필자같은 경우는 mitre 사이트에 가서 신청하였다. 신청 form 은 mi..

<사는이야기> 2022.10.09

중국발 문서형 이력서 악성코드 - 1. 드로퍼&매크로편

#악성코드분석 #중국 #문서형 악성코드 MD5 HASH Dropper : 59e08d42ce495f290c4dfd7be9614f786cdfed3ebdd7d6e68accbb630c051083 Core Malware : fa1f9f5deac24c735baa77eb5b76b9057b3fea6c2bc7f2bf7f16420a8b48f00c 주요 사용기법 Document Template Injection, Universial Shellcode Drop URL http://xiaodi8.com/1.dotm?raw=true (현재폐쇄) 문서형 악성코드이다. 이전에 설명한 Template Injection 이 아주 잘 이용된 표본이라고 할 수 있다. 악성 매크로가 있는 dotm 템플릿 매크로 파일을 http://xiao..

Cyberchef online - 데이터 변환, 디코딩/인코딩

https://gchq.github.io/CyberChef/ 싸-이버 쉐프라는 데이터 변환전용 서비스이다. 굳이 파이썬으로 악성코드 데이터? 를 변환할 필요없이 여기다 올리면 딱딱 변환된다. 편리한듯. 사용예시) 사진 처럼 Recipe 탭에 어떤 데이터로 부터 무엇으로 변환할 것인지 function 들을 가져다 놓고 Input 에 데이터를 넣으면 알맞게 변환된다. 끝.

CSP(Content-Security-Policy) 정리

#CSP #Content-Security-Policy #Web 공격자가 xss 로 웹에 허용되지 않은 script 를 삽입하거나 외부페이지에 혹은 외부페이지로 부터 HTTP 요청 을 보내는 것을 막을 수 있도록 Response Header 에 마련된 정책이다. CSP 는 웹 서버에서 Content-Security-Policy 헤더를 리턴하도록 해야 사용가능하다. (PHP, Python 등에서) 혹은 정적인 html 페이지에서 태그를 활용할 수도 있다. 아래는 예제 코드 1. 실행가능한 소스, 함수 등을 제한하여 외부의 XSS 방지 2. 외부 -> 웹페이지로 로드 되는 URL, Protocol 등을 제한하여 패킷 스니핑 공격 방지 실제 사용사례 위 html 태그에서 보이듯이 content 값에 따라 무언가..

<보안 study>/웹 2021.08.23

[WinAPI] 리소스를 분석, 해체 해보자

#리소스 분석 API #FindResource #LoadResource #LockResource #SizeOfResource 악성코드에 리소스를 심어서 숙주파일을 뽑아내어 실행시키는 악성코드를 분석해보았다. 관련 API가 빈번히 나오는 것 같아서 정리해본다. 1. HRSRC FindResource( HMODULE hModule, LPCSTR lpName, LPCSTR lpType); #include 로 불러올 수 있다. 껍데기 파일에서 숙주 파일인 리소스를 찾는 함수이다. 인자들의 조건이 맞아떨어지면 리소스 정보 block 에 대한 핸들 을 리턴한다. Return value 에 대한 msdn 설명 Type: HRSRC If the function succeeds, the return value is a ..

VMware Windows 에서 RDP 환경 구축하기

#VMware #RDP #원격데스크탑 #분석환경 노트북을 하나 새로 장만했다. 구형 노트북은 그냥 집에 두고 VM 돌려서 원격이나 붙일 참이다. 대강 망 구성(?) 이라고 하면 이렇다. 집에서 그냥 공유기 하나 붙잡고 쓸 때의 상황 집 밖에서 공인IP를 통해 통신할 때의 상황 후자는 급하게 필요한 상황이 아니어서 일단 전자를 기준으로 해보자. 첫 번째로는 해당 Windows VM 세팅에 들어간다. 그리고 Network Adapter 세팅에서 커넥션 타입을 Bridged 로 설정해놓는다. 아마 기본적으로 대부분은 NAT 로 쓰고 있어서 호스트 PC 랑은 다른 대역을 쓰면서 원하면 포워딩을 했을 것이다. Bridged 세팅은 호스트 PC 의 공유기에 VM 이 실제로 하나 더 물려있는 것처럼 물리 공유기와 직..

[Pwnable.xyz] note

note #got_overwrite #BOF 바로 들어가보자. 파일은 일반 ELF 파일이다. 별다른 점은 없다. main 함수를 보면 메뉴번호를 고를 때 read_int32 함수를 통해 번호를 전달받는다. 이는 얼마안가서 취약점을 촉발시키는 매개가 되는데, read_int32 함수를 알아보자. 이 함수를 보자마자 눈여겨봐야겠다고 느낀게 문자열 형태의 숫자 를 atoi로 정수 로 바꿔주고 있었기에 얼마나 큰 수를 입력해도 검증과정없이 정수로 바꿔주는 과정이 조금 이상해보였다. 뭐 결론적으론... 좋은 발견이었지만. 그리고 1번 메뉴를 선택하면 edit_note 함수로 들어오는데 모습은 이렇다. 이 부분에서 read_int32 함수의 좋은 기능을 활용할 수 있는데, 일단 s 는 전역배열로 선언되어있는 32바..

[System32.kr] RSA101

RSA101 #Crypto #RSA Algorithm #Inverse System32.kr 워게임의 메인컨텐츠로 보이는 Crypto 문제의 서막이다. RSA 문제 시리즈가 여러가지가 있는데 그에 대한 첫 단추를 꿸 수 있는 문제로 보인다. 이와 동시에 RSA공부도 시작할 수 있을 것 같다. RSA에 대한 것은 따로 정리하고 문제풀이에 관해서만 핵심적으로 정리하겠다. 우선 문제파일은 paste bin에 올라온 이 텍스트 파일이다. RSA에 필요한 서로소인 수 p,q 와 공개키 e, 그리고 암호화 된 데이터 c가 들어있다. 여기서 개인키 d를 추출해서 복호화 하면 될 것 같다. 참고로 원래 데이터인 M은 이러한 구조로 복호화 가능하다. 문제풀이를 위해 파이썬 Crypto 모듈을 이용했다. 모듈러 연산 시, ..

[ Reversing.kr ] Ransomware

Ransomware #crack me #custom crypto 오랜만에 reversing.kr 을 풀어보았다. 랜섬웨어라고 하는데... key를 알맞게 입력하면 압축파일로 같이 준 file을 올바르게 복호화 해주나보다. (키 값의 옳고 그름에 관계없이 일단 어떤 연산을 거쳐 복호화 해주긴한다.) 일단 처음 바이너리는 UPX로 패킹되어있다는 것을 알 수 있다. upx 언패커로 패킹을 해제하고... IDA에 올려보면 hex ray를 방해하기 위한 용도인지 쓸데없는 쓰레기 코드들이 있다. 그래서인지 main함수가 너무 크다며, 디컴파일이 안된다. 고민을 하다가 idc 함수를 이용해서 다 nop 처리 후, main함수 프롤로그를 옮기기로 하였다. 아래는 패치코드이다. addr=0x4135F4 end_addr=..

반응형