목록공부 (74)
보안세상
네트워크를 실시간으로 사용하고자 할 경우 혹은 대용량의 데이터 전송하는 경우에는 기존의 공유매체를 사용하는 LAN은 적절하지 못하였다.각각의 LAN 세크먼트를 스위치의 포트에 연결한 것이 LAN 스위칭이다.각각의 LAN 세크먼트는 독립적인 LAN으로 동작하며, 충돌 도메인 또한 각각의LAN 세그먼트로 한정되게 된다. 또한 스위치의 처리 속도 면에서 기존의 브리지나라우터를 능가한다.ASIC 기술의 발전으로 스위칭을 CPU가 아닌, ASIC이라는 하드웨어가 수행하게 함으로써, 스위칭 속도를 획기적으로 향상시킬 수 있었다 스위치의 포트에는 많은 호스트들이 연결된 하나의 세그먼트 혹은 하나의 호스트로 연결이 가능하다. 그 하나의 세그먼트는 CSMA/CD로 하나의 충돌 도메인이 된다.LAN호스트가 직접 연결된 경..
sigaction()함수와 그에 대한 구조체를 알아본다. 구조체 struct sigaction{void (* sa_handler)(int);sigset_t sa_mask;int sa_flags;};첫번째 멤버는 함수 포인터. 이 소프트웨어 인터럽트 함수라고 생각하면 된다.여기서는 singnal이라고 부른다.자바 - event, 리눅스 - signal 윈도우- message 2번째 멤버는 들러 함수가 호출되는 동안 신호를 블로킹하는 멤버 이 두번째 멤버에서 또 다시 여러가지 형태의 블로킹 함수가 존재한다.1. sigemptyset()//블로킹을 셋팅하는데 해당하는 것만 블로킹.2. sigfillset(sigset_t * set)//전부 블로킹, 인자는 sigset_t형의 포인터형이므로 주소를 인자로 받아야..
ip헤더 구조 ip.h헤더파일 stIp= struct ip자료형, ip.h파일에 정의 되어있는 자료형이다. usCehecksum을 unsigned short형의 자료형. ip.h에 checksum에 해당하는 ip_sum을 변수 usCehecksum에 집어넣는다.stIp->ip_sum=0x0000;은 앞에 2바이트 네자리를 0으로 채운다. 아래 printf문에서 조건 연산식을 써서 uschecksum이 함수 smart_cksum과 같은 경우에 yes, 거짓이면, no를 출력한다.(usChecksum==smart_cksum(stIp->ip_hl)*4)?"yes":"no"); 이부분이다. smart()함수인자로 stIp와 (stIp->ip_hl)*4를 받는다. 아래그림을 보면 알수 있듯이 헤더의 크기이다. (..
파이썬을 이용한 파티션 테이블 분석파이썬을 이용하여 자신만의 분석도구를 만드는 것은 상당히 중요하다. 그 이유는 어떤 포렌식 도구보다도 향후 필요한 기능을 스스로 추가하고 확장하기 용이하기 때문이다. 만약 자신이 즐겨 사용하는 포렌식 도구가 특정 기능을 지원해주지 않는다면 결국 해당 기능을 가진 다른 포렌식 도구를 찾아야 하기 때문이다.이번 시간에는 파일시스템 포렌식 도구에서 가장 기본이 되는 하드디스크의 파티션 테이블 분석 도구를 파이썬을 이용 해서 개발해 본다.1. 기본적인 파이썬 코드기본적으로 파이썬을 이용하여 파일을 다루는 프로그램을 작성해본다.# C드라이브 루트에 존재하는 1.txt 파일을 이진 읽기 모드로 파일을 연다 handle = open('c:\\1.txt', 'rb') # 파일 전체를 ..
인터넷과 인트라넷의 차이 허브와 스위치의 차이 백트랙과 매타스플로잇의차이 ips룰
어떤 프로그램이든 파일을 업데이트하는 루틴은 굉장히 중요합니다. 버그 하나 없는 프로그램은 없고 문제가 발생했을 때 빠르게 대처하기 위한 유일한 방법이기도 하기 때문입니다. 제가 업데이트 하는 방법은 Rename 하는 방법입니다. 가장 보편적인 방법이 아닐까 생각합니다. 저는 컴파일 시에 항상 파일명뒤에 B를 붙여줍니다. "xxxB.exe" 이런식으로 말이죠. - 순서1. Update모듈이 파일을 설치2. 버전을 비교하여 기존에 사용되고 있던 파일보다 설치된파일의 버전이 높으면 3번 아니라면 업데이트 진행중지3. xxxC.exe 파일이 존재하는지 확인 후 xxx.exe 파일을 xxxC.exe로 변경4. xxx.exe 파일이 존재하는지 확인 후 xxxB.exe 파일을 xxx.exe로 변경5. xxxB.ex..
프로세스의 실행여부를 체크할 수 잇는 소스코드 입니다.#include BOOL IsRunProcess(TCHAR * searchFile) { HANDLE hProcessSnap; PROCESSENTRY32 pe32; hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 ); if( hProcessSnap == INVALID_HANDLE_VALUE ) { return( FALSE ); } pe32.dwSize = sizeof( PROCESSENTRY32 ); if( !Process32First( hProcessSnap, &pe32 ) ) { CloseHandle( hProcessSnap ); return( FALSE ); } TCHAR search..
NSIS (Nullsoft Scriptable Install System)은 윈도우용 설치 프로그램을 만들기 위한 스크립트 언어와 컴파일러를 제공하는 오픈 소스 시스템입니다. NSIS 플러그인은 NSIS 스크립트에서 사용할 수 있는 사용자 정의 기능을 추가하는 데 도움이 되는 확장 기능입니다. NSIS 플러그인을 만들려면 다음 단계를 따를 수 있습니다 1. NSIS 플러그인 템플릿 작성: 먼저, NSIS 플러그인 템플릿을 작성합니다. 이는 플러그인의 기본 구조를 정의합니다. 일반적으로 C나 C++로 작성된 DLL (Dynamic Link Library) 형식의 파일로 NSIS 플러그인을 작성합니다. 2. NSIS API 사용: NSIS 스크립트에서 호출할 수 있는 플러그인 함수를 정의합니다. NSIS A..
COM(Component Object Model)은 마이크로소프트에서 개발한 프로그래밍 모델로, 다른 소프트웨어 컴포넌트와 상호 작용할 수 있도록 해주는 인터페이스를 제공합니다. 오래 전부터 윈도우 운영 체제에서 중요한 역할을 했던 COM 실행 파일이 최근에는 사용되지 않고 지원되지 않는 현상이 발생하고 있습니다. 이 글에서는 윈도우에서 COM 실행 파일이 더 이상 사용되지 않는 이유와 그에 따른 대안들에 대해 알아보겠습니다. 1. 기술 발전: 기술의 빠른 발전으로 인해 COM 실행 파일은 오래된 기술로 여겨집니다. 최근의 개발 트렌드는 .NET, 웹 기술, 클라우드 컴퓨팅 등으로 이동하고 있어, COM보다 현대적이고 효율적인 기술들이 더 많이 사용되고 있습니다. 2. 보안 이슈: COM 실행 파일은 오..
TEST 결과 윈도우 모든 os 및 32,64비트 모두 가능하네요.#include #include #pragma comment(lib,"Version.lib") BOOL GetFileInformation(TCHAR * filePath, TCHAR * fileInformation,DWORD fileInformationSize, TCHAR * fileBlockHeader) { //파일 사이즈를 구한다. DWORD dwHandle=0; DWORD dwFileInfoSize = ::GetFileVersionInfoSize(filePath,&dwHandle); if(dwFileInfoSize == 0) { DWORD errorCode = ::GetLastError(); //writelog.ErrorMsg(erro..