• 리눅스 find 문자열 검색

    리눅스 find 문자열 검색

    리눅스 find 문자열 검색 방법을 정리해보았습니다.

    지난번 해킹 이후로 다시 한번 서버에 백도어가 있는것을 확인하고 이부분을 주기적으로 삭제하기 위해서 crontab 에 설정하고 있습니다.

     

    .haccess 파일이 각 폴더마다 만들어져있ㄷ군요.

     

    <FilesMatch ".*\.(?i:phtml|php|suspected)$">
    Order Allow,Deny
    Deny from all
    </FilesMatch>
    <FilesMatch "(^([\.])index.php|^content-index.php|^class-wp-rest-controller-index.php|^backup_index.php|^db-cache.php|^db-safe-mode.php|^class-walker-nav-menu-check-index.php|^webindex.php|^adminindex.php|^wp-type.php|^wp-blog.php|^wp-red.php|^qindex.php|^wp-book.php|^alfindex.php|^oldindex.php|^k.php|^alfindex.php|^session-index.php|^wp-class-smtp-index.php|^wp-old-index.php|^oldindex.php|^plugin-install.php|^wpcss.php|^log.txt|^config.bak.php|^wpconfig.bak.php|^wp-1ogin_bak.php|^1ndex.php|^wp-booking.php|^shell.php|^css.php)$">
    Order Allow,Deny
    Allow from all
    </FilesMatch>

     

    특정 패턴으로 haccess 파일이 만들어지면 자동으로 삭제되고 관리자에게 문자가 가도록 만들어볼까합니다.

    우선 리눅스에서 파일 속에 문자열을 찾는 방법입니다.

     

    find . -type f -exec grep -H 'class-wp-rest-controller-index' {} \;

     

    haccess 파일속에 class-wp-rest-controller-index 문자열을 찾을 수 있습니다.

     

     

    이렇게 찾기만 하면 안되겠죠?

     

    찾았으면 찾은 파일을 몽땅 삭제 하도록 하겠습니다.

    명령어 마지막 부분에 -delete 옵션을 넣으면 찾는 동시에 삭제까지 됩니다.

     

    find . -type f -exec grep -H 'class-wp-rest-controller-index' {} \; -delete

     

    이제 crontab -e 명령어로 주기적으로 아래 문자열이 포함된 파일을 몽땅 자동으로 날리도록 세팅하였습니다.

     

    find . -type f -exec grep -H ‘i:phtml|php|suspected’ {} \; -delete