분류 전체보기

1. serial통신 터미널 연결1 - usb연결 수 /dev에서 찾기2 - screen명령어를 통해 터미널로 접속 (1) usb연결 후 /dev에서 찾기 /dev 폴더에 "ls /dev/*usb*"를 했을 때 처음에는 아무것도 표시가 안된다.하지만 usb를 연결한 이후에 다시 확인하면 (사진1)과 같이 새로운 표시된다.- cu : 시리얼 통신에 사용되는 컨트롤러를 의미- tty : 시리얼 장치의 터미널을 의미  (2) screen명령어를 통해 터미널로 접속"screen [tty.로 시작하는 파일명] [시리얼 통신 속도]"를 통해 터미널에 접속할 수 있다.screen /dev/tty.usbserial-0001 115200 [시리얼 통신 속도]- 데이터가 전송되는 속도를 비트 단위로 나타낸다.- 초당 전송..
·Pwnable/stack
1. Shellcoding란?1-1. 개요 (Shellcode란?)익스플로잇을 위해 제작된 어셈블리 코드 조각이다.어셈블리어와 기계어 코드는 일대일 대응이기 때문에 공격자가 rip를 주입한 shellcode로 옮긴다면 cpu에게 원하는 명령을 하도록 유도할 수 있게 된다. [shellcode작성법을 알아야하는 이유]수행할 대상의 아키텍처와 운영체제 그리고 수행 목적에 따라 어셈블리어는 다르게 작성되어야 한다. 아키텍처별로 자주 사용하는 쉘코드를 공유하는 사이트가 있지만 해당 쉘코드들은 범용적으로 작성되었기 때문에 제대로 작동이 안 될 가능성이 있다. 따라서 타겟 시스템에 맞는 최적의 쉘코드를 상황에 따라서 언제든지 작성할 수 있어야한다. => 쉘코드 모음 사이트 : http://shell-storm.or..
1. 알고리즘1-1. 알고리즘이란?입력 정수에서 출력 정수를 구하기 위한 일반화된 작업을 정리하여 의사코드나 소스코드의 형태로 구현한 것이다.문제를 해결하는 방법 그 자체를 말한다. (알고리즘 충족 조건)ex) 요리 레시피타당성 : 구현할 수 있고 실용적이어야 한다. => 알고리즘의 성능 담당정밀성 : 변하지 않는 명확한 작업 단계를 가져야 한다.유일성 : 각 단계마다 명확한 다음 단계를 가져야 한다.유한성 : 특정 수의 작업 이후에 정지해야한다.입력 : 정의된 입력을 받아들일 수 있어야 한다.출력 : 답으로 출력을 내보낼 수 있어야 한다.일반성 : 정의된 입력들에 일반적으로 적용할 수 있어야 한다. 1-2. 알고리즘 성능 기준시간 기준 - 알고리즘이 적은 시간이 사용될 수록 빠르게 동작했다는 것을 의미..
·환경구축 & Tip
1. socat을 이용한 문제 구성[필요한 파일]1 - 문제파일(바이너리, *.py등)2 - Dockerfile, docker-compose.yml3 - README.md 1-1. socat이란?:다목적 소켓 터널링을 위한 유명한 유닉스 소켓 프로그램  (socat 설치)apt-get install socat  1-2. 문제파일 준비(1) 입출력이 가능한 문제파일을 작성ex) test.c# test.c#include #include #define FLAG "RD{welldone_you_found_the_flag}"void check_input(char *input) { if (strcmp(input, "1234") == 0) { printf("%s", FLAG); printf("..
1. MIPS(MIPS 아키텍처란?): 밉스 테크놀로지에서 개발한 RISC계열의 명령어 집합 체계(ISA)- MIPS 디자이너들이 명령어 세트를 깔끔하게 설계하여 많은 대학에서 해당 아키텍처를 가르침- MIPS 프로세스의 디자인은 후기 RISC 아키텍처에 영향을 줌- 2021년에 개발사가 개발 중단하고 RISC-V로 이주ex) 응용분야 : 임베디드 시스템, 소비자 가전등 (1) Installsudo apt install gcc-mips-linux-gnu -y (2) Compilemips-linux-gnu-gcc -o test test.c (3) Execution// 설치sudo apt-get install qemu-user-static// 실행qemu-mips-static -L /usr/mips-linu..
1. 기본 도커 구축현재 docker hub 이미지 이름 : greedun/rd_pwn:240629_2[환경 구성]ubuntu버전 - (24.06.29) 24.10설치할 패키지 - net-tools, gdb -> beta-gef, python3, python3-pip, one_gadgets, adduser, sudo, git, wget, openssh-server, curl, vim, fontconfig 1-1. zsh 설정(1) zsh, oh my zsh설치=> https://blackinkgj.github.io/zsh-installation/(설치 : zsh -> oh my zsh)# zsh설치sudo apt install -y zshchsh -s `which zsh`# oh my zsh설치cu..
·CTF/Write-up
보호되어 있는 글입니다.
·Pwnable/Background
[목차]1. Sandbox란?2. SECCOMP란 2-1. SECCOMP 모드 2-1-1. STRICT_MODE 2-1-2. FILTER_MODE 2-2. 코드 적용 방법 2-2-1. seccomp 라이브러리 사용 2-2-2. BPF문법을 사용3. seccomp-tools 1. Sandbox란외부의 공격으로부터 시스템을 보호하기 위해 설계된 기법애플리케이션이 꼭 필요한 시스템 콜만 실행하게 하거나, 파일의 접근만을 허용하게 하여   공격을 어렵게 하기 위한 보안 메커니즘 중 하나 (2가지 방법)Allow List : 전체를 차단한 후 원하는 시스템 콜만 허용Deny List : 전체를 허용한 후 차단할 시스템 ..
·CTF/Write-up
보호되어 있는 글입니다.
(요약)1. apt-get update 및 sudo 설치2. sudo를 권한을 받을 {user}을 추가 과정(1) apt-get update 및 sudo 설치$ apt-get update && apt-get install -y sudo  (2) sudo를 권한을 받을 {user}을 추가$ adduser --disabled-password --gecos "" {user} \ && echo '{user}:{user}' | chpasswd \ && adduser {user} sudo \ && echo '{user} ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers ex) {user} - rd => 해당 스크립트를 추가하길 원하는 사용자이름으로 바꿔서 넣었을떄 사용자로써 ..
slepber
'분류 전체보기' 카테고리의 글 목록