그누보드 사용중 웹쉘 공격에 계속 당하고 있습니다. 정보
그누보드 사용중 웹쉘 공격에 계속 당하고 있습니다.본문
본문
그누보드를 사용하는 초보 개발자입니다.
기존에 그누보드 기반으로 사이트를 구축 하였는데
제가 아직 초보라 같이 사이트를 구축한 선임 개발자가
cheditor4버전을 설치를 하였습니다.
지금은 저 혼자 관리를 하고있는데
몇달전에 웹쉘을 이용한 해킹을 당하였습니다.
운영 사이트가 게시판에 굳이 파일 업로드가 필요 없다 생각하여
/data/file/의 퍼미션을 아예 000으로 바꿔 버렸고 게시판 자체에서 업로드가 안되게 수정하였습니다.
그 당시에는 검색하면 나오는 기본 웹쉘들이 설치되어 있었고
모두 삭제를 하였습니다.
그리고 system, exec, passthru, escapeshellcmd, pcntl_exec, shell_exec, base64등의
grep으로 검색하여 파일 확인을 전부 하였습니다.
그런데 얼마 전부터 다시 웹쉘 해킹을 한 사람이 협박을 하며 해킹을 하고
linux서버 부트를 삭제를 하였습니다.
백업자료로 서버를 다시 복구 하였지만
계속 같은 방법을 이용해서 일주일에서 이주일 간격으로 협박 게시글과 함께
서버 부트폴더를 날리고 있습니다.
휘슬을 받아 소스도 확인 해보았고 모든 파일들을 다 확인 해봐도
아직 초보라 제 눈으로는 찾지 못하고 있습니다.
그리고 제 pc감염도 의심해서 포멧도 하였고
서버는 계속 부트를 날리고 재설치를 하는 상황이라 백도어 같은 문제는 아니라고 생각 됩니다.
이렇게 계속 공격을 당하고 있는데 이제 도저히 감당이 되질 않습니다.
그누보드 최신버전을 새로 설치하고 파일을 옴길까도 생각했지만
아직 실력이 많이 모자라 웹쉘 코드 삽입 또는 감염 파일을 옴기면
똑같은 상황이 될꺼 같아서 어떻게 하지 못하고 있습니다.
아래 웹쉘 글 검색을 하다
common.php 파일에
// 회원아이디가 쿠키에 저장되어 있다면 (3.27)
if ($tmp_mb_id = get_cookie("ck_mb_id"))
{
$tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20);
// 최고관리자는 자동로그인 금지
if ($tmp_mb_id != $config['cf_admin'])
이코드가 삽입 되어있는지 묻는 글을 보았는데 여기서 어떤 문제가 생기는건가요?
도움 부탁드립니다 ㅠ.ㅠ
혹시 업체에 웹소스 분석을 의뢰 가능한지 그리고 비용과 의뢰 하면 정말 괜찮아 질지 알고싶습니다.
매일 잠도 못자고 정말 너무 힘들고 난감하네요.
도움 부탁드려요!!
기존에 그누보드 기반으로 사이트를 구축 하였는데
제가 아직 초보라 같이 사이트를 구축한 선임 개발자가
cheditor4버전을 설치를 하였습니다.
지금은 저 혼자 관리를 하고있는데
몇달전에 웹쉘을 이용한 해킹을 당하였습니다.
운영 사이트가 게시판에 굳이 파일 업로드가 필요 없다 생각하여
/data/file/의 퍼미션을 아예 000으로 바꿔 버렸고 게시판 자체에서 업로드가 안되게 수정하였습니다.
그 당시에는 검색하면 나오는 기본 웹쉘들이 설치되어 있었고
모두 삭제를 하였습니다.
그리고 system, exec, passthru, escapeshellcmd, pcntl_exec, shell_exec, base64등의
grep으로 검색하여 파일 확인을 전부 하였습니다.
그런데 얼마 전부터 다시 웹쉘 해킹을 한 사람이 협박을 하며 해킹을 하고
linux서버 부트를 삭제를 하였습니다.
백업자료로 서버를 다시 복구 하였지만
계속 같은 방법을 이용해서 일주일에서 이주일 간격으로 협박 게시글과 함께
서버 부트폴더를 날리고 있습니다.
휘슬을 받아 소스도 확인 해보았고 모든 파일들을 다 확인 해봐도
아직 초보라 제 눈으로는 찾지 못하고 있습니다.
그리고 제 pc감염도 의심해서 포멧도 하였고
서버는 계속 부트를 날리고 재설치를 하는 상황이라 백도어 같은 문제는 아니라고 생각 됩니다.
이렇게 계속 공격을 당하고 있는데 이제 도저히 감당이 되질 않습니다.
그누보드 최신버전을 새로 설치하고 파일을 옴길까도 생각했지만
아직 실력이 많이 모자라 웹쉘 코드 삽입 또는 감염 파일을 옴기면
똑같은 상황이 될꺼 같아서 어떻게 하지 못하고 있습니다.
아래 웹쉘 글 검색을 하다
common.php 파일에
// 회원아이디가 쿠키에 저장되어 있다면 (3.27)
if ($tmp_mb_id = get_cookie("ck_mb_id"))
{
$tmp_mb_id = substr(preg_replace("/[^a-zA-Z0-9_]*/", "", $tmp_mb_id), 0, 20);
// 최고관리자는 자동로그인 금지
if ($tmp_mb_id != $config['cf_admin'])
이코드가 삽입 되어있는지 묻는 글을 보았는데 여기서 어떤 문제가 생기는건가요?
도움 부탁드립니다 ㅠ.ㅠ
혹시 업체에 웹소스 분석을 의뢰 가능한지 그리고 비용과 의뢰 하면 정말 괜찮아 질지 알고싶습니다.
매일 잠도 못자고 정말 너무 힘들고 난감하네요.
도움 부탁드려요!!
추천
0
0
댓글 14개

어려운일 겪고 계시는군요. 에이....빌어먹을넘들....ㅠㅠ
data 폴더에 웹셀의 실행을 무력화시키는 코드를 삽입 하시고
cheditor4 만이라도 최신버전인 cheditor5로 바꿔서 사용 해 보세요.
그래도 안된다면 이미 웹셀이 data 폴더에만 한정되어 설치 하진 않았으리라 봅니다.
가급적 데이터와 db를 백업하시고 서버 포멧후에 다시 설치 하시는것이 좋을듯 합니다.
물론 복구하기전에 웹쉘은 전부 제거해야 겠지요.
data 폴더에 웹셀의 실행을 무력화시키는 코드를 삽입 하시고
cheditor4 만이라도 최신버전인 cheditor5로 바꿔서 사용 해 보세요.
그래도 안된다면 이미 웹셀이 data 폴더에만 한정되어 설치 하진 않았으리라 봅니다.
가급적 데이터와 db를 백업하시고 서버 포멧후에 다시 설치 하시는것이 좋을듯 합니다.
물론 복구하기전에 웹쉘은 전부 제거해야 겠지요.

히든파일로 파일이 올려진것은 없는지 확인하신거죠?
디비 내려받으셔서 이상한 코드가 없늦지 확인하시고.
그누보드를 최신버전으로 업데이트 하시고...
서버를 재설치하시고... 음음.. 그런 일련의 작업을 해보셔야 할듯...
순정 그누보드만 설치하신후 운영해보시는 것은 어떠실지...
디비 내려받으셔서 이상한 코드가 없늦지 확인하시고.
그누보드를 최신버전으로 업데이트 하시고...
서버를 재설치하시고... 음음.. 그런 일련의 작업을 해보셔야 할듯...
순정 그누보드만 설치하신후 운영해보시는 것은 어떠실지...

서버 전체를 밀지않는한..생각하시는것처럼 백도어에 안전하다고 볼수 없습니다.
또한 단독서버를 사용하신다면 해당 서버와 똑같은 사향으로 준비하셔서 대체하시는 방법이 있습니다.
이때 전체 스크립트를 일일히 확인해보셔야 겠죠..
웹쉘인지 백도어를 이용한 것인지 확인이 먼저일듯싶습니다..
로그를 먼저 분석하는것이 올을듯싶습니다.
또한 단독서버를 사용하신다면 해당 서버와 똑같은 사향으로 준비하셔서 대체하시는 방법이 있습니다.
이때 전체 스크립트를 일일히 확인해보셔야 겠죠..
웹쉘인지 백도어를 이용한 것인지 확인이 먼저일듯싶습니다..
로그를 먼저 분석하는것이 올을듯싶습니다.
혹 관리자 권한을 얻었는지 확인해 보셨나요?
지금 단독서버 사용중이고요 일주일 간격으로 부트를 공격하는 쪽이 날려서 일주일마다
서버 재설치 하는 상황입니다. 위에 언급 해주신 상황들 전부 확인 해보았고요
data폴더는 아예 권한을 000으로 빼놓은 상태입니다.
공격을 당하면 바로 서버를 날리는 방식을 취하여 침투경로를 확인하기 힘든 상황입니다.
엑세스 로그를 다행이 살려서 확인 해보았는데
예전에는 웹쉘페이지를 열어 공격한게 확인 되어 삭제 하고 하였는데
지금은 엑세스로그를 분석해도 확인이 되고있지 않습니다.
서버 재설치 하는 상황입니다. 위에 언급 해주신 상황들 전부 확인 해보았고요
data폴더는 아예 권한을 000으로 빼놓은 상태입니다.
공격을 당하면 바로 서버를 날리는 방식을 취하여 침투경로를 확인하기 힘든 상황입니다.
엑세스 로그를 다행이 살려서 확인 해보았는데
예전에는 웹쉘페이지를 열어 공격한게 확인 되어 삭제 하고 하였는데
지금은 엑세스로그를 분석해도 확인이 되고있지 않습니다.

호스팅회사측에 부탁해서 일시적으로 미러링을 만들어 놓는것도 방법입니다.
또한 ftp ssh 접속을 막고 특정아이피만 접속하게 만드는것도 좋습니다.(방화벽서비스)
부트를 날리는것은 웹쉘로 힘든 작업입니다. ^^
또한 ftp ssh 접속을 막고 특정아이피만 접속하게 만드는것도 좋습니다.(방화벽서비스)
부트를 날리는것은 웹쉘로 힘든 작업입니다. ^^
백업 윈도우 서버에서만 shell접속이 가능하게 설정 해두었고
패스워드는 수시로 바꾸며 작업 하고있습니다.
패스워드는 수시로 바꾸며 작업 하고있습니다.
방어하기 참 어렵군요. 저도 최근에 모든 index.php 파일에 감염된 악성코드 때문에 애를 먹고 있습니다.
단독 서버를 사용하고 있고 윈도우 서버이며 공격을 당하고나면 서버를 재설치하는방법으로 하고 있다고 하면 가정하건대 서버를 정상적으로 재설치 하였다면 서버상의 문제라기 보다 그누보드 소스상에 있을 가능성이 높다고 판단합니다.
위에서 언급할 때 system, exec, passthru 등을 파일내용에서 다 찾아보았다고 하셨는데 이것들은 우회하는 방법이 있습니다. 예를 들어 eval이란 코드를 허용했다면 eval('sys'.'tem'.'("li -a");'); 이렇게 해서 system 함수를 실행할 수도 있습니다. 혹은 eval 함수가 $_GET이나 $_POST로 들어온 값으로 실행될 수도 있습니다.
따라서 만일 그누보드 파일이 여전히 예전과 동일하다고 여긴다면 전체적으로 최근에 수정된 파일을 중심으로 점검을 해보는 방법도 있습니다. 혹은 eval 함수에 대한 전수 검사도 요구됩니다. cheditor4에서도 eval 코드가 발견된 적이 있었던 것은 이미 확인하셨죠?
위에서 언급할 때 system, exec, passthru 등을 파일내용에서 다 찾아보았다고 하셨는데 이것들은 우회하는 방법이 있습니다. 예를 들어 eval이란 코드를 허용했다면 eval('sys'.'tem'.'("li -a");'); 이렇게 해서 system 함수를 실행할 수도 있습니다. 혹은 eval 함수가 $_GET이나 $_POST로 들어온 값으로 실행될 수도 있습니다.
따라서 만일 그누보드 파일이 여전히 예전과 동일하다고 여긴다면 전체적으로 최근에 수정된 파일을 중심으로 점검을 해보는 방법도 있습니다. 혹은 eval 함수에 대한 전수 검사도 요구됩니다. cheditor4에서도 eval 코드가 발견된 적이 있었던 것은 이미 확인하셨죠?
그럼 혹시 php.ini에서 eval함수나 system함수등을 사용 못하게 막을 수 있을까요?
사용하고 있는 함수를 싹 수정하고 system, exec, passthru 등의 함수를 아예 사용 못하게 막고 싶습니다.
사용하고 있는 함수를 싹 수정하고 system, exec, passthru 등의 함수를 아예 사용 못하게 막고 싶습니다.
말씀데로라면 문자열 한개한개 조합하여 system을 변수로 만들어서 사용도 가능하단 말씀 같은데요 일단 eval함수 찾아보면 딱히 이상의 없어 보입니다.
만약 문자열 조합으로 system함수등을 사용한거라면 찾기 힘들다는건데
차라리 설정에서 모든 함수를 막는게 가능할까 해서요
만약 문자열 조합으로 system함수등을 사용한거라면 찾기 힘들다는건데
차라리 설정에서 모든 함수를 막는게 가능할까 해서요
eval 함수 자체를 사용 못하게 막는 것이 제일 좋구요. 대부분의 경우 이 함수가 사용됨으로 문제가 되곤 합니다.
함수를 막는 방법은 php.ini에서 설정하는건가요?
제가 그 부분을 잘 몰라서.. 설명 부탁드려도 될까요?
제가 그 부분을 잘 몰라서.. 설명 부탁드려도 될까요?
php.ini에서 다음방식 비슷하게 설정할 때에 eval을 넣으셔도 됩니다.
그런데 eval이 필요한 함수이기도 하기 때문에 무조건 막을 일이 아니라 eval이 어디에 사용되었는지를 알아야 합니다. 모든 파일에서 eval이 사용된 곳을 찾아 그 소스를 잠깐 올려볼 수 있나요?
disable_functions =exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source
그런데 eval이 필요한 함수이기도 하기 때문에 무조건 막을 일이 아니라 eval이 어디에 사용되었는지를 알아야 합니다. 모든 파일에서 eval이 사용된 곳을 찾아 그 소스를 잠깐 올려볼 수 있나요?