Security_lab 13

John the ripper,johnny 와 Hash

이번에는 칼리에서 제공하는 john the ripper를 통해 패스워드 무차별 대입 공격을 해보고 해시 개념을 알아보려고 한다. 패스워드를 보관하는 방법은 두 가지가 있다. 1. 패스워드를 그대로 보관 이 방법의 경우 해당 사이트가 해킹 당하면 한 번에 모든 사용자의 패스워드가 노출되게 된다. 즉 보안적으로 매우 취약한 방법이다. 2. 해쉬함수를 이용한 암호화 가장 대표적인 방법이며 많은 곳에서 사용하는 방식이다. 해쉬 함수란 수학적으로 역함수가 존재하지 않는 함수이다. 이런 경우 y값을 보고 x값을 찾아낼 수가 없다. 해쉬 함수의 특성에 관련된 부분은 information_securty 카테고리에 게시할 예정이다. 이러한 해쉬 함수의 종류는 다양하게 존재하지만 대표적으로 MD5,SHA-1같은게 있다. ..

Security_lab 2021.07.23

SetUID

시스템 해킹을 하는 주요 목적은 권한 상승이다. 리눅스 시스템에서 외외로 합법적인 권한 상승 과정이 많은데 바로 setUID를 이용한 방법이다. 이는 /etc/passw의 일부이고 kali 이용자의 경우 uid를 1000 gid를 1000을 받는다고 적혀있다. 그리고 그와 같음을 확인할 수 있다. 패스워드는 설정할 때 passwd 명령을 사용하고 passwd로 패스워드를 설정하면 패스워드에 대한 암호화나 해시된 값이 /etc/shadow에 저장된다. UID, GID와 별개로 EUID, EGID가 있다. SETUID는 EUID를 0번으로 바꾸어 주어서 관리자와 같은 권한을 갖게 한다. passwd는 패스워드를 설정하는 명령어이다. 이 명령을 실행할 때는 우리 모두 관리자와 같은 권한을 갖게 된다. 이는 p..

Security_lab 2021.07.21

shell code & assembly analysis

시스템을 공격할 때 셸 코드를 스택에 업로드해서 사용하는데 이때 코드는 스택에서 직접 실행될 수 있도록 기계어로 바꾸어 사용해야 한다. 위와 같이 셸 코드를 작성해보고 어셈블리 코드를 보려고 한다. 2학년 시스템 소프트웨어 시간에 attack lab과 bomb lab등을 하면서 어셈블리에 적응을 했었는데 그새 시간이 지나서 기억이 잘 나지 않는다. 기본적인 스택구조를 따르며 위에서부터 아래로 저장된다. 우선 기본적인 레지스터의 역할이 있으므로 한번 정리하고 가고자한다. 먼저 데이터 레지스터이다. RAX(Extended Accumulator Register) : 사칙연산 명령어에서 자동으로 사용, 리턴 레지스터 시스템콜의 실질적인 번호를 가리키는 레지스터 RBX(Extended Base Register) ..

Security_lab 2021.07.20