Linux

· Linux
유저 네임을 변경해서 우분투 사용자 계정 이름도 변경해야 했다. usermod를 그냥 쓰면 해당 process가 사용되고 있다는 에러가 뜨는데 이를 해결하기 위해서는 process kill을 해야 한다고 한다. 그런데 나는 에러 뜬 pid에 해당하는 process만 죽였는데 터미널이 아예 꺼져서 엄청 삽질했다.. 결국 process를 죽이는 방법이 아닌 아예 ubuntu 기본 로그인 계정을 변경하는 방법으로 문제를 해결했다. 나는 Ubuntu 22.04 버전을 사용하고 있다. 1. 임시 사용자 계정을 만들고 sudo 권한 부여 # 새로운 임시 사용자 이름 생성 sudo adduser {임시 사용자 이름} # 새로 만든 임시 사용자 sudo 권한 부여 sudo adduser {임시 사용자 이름} sudo ..
· Linux
최근에 ubuntu 22.04 lts 새로 깔고 vscode에 wsl 연동을 다시 했었다. 그리고 과제를 하느라 컴파일을 하려고 하는데 일단 c 파일에서부터 #include 헤더 오류가 떴다. 처음에 엥 뭐지 싶었는데 생각해보니 ubuntu 깔고 gcc 설치를 안했다,,,,ㅎㅎ 터미널에 아래 명령어를 입력해서 gcc를 설치하고 sudo apt-get update sudo apt install gcc vscode c/c++ 설정 창으로 들어가서 컴파일러 경로에 아래와 같이 /usr/bin/gcc 경로를 입력해준다. 그럼 이렇게 json 파일에 compiler path가 추가된 것을 볼 수 있다. 빨간줄 사라짐! 예이!
· Linux
WSL에 우분투 22.04 LTS 버전을 새로 깔았는데 처음 설정할 때 user 등록을 했음에도 불구하고 기본 로그인 계정이 root가 되어버렸다. 물론 `login {username}` 으로 계정을 그때 그때 바꿀 수는 있지만 매번 root에서 일반 사용자 계정으로 로그인하는건 불편해서 기본 로그인 계정을 변경하는 방법을 알아보았다. 파워쉘 또는 명령 프롬프트에 아래 명령어를 입력하면 된다. ubuntu2204.exe config --default-user {username}나는 22.04 버전이어서 ubuntu2204.exe라고 했지만, 2204 대신 각자 버전에 맞는 숫자를 대입하면 된다. 그냥 ubuntu면 ubuntu 또는 ubuntu.exe라고 하면 된다. 휴...
ls bandit27-do 파일이 보인다. cat bandit27-do 당연히 실행되지 않는다. ls -al bandit27-do의 권한이 bandit27인 것을 확인할 수 있다. 더 정확하게 보기 위해 id 명령어를 사용하자. ./bandit27-do id euid가 bandit27이다. 이 파일을 이용해 bandit27로 가기 위한 password 파일에 접근하자. ./bandit27-do cat /etc/bandit_pass/bandit27 다음 레벨로 가기 위한 password가 보인다.
ls bandit26.sshkey 파일이 있다. cat bandit26.sshkey sshkey 내용이 나온다. sshkey를 가지고 bandit26에 ssh 접속을 한다. ssh -i bandit26.sshkey bandit26@localhost bandit26만 출력하고 로그아웃되었다. bandit26의 쉘을 확인하기 위해 /etc/passwd 파일을 열어보자. cat /etc/passwd | grep bandit 나머지와 다르게 bandit26만 /usr/bin/showtext 안에 있다. /usr/bin/showtext 파일을 읽어보자. cat /usr/bin/showtext more 명령어가 실행된 후 바로 종료된다. more 명령어가 실행될 수 있도록 창을 작게 만들고 다시 ssh로 bandi..
포트 30002에 접속해보자. nc localhost 30002 bandit24 password와 한 칸 띄어서 pincode를 한 줄에 입력하라고 한다. 0000부터 9999까지 반복 입력해서 pincode를 찾는 쉘 스크립트를 짜보자. 먼저, 스크립트 파일을 저장할 임시 디렉토리를 만든다. mkdir /tmp/eskim cd /tmp/eskim brute_forcing.sh라는 쉘 스크립트를 만들어 password와 pincode를 list.txt 파일에 저장하도록 하자. cat > brute_forcing.sh #!/bin/bash passwd=UoMYTrfrBFHyQXmg6gzctqAwOmw1IohZ for i in {0000..9999} do echo $passwd $i >> /tmp/eskim..
cd /etc/cron.d 문제에서 제시한 경로로 이동한다. ls cronjob_bandit24 파일을 읽어보자. cat cronjob_bandit24 위에서 제시한 경로에 있는 파일을 읽어보자. cat /usr/bin/cronjob_bandit24.sh /var/spool/$myname 에 있는 파일은 실행되면 60초 안에 삭제된다. 사본 파일을 저장할 임시 디렉토리를 만들자. mkdir /tmp/eskim cd /tmp/eskim 위의 디렉토리 안에 bandit24 password 파일을 bandit_pass 파일에 저장하도록 실행시키는 dump.sh 파일을 만들자. cat > dump.sh #!/bin/bash cat /etc/bandit_pass/bandit24 > /tmp/eskim/bandit..
그 전 레벨과 마찬가지로 문제에서 제시한 경로로 이동해보자. cd /etc/cron.d ls cronjob_bandit23 파일을 읽어보자. cat cronjob_bandit23 /usr/bin 경로 아래 cronjob_bandit23 파일을 읽어보자. cat /usr/bin/cronjob_bandit23.sh passwordfile은 /tmp/$mytarget 파일로 복사되었다. mytarget이 무엇인지 구해야 한다. mytarget을 구하기 위해 위에서 제시한대로 명령어를 입력해보자. 이 때, myname은 bandit23이다. echo I am user bandit23 | md5sum | cut -d ' ' -f 1 mytarget은 8ca319486bfbbc3663ea0fbe81326349이다...
문제에서 주어진 경로로 이동해보자. cd /etc/cron.d ls bandit22와 관련된 파일이 보인다. cronjob_bandit22 파일을 읽어보자. cat cronjob_bandit22 /usr/bin/ 경로 안에 cronjob_bandit22 파일을 가리키고 있다. 위에서 제시한 파일을 읽어보자. cat /usr/bin/cronjob_bandit22.sh 이번엔 /tmp/ 경로 안의 파일을 가리킨다. 위에서 제시한 파일을 읽어보자. cat /tmp/t7O6lds9S0RqQh9aMcz6ShpAoZKF7fgv 다음 레벨로 가기 위한 password가 보인다.
je1att0
'Linux' 카테고리의 글 목록