분류 전체보기
-
Telegram Extractor (텔레그램 대화내용 추출)Issue 2020. 3. 25. 02:52
'텔레그램'하면 제일 먼저 떠오르는게 'Private' ,'Secure'일 것이다. 텔레그램에서도 이 부분을 가장 강조하고 있으며, 지속적인 업데이트로 더욱 더 견고해지고 있다. 또한, 모든 소스코드를 오픈소스로 공개하여 암호화를 크래킹하면 보상을 지급하는 CryptoContest도 진행하고 있다. https://github.com/telegramdesktop/tdesktop - Telegram Desktop Github https://telegram.org/blog/cryptocontest - Telegram Crypto Contest 요즘 말이 많은 '그 사건'에서 많은 메신저들 중 텔레그램을 선택한 이유도 위와 같은 'Private한 성격' 때문일 것이다. 그러라고 만든게 아닐텐데 말이다. 이런 사..
-
Universal SSL Pinning Bypass ( Android )Mobile/Frida 2020. 3. 8. 20:01
function SSLContext() { var X509TrustManager = Java.use('javax.net.ssl.X509TrustManager'); var SSLContext = Java.use('javax.net.ssl.SSLContext'); // build fake trust manager var TrustManager = Java.registerClass({ name: 'com.sensepost.test.TrustManager', implements: [X509TrustManager], methods: { checkClientTrusted: function (chain, authType) { }, checkServerTrusted: function (chain, authType) {..
-
FRIDA Cheat SheetMobile/Frida 2020. 3. 2. 06:32
1. 메모리 스캔 및 검색 2. Boolean 값 생성 3. Class 인스턴스 생성 및 Method 호출 4. ByteArray 출력 5. Native 함수 NOP 처리 6. Natvie 함수 인자값 및 반환값 조작 메모리 스캔 및 검색 function Memory_scan() { var ranges = Process.enumerateRangesSync({protection: 'r--', coalesce: true}); var range; function Next_Range(){ range = ranges.pop(); if(!range) { console.log("Memory Scan Done!"); return; } Memory.scan(range.base, range.size, "70 79 30 7..
-
Anti-Debugging 우회 ( ptrace 선점 )Mobile/Frida 2020. 2. 29. 03:23
안티디버깅이 적용되어 있는 어플을 IDA나 GDB로 Attach하려고 하면 앱이 바로 종료되어 버린다. 또한, ptrace를 미리 선점하는 방식으로 안티디버깅이 적용된 경우도 있다. 이런 방식의 안티디버깅을 우회할 수 있는 방법 중 dlopen( )으로 우리가 원하는 라이브러리가 로드됐을 때, 바로 sleep을 걸어서 안티디버깅이 동작하기 전에 디버거를 Attach 해주는 방법이 있다. Interceptor.attach(Module.findExportByName(null, "dlopen"), { onEnter: function(args) { this.libc_name = Memory.readUtf8String(args[0]); if (this.libc_name.indexOf("libfoo.so") !==..
-
ARP Spoofing Tool ( + 자동화 , 코드 보완 )Network/NetProg 2020. 2. 6. 19:01
Makefile all : ARP_Spoofing ARP_Spoofing : main.o g++ -g -std=c++14 -o ARP_Spoofing main.o -lpcap -lpthread main.o : psy_header.h g++ -g -c -std=c++14 -o main.o main.cpp clean : rm -f *.o ARP_Spoofing main.cpp #include // pcap libc #include #include #include #include #include // find_me() #include // find_me() #include // inet libc #include // Thread libc #include "psy_header.h" // header define..
-
Universal Calc Shellcode (+ExitProcess)System/Windows 2020. 1. 26. 03:59
31 D2 52 68 63 61 6C 63 54 59 52 51 64 8B 72 30 8B 76 0C 8B 76 0C AD 8B 30 8B 7E 18 8B 5F 3C 8B 5C 1F 78 8B 74 1F 20 01 FE 8B 54 1F 24 89 54 24 50 89 7C 24 54 89 74 24 58 0F B7 2C 17 42 42 AD 81 3C 07 57 69 6E 45 75 F0 8B 74 1F 1C 01 FE 03 3C AE FF D7 83 EC 08 8B 54 24 50 8B 7C 24 54 8B 74 24 58 0F B7 2C 17 42 42 AD 81 3C 07 45 78 69 74 75 F0 8B 74 1F 1C 01 FE 03 3C AE FF D7 126Byte
-
JMP Table Write-upSystem/Pwnable.xyz 2020. 1. 20. 02:51
간단한 OOB문제다. OOB도 바로 터지고 원샷 함수도 있어서 익스를 수월하게 진행할 수 있다. Problem 바이너리에서 메뉴마다 각 기능을 제공해주고, 각 기능을 통해 Exploit을 진행하는 방식이다. 특이사항은 메뉴를 호출할 때, 전역변수 vtable을 인덱싱하여 실행하고 있다. 여기서 포인트는 사용자 입력값으로 인덱스를 참조하고 있다는 점이다. vtable외에도 size와 heap_buffer가 전역변수로 관리되고 있다. size와 heap_buffer는 malloc( )메뉴에서 값을 입력할 수 있다. size는 malloc( )으로 할당할 크기가 저장되고, heap_buffer는 할당된 Chunk의 주소가 저장된다. Solve 위에서도 말했듯이 이 문제는 OOB(Out of Bound)취약점이..