괜찮아잘될거야

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

· 14년 전 · 5024 · 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
감사합니다 ^^
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
14년 전 조회 1,309
14년 전 조회 2,437
14년 전 조회 1,833
14년 전 조회 1,891
14년 전 조회 2,183
14년 전 조회 1,315
14년 전 조회 4,387
14년 전 조회 1,566
14년 전 조회 2,471
14년 전 조회 1,931
14년 전 조회 1,386
14년 전 조회 5,366
14년 전 조회 1,225
14년 전 조회 3,337
14년 전 조회 1,638
14년 전 조회 1,362
14년 전 조회 1,752
14년 전 조회 8,513
14년 전 조회 1,678
14년 전 조회 2,732
14년 전 조회 2,188
14년 전 조회 1,759
14년 전 조회 4,811
14년 전 조회 1,435
14년 전 조회 1,886
14년 전 조회 1,441
14년 전 조회 1,497
14년 전 조회 2,258
14년 전 조회 3,077
14년 전 조회 1,560
14년 전 조회 1,732
14년 전 조회 1,649
14년 전 조회 1,941
14년 전 조회 1,201
14년 전 조회 1,749
14년 전 조회 1,249
14년 전 조회 1,618
14년 전 조회 1,431
14년 전 조회 1,852
14년 전 조회 2,277
14년 전 조회 1,898
14년 전 조회 1만
14년 전 조회 2,484
14년 전 조회 4,038
14년 전 조회 1,156
14년 전 조회 2,103
14년 전 조회 1,409
14년 전 조회 1,250
14년 전 조회 1,256
14년 전 조회 5,025
14년 전 조회 2,222
14년 전 조회 2,685
14년 전 조회 1,338
14년 전 조회 1,726
14년 전 조회 2,267
14년 전 조회 1,254
14년 전 조회 2,267
14년 전 조회 2,036
14년 전 조회 3,762
14년 전 조회 1,750
14년 전 조회 2,979
14년 전 조회 1,856
14년 전 조회 1,836
14년 전 조회 1,757
14년 전 조회 2,275
14년 전 조회 1,817
14년 전 조회 1,258
14년 전 조회 1,466
14년 전 조회 1,635
14년 전 조회 1,347
14년 전 조회 8,059
14년 전 조회 7,195
14년 전 조회 1,263
14년 전 조회 1,433
14년 전 조회 1,674
14년 전 조회 1,291
14년 전 조회 1,373
14년 전 조회 1,753
14년 전 조회 1,657
14년 전 조회 2,906
14년 전 조회 1,262
14년 전 조회 1,902
14년 전 조회 2,247
14년 전 조회 1,883
14년 전 조회 1,140
14년 전 조회 1,937
14년 전 조회 1,184
14년 전 조회 1,296
14년 전 조회 1,319
14년 전 조회 1,729
14년 전 조회 5,003
14년 전 조회 2,090
14년 전 조회 1,856
14년 전 조회 1,344
14년 전 조회 1,479
14년 전 조회 1,597
14년 전 조회 1,372
14년 전 조회 1,314
14년 전 조회 1,122
14년 전 조회 1,126