Autor Tema: Shell Remoto con AutoIT (Codigo Fuente)  (Leído 3908 veces)

0 Usuarios y 1 Visitante están viendo este tema.

zoneM

  • ***
  • Mensajes: 76
  • Liked: 2
  • ZoneM - Z(1)M
Shell Remoto con AutoIT (Codigo Fuente)
« : abril 11, 2009, 12:39:19 am »
Hola amigos la forma de programar un shell escuchando en un  puerto  es muy fácil y sencilla con Autoit
para probarla usen NetCat, telnet da problemas.

Aquí les dejo el código fuente:


Código: [Seleccionar]
#include <GUIConstants.au3>

Dim $szIPADDRESS = "127.0.0.1"
Dim $nPORT = 1337
Dim $recv
Dim $ConnectedSocket = -1

TCPStartup()


$MainSocket = TCPListen($szIPADDRESS, $nPORT)

If $MainSocket = -1 Then Exit

Do
$ConnectedSocket = TCPAccept($MainSocket)

Until $ConnectedSocket <> -1

Dim $szIP_Accepted = SocketToIP($ConnectedSocket)

     
      While 1


$recv = TCPRecv($ConnectedSocket, 2048)

If @error Then ExitLoop

If $recv <> "" Then


$comando = $recv

$foo = Run("cmd.exe" & " /c" & $comando, "c:/", @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)

While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
TCPSend($ConnectedSocket, $line)

WEnd

While 1
$line = StderrRead($foo)
If @error Then ExitLoop
TCPSend($ConnectedSocket, "Error:" & $line)
WEnd


EndIf

WEnd


Func SocketToIP($SHOCKET)
Local $sockaddr = DllStructCreate("short;ushort;uint;char[8]")

Local $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
"ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
If Not @error And $aRet[0] = 0 Then
$aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
If Not @error Then $aRet = $aRet[0]
Else
$aRet = 0
EndIf

$sockaddr = 0

Return $aRet
EndFunc   
i'll be back ¡¡¡¡¡