728x90

전체 글 151

GDB 사용법

GDB란? 보통은 GDB라고 부르는 GNU 디버거(GNU Debugger)는 GNU 소프트웨어 시스템을 위한 기본 디버거이다. GDB는 다양한 유닉스 기반의 시스템에서 동작하는 이식성있는 디버거로, 에이다, C, C++, 포트란 등의 여러 프로그래밍 언어를 지원한다. (출처:위키백과) GDB 설치하기 https://jangpd007.tistory.com/54 gdb 사용법 안내 어떤 분이 써놓은 신 문서이다. 정리가 제법 잘 되어 있어서 퍼왔다. 원문 출처 http://optimizer.snu.ac.kr/yanne/ GDB 사용하기 1. GDB GDB같은 디버거의 목적은 다른 프로그램 수행 중에 그 프로그램 ‘내 jangpd007.tistory.com

기타 2020.07.12

[pwnable.kr] passcode

ssh 이젠그냥 기본공식... 뜨는 파일 세 개 중에 확장자 c인거 먼저 열어봤음 fflush(stdin) : 입력 버퍼 지우는 함수 입출력 함수들이 버퍼를 공유하기 때문에 오류가 발생할 수 있음... 이를 피하기 위해 스트림 파일의 버퍼를 싹 ~ 청소해준다 %100s -> 문자열 출력폭이 100이라는 뜻 일단 뭐든 해봄 뭐가... 문제지--? https://bachs.tistory.com/entry/Pwnablekr-passcode pwnable.kr passcode 1. 문제확인 Mommy told me to make a passcode based login system. My initial C code was compiled without any error! Well, there was some c..

(수정중)[pwnable.kr] flag

malloc() : 동적 메모리 할당 다운 받은 파일을 hexedit으로 열어봄 수상한 부분 발견~~ url 들어가보니까 이게... 나오는데 그렇다면 UPX란~? UPX는 여러 운영체제에서 수많은 파일 포맷을 지원하는 오픈 소스 실행 파일 압축 프로그램 UPX 압축되어있는 파일인가? 그럼 일단 풀어봄 언패킹하기... 칼리 켠다 아 리버싱은 아직 정말 모르겠다~~

[pwnable.kr] bof

칼리 리눅스 켰음 이 선생님께서 어셈블리어 명령어부터 숙지하라고 하셨다... 넵 출처: https://webstone.tistory.com/123 pwnable-Bof write up 이번 시간에는 pwnable.kr에서 bof문제에 대해 write up해보겠다. 해당 bof writeup을 하기 전 간단하게 assembly 언어의 기본 명령어 부터 숙지하자. opcode(CPU에서 실행할 수 있는 단일 명령어) push -스택에.. webstone.tistory.com opcode(CPU에서 실행할 수 있는 단일 명령어) push 스택에 값을 넣음 pop 스택에 값을 뺀다 add 값을 더함 sub 값을 뺀다 mov 값을 넣음 ex) a=b ebp=esp lea 값 대신 주소를 넣음 cmp 두 값을 비교..

[pwnable.kr] collision

MD5란... 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다 (출처: 위키백과) putty로 들어감 ls로 목록 보니까 col col.c flag 세 개 있음 flag는 역시나 권한때문에 못 봄 col.c 열어봤다 4바이트씩 5번 더해서 20byte로 만들어야함... (int 라서 4바이트) 16진수 21DD09EC를 5로 나눴더니 몫은 6C5CEC8 근데 21DD 09E8 * 5 = 21DD09EC나옴;; 나머지는 0x4임(그냥 4 아니고 16진수 4!!) 0x6C5CEC8 + 0x4 = 0x6C5CECC 6C5CEC8*4 + 0x6C5CECC 수 맞추기 위해서 6C5CEC8로 네 번, 6C5CECC을..

[pwnable.kr] fd

들어가서 비밀번호 guest 입력하니 메인 화면이 반겨준다. 제일 수상해보이는 flag 먼저 열어봄... 안열린다. fd도 열어봤는데 알 수 없는 말이 가득하다. fd.c 열어봤더니 오... 함수설명 strcmp(): 문자열 비교 함수 -1: ASCII 코드 기준으로 문자열2(s2)가 클 때 0: ASCII 코드 기준으로 두 문자열이 같을 때 1: ASCII 코드 기준으로 문자열1(s1)이 클 때 앞의 !(느낌표)는 NOT 의미 -> 다르면 0, 같으면 1 atoi() : 문자열을 정수 타입으로 바꿔주는 함수, char to integer read() : 파일을 읽는 함수 read(fd, buf, 32)는 fd라는 파일디스크립터를 buf배열버퍼에 저장, 길이는 최대32 라는 뜻... 0x1234 16진수..

Bandit 9 ~ 15

Bandit9 strings: 파일에 포함된 문자열을 출력 data.txt 출력했더니 영 알 수 없는 말들만 잔뜩 나옴... sort로 정렬해도 마찬가지 그래서 strings사용했음 추출된 문자들 쭉 보다가 딱 봐도 수상한 부분 발견ㅋ truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk Bandit10 Base64: 컴퓨터 분야에서 쓰이는 Base 64 (베이스 육십사)란 8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식을 가리키는 개념이다. (출처: 위키백과) 변환 사이트에서 디코딩했다 IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR Bandit11 ROT13:..

Nessus 내부 취약점 진단

Nessus 취약점 진단 1. server - client 구조로 취약점 점검을 하는 서버와 결과물을 제공하는 클라이언트로 구성 2. 플러그 인으로 자세한 부분까지 점검 가능 4. 스캔 결과를 XML, HTML, PDF 등 다양한 형태로 리포팅 칼리에 설치 방법 #nessuse download -> 칼리 찾아서 다운 cd Downloads/ sudo dpkg -i 파일명 윗윗줄 복붙 /bin/systemctl 내부진단하기 환경: 칼리리눅스, metasploitable2 ifconfig -> NAT 제대로 돼 있으면 할당 뜸. 주소복사 Nessus -> advance scan -> name: metasploitable2 / Folder: My scans / Targets: 위에서 복사한 주소 Tab 설명 ..

Bandit 6 ~ 8

Bandit Level 6 → Level 7 Level Goal The password for the next level is stored somewhere on the server and has all of the following properties: owned by user bandit7 owned by group bandit6 33 bytes in size Commands you may need to solve this level ls, cd, cat, file, du, find, grep find와 grep에 대해 알아보자... find https://geundi.tistory.com/37 리눅스 find 명령어 파일을 찾는 명령어 find 1. 기능 다양한 옵션을 통해 찾고자 하는 파일의 조건..

Bandit Level 5 → Level 6

Bandit Level 5 → Level 6 Level Goal The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties: human-readable 1033 bytes in size not executable bandit5로 로그인을 하고 목록을 확인해봤다. 폴더가 아주 많다... 일일이 들어가서 확인하기엔 무리가 있으니 다른 방법을 이용한다. 이 때 사용하는 것이 du 명령어이다. du 용량을 확인 할 수 있다. du -h: 하위 폴더별 출력 단위를 kb mb gb 단위로 du -sh: 현재 디렉토리의 총 사용용량(하위폴더 포함)..

728x90