테스트 사이트 - 개발 중인 베타 버전입니다

리눅스 서버에서 PHP 웹쉘 찾기/PHP 웹쉘 샘플 4개

· 13년 전 · 4301 · 6
제가 그누보드 기반의 솔루션을 꽤 많이 관리하는데
웹쉘 때문에 돌아가실것만 같습니다. ㅜㅜ
 
제가 확인한 웹셀 올리는 패턴
 
1. 관리자 계정 탈취
2. /data/확장자 없는 파일을 하나 업로드
3. 게시판 환경설정 게시판 상단파일 경로 적는곳에 확장자 없는 파일 경로를 적음.
 
확장자 없는 파일의 내용은
<form> 태그를 포함한 파일을 업로드 시킬 수 있는 html을 담고 있습니다.
 
<?
if($_POST[q]) {
fopen($_POST[q]);
fwrite...............
}
?>
<form>
<input type='file'>
<input type='text' name='q'> <-- 파일을 저장할 경로를 넣음
</form>
 
확장자 없는 파일을 업로드한 상태에서
게시판을 열면 게시판 상단에 파일첨부가 떡하니 뜹니다.
 
이런 식으로 원하는곳에 웹쉘을 올려 버리고나서
외부에서 소스 다운받고, 디비 받고, 파일 조작하고 다하는거죠....
 
-----------------------------------------------------------------
 
아래 내용은 정말 기본적인 검색법입니다.
그런데 이것도 몰라서 계속 당한거 생각하면 화가 치밀어 오르네요 ㅜㅜ
 
리눅스 서버 기준입니다.
 
find 명령 실행할 수 있는 권한이 있는 계정으로
 
find / -name *.php | xargs grep 'passthru'
find / -name *.php | xargs grep 'execfuncdb'
find / -name *.php | xargs grep 'system'
find / -name *.php | xargs grep 'shell'
find / -name *.php | xargs grep 'PH4ckP'
find / -name *.php | xargs grep '1v1'
 
등으로 찾아보시면
 
맨끝에 따옴표로 둘러싸여진 단어들이 포함된 파일들의 목록이 나옵니다.
어떤 내용안에 단어가 포함됐는지도 나오고요.
확인 후 정상적인 소스가 아니면 지워주시면 됩니다.
 
그리고 제가 당해본 결과 어딘가에 또 숨겨놓고 계속 웹쉘을 올리더라고요.
전 root 권한이 있어서 각 계정의 모든 폴더 권한을 root.root로 바꿔 버렸습니다.
일반권한으로두면 계속해서 올라와서요...
 
좋은 노하우 있으신분 계시면 도움 좀 주시고요.
 
 
주로 그누보드에서 사용하는 파일명과 비슷하게 올리고요
웹쉘이 주로 올라오는 /data 폴더는 그누보드 설치완료 후에
755로 권한을 꼭 수정해 주시기 바랍니다.
 
그리고 /data 폴더안에서 html이나 php 실행못하게 하는 쉘스크립트
관리자님이 올려 두셨으니 꼭 찾아서 적용하시고요.
 
 
 
체크해볼 폴더및 파일명
/bbs/board_write.php
/bbs/tail.php
/bbs/login_proc.php
/extend/memo.lib.php
 
 
 
마지막으로 웹쉘 샘플 4개 올려 놓겠습니다.
혹시라도 악용하지 마시고 보안에 도움되시길 바랍니다. ^^

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

정말 많이 당하셨나봐요..
그만큼 유명한 사이트인가 봅니다.
저도 사이트 어느정도 성장하면 조심해야겠네요..
확장자가 없는 파일은 업로드 안돼게 하면 안돼나요?
혹은 특정 확장자가 아니면 업로드 안돼게...;;
좋은 팁이네요. 추천.
참고로
base64 decode랑 eval을 조합해서
해당 함수 명을 직접 쓰지 않고 작성된 웹셀도 많이 있습니다
다시보니 올려주신 샘플에도 있네요! 7.php
감사합니다 ^^

게시글 목록

번호 제목
8050
8048
19969
19968
19967
19966
19965
19964
19963
19962
19961
28345
31017
19960
19959
19958
19957
8039
8035
8029
28344
28339
8019
28338
8017
8010
8007
8004
8003
28332
28322
7999
28317
20956
7992
20945
28314
20936
20931
7986
20925
7982
7979
7978
7975
28307
7973
7966
28305
7963
28300
7961
28297
28295
7959
19948
19947
28292
31016
19946
19945
28286
7958
7956
7952
7946
28285
28283
19943
7944
7936
7931
28279
24666
24663
7928
7923
19941
28274
28257
28249
28248
7914
7912
7911
20912
7908
31755
28233
28232
28228
7903
28217
20900
24662
20891
20882
19936
20853
31011