- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 프로젝트
- Python
- 자바
- 그라파나
- 리눅스
- 네트워크
- System
- 클라우드
- GUI
- 안드로이드
- synology
- JSP
- GPIO
- Android
- Tkinter
- LEVIATHAN
- ACL
- 쉘 스크립트 기초
- centos docker
- 메소드
- Shell script
- docker
- 라즈베리파이
- API
- Linux
- Java
- nginx
- 쉘 스크립트 if문
- RaspberryPi
- 쉘 스크립트
- Today
- Total
목록보안 (140)
IT창고
메모리의 구조를 살펴보기 위하여 간단한 출력프로그램을 만들어보겠습니다. 출력을하고 sleep명령어를 사용한 프로그램입니다. 백드라운드로 전환하고 이 프로그램이 실행되는지 프로세스를 확인합니다. 실제로 방금 실행한 프로그램이 있는데 여기에 PID를 확인합니다. proc디렉토리는 가상디렉토리로 리눅스에서는 실행프로세스도 모두 실행파일의 형태로 존재를 합니다. 여기서 방금 실행한 프로그램의 PID는 851인데 /proc/851 디렉토리에 들어가면 파일들이 보입니다. 그중 maps파일은 프로세스에서 사용중인 메모리의 정보를 가지고 있습니다! 이 파일에서 메모리의 정보를 확인할수있으며 커널메모리의 정보도 포함합니다. 08048000-08049000 r-xp 00000000 03:01 980584 /testgsk/..
어셈블리어의 반복문(for, while, do_while)에 대해 알아보겠습니다. 어셈블리어에서 분기문과 반복문의 차이는 jmp명령어를 사용해서 반복시켜주는가 아닌가로 나눠집니다. 분기문과 반복문의 차이가 거의 없습니다. 어셈블리어에서 증감명령어가 있는데 inc, dec 명령어가 있습니다.inc 명령어는 메모리나 레지스터 값을 1씩 증가 시킵니다.dec 명령어는 메모리나 레지스터 값을 1씩 감소 시킵니다. 먼저 간단한 반복문을 만들어보겠습니다.C언어로 만든 소스입니다.10값에서 1씩 감소하는 프로그램입니다. 이와 같은 기능을 가진 어셈블리어를 만들어보겠습니다. 반복문과 분기문의 차이는 코드가 반복되는가 아닌가의 차이입니다. 무한루프에 빠지지않도록 조건 분기를 꼭 주어야 합니다. C언어로 for문을 확인하..
명령어로는 어셈블리어의 shift연산, 논리연산, 형변환에 대해 알아보겠습니다. shift연산에 대해 알아보겠습니다. shift연산은 0000 0001의 숫자가 있으면 왼쪽으로 한번 shift를 할 경우 0000 0010이 됩니다. 명령어로는 shl , shr 입니다. 이 명령어를 논리shift라고합니다. 논리shift는 부호가 없는 연산을 합니다. edx의 값은 4인 0100 입니다. shl 명령어로 왼쪽으로 2번 shift하게 되면 0001 0000 이되면서 2진수를 10진수로 바꾸면 값은 16임을 확인할수있습니다. 산술 shift에 대해 알아보겠습니다. 전체적인 내용은 논리shift와 같으며 단 산술shift는 부호가 있는 연산이 가능합니다. 실행파일을 실행해보면 -부호가 있는걸 확인할수있습니다. ..
CPU의 레지스터에 대해 알아보겠습니다. 레지스터는 컴퓨터의 프로세서 내에서 자료를 보관하는 아주 빠른 기억장치로 고속 기억장치라고 불리며 용도별로 여러개의 레지스터가 존재합니다. 컴퓨터의 기억장치의 입출력이 빠른 순서레지스터 >> 주기억장치 >> 보조기억장치 1. 범용 레지스터 범용 레지스터는 본 목적외에 다용도로 활용할수있는 레지스터로 레지스터의 크기에 따라 이름이 달라집니다. 4byte 레지스터EAX ( Extended Accumulator Register )EBX ( Extended Base Register )ECX ( Extended Counter Register )EDC ( Extended Data Register ) 위의 레지스터외에도 1,2,8byte 레지스터가 있습니다.1byte AH, ..
오늘은 어제 배웠던 컴파일에 써던 프로그램으로 어셈블리어에 대해 알아보겠습니다. nasm 문법으로 만든 어셈블리어 입니다. 위의 어셈블리어를 C언어로 바꾸면 ----------------------------------------#include int main(){printf("Hell, World !!!\n");return 0;}---------------------------------------- 간단한 print출력문입니다. 오른쪽은 test2 파일의 메모리 정보입니다 0번 파일옵셋에 7f45 4c46이 헤더정보를 나타냅니다.왼쪽이 objdump로 좀 더 자세히 정보를 확인할수있는데 off와 vaddr로 메모리의 크기를 알수있고 flags를 보고 어떤 세그먼트를 가졌는지 알수 있습니다.test.a..
시스템에 대해 알아보기 위하여 바이너리에 대해 알아야 합니다. 바이러리는 실행파일 즉 0과1로 구성된 기계어로 구성된 파일입니다. 바이너리에 대해 알기 위해서 실행파일을 만드는 법을 알고 반대로 만들어진 실행파일에서 어셈블러 언어를 알고 어셈블러 언어를 소스파일로 바꾸는걸 리버싱이라 합니다. 소스파일을 어셈블러로 바꾸는 과정을 컴파일이라고 합니다. 소스파일이 바이너리파일로 변하는 과정에 대해 알아보겠습니다. 테스트에 리눅스에서 기본으로 제공하는 컴파일러 GCC 편집기는 vim을 사용합니다. 간단한 출력c파일을 만들고 GCC컴파일러를 사용합니다. 만든 파일은 test.c 파일로 간단히 gcc test.c를 입력하면 컴파일되서 바이너리 파일을 만들어줍니다. a.out 파일을 실행시켜보면 정상적으로 출력됨을 ..
시스템 해킹에 대해 배워보기 전에 환경 구성을 해보겠습니다. 환경을 구성할 리눅스는 Red Hat 리눅스 6.2버전으로 꽤 오래된 버전인데 이 리눅스로 시스템 공부를 해보겠습니다. 레드햇 리눅스6.2를 VMware에서 실행해보면 처음에 LILO boot: 가 뜰때 linux-up를 입력하면 정상적으로 부팅이 됩니다. 호스트이름을 바꿔주려면 /etc/sysconfig/network에서 바꿔주면 됩니다. 처음 레드햇 리눅스를 사용하기에 네트워크를 연결해야합니다. VMware DHCP로 잡아도 되지만 저는 NAT설정으로 잡아보겠습니다.예전 리눅스를 배울때도 NAT설정으로 리눅스 네트워크를 잡았는데 레드햇 리눅스 콘솔창에서 /etc/sysconfig/network-scripts/ifcfg-eth0 에서 네트워크..
칼리리눅스를 사용하면서 악성코드분석을 위해 혹은 기타파일을 윈도우에 옮기거나 가져오고 싶은 경우가 생깁니다. 이번에는 게스트로 쉽게 사용할 삼바서버를 구축해보겠습니다. 먼저 터미널에 apt-get install samba 와 smbclient를 입력합니다. 만약 lock파일이 있을 경우 위와 같이 지워줍니다. 이제 리눅스의 텍스트편집기로 smb.conf파일을 조금만 수정해주면 끝납니다.수정하기에 앞서 먼저 mkdir /share를 입력합니다.share 디렉토리가 앞으로 공유할 폴더로 지정하기 위하여 만들어줍니다. 그리고디렉토리의 권한을 줘야하기에 chmod 777 /share 를 입력합니다. ls -al / 를 입력하여 권한이 제대로 설정됬는지 확인하세요. 텍스트를 수정하는 방법은 여러가지가 있습니다. ..
칼리리눅스의 설치와 한글설치에 대해 알아보겠습니다. 설치환경은 VMware를 사용하여 가상의 운영체제를 설치하겠습니다. 설치환경을 구성하기 위하여 https://vmware-player.kr.uptodown.com/windows 여기서 VMware를 다운받아 설치합니다. 저는 VMware Pro를 사용하지만 Pro와 Player의 차이는 거의 없기에 환경구성에는 문제없습니다. https://www.kali.org/downloads/ 에서 칼리리눅스ISO파일을 다운로드해줍니다. 저는 칼리리눅스 64bit파일 환경구성하겠습니다. VMware를 실행시키고 Create a New Virtual Machine를 클릭하여 설치를 진행합니다.저는 VMware Pro로 진행하겠습니다. Custom으로 진행합니다. In..