그누보드4 영카드4 에서 웜 공격받는지 여부 체크하는 쉘스크립트. > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

그누보드4 영카드4 에서 웜 공격받는지 여부 체크하는 쉘스크립트. 정보

그누보드4 영카드4 에서 웜 공격받는지 여부 체크하는 쉘스크립트.

본문

최근 공지올라온 웜공격 점검하는 기능입니다.
그누보드 혹은 영카드 사용하는 사이트가 많은 가상호스팅서버에서
해킹당한 여부를 점검하는 쉘스크립트입니다.
서버에 한두개 사이트 뿐이라면 별 도움 안될겁니다.
사용하는 bash 버전이 3 이상에서 테스트한 겁니다. centOS 4 이상.
그 이하에서 오류 날지도 모르겠군요..
아래 내용을 복사해서  wormcheck.sh  등으로 저장한후
쉘에서 실행을 하면 됩니다.
일반적으로 웹루트 사용자계정위치가  /home  이 아니라면 상단  HDIR 변수
부분을 적당히 수정 하시고 실행하면 됩니다.

#!/bin/sh
#
# 작성처 : 바다웹호스팅 http://www.bada.cc
# 작성자 : 권기성
# 작성일 : 2008-06-12 오후
#
# 이스크립트는 리눅스 가상웹호스팅이 많은 사이트에서
# 그누보드 웜 취약점 점검을 위해 작성되었습니다.
# 참조 : http://sir.co.kr/bbs/board.php?bo_table=co_notice&wr_id=1029

# 점검할 사용자 홈디렉토리 : 적절한 서버의 경로로 수정하세요
HDIR="/home";

# 임시 파일
TEM_FILE="/tmp/__gnu_check_file"
TEM_FILE_YES="/tmp/__gnu_check_file_patched"
TEM_FILE_NOT="/tmp/__gnu_check_file_not_patched"
TEM_FILE_WORM="/tmp/__gnu_check_file_worm"

if [ "$1" == "-c" ] ; then
/bin/rm -f $TEM_FILE
fi

# CH STR
CK_STR1="board_skin_path=''";
CK_STR2="board_skin_path = ''";
CK_STR3='board_skin_path=""';
CK_STR4='board_skin_path = ""';

# 루트로 이동
cd /
if [ ! -f $TEM_FILE ] ; then
echo "
>> 그누보드가 설치된 사용자 디렉토리를 찾아서 임시파일 $TEM_FILE 에 저장중입니다.
>> 몇분 정도 시간이 소요됩니다. 기다리세요..";
echo "";
find $HDIR | grep "admin.menu100.php" | xargs -i dirname {} | xargs -i dirname {} > $TEM_FILE
else
echo "
>> 이미 생성된 그누보드 위치 임시파일을 사용합니다.
>> 재검색 하려면 임시파일 $TEM_FILE 을 삭제후
>> $0 -c 명령어로 다시 실행 하시기 바랍니다."
echo "";
fi

for i in `cat $TEM_FILE`
do
cd $i
COMMON_FILE="$i/common.php";
DATA_FILE="$i/data";
if [ -f $COMMON_FILE ] ;then
echo "O: $COMMON_FILE 있습니다.";
#echo "egrep \"$CK_STR1|$CK_STR2|$CK_STR3|$CK_STR4\" $COMMON_FILE ";

if `grep "$CK_STR1" $COMMON_FILE > /dev/null 2>&1 ` || `grep "$CK_STR2" $COMMON_FILE > /dev/null 2>&1 ` || `grep "$CK_STR3" $COMMON_FILE > /dev/null 2>&1 ` || `grep "$CK_STR4" $COMMON_FILE > /dev/null 2>&1 `
then
echo " OK ----- YES 이미 패치된 듯 !!";
echo $COMMON_FILE >> $TEM_FILE_YES
else
echo " NOT PATCHED !! ----- NO 패치가 필요한듯 다시 확인하세요";
echo $COMMON_FILE >> $TEM_FILE_NOT

fi

## 웜 점검1
if [ -e $DATA_FILE ] ;then
echo " $DATA_FILE 폴더에서 크기 0 이상인 의심되는 php 파일 ";
NOTZE=`find $DATA_FILE -size +0 | grep ".php" | xargs -i ls -1 {}`
for k in $NOTZE
do
echo " !!! 웜 경고1 : $k"
echo $k >> $TEM_FILE_WORM
done
fi

## 웜 점검2
if `grep -rs 'eval($_REQUEST' *.php`
then
echo " !!! 웜 경고2 : $k"
echo $COMMON_FILE >> $TEM_FILE_WORM
fi

## 웜 점검3
if `grep -rs 'eval(gzinflate(base64_decode(' *.php `
then
echo " !!! 웜 경고3 : $k"
echo $COMMON_FILE >> $TEM_FILE_WORM
fi

else
echo "X: !!! 그런 파일 없음 :: $COMMON_FILE ";
fi
echo "";
done


echo "
=======================================
=== 이미 패치된 파일"
cat $TEM_FILE_YES | sort | uniq

echo "
=======================================
=== 패치안된 파일"
NOTPT=`cat $TEM_FILE_NOT | sort | uniq`
for z in $NOTPT
do
echo $z
done

echo "
=======================================
=== 이미 웜에 감염된 듯한 사이트"
cat $TEM_FILE_WORM | sort | uniq


if [ -f $TEM_FILE_NOT ] ; then
echo ""
echo -n "패치안된 파일을 패치하시겠습니까? y/n "
read kk
if [ "x$kk" != "x" ] ; then
if [ $kk == "y" ] ; then
for i in $NOTPT
do
vim $i
done
fi
fi
fi



/bin/rm -f $TEM_FILE_YES
/bin/rm -f $TEM_FILE_NOT
/bin/rm -f $TEM_FILE_WORM


추천
1

댓글 1개

사이트가 많을 경우
아래 내용을 복사해서  wormcheck.sh  등으로 저장한후
wormcheck.sh | more 로 한페이지씩 볼수 있고
마지막에 패치안된 common.php 를 vi 에디터로 편집하는 걸 선택할 수 있습니다.
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT