[DevOps][Ubuntu-Linux] Shell Script 암호화 feat.SHC(Shell Script Encryption)

2023. 8. 7. 13:40DevSecOps/Server

작성자[대표]주니

728x90
반응형

 

 

 

 

 

리눅스 커맨드라인 쉘 스크립트 바이블

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

 

 

 

안녕하세요. 기깔나는 사람들에서 대표를 맡고있는 주니입니다.

이 전 글에서 주니는 디스코드 웹훅을 통해 서버 접속 사용자가 있다면 메시지를 보내는 쉘 스크립트를 만들어 보았어요.

 

[DevOps][Linux] Shell Script를 이용하여 서버 접속 사용자 정보 디스코드에 보내기

리눅스 커맨드라인 쉘 스크립트 바이블 COUPANG www.coupang.com "이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다." 🚀 Shell Script를 이용하여 서버 접속 사용

junyharang.tistory.com

 

그런데, 이 곳에는 디스코드 웹훅 URL 정보가 버젓이 남아버리는 문제가 있어요.

쉘 스크립트에서 주요 정보를 가리기 위해 사용할 수 있는 것이 SHC라는 것인데, 이번에는 이걸 설치하고, 구성하는 방법에 대해 정리해 보도록 하려고 해요.

 

 


설치

주니가 구성할 OS는 Ubuntu 22.04이고, 이걸 통해 설치해 보도록 할게요.

apt-get update && apt-get upgrade -y


최초 패키지 업데이트 진행해 줄게요.


apt-get install -y build-essential


build-essential 패키지는 개발 환경을 구축하기 위해 필요한 핵심 도구와 라이브러리를 포함하고 있어요.
주로 C나 C++로 소프트웨어를 개발하려는 경우에 필요한 컴파일러, 라이브러리, 헤더 파일 등이 포함되어 있답니다.

해당 패키지를 설치해 줄게요.

이제부터는 root가 아닌 추가 관리용 계정으로 진행해 볼게요.

wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9b.tgz


해당 계정의 홈 디렉터리에서 위와 같이 SHC 설치 파일을 내려 받아 줄게요.

 

Francisco Rosales, home page

Francisco Javier Rosales García 

www.datsi.fi.upm.es



tar xvfz 압축 파일 명


내려받기를 완료하였으면 위와 같이 압축을 풀어줍니다.

make

 

 

SHC 디렉터리로 이동하여 make 명령어를 입력해 줄게요.

💡 참고 사항
make 명령어

make 명령어는 소프트웨어 프로젝트를 빌드하고 컴파일하는 데 사용되는 도구입니다. 주로 C, C++, 그리고 다른 프로그래밍 언어로 작성된 소스 코드를 컴파일하고 실행 파일 또는 라이브러리로 변환하는 작업을 자동화하는 데 사용.

make 명령어는 주어진 소스 코드와 빌드 설정에 따라 컴파일 과정을 자동으로 수행하며, 이를 통해 개발자는 복잡한 빌드 프로세스를 간단하게 관리. Makefile이라는 텍스트 파일에 빌드 설정과 규칙을 기술하여 make 명령을 실행하면 이 파일에 기술된 규칙에 따라 컴파일 및 빌드 진행.

make 명령어는 소프트웨어 프로젝트에서 소스 코드 파일이 수정되었을 때, 빌드 과정을 다시 수행하여 새로운 실행 파일이나 라이브러리를 생성하는 역할. 이를 통해 개발자는 코드 변경에 따른 빌드 작업을 효율적으로 관리 가능.

요약하면, make 명령어는 소프트웨어 프로젝트의 빌드 및 컴파일 작업을 자동화하기 위해 사용되며, Makefile에 정의된 규칙에 따라 컴파일 프로세스를 수행.

 

sudo make install


위 명령어를 입력해서 설치하려고 할 때, 위와 같이 /usr/local/man/man1 디렉터리가 없다고 하면 아래와 같이 디렉터리를 만들어줘야 해요.

sudo mkdir -p /usr/local/man/man1



sudo make install


위와 같이 나오면 정상적으로 설치가 완료된 것이에요.


shc


shc 명령어가 인식되는걸 확인할 수 있어요.



💡 참고 사항
shc 명령어 옵션

-e date : 만료일 지정 (dd/mm/yyyy)

 -m message : 만료일이 지났을 경우 메시지 출력

-f script_file : 스크립트 파일을 지정하여 바이너리 생성

반응형

 

 

 

 

 

 

 

 


쉘 스크립트 암호화

설치가 완료되었으니 쉘 스크립트를 암호화 해보도록 할게요.

cd /etc/profile.d


root 계정으로 스위칭한 뒤 /etc/profile.d 밑에 있는 UserAccessAlarm.sh를 암호화 해보도록 할게요.

shc -f {쉘 스크립트 이름.sh}


위와 같이 암호화를 하니 .x 확장자와 .x.c 확장자 파일이 생성된 걸 확인할 수 있어요.

chmod 755 {암호화된 쉘 스크립트 파일명.sh.x}


암호화된 쉘 스크립트 권한을 수정해 주었어요.

cat {암호화된 스크립트 파일명.sh.x}


위와 같이 암호화가 된 걸 확인할 수 있어요.

 

 

 


 

 

참고자료

🔗 - https://hoing.io/archives/80

 

 

 

 

 

리눅스 커맨드라인 쉘 스크립트 바이블

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

 

 

 

 

 

 

 

728x90
반응형