posted by 블르샤이닝 2015. 6. 18. 13:54
728x90

말 그대로 칼럼


ㅎㅎ



Packing 구조에 대한 이해 (2).DOCX



젠장...다음꺼는 뭐로하지 ㅎㅎ

728x90
posted by 블르샤이닝 2015. 3. 9. 10:28
728x90

말 그대로 칼럼입니다...오타 지적, 태클 환영




Packing 구조에 대한 이해.DOCX




YODA 팩에 대한 소스코드 


yC1.3src.zip



소스코드에서 수정할 부분  

1. i에서 int i=0; 코드부분 추가

2. const 부분에서 const int로 수정


2개 오류 잡으면 정확히 컴파일 됩니다. ( 새로 컴파일한거 올리려고 했는데 용량이 엄청 커져서 수정되지않은것으로 올립니다.)





728x90

'리버싱 > 칼럼' 카테고리의 다른 글

Packing 구조에 대한 이해 (2)  (0) 2015.06.18
가상화 머신 탐지에 대한 칼럼  (0) 2014.12.01
(칼럼)해킹 사례로 본 사회 시스템 피해  (0) 2014.09.02
(칼럼)윈도우 UAC 우회  (0) 2014.02.13
Java 취약점 분석  (0) 2013.12.02
posted by 블르샤이닝 2014. 12. 1. 08:54
728x90

가상화 머신 탐지에 대한 칼럼



가상화 머신 체크.DOCX


728x90

'리버싱 > 칼럼' 카테고리의 다른 글

Packing 구조에 대한 이해 (2)  (0) 2015.06.18
Packing 구조에 대한 이해 - 1부  (0) 2015.03.09
(칼럼)해킹 사례로 본 사회 시스템 피해  (0) 2014.09.02
(칼럼)윈도우 UAC 우회  (0) 2014.02.13
Java 취약점 분석  (0) 2013.12.02
posted by 블르샤이닝 2014. 9. 2. 14:49
728x90

(칼럼)해킹 사례로 본 사회 시스템 피해



(칼럼)해킹 사례로 본 사회 시스템 피해.DOCX


728x90

'리버싱 > 칼럼' 카테고리의 다른 글

Packing 구조에 대한 이해 - 1부  (0) 2015.03.09
가상화 머신 탐지에 대한 칼럼  (0) 2014.12.01
(칼럼)윈도우 UAC 우회  (0) 2014.02.13
Java 취약점 분석  (0) 2013.12.02
매크로 바이러스 관련  (0) 2012.04.06
posted by 블르샤이닝 2014. 2. 13. 16:22
728x90

 

원래는 문서로 올리지않고 편집해서 올리지만...이번엔 ..ㅎㅎ 왠지모를 귀차니즘의 승리로 걍 문서로 올린다;

 

JYJ_(칼럼)윈도우 UAC 우회.DOCX
다운로드

 

 

샘플은 공개되지 않았습니다.

103013_6dd699baa8bb7ac46269b31c4c00c71d89d5ffd0ed082b2c3a67d8b90609b196.zip
다운로드

 

 

---------------------------------------------

10년만에 추가 글 쓰네

 

아래 BAT 파일 참조하시면됨

 

윈도우 11 시스템 검사.BAT
0.00MB

728x90
posted by 블르샤이닝 2013. 12. 2. 11:20
728x90

Java 취약점 분석

 

CVE-2012-0504 취약점 분석

 

 JAVA는 객체지향적 언어로써 임베디드의 목적으로 개발되었지만, 현재는 웹, 모바일 등 다양한 분야에서도 사용되어 지고 있다. 이러한 JAVA의 특징은 플랫폼이 독립적이라는 점이다. JAVA 컴파일러는 자바 언어로 작성된 프로그램을 바이트코드라는 특수한 바이너리 형태로 변환한다. 이러한 바이코드를 실행하기 위해서 JVM(자바 가상머신)이라는 특수한 가상 머신이 필요하다. (이러한 부분은 현재 안드로이드에서도 적용되고 있다.) 이 가상 머신은 자바 바이트코드를 어느 플랫폼에서나 동일한 형태로 실행시킨다. 때문에 자바로 개발된 프로그램은 CPU나 운영 체제의 종류에 관계없이 JVM을 설치할 수 있는 시스템에서는 어디서나 실행할 수 있으며, 이 점이 웹 애플리케이션의 특성과 맞아떨어져 폭발적인 인기를 끌게 되었다. – 위키 백과 사전 ‘JAVA’ 설명부분.

자바 플랫폼에 대한 설명


이렇듯 자바를 이해하기 위해서는 두가지가 중요하다. 바이트코드로 작성된 형태이며, JVM으로 어떠한 플랫폼에서도 동작이 가능하다라는 특징을 가진다는 것이다.

 이번에 JAVA취약점은 CVE-2012-0507의 취약점을 이용한 정보를 토대로 분석을 진행하도록 하겠다.

(하우리 진단명 : JAVA.S.CVE-2012-0507.13233)

 Java decompiler를 하여 코드를 확인하게 되면 다음과 같은 함수들이 선언 되어 있는 것을 확인 할 수 있으며, 두번쨰 그림에서 해당 함수들의 코드 내용을 확인 할 수 있다

 

함수 이름 리스트


코드 내용


이제 cve-2012-0504 코드 부분을 확인해보도록 하자.

코드 부분을 살펴 보면 Gond 함수와 Oho부분에서 특정 바이너리 덩어리가 존재하며 이 바이너리를 복호화 하는 코드로 읽어오는 부분을 확인할 수 있다.

복호화 코드방식은 아래와 같으며 xor을 통해 0x7A 0x0을 여러 번 수행하는 것을 확인 할 수 있다. 0x0 xor하여도 같은 값이기에 우리는 0x7AXOR한 값을 확인한다.


이 값을 토대로 위의 바이너리값들을 0X7A로 복호화 하여 나온 값을 JAVA파일로 저장하게 되면 특정 자바 문자열과 명령들을 확인할 수 있다.

복호화된 코드를 확인하여 보면 java코드들이 존재하는 것을 확인 할 수 있으며, 해당부분에서 iosream 및 파일 권한에 대한 부분을 확인 할 수 있다. 복호화 코드에서 앞에 인자 변형부분을 보게 되면 byte코드로 변형되는 것을 확인 할 수 있다. JAVA언어의 특성이라 생각하고 해당 코드로 변형되면 볼 수 있는 문자열과 볼 수 없는 문자열로 복호화 되는 것을 확인 할 수 있다.


 

이를 위해서 다시 한번 역컴파일을 해주어야 한다. 이를 위해서 JAD.EXE이라는 자바 툴을 이용해 다시 한번 역컴파일을 해준다.


훤씬 보기 좋은 상태의 코드로 변형된 것을 알 수 있다. CVE-2012-0504취약점을 이용하여 Windows 운영 체제 환경에서 악의적 웹 서비스에 접속할 경우, 관리자 권한을 가진 신뢰할 수 없는 Java Web Start applications 또는 Java applets을 실행하여 원격 코드 실행이 가능하게 하여 악의적인 기능의 파일을 실행시키는 취약점으로 이용된다.

 우리는 CVE 취약점 중 JAVA취약점에 대해 분석을 해보았다. 물론 악성코드 배포를 위해서 동작되는 취약점은 이 뿐만 아니라 웹 취약점, 시스템 취약점, 소프트웨어 취약점, 방화벽 취약점등을 이용하여 악의적인 기능의 파일을 설치하려 한다. 이러한 취약점을 방지하기 위해서는 꾸준한 소프트웨어 업그레이드 및 패치, 백신 예약기능을 통한 검사, 시스템 모니터링이 필요하며 최소한의 피해를 위해 정기적인 백업을 해두는 습관이 필요합니다.

 ------------------------------------------------------------------------------------

 

 

jad-295-socezy3.exe(java 역 컴파일러 툴)

 

 

java.zip                           (java 복호화 코드....별로 대단한것도 없슴;;;그래서 비공개;)

 

 

givu0.zip                         (악성파일 - 비공개입니다. 비번걸렸있습니다.)


아참 여기서 특이한 점!!!!

원래는 javap를 이용하려하였다. 하지만 java 클래스라 아니라고 뜨더라..그래서 찾아본 결과!! javap는 클래스 파일만 역어셈블 하는 파일이더라...자바를 모르지만 나중에 무슨의미인지 좀 찾아봐야할듯한다.

javap는 sdk깔면 설치되니까 환경설정걸고 하시면됩니다^^쉬워요쉬워요

java를 설치하면, bin 디렉토리 내에 다양한 실행파일들이 설치가 됩니다.

 

하지만, 일반적으로 사용하는 것은 javac와 java가 대부분이죠..

 

bin 디렉토리 내부를 잘 보면, javap 라는 실행파일도 있습니다.

 

이글의 주제는 바로 이 javap 에 대한 얘기가 되겠습니다.

 

javap는 간단하게 설명하면, 클래스 파일의 역어셈블하는 실행파일입니다.

 

여기서 역어셈블이라는 것이 중요한데요, 역컴파일과는 사뭇 다릅니다.

 

역컴파일은 클래스 파일을 가지고 원래 소스로 변환하는 것을 말하지만, 역어셈블은 클래스 파일의 내부의 기본 구조와 역어셈블코드(JVM의 바이너리 코드)만을 나오게 됩니다.

 

특정 클래스의 내부 전체를 보고 싶은 경우는 역컴파일러를 이용하셔야 하고, 클래스 내부의 상수/함수들의 목록을 간단히 보고자 할때는 javap를 이용하는 것이 대부분입니다.

 

이를 통해서 symbol not found 같은 에러를 찾는데 도움이 됩니다.

(퍼온곳 : http://psvm.tistory.com/52)

 

 

 

 












728x90
posted by 블르샤이닝 2012. 4. 6. 09:08
728x90


매크로 관련 바이러스에 관한 끄적끄적인거 물론....대표적인 바이러스중 1만 분석한거라 ㅋㅋ 

그래도 이정돌만 알면 매크로 분석의 기본은 할줄알게될거임 ㅋㅋ

글은 많지않으니 정말 부담없을거임~ㅎ

엑셀의 매크로에 대한 내용입니다,


당신의 엑셀은 안전한가요.doc


728x90