Ergebnis 1 bis 2 von 2
  1. #1
    is a Grammar Nazi Avatar von Hamtaro
    Registriert seit
    05.06.2007
    Beiträge
    431

    Standard [Go] Reverse Socks5 Proxy Server & Client

    Link: https://github.com/Numbers11/rvprxmx
    (Für Leute ohne Go gibt es auch ein Release auf Github)


    Ich beschäftige mich in letzter Zeit mit Go und bin recht begeistert, wie mühelos man damit besonders Server zusammenschrauben kann.

    Zwar gibt es nicht so viele Packages wie beispielsweise bei Nodejs, dafür funktionieren meiner Erfahrung nach die existierenden weitaus besser und lassen sich durch die Go interfaces auch zumeist sehr mühelos ineinanderfügen.

    Deshalb habe ich im wesentlichen aus zwei hervorragenden Packages, nämlich

    https://github.com/armon/go-socks5

    https://github.com/i...reveable/muxado

    einen reverse socks5 proxy service gebastelt.

    Die Erläuterung ist im Github Readme.

    Zur tatsächlichen Nutzbarkeit von Go als Malware kann ich nicht viel sagen.
    Nachteilig ist, dass die Executables relativ groß sind, gut aber dass sie keine externen Abhängigkeiten haben.

    Bug reports, pull requests und eigene Verwendung ausdrücklich erwünscht.
    Sunshine, hurricane
    All the highs & lows

  2. #2
    is a Grammar Nazi Avatar von Hamtaro
    Registriert seit
    05.06.2007
    Beiträge
    431

    Standard AW: [Go] Reverse Socks5 Proxy Server & Client

    Go scheint mir der nächste große Hype nach Node.js zu sein, und Node hat mich ziemlich enttäuscht von der Performance her und dem generellen Design nachdem die erste Faszination vorbei ist.

    Go hingegen wird von Google entwickelt (es stehlt also genug Manpower dahinter) und schreibt sich so lässig wie C, nur eben ohne die memory management-Fickerei. (Auch wenn das natürlich für einige der wahre Spaß am Programmieren ist )

    Ich rechne ehrlich gesagt nicht damit, dass Go clientside eine große Zukunft (für Malware) hat, gerade weil systemnahes arbeiten zwar möglich ist, aber eher kompliziert.
    Für Backends (auch für Malware) würde ich Go allerdings durchaus im Kommen sehen.

    Letztlich ist das Beispiel vielleicht auch nicht so glücklich. Die Multiplex-Library macht natürlich das Tunneln extrem einfach, ist aber schlecht in andere Sprachen konvertierbar, gerade weil es für hierfür auch keinen Standard gibt.

    Ich habe auch noch eine andere Implementation, die anstelle des Connection Multiplexing einen eigenen Control-Socket verwendet und dann über ein simples Textprotokoll mit IDs die Connection anfordert, worauf der Client dann eine neue Verbindung aufbaut und die jeweilige Id zuerst schickt.

    Bei einer neuen Socks-Anfrage sendet der Server dann sowas über den Controlsocket (Id hat feste Länge)
    Code:
    c.Send("TUNN" + id + addr + "\n")
    Und wenn der Verbindungsaufbau beim Client erfolgreich war, erstellt er eine neue Connection zum Server, sendet die ID zuerst und dann wird eben getunnelt.

    Code:
    		message = strings.TrimSpace(message)		if message[:4] == "TUNN" {
    			id := message[4:10]
    			log.Println(id)
    			target := message[10:len(message)]
    			log.Println(target)
    			go establishTunnel(target, id)
    		}
    Das hat natürlich mehr Overhead, ist fehleranfälliger und generell weniger elegant, aber es wäre natürlich beträchtlich einfacher in andere Sprachen für den Client zu portieren, sodass Go bei seiner eigentlichen Stärke, den Servern bleiben kann.
    Sunshine, hurricane
    All the highs & lows

Ähnliche Themen

  1. [B] Reverse Socks5 Proxy - Socks trotz Router
    Von mbeezy im Forum Video-Tutorials
    Antworten: 107
    Letzter Beitrag: 07.11.2010, 17:37
  2. Reverse Proxy v3.0
    Von skorpien007 im Forum Anonymität & Proxies
    Antworten: 8
    Letzter Beitrag: 08.02.2010, 15:56
  3. Reverse Socks5 Problem
    Von skorpien007 im Forum Anonymität & Proxies
    Antworten: 6
    Letzter Beitrag: 07.02.2010, 22:08
  4. Vic Socks5 ohne Boucer oder Reverse Proxy
    Von Hac im Forum Anonymität & Proxies
    Antworten: 11
    Letzter Beitrag: 09.07.2009, 19:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •