참고 https://gomguk.tistory.com/105 앞선 게시글에서 작성한 프로그램을 이용하여 분석을 진행한다. 분석하는 과정에서 함수를 찾는 과정이 일부 생략되어 있으니 개발을 하고 이 게시글을 읽으면 좋다. [분석환경] Windows 10 64bit 프로그램 : x86 [분석도구] Cheat Engine 7.2 Windows Socket Programming 1~2에서 작성한 프로그램에 대한 분석을 진행한다. 1. Cheat Engine 7.2 실행 및 프로세스 Attach Visual Studio에서 Release 모드로 빌드 한 경우 경로 C:\\솔루션 경로\\Release 2. [Memory View] - [View] - [Enumerate DLL’s all Symbols] 3. 찾기[..
[개발환경] Windows 10 64bit [개발도구] MS Visual Studio 2022(v143, SDK 10.0) Release x86 Bind Socket bind() 함수는 소켓을 특정 주소 및 포트에 바인딩하는데 사용할 수 있다. connect()함수와 유사하게 sockaddr_in 구조체가 필요하다. int __cdecl main(int argc, char** argv) { WSADATA wsa; SOCKET s; struct sockaddr_in server; const char* message; char server_reply[5000]; int recv_size; //Intialising Winsock wprintf(L"\\nInitialising Winsock...\\n"); if..
[개발환경] Windows 10 64bit [개발도구] MS Visual Studio 2022(v143, SDK 10.0) Release x86 Initialising Winsock // #define WIN32_LEAN_AND_MEAN #include #include #include #include #include // Need to link with Ws2_32.lib, Mswsock.lib, and Advapi32.lib #pragma comment (lib, "Ws2_32.lib") #pragma comment (lib, "Mswsock.lib") #pragma comment (lib, "AdvApi32.lib") #define DEFAULT_BUFLEN 512 #define DEFAULT_POR..
[분석환경] Ubuntu 18.04 LTS [분석도구] FRIDA 15 Frida는 바이너리 내 어떤 함수가 호출되는지 보여주고, 조작이 가능하도록 한다. 동적 바이너리 조사(DBI, Dynamic Binary Instrumentation)를 가능하게 해주는 프레임워크이다. 다양한 운영체제를 지원하고 있으며 파이썬 기반의 프레임워크로 다양한 API를 지원한다. Frida Tutorial Frida를 사용하여 호출된 함수를 검사하고, 인수를 수정하고, 대상 프로세스 내의 함수에 대한 사용자 지정 호출을 수행하는 방법을 보여준다 https://frida.re/docs/quickstart/ Quick-start guide Inject JavaScript to explore native apps on Windo..
[분석환경] Ubuntu 18.04 [분석도구] Frida Frida는 바이너리 내 어떤 함수가 호출되는지 보여주고, 조작이 가능하도록 한다. 동적 바이너리 조사(DBI, Dynamic Binary Instrumentation)를 가능하게 해주는 프레임워크이다. 다양한 운영체제를 지원하고 있으며 파이썬 기반의 프레임워크로 다양한 API를 지원한다. Frida Tutorial Frida를 사용하여 호출된 함수를 검사하고, 인수를 수정하고, 대상 프로세스 내의 함수에 대한 사용자 지정 호출을 수행하는 방법을 보여준다 https://frida.re/docs/quickstart/ Quick-start guide Inject JavaScript to explore native apps on Windows, mac..
[실습환경] Ubuntu 18.04 LTS [도구] Frida Frida는 바이너리 내 어떤 함수가 호출되는지 보여주고, 조작이 가능하도록 한다. 동적 바이너리 조사(DBI, Dynamic Binary Instrumentation)를 가능하게 해주는 프레임워크이다. 다양한 운영체제를 지원하고 있으며 파이썬 기반의 프레임워크로 다양한 API를 지원한다. Frida Tutorial Frida를 사용하여 호출된 함수를 검사하고, 인수를 수정하고, 대상 프로세스 내의 함수에 대한 사용자 지정 호출을 수행하는 방법을 보여준다 https://frida.re/docs/quickstart/ Quick-start guide Inject JavaScript to explore native apps on Windows, m..
Android aab 파일 설치를 위한 과정을 소개한다. AAB(Android App Bundle) 안드로이드 앱 번들은 앱 개발, 출시 단계에서 설치 파일의 최적화(용량, 속도)등을 위해 제안된 새로운 파일 형식이다. 기존 APK파일의 경우 다국어 지원을 위한 언어정보, CPU 정보, 해상도 별 리소스 파일이 apk 파일 내에 전부 존재했다면 AAB는 이러한 정보들을 플레이스토어에서 관리하여 사용자가 앱 다운로드 요청 시에 리소스 파일들을 재조합하여 구글플레이의 서명키로 서명한 다음 APK 파일 형태로 제공한다. 자세한 내용은 안드로이드 개발자 공식 홈페이지에서 소개하고 있다.(https://developer.android.com/platform/technology/app-bundle?hl=ko) 하지..
1. Nox 안드로이드 모의해킹에서 녹스는 앱의 에뮬레이팅을 통한 동적 분석, 루트(Root)권한 설정 및 해제가 용이하여 자주 활용한다. 다만 에뮬레이터 환경에서 동작하는 만큼 에뮬레이터 탐지가 적용된 앱의 경우 실행이 어렵다는 단점이 있다. 하지만 진단기기 준비의 어려움 물리적으로 다른 기기에서의 교차진단이 필요할 경우 사용할 수 있는 대안이 될 수 있다. 2. 환경 녹스(Nox) 플레이어 7.0.2.1(설치 : kr.bignox.com/) Burp Suite(Community Edition 2022.5.1) 3. 권장 설정(옵션) 필수 설정은 아니지만 모의해킹 수행을 위한 Nox 설정을 안내한다. (필수) 시스템 설정 > 일반 > 시작항목 > ROOT켜기 (옵션) 시스템 설정 > 성능 > 그래픽 모..
배너 그래빙(Banner Grabbing) 대상 서버나 시스템의 운영체제를 탐지하기 위한 기술에 대해 설명한다. 배너그래빙은 서버로부터 서비스 또는 애플리케이션 정보, 운영체제 정보를 수집한다. 애플리케이션 버전 탐지 등에 활용된다. 대상과 직접 네트워크 연결을 맺어서 운영체제 정보나 서비스 및 애플리케이션 정보를 담고 있는 배너를 받아오는 방법이다. 배너에서 필요한 부분만을 파싱한 결과에 관련 정보가 담겨있는 경우, 간단하게 버전을 확인할 수 있다. 배너그래빙은 포트에서 실행 중인 운영 체제 정보 및 서비스를 해당 버전을 획득하기 위한 작업이다. 실행 중인 서비스의 버전이 취약하고 모든 사용자가 볼 수 있는 경우 공격자가 원격 호스트 시스템 전체를 처리할 수 있기 때문에 원격 호스트 시스템에 침투할 수..