괜찮아잘될거야

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

· 14년 전 · 4492 · 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개 올려 놓겠습니다.
혹시라도 악용하지 마시고 보안에 도움되시길 바랍니다. ^^

첨부파일

웹쉘.zip (92.8 KB) 185회 2012-02-04 01:21
|

댓글 6개

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

프로그램

+
제목 글쓴이 날짜 조회
13년 전 조회 859
13년 전 조회 1,976
14년 전 조회 1,292
14년 전 조회 1,345
14년 전 조회 1,667
14년 전 조회 770
14년 전 조회 3,854
14년 전 조회 1,105
14년 전 조회 1,980
14년 전 조회 1,462
14년 전 조회 854
14년 전 조회 4,823
14년 전 조회 712
14년 전 조회 2,820
14년 전 조회 1,169
14년 전 조회 830
14년 전 조회 1,203
14년 전 조회 7,974
14년 전 조회 1,135
14년 전 조회 2,217
14년 전 조회 1,669
14년 전 조회 1,219
14년 전 조회 4,295
14년 전 조회 888
14년 전 조회 1,354
14년 전 조회 993
14년 전 조회 1,047
14년 전 조회 1,743
14년 전 조회 2,535
14년 전 조회 1,068
14년 전 조회 1,198
14년 전 조회 1,130
14년 전 조회 1,498
14년 전 조회 728
14년 전 조회 1,204
14년 전 조회 718
14년 전 조회 1,127
14년 전 조회 883
14년 전 조회 1,322
14년 전 조회 1,748
14년 전 조회 1,400
14년 전 조회 9,587
14년 전 조회 1,976
14년 전 조회 3,539
14년 전 조회 651
14년 전 조회 1,643
14년 전 조회 891
14년 전 조회 728
14년 전 조회 730
14년 전 조회 4,493
14년 전 조회 1,694
14년 전 조회 2,163
14년 전 조회 874
14년 전 조회 1,219
14년 전 조회 1,750
14년 전 조회 741
14년 전 조회 1,795
14년 전 조회 1,509
14년 전 조회 3,202
14년 전 조회 1,185
14년 전 조회 2,450
14년 전 조회 1,313
14년 전 조회 1,247
14년 전 조회 1,294
14년 전 조회 1,760
14년 전 조회 1,346
14년 전 조회 727
14년 전 조회 975
14년 전 조회 1,121
14년 전 조회 821
14년 전 조회 7,546
14년 전 조회 6,566
14년 전 조회 782
14년 전 조회 933
14년 전 조회 1,175
14년 전 조회 791
14년 전 조회 863
14년 전 조회 1,180
14년 전 조회 1,159
14년 전 조회 2,448
14년 전 조회 795
14년 전 조회 1,431
14년 전 조회 1,729
14년 전 조회 1,394
14년 전 조회 666
14년 전 조회 1,466
14년 전 조회 716
14년 전 조회 824
14년 전 조회 802
14년 전 조회 1,253
14년 전 조회 4,517
14년 전 조회 1,649
14년 전 조회 1,381
14년 전 조회 848
14년 전 조회 1,014
14년 전 조회 1,105
14년 전 조회 866
14년 전 조회 800
14년 전 조회 642
14년 전 조회 682