Memget Project for Mobile [Android] 사용법 입니다.


DOWNLOAD SITE : https://unsigned.kr/



현재 버전(1.5.12.192)기준으로 작성하겠습니다.


*****************************************

*            Memget Project             *

*      Memget Mobile for Android        *

*       last update : 2017.02.26        *

*               by nvdark               *

*          Version : 1.5.12.192          *

*****************************************

Usage : ./mm OPTION [...]

OPTIONS :

        # 1 ######################

        -m PATH [PATH ...] : File system event Monitor

                ex) ./mm -m /data/local /system


        # 2 ######################

        -p PID  : Function using PID, Read below

                -i LIB_PATH  : Library injection

                        ex) ./mm -p [PID] -i /data/lib.so


                -s(Not yet) : SVC Monitor

                        ex) ./mm -p [PID] -s


                -d OPTIONS: Debugging mode

                        ex) ./mm -p [PID] -d

                        -m : Menu mode : Step by Step

                                ex) ./mm -p [PID] -d -m

                        -n [NUMBER] : Select syscall number With Menu mode

                                      Step by Syscall number you selected

                                ex) ./mm -p [PID] -d -n [SYSCALL NUMBER]

                        -s : Data search mode (not yet)

                                ex) ./mm -p [PID] -d -f 0x00003233


        # 3 ######################

        -t [EVENT] : Function Using Touch event

                ex) ./mm -t /dev/input/event1


        # 4 ######################

        -d [DEX FILE] : Dex file class dump

                ex) ./mm -d classes.dex


                -d : Dalvik format

                        ex) ./mm -d classes.dex -d


 - End -

PS : 한글화 버전 별도 배포


총 4가지 기능으로 되어 있으며, using을 보시면 '# [num] ####################' 으로 구분되어있습니다.


1. 파일 시스템 이벤트 모니터


 취약점 점검을 하다보면 중요정보가 파일로 저장되고 있는지 확인해야할때가 있습니다. 또는 분석 시 순간적으로 생성되어졌다가 삭제되는 파일들도 존재합니다. 해당 옵션을 쓰면 모니터링 하고자 하는 디렉토리를 기준으로 파일 시스템 이벤트를 모니터링 합니다. 

 

 사용법은 다음과 같습니다. 


./mm -m [PATH ...] 

 ex ./mm -m /data/data/abcd /data/app/abcd /data/data/eeee


  모니터링 하고자 하는 경로를 쓰시면 하위 디렉토리까지 포함하여 모니터링을 시작합니다. 단, /data/local/tmp/은 하지마세요...버그 있습니다. /system이나 / 로 해도 상관은 없으나....죽을 확율이 클거라 생각됩니다...


실행하면 다음과 같은 화면이 나타납니다. 


root@zerofltektt:/data/local/tmp # ls -al /data/data | grep line

drwxr-x--x u0_a196  u0_a196           2018-04-04 09:06 jp.naver.line.android

aver.line.android/ /data/app/jp.naver.line.android-1/                         <


[+]File system event mode

[+]start...

[+]make temp directory : /data/local/tmp/mm_cmp

[+]Initalizing...

[+]Monitoring file System event

[+]Init for accessing

[+]Allocate memory for watch descriptors

[+]Target : total 14 directorise

[+]Listening


아무 앱이나 해봣습니다. /data/data/jp.naver.line.android와 /data/app/jp.naver.line.android-1/ 을 함께 모니터링 해봤습니다.

실행하고 나면 총 하위디렉토리 포함 총 14개의 디렉토리가 발견되었고 모니터링을 시작한다고 표시됩니다.


또한, temp directory가 있습니다. 새로 생성되거나 수정된파일들은 모드 /data/local/tmp/mm_cmp 폴더로 자동 복사가 됩니다. 때문에 순간적으로 생성되는 파일들도 별도의 분석없이 다 확인이 가능합니다. 


점검 시 /data/local/tmp/mm_cmp 폴더 내 모인 파일들에서만 중요정보를 확인해보시면 될것 같습니다. 검색 기능은 추가예정이나 귀찮아서 못하고 못하고 있습니다. 추후 추가 예정이니다. 


모니터링은 다음과 같이 표시됩니다. 


[OPEN]: /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[MODIFY] : /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[MODIFY] : /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[OPEN]: /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[CLOSE_NOWRITE] : /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[OPEN]: /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[CLOSE_NOWRITE] : /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[OPEN]: /data/data/jp.naver.line.android//databases [directory]

[OPEN]: /data/data/jp.naver.line.android//databases/ [directory]

[CLOSE_NOWRITE] : /data/data/jp.naver.line.android//databases [directory]

[CLOSE_NOWRITE] : /data/data/jp.naver.line.android//databases/ [directory]

[MODIFY] : /data/data/jp.naver.line.android//databases/TsEvent [file]

[MODIFY] : /data/data/jp.naver.line.android//databases/TsEvent [file]

[OPEN]: /data/data/jp.naver.line.android//databases/TsEvent [file]

[CLOSE_NOWRITE] : /data/data/jp.naver.line.android//databases/TsEvent [file]

[OPEN]: /data/data/jp.naver.line.android//databases/TsEvent [file]

[CLOSE_NOWRITE] : /data/data/jp.naver.line.android//databases/TsEvent [file]

[MODIFY] : /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[OPEN]: /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[CLOSE_NOWRITE] : /data/data/jp.naver.line.android//databases/TsEvent-journal [file]

[CLOSE_WRITE] :/data/data/jp.naver.line.android//databases/TsEvent-journal [file]


파일 또는 디렉토리를 열거나 닫을때, 수정할때, 생성할때 등 이벤트를 표시해 줍니다. 


생성, 변경 등의 이벤트가 발생한 파일에 대해서는 /data/local/tmp/mm_cmp에 모이게 됩니다.


130|root@zerofltektt:/data/local/tmp # cd mm_cmp

root@zerofltektt:/data/local/tmp/mm_cmp # ls -al

-rw------- root     root        20480 2018-04-04 09:11 TsEvent

-rw------- root     root        12824 2018-04-04 09:11 TsEvent-journal

-rw------- root     root        12824 2018-04-04 09:11 TsEvent-journal_cmp

-rw------- root     root          741 2018-04-04 09:11 com.google.android.gms.measurement.prefs.xml

-rw------- root     root          741 2018-04-04 09:11 com.google.android.gms.measurement.prefs.xml_cmp

-rw------- root     root        16384 2018-04-04 09:11 google_app_measurement_local.db

-rw------- root     root        16384 2018-04-04 09:11 google_app_measurement_local.db_cmp

-rw------- root     root       311296 2018-04-04 09:11 naver_line

-rw------- root     root        12824 2018-04-04 09:11 naver_line-journal

-rw------- root     root        20480 2018-04-04 09:11 naver_line_push_history

root@zerofltektt:/data/local/tmp/mm_cmp #


_cmp 라는 파일들이 있는데, 사실 변경전과 변경 후를 비교하기 위해서 만들었던 파일인데 다른곳에 신경쓰다가 까먹고 안했습니다...


2. PID가 필요한 기능들


 pid가 필요한 기능들을 모아 뒀습니다. 


사용법은 다음과 같습니다. 


./mm -p [PID] [OPTIONS]


-i : 라이브러리 인젝션 기능입니다. 4.x 버전까지는 잘 동작하나 5.x부터는 selinux가 강화되어 /system/lib로 복사 후 인젝션을 진행해야 합니다.

 현재는 별도의 인젝션 도구를 만들어 사용하고 있으나 자동화가 되어있지 않습니다...


-s : SVC 모니터라고 해놨으나 사실 구현하다가 왜 이걸 만들고 있나...쓸곳도 없는데....라는 생각에 접었습니다. 무시하셔도 무방합니다.


[+]Pid : 17531

[+]svc checker...

[+]Attached...

[+] recvfrom(0x70, *buf, 0x8d8, 0x40)

[+] recvfrom(0xe0, , 0x8d8, 0x40)

[+] sendto(0x70, , 0x10, 0x4040)

[+] recvfrom(0x70, *buf, 0x8d8, 0x40)

[+] recvfrom(0xe0, , 0x8d8, 0x40)

[+] recvfrom(0x70, *buf, 0x8d8, 0x40)

[+] recvfrom(0xfffffff5, , 0x8d8, 0x40)


-d : 디버깅옵션 입니다. 디버깅을 차단하기 위한 방법으로 gdb같은 특정 프로그램을 막는경우 테스트하기 위해 만들었습니다.  이것도 딱히 쓸 일은 없을듯 하여 자세한 설명은 생략하도록 하겠습니다.


[+]Pid : 17531

[+]Debugging mode

[+]Mode : None(0)

[+]Starting...

REGS==========================================================[0]

pc=0xf765a41c lr=0xf75d574b sp=0xff847008 fp=0x12c04dc0

ip=         0 cpsr=0x600d0010

r0=       0x1 r1=0xff847008 r2=0xf75d9ba0 r3=         0

r4=      0x32 r5=       0x1 r6=0x12c04dc0 r7=     0x107

r8=0x70ecdca8 r9=0xf4c28000 r10=         0 o_r0=       0x1

VALUE=========================================================

pc=0xe1a0700c lr=  0x4a0398 sp=         0 fp=0x71764370

r0=0xffffffff r1=         0 r2=         0 r3=0xffffffff

r4=0xffffffff r5=0xffffffff r6=0x71764370 r7=0xffffffff

r8=0x716a3038 r9=  0x550000 r10=0xffffffff


REGS==========================================================[0]

pc=0xf765a41c lr=0xf75d574b sp=0xff847008 fp=0x12c04dc0

ip=       0x1 cpsr=0x600d0010


3. 터치 이벤트 관련


 예전에 터치 이벤트 관련하여 작업할때 만들어 뒀던 기능입니다. 사용자가 터치이벤트를 통해 어떠한 액션을 취한다거나, 특정 화면을 캡쳐하여 탈취할때 사용했었던 기능입니다.


 사용법은 다음과 같습니다.


root@zerofltektt:/data/local/tmp # ./mm -t a  

=> -t만 넣을 경우 메뉴가 뜨지 않습니다. 모니터링할 입력 이벤트를 설정해줘야 하는데 모르시면 아무거나 넣고 실행하시면 다음과 같은 화면이 나타납니다. 


[+]Touch event mode

[+]make temp directory : /data/local/tmp/mm_touch

****************************************************

[*] MM_TOUCH Copy Dir : /data/local/tmp/mm_touch

[*] Device Info Dir   : /proc/bus/input

****************************************************


- MENU

  1. Screen Capture (4.1.2 or less)

  2. Screen Capture for Security KeyPad (4.1.2 or less)

  3. Touch Coordinates Capture

  8. Select event (not yet)

  9. Exit


Select Number :



이벤트는 /proc/bus/input/devices 에서 확인 가능합니다. 


cat /proc/bus/input/devices


제 테스트 단말기의 터치 이벤트 정보는 다음과 같습니다. (펜으로 입력 시 이벤트가 다릅니다.)


I: Bus=0018 Vendor=0000 Product=0000 Version=0000

N: Name="sec_touchscreen"

P: Phys=sec_touchscreen/input1

S: Sysfs=/devices/14e10000.hsi2c/i2c-7/7-0049/input/input1

U: Uniq=

H: Handlers=event1

B: PROP=2

B: EV=2b

B: KEY=80 0 420 0 0 0 0 0

B: ABS=4a63800000000000

B: SW=8000


이벤트 대상을 넣고 실행하면 다음과 같이 나타납니다. 


root@zerofltektt:/data/local/tmp # ./mm -t /dev/input/event1

...


- MENU

  1. Screen Capture (4.1.2 or less)

  2. Screen Capture for Security KeyPad (4.1.2 or less)

  3. Touch Coordinates Capture

  8. Select event (not yet)

  9. Exit


Select Number : 3

[MM_TOUCH] Type : 0x3, Code : 0x39,     Value : 96

[MM_TOUCH] Type : 0x1, Code : 0x14a,    Value : 1

[MM_TOUCH] Type : 0x1, Code : 0x145,    Value : 1

[MM_TOUCH] Type : 0x3, Code : 0x35,     Value : 956

[MM_TOUCH] Set Code : Y

[MM_TOUCH] Type : 0x3, Code : 0x36,     Value : 2446

[MM_TOUCH] Set Code : X

[MM_TOUCH] Type : 0x3, Code : 0x30,     Value : 6

[MM_TOUCH] Type : 0x3, Code : 0x31,     Value : 6

[MM_TOUCH] Type : 0x0, Code : 0x0,      Value : 0

[MM_TOUCH] Type : 0x3, Code : 0x35,     Value : 953

[MM_TOUCH] Set Code : Y

[MM_TOUCH] Type : 0x3, Code : 0x36,     Value : 2448

[MM_TOUCH] Set Code : X

[MM_TOUCH] Type : 0x3, Code : 0x30,     Value : 7

[MM_TOUCH] Type : 0x3, Code : 0x31,     Value : 7

[MM_TOUCH] Type : 0x0, Code : 0x0,      Value : 0

[MM_TOUCH] Type : 0x3, Code : 0x35,     Value : 941

[MM_TOUCH] Set Code : Y

[MM_TOUCH] Type : 0x3, Code : 0x36,     Value : 2449



1,2 번은 화면 캡쳐기능입니다. 이미지 프레임 버퍼에서 데이터를 가져와 복원하는 방식이나, 4.x까지만 동작합니다.... 쓸일이 별로 없어서 그 뒤로 업데이트는 하지 않고 있습니다. 


3번을 선택하면 다음과 같이 화면을 터치하는 좌표들이 출력되며, 해당 정보는 /data/local/tmp/mm_touch 에 생성되며 다음과 같습니다.


root@zerofltektt:/data/local/tmp # cd mm_touch/

root@zerofltektt:/data/local/tmp/mm_touch # ls -al

-rw------- root     root          779 2018-04-04 09:52 position.log

at position.log

0:956

2446:956

2446:953

2448:953

2448:941

2449:941

2449:902

2461:902

2461:848

2486:848

2486:802

2526:802


해당 좌표 정보를 이용하여 사용자가 어떤 동작을 수행했는지(생성순서가 시간별), 어떠한 글을 썼고, 서명을 했고, 그림을 그렸는지 복원이 가능합니다.

memget windows용에 해당정보를 넣으면 이미지로 복원시켜주는 도구를 만들었었는데 어디간지 모르겠네요....나중에 찾으면 같이 올리도록 하겠습니다.


4. Class dump 관련


 말그대로 dex파일로부터 클래스 덤프하는 기능입니다. 공부겸 겸사겸사 만들어 봤던기능입니다. 


사용법은 간단합니다.


./mm -d [DEX FILE PATH]

ex) ./mm -d classes.dex


실행결과는 다음과 같습니다.


[+]Dex Class Dump mode

[+]make temp directory : /data/local/tmp/mm_dump

[+]Done


폴더에 결과를 확인하면 다음과 같습니다.


Lcom/e/a/a/b/a; <clinit>; Void; Void

Lcom/e/a/a/b/a; <init>; Void; Void

Lcom/e/a/a/b/a; inProgress; Float, Long, Int; Void

Lcom/e/a/a/b/a; onAfter; Int; Void

Lcom/e/a/a/b/a; onBefore; w, Int; Void

Lcom/e/a/a/b/a; onError; e, Exception, Int; Void

Lcom/e/a/a/b/a; onResponse; Object, Int; Void

Lcom/e/a/a/b/a; parseNetworkResponse; y, Int; Object

Lcom/e/a/a/b/a; validateReponse; y, Int; Bool

Lcom/e/a/a/b/b; <init>; Void; Void

Lcom/e/a/a/b/b; parseNetworkResponse; y, Int; Object

Lcom/e/a/a/b/b; parseNetworkResponse; y, Int; String

Lcom/aio/downloader/adapter/LastRequestListAdapter$MyStringCallback; <init>; LastRequestListAdapter, String, Long, String, Int, LastRequestListAdapter$ViewHolder; Void


기본출력값은 int, Bool 등으로 출력됩니다. 달빅형식으로 출력을 원하면 -d 옵션을 사용하면 됩니다.

Landroid/support/v7/app/e; a(I, Landroid/view/Menu;) V

Landroid/support/v7/app/e; a(Ljava/lang/CharSequence;) V

Landroid/support/v7/app/e; a(I, Landroid/view/KeyEvent;) Z

Landroid/support/v7/app/e; a(Landroid/view/KeyEvent;) Z

Landroid/support/v7/app/e; b( ) Landroid/view/MenuInflater;

Landroid/support/v7/app/e; b(Ljava/lang/CharSequence;) V

Landroid/support/v7/app/e; b(I, Landroid/view/Menu;) Z

Landroid/support/v7/app/e; c(Landroid/os/Bundle;) V

Landroid/support/v7/app/e; f( ) V

Landroid/support/v7/app/e; h( ) Z

Landroid/support/v7/app/e; k( ) V

Landroid/support/v7/app/e; l( ) Landroid/support/v7/app/ActionBar;

Landroid/support/v7/app/e; m( ) Landroid/content/Context;



Posted by Nvdark
,

다운로드는 https://unsigned.kr 에서 가능합니다.



- 모든 도구는 개발중, 또는 다수의 버그를 가지고 있습니다. 

- 시간이 없어 급한데로 필요한 기능만 구현하고 고치질 않고있습니다...귀차니즘이...참고하시면 될듯 합니다.


1. memget project

 - 윈도우용 취약점 점검 및 모의해킹용으로 업무를 수행하면서 필요했던 기능들을 넣어둔 도구입니다.


2. memget mobile for android

 - 안드로이드용 입니다.

 - 현재 풀버전[베타]을 공개해뒀으며, 버그가 있는 개발중인 버전입니다.


3. memget mobile for ios

 - 트윅입니다.

 - 탈옥탐지 우회를 위해 개발했습니다.



Posted by Nvdark
,

진짜 블로그 열심히 하시는분들은 대단한듯....귀찮아서 못해먹....



UI도 바꾸고, 전반적으로 다 뜯어고치고 싶은데....실력은 안되고.. ㅠㅠ 

그냥 그대로 계속 붙이다보니...지금은 좀 덩치가 커져서 다시만들 엄두가 안난다...


앞으로 업데이트 할때마다 업데이트 내역을 작성해봐야겠다... 안했더니...히스토리가 없다....


일단, 최근 작업내용 정리!!


- 마지막 작성글 기준 변경사항


 1. 버전 변경  

   => 1.8.16.58 -> 1.10.22.74 Build 7602



 2. 기능 추가 

  1) Network Config Viewer : 네트워크 장비에 대한 설정파일 뷰어

   - 사실 이것저것 보다보면 네트워크 장비의 설정파일을 보고 판단할일이 많다. 라우팅테이블부터, 보안관련 설정까지 등등... 설정파일이 한눈에 들어오지 않고, 많은 장비를 한번에 판단하기 위해 UI를 덮고 기능을 좀 추가해 봤다.

   - 로딩된 모든장비에서 원하는 문자열 검색 가능

   - IP, AccessList, Vlan등 추적 기능 (거창한건 아니고 어느장비에서 해당 IP등을 사용하는지 장비/인터페이스 등 별로 다 뽑아줌)



  2) Broxy : 브라우져 프록시

   - 이건 요세 작업중인건데 인터넷 뱅킹 등 점검하다보면 네트워크 프록시 점검 도구(피들러 등)나 메모리 점검, 개발자도구등을 사용할수 없도록 보안기능들이 동작한다. 매번 우회하는것도 힘들어서 만들어보았다.

   - 개발중이라 기본 기능만 구현했지만,  나중에 다양한 기능을 추가할 예정이다. 

   - 보안기능에 잡히지 않는다.

   - 내가 원하는기능을 구현하여 자동화가 가능할 듯하다. 




  3) Cryto

   - 인코더, 디코더, 암복호화 등 쓸때마다 인터넷에서 검색하고, 인터넷안되면 받아둔 프로그램으로 돌리는데 그것도 오류나면 답이없다...그래서 만들어보았다...

   - SEED, AES, MD5, SHA0~SHA512 지원

   - 인디코더는 추가중(현재 HEX, ASCII, BASE64 가능)

   - 추가 필요하면 넣으면 될듯




  4) File Format Extractor

   - 그냥 메모리나, 파일등에 있는 파일 찾아내는 기능이다.

   - 점검하다가 이미지를 찾을일이 있었고, 그래서 만들었다...

  

  5) Android Connect

   - 이건 순전히 편의 기능이다.

   - 스샷찍으면 파일을 일일이 빼와야 하는게 귀찮아서, 자동으로 해주는 걸 만들었고,

   - adb접속도 가능하며, 자주사용하는 점검도구 자동 설치기능을 제공한다.

  

  6) 기타 기존 기능 업데이트

   - 기타 기존에 있던 기능들 업데이트 및 버그 수정등 ....많이 했다....



항상 느끼는거지만, 그때그때 필요해서 급하게 만들다보니, 오류나 버그는 신경안쓰고 기능구현에만 집중한다....그래서...쓰다보면 버그가 엄청나다... ㅠㅠ


사실 안드로이드, iOS버전도 업데이트가 많이 되었고, 기능추가도 많이 되었다...


이제부터 좀 착실히 정리를 해놔야겠다...

 


  

Posted by Nvdark
,

실로 오랜만에 포스팅을 하는군요....음...

거의 1년 3개월만에 Memget Project 관련 포스팅이라니...

1.6.11.44 버전 이후 지금까지 뭐...거의 변한건 없지만 몇가지 기능이 좀 추가되었네요..


관련 코드나 방법은 차차 포스팅하기로 하겠습니다.


이후 추가된 기능은 다음과 같습니다.

일단 Memget Project에서 Memget Package로 이름을 바꿨네요 ㄷㄷ 먼가 많이 늘어나서 한번에 포함하다보니...이리 됬습니다.

Memget Package는 An integrated tool for analysis and penetration testing on Microsoft Windows(https://unsigned.kr)에서 나와있다시피 윈도우용 취약점 점검도구입니다

상세 정보입니다.


Memget Package Last Version Info--------------------------------------------------------

[+]PC

Memget Project 1.8.16.59

Memget Library 0.9.3.84

Memget Library Inen 0.1.4.10 (총 2개 dll로 구성)

-DLL injection Module

Memget Library BHO 0.x (총 5개 dll 로 구성)

-BHO Access Module

Memget Library Process 0.3.5.6

-SSDT Hooking 

Memget Sign Maker 1.0.0.11

-Sign Maker from ASignC

[+]Android

Memget Syscall Rev.32

-System Call Check and Hook
-library injection and Data Change

Memget AScreenC for Tab Rev.4

-Android Screen Capture When you touch the screen

Memget ASignC for Tab Rev.5

-Android Sign Capture When you sign on the screen Using with Memget Sign Maker 1.0.0.11


먼가 많이 늘긴했는데 별건 없습니다.

크게 바뀐겐 Package로 바뀌면서 안드로이드가 추가됬습니다.

전체적으로 안드로이드 용은 버그가 좀 많긴한데 ... 필요해서 만든거라 개인적으로는(?) 쓸만합니다 (-_-);;

 - 원하는 SysCall에 대하여 후킹하고 인자값 및 리턴값을 출력합니다.

 - 원하는 Data를 찾고 바꿀수 있습니다.

 - 원하는 라이브러리를 인젝션 시킵니다.

 - 루팅탐지를 우회 합니다.(이거 잘됫는데 몇일전에 해보니 안되는게 종종 보이네요. 수정해야할듯..)

 - 원하는 화면을 캡쳐합니다. 드레그 이벤트를 탈취하여 복원합니다.


예전에 언싸에 다운로드 공개했는데 먼가 말이 많아서 닫아두었네요 ㅠ


Memget Package 1.6.11.44  이후 바뀐점은

 - 몇가지 기능을 모듈화 하고, UI를 살짝 변경하였습니다.

 - BASE64 En/Decode 추가

 - DLL Injection 추가

 - 각종 보안 모듈 점검용 기능 추가

 - Windows 8 용 프로세스 관련 기능 추가

 - 메모리 덤프 부분 알고리즘 변경

 - 프로세스 Kill 방법 추가

 - BHO 접근 5종 추가

 - DLL 분석 기능 추가 중 입니다.


전체적인 UI입니다.





Posted by Nvdark
,

후배가 구축한 SVN+TRAC서버에 Memget Project 정리를 시작함....


근데 아직 익숙치가 않아서 뭐가 먼지도 모르겠고 ㅋㅋㅋ 후배는 이거 써보고...


 ㅋㅋ

보면서 공부했는데 ㅋㅋ

와 근데 진짜..

프로세스 설명해둔거 보고

와 씨발 이게 업무 흐름이야 !

이런게 있다늬 !!

라고 함... ㅋㅋㅋ


뭐 암튼 아직 익히는 단계라 정리도 잘 안되있고 너저분하지만 일단 좀 익혀야겠다 ㅋㅋㅋ


후배가 자꾸 그렇게 쓰는거 아니라고 막 알려주긴하는데 ㅋㅋㅋ 아직까진 나 편한데로 쓰고싶다 ㅋㅋㅋ 뭐 지저분한걸 조금 느끼고 있긴하지만 그래도 필요성 느끼기전까진 이렇게 쓸듯... ㅠㅠ 먼가 하나 할때마다 작성할것도 많고 ... 해두면 나중에 좋겠지만....귀..찮....ㅋㅋㅋㅋㅋㅋㅋㅋㅋ


너저분하지만 일단 링크 공개!! (소스는 못봄...아직 부끄러움...ㅋㅋㅋㅋ)


조만간 바이너리 다운로드 링크도 공개할 예정!!


TRAC서버 이전 및 도메인 변경됨!!!

TRAC : https://dev.unsigned.kr/trac


Posted by Nvdark
,

[+] 수정사항


    [-] 기존 ARP 스푸핑 시 Local IP 및 Gateway IP를 직접 적어줘야 했던 부분을 자동 입력으로 변경


[+] 추가로 1.6.11.43 수정사항


    [-] BHO Date Change 기능 추가



Posted by Nvdark
,

1.6.11.42 Update

MemGet Project 2012. 10. 15. 09:40

1.6.11.42 Update

+수정내용

 - BHO Form View 기능 추가

 - [UI] 접근 및 옵션 선택으로 구분

+필요 수정 내용

 - Tag ID가 일부 표시 안됨(인젝션된 스크립트와 일부 다르게 출력)

 - 데이터 변조 기능 추가 예정




Posted by Nvdark
,

지금까지 만들어진 UI 공개!! 뭐 원래는 하나였는데 붙이다보니 죄다 덕지덕지 붙여서 하나도 안이쁘지만...
날잡고 죄다 처음부터 뜯어고칠 생각!!! 하지만 시간이..ㅠㅠ

 

- 메인 화면

- 네트워크 선택 화면

- ARP 선택화면

- 디바이스 선택화면

-  BHO 선택화면

-  COM 선택화면

- CRC32 선택화면

Posted by Nvdark
,

현재까지 만들어진 기능을 정리해보았다~ ㅎㅎㅎ 뭐 이래저래 잡다한 기능뿐이고 오류도 많지만.....
뭐 수정도 해야하고...근데 시간은 없을뿐이고 ㅋㅋㅋㅋㅋ
언젠간 되겠지 ㅋㅋㅋ 일단 현재 최신 버전으로 정리함!

일단 차 후 옛날 버전부터 조금씩 공개하려고 마음먹었으나... 소스코드도 엉망이고 정리도 안되고 진짜 부끄러워서 ㅠㅠ
지금은 공개할 수 가 없음.. ㅠㅠ 일단 바이너리는 조만간 공개 할 생각!

 

Program Name : Memget Project

Version : x86 Memget Project 1.6.11.40 ADDI Ver (x64용 요청시 배포 가능 - 최신버전)
              x64 Memget Project 0.1.5.8.7(x64용 최신 버전 - 구버전임)

- 현재 구현된 기능

 1. Memory Dump
 2. Process Kill (Self)
 3. Win API Hook
 4. Packet 스니핑 + ReSend Packet(변조가능, 로우패킷)
 5. 네트워크 스캔 + ARP스푸핑 + Data 변조 + Local Proxy(ARP스푸핑 부가기능-웹프록시 아님)
 6. 윈도우 서비스 및 디바이스 정보 출력
 7. 디바이스 드라이버 인스톨 기능
 8. 모듈 버젼 확인
 9. CRC32 계산 + HACK
10. BHO 인스톨기능
11. BHO Web Injection - Java Script Injection + HTML View
12. COM 정보 출력 - DLL 분석기능
13. Debuger Detecter

- 추가 구현된 기능

 1. KeSystemService쪽 후킹 모듈(후킹만 걸어둠)(sys)
 2. Zw함수 후킹 모듈(후킹만 걸어둠)(sys)
 3. NDIS 후킹 모듈(구현중) (sys)
 4. BHO DLL 모듈(dll)

- 발견된 오류

 1. API 후킹 후 종료시 프리징
 2. API 후킹 시 PID입력 후 종료 누를시 프리징
 3. 스푸핑 시 데이터 변조 길이가 심하게 차이날 경우 정상동작 안함
 4. 초기화면 빈영역 클릭시 예외처리 안됨

- 개선필요 사항

 1. 패킷 재전송 후 결과 출력 추가 구현 필요
 2. COM관련 기능 추가 필요(후킹 등)
 3. BHO데이터 변조 및 추가기능 구현 필요( 다양한 접근 방법)
 4. CRC32 HACK 알고리즘 최적화 및 재 구현 필요(속도 느림, 알고리즘상 문제로 일부 HACK 불가)
 5. 스푸핑 시 Proxy모드 중복패킷에 대한 처리 루틴 필요
 6. Remote Memory 덤프 구현 필요

Posted by Nvdark
,

장재랑 상래랑 함께 쓰려고 만드는 trac + svn 뭐 재훈이가 죄다 만들고 있긴 하지만 ㅋㅋㅋ

일단 만들어지면 지금까지 진행해온 프로젝트 관리를 좀 해봐야겠다!!

Posted by Nvdark
,