본문 바로가기

분류 전체보기231

textarea사용하기 원하는 언어 a=1 b=2 2015. 2. 15.
8장-퍼징 퍼징은 소프트웨어에 있는 버그를 찾아내는 가장 효과적인 기술이라고 한다.퍼징은 애플리케이션이 에러를 발생하게 만들기 위해 비정상정인 데이터를 만들어 애플리케이션에 전달하는 방법이다.퍼저의 두 형태제너레이션 퍼저- 새로운 데이터를 생성해 대상 애플리케이션에 전달뮤테이션 퍼저- 기존의 데이터를 이용해 대상 애플리케이션에 전달예) 제너레이션 퍼저는 비정상적인 HTTP 요청을 생성해 대상 웹서버 데몬에 전달한다. 하지만 뮤테이션 퍼저는 기존의 HTTP 패킷 데이터를 캡처해 변형시킨 후 웹서버 데몬에 전달한다. 버그의 유형버퍼 오버플로우모든 종류의 메모리 관련 함수, 문자열 처리 루틴, 프로그래밍 언어 자체의 내부 기능조차도 버퍼 오버플로우를 일으켜 소프트웨어를 취약하게 할 수 있다고 한다.버퍼 오버플로우는 데이.. 2015. 2. 10.
7장-DLL과 코드 인젝션-3 (백도어 제작) 백도어는 시스템의 권한을 획득하는 데 사용될 수 있는 것이다.프로세스를 종료시키는 것은 백도어의 핵심 기능이다. 파일 숨기기NTFS 파일 시스템의 ADS를 이용하면 실행 바이너리에 파일을 은닉시키는 것이 가능하다.ADS는 애플의 HFS파일 시스템과의 호환성을 위해 Windows NT 3.1 부터 지원됐다.ADS를 이용해 디스크네 있는 기존 파일에 alternate stream 형태로 해당 파일에 DLL을 붙일 수 있다.ADS 스트림 파일은 특별한 파일이 아니라 단지 은닉되지 않은 기존파일에 붙여서 보이지 않게 숨겨진 파일이다.http://forensic-proof.com/archives/427이 링크를 참조하면 NTFS에대한 정보가 나온다.ADS 파일을 이용하려면 기존에 존재하는 파일 이름에 콜론을 포함.. 2015. 1. 31.
7장-DLL과 코드 인젝션-2 (코드 인젝션) 코드 인젝션은 DLL인젝션에 비해 좀 더 교묘한 기술이다.코드 인젝션을 이용하면 실행 중인 프로세스에 셸 코드를 삽입해 그것이 메모리상에서 실행되게 만들 수 잇다.또 공격자가 다른 프로세스로 셸 커넥션을 바꾸는 것이 가능하다.이 부분에서는 단순히 특정 PID를 가진 프로세스를 종료시키는 기능을 가진 간단한 셸 코드를 이용할 것이라고 한다.이 셸 코드를 이용하면 셸 코드를 원격 프로세스에 삽입해 그것을 실행시킨 프로세스를 종료시킴으로써 흔적이 남지 않게 할 수 있다. Metasploit 프로젝트의 홈페이지에서 제공하는 셸 코드 생성기를 이용하면 프로세스를 종료시키는 셸 코드를 얻을 수 있따.http://metasploit.com/shellcode/ 페이지를 방문해 셸 코드를 구하면 된다.위 셸 코드는 셸 .. 2015. 1. 31.
7장-DLL과 코드 인젝션-2 (DLL 인젝션) DLL 인젝션 기술은 사용 목적에 상관없이 오래 동안 사용돼 왔다.여기저기서 DLL 인젝션이 이용되는 것을 볼 수 있다고 한다.DLL 인젝션의 장점은 컴파일된 바이너리를 프로세스 내에 로드하고 그것을 해당 프로세스의 일부분으로 실행시킬 수 있다는 것이다.예를 들어 DLL 인젝션 기술을 사용하면 외부로의 네트워크 연결에 대해 특정 애플리케이션인 경우에만 허용해주는 방화벽 소프트웨어를 우회하는 것이 가능하다. 프로세스가 DLL을 메모리에 로드하게 만들기 위해 kernel32.dll의 LoadLibrary() 함수를 이용해야 한다.LoadLibrary() 함수의 프로토타입------------------------------------------------------------------HMODULE Load.. 2015. 1. 29.
7장-DLL과 코드 인젝션-1 (원격 스레드 생성) DLL 인젝션과 코드 인젝션 사이에는 몇 가지 차이가 있다.하지만 두 가지 모두 동일한 방법으로 수행된다. 그것이 원격 스레드 생성이다.원격 스레드를 생성하는 데 사용되는 Win32 API가 Kernel32.dll의CreateRemoteThread()다.CreateRemoteThread()의 프로토타입--------------------------------------------------------------------HANDLE WINAPI CreateRemoteThread(HANDLE hProcess,LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize,LPTHREAD_START_ROUTINE lpStartAddress,LPVOID lpPara.. 2015. 1. 29.
728x90