연구개발/DBA
[보안]xp_cmdshell 제거하기
HEAD1TON
2014. 3. 5. 09:53
728x90
반응형
[xp_cmdshell 제거하기]
USE master
GO
IF OBJECT_ID('[dbo].[xp_cmdshell]') IS NOT NULL BEGIN
EXEC sp_dropextendedproc 'xp_cmdshell'
END
GO
EXEC sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
GO
USE master
GO
IF OBJECT_ID('[dbo].[xp_cmdshell]') IS NOT NULL BEGIN
EXEC sp_dropextendedproc 'xp_cmdshell'
END
GO
[재설치]
sp_dropextendedproc을 해도 해당 DLL이 메모리에 남아 있다.
- 다음 명령어로 동적 연결 라이브러리(DLL)를 메모리에서 내리면 기존 파일이 지워진다.
dbcc xp_cmdshell(free)
USE MASTER
EXEC SP_HELPTEXT XP_CMDSHELL
- 여기서 나타난 DLL 이름을 기억해 둡니다. 이것은 나중에 다시 등록할 때 필요함.
USE MASTER
EXEC SP_DROPEXTENDEDPROC ‘XP_CMDSHELL’
[다시 등록시 ]
USE MASTER
EXEC SP_ADDEXTENDEDPROC ‘XP_CMDSHELL’, ‘XPLOG70.DLL’
- 앞에서 알아냈던 DLL
[출처] [보안]xp_cmdshell 제거하기|작성자 swhong
728x90
반응형