전체 글 103

악성코드의 자주 사용되는 DLL 파일 정리

Kernel32.dll : 메모리 관리, 파일 입/출력, 프로그램 코드/실행 등 기본적인 기능이 내장되어 있다. Windows NT부터는 Kernel32.dll은 트램펄린 역할만을 하며 실제 기능은 ntdll.dll이 가지고 있다. (kernel32.dll ->kernelBase.dll -> ntdll.dll) GDI32.dll : 화면/프린터의 그래픽 출력을 관리한다.(Graphic Device Interface) 그래픽 관련 함수 USER32.dll : 윈도우, 대화 상자, 메뉴 등을 관리한다. ADVAPI32.dll : 서비스 관리자나 레지스트리 같은 추가 핵심 윈도 컴포넌트에 접근 가능, 레지스트리, 시스템 종료와 재시작, 윈도의 서비스의 시작/종료/생성, 계정 관리 등의 기능 지원 SHELL32..

악성코드 분석 2020.01.03

실전 악성코드와 멀웨어 분석 - 실습 1-3

Lab01-03.exe 파일을 분석하라. 질문 1. https://www.virustotal.com/에 에 Lab01-03.exe 파일을 업로드하여, 기존 안티바이러스에 정의된 것과 일치하는가? A : 58개 엔진이 발견하였다. 2. 이 파일이 패킹되거나 난독화 된 징후가 있는가? 그렇다면 무엇으로 판단하였는가? A : PEID 도구로 판단하였으며, FSG1.0 -> dulek/xt로 패킹된 흔적을 찾을 수 있었다. FSG로 패킹된 파일을 자동으로 언패킹해주는 도구를 찾을 수 없어서 ollydbg를 사용하여 main 함수를 찾아서 dump를 하는 방식으로 하였다. *FSG Packing특징 : 세번의세 번의 JMP구문을 반복한다는 특징이 있다. 위의 그림과 같이 JNZ, JE, JNZ 세 번의 점프 문 ..

실전 악성코드와 멀웨어 분석 - 실습 1-2

Lab01-02.exe 파일을 분석하라. 질문 1. https://virustotal.com/에 Lab01-02.exe 파일을 업로드하여, 기존 안티바이러스에 정의된 것과 일치하는가? A : 67개의 엔진중에 43개 엔진이 파일을 발견하였다 대표적으로 안랩-V3에서 Trojan/win32.StartPage.C26214로 탐지되었다. 2. 이 파일이 패킹되거나 난독화 된 징후가 있는가? 그렇다면 무엇으로 판단하였는가? A : UPX로 패킹되어 있고 , PEID를 이용하여 판단하였다 UPX 도구를 이용하여 Unpacking을 하였다. 3. 임포트를 보고 악성코드의 기능을 알아낼 수 있는가? 그렇다면 무엇으로 판단하였는가? A : ADVAPI32.DLL 및 WINNET.DLL이 임포트 되어 있었다. ADVAP..

스토리지(Storage)의 개념과 종류

스토리지(Storage)란? 과거에는 데이터를 적게 저장할 때는 서버 내의 하드디스크 용량으로 충분하였으나, 현재는 과거와 비교되지 않을 만큼 다수의 많은 데이터를 저장하기 위해서 큰 용량에 디스크를 요구하게 되면서, 스토리지 나온 것입니다. 스토리지의 종류 DAS(Direct Attach Storage) 전용 케이블을 이용해 서버와 스토리지를 직접 연결한다 예) 일반 컴퓨터에 사용하는 외장하드방식으로 보면 된다. DAS의 장단점 장점 단점 1) 설치 및 운용이 쉽다. 1) 서버 포트수에 한계가 있다 2) 직접 연결하게에 속도가 빠르다. 2) 서버가 다운될 경우에는 스토리지 사용 불가능 3) 가격이 다른 장비에 비해 저렴하다. 3) 스토리지 장치 해제 시 저장된 데이터 손실이 발생할 가능성 높음 NAS(..

카테고리 없음 2020.01.02

AWS(Amazone Web Service)

AWS란? 아마존에서 개발한 클라우드 컴퓨팅 플랫폼 Amazone Web Service는 아마존에서 제공하는 클라우드 서비스로, 네트워크를 기반으로 가상 컴퓨터와 스토리지, 네트워크 인프라 등등 다양한 서비스를 제공 클라우드 컴퓨팅(Cloud Computing)이란? 기존의 물리적인 형태의 실물 컴퓨터 리소스를 네트워크 기반 서비스 형태로 제공 사용자로 하여금 네트워크상에서 클라우드 서비스의 자원을 사용하는 것을 의미한다. 다음과 같이 3가지 분류로 나눈다 Transitional IT - 사용자가 직접 인프라, 플랫폼, 애플리케이션을 관리하는 모델 규모있는 업체라면 직접 IDC를 구축하고, 일반적인 경우에는 IDC에 공간을 할당받아 물리 서버를 설치하고 하드웨어, 운영체제, 서버, 애플리케이션을 모두 관..

IT 2020.01.02

NAT란?

NAT(Network address translation, 네트워크 주소 변환)는 컴퓨터 네트워킹에서 쓰이는 용어로써, IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고받는 기술을 말한다. 패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 체크섬(checksum)도 다시 계산되어 재기록해야 한다. 출처: 위키백과 NAT를 이용하는 이유 1. 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함 2. 인터넷의 공인 IP 주소를 절약할 수 있다는 점 3. 인터넷이란 공공망과 연결되는 사용자들의 고유한 사설망을 침입자로부터 보호할 수 있다는 점 NAT 종류 Static NAT 개념 : 사설I..

Network 2020.01.01

VPN이란?

VPN(Virtual private network)은 공중 네트워크를 통해 한 회사나 몇몇 단체가 내용을 바깥사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다. 우리말로 `가상사설망'입니다. 출처:위키백과 VPN 네트워크에 접속하게되면, 외부에 있는 컴퓨터로 내부 네트워크에 접속해 있는 것처럼, 이용할 수 있다. 예를 들어, A컴퓨터 IP주소가 192.168.10.X이고, B컴퓨터(VPN 서버) IP주소가 168.100.100.x의 접속한다고 가정하면 이 경우에는 A컴퓨터는 더이상 192.168.10.x IP가 아닌 168.100.100.x IP로 보이게 됩니다. B네트워크 내부에 속해 있는 다른 장비들과도 사설망을 이용해 직접 통신이 가능합니다. VPN을 사용하게 되면 장단점 장점 1. 외..

Network 2020.01.01

[리눅스 기본 보안 설정] 계정 잠금 임계값 설정

시스템 정책에 사용자 로그인 실패 임계값이 설정되어 있는지 확인하는 설정입니다. vi /etc/pam.d/system-auth 위 그림과 같이 빨간네모칸에 있는 내용을 추가해주었습니다. 옵션 설명 deny=N //N회 입력 실패 시 패스워드 잠금 unlock_time=N //계정 잠김 후 마지막 계정 실패 시간부터 설정된 시간이 지나면 자동 계정 잠김 해체 (단위:초) no_magic_root //root에게는 패스워드 잠금 설정을 적용하지 않음 reset //접속 시도 성공 시 실패한 횟수 초기화

linux/CentOS 2019.12.31

[리눅스 기본 보안 설정] 패스워드 복잡성 설정

패스워드 복잡성을 설정하는 이유는 비인가자가 brute force attac(무차별 대입 공격)과 dictionary attack(사전 대입 공격)을 통해 취약한 패스워드가 설정된 사용자 계정에 패스워드를 획득할 수 있기 때문입니다. 1. 사전에 나오는 단어나 이름의 조합 2. 길이가 너무 짧거나, Null(공백)인 패스워드 3. 키보드 패턴의 일련의 나열 예) asdf, qwer 4. 사용자 계정 정보에서 유추 가능한 단어들 패스워드의 유효기간은 90일 패스워드 최소 길이 8로 설정 vi /etc/login.defs PASS_MAX_DAYS 90 //패스워드의 최대 우효기간 PASS_MIN_DAYS 0 //패스워드를 바꿀 수 있는 최소한의 날짜 PASS_MIN_LEN 8 //패스워드 최소 길이 PASS..

linux/CentOS 2019.12.31

[리눅스 기본 보안 설정] wheel 권한 설정

root 아이디는 접속을 제한하고 wheel 아이디로 접속하여 [sudo su]로 관리자 권한(root)을 받아서 서버를 운영하기 위해 사용됩니다. vi /etc/pam.d/su 편집기로 여시면 auth required pam_wheel.so use_uid 빨간색으로 표시한 부분이 주석처리되어있는데요 주석 제거해 주세요 vi /etc/group wheel 부분에 aaa라는 유저를 추가시켜 줍니다. 그다음으로 bin에 있는 실행파일을 wheel 그룹에 실행 권한을 부여합니다. chgrp wheel /bin/su chmod 4750 /bin/su 이렇게 한 후에 저는 sudo su 명령어가 먹히지가 않아서 인터넷 검색 결과 vi /etc/sudoers //편집기로 연뒤 # $wheel ALL=ALL ALL ..

linux/CentOS 2019.12.31