Ich verwende CreateRemoteThread in Windows und würde gerne wissen, ob das Gleiche unter Linux möglich ist. Ist es möglich, dies in Linux zu tun?CreateRemoteThread in Linux
Antwort
`#include pthread.h
pthread_create int (* pthread_t Gewinde, const pthread_attr_t * attr, void * (* start_routine) (void *), void * arg);` Kompilieren und Linken mit - Pthread.
siehe man pthread_create zum Detail
So erstellen Sie einen Thread, erstellen keinen Thread und injizieren ihn in einen Remote-Prozess. –
Der traditionelle Weg, dies auf Linux zu tun wäre, eine dynamische Bibliothek (.so) mit Ihrem Code in ihm zu erstellen, zwingt dann separat das Laden der Bibliothek in die laufenden Anwendung . Es gibt keine One-Stop-Shop, wie es mit CreateRemoteThread
unter Windows ist.
Also hier sind die grundlegenden Schritte:
- eine dylib erstellen/so, dass Sie den Code enthält wollen in dem Remote-Prozess auszuführen.
- Schreiben Sie einige sehr einfachen Code in Assembly, die die angegebene so Datei lädt (hauptsächlich Kopieren und Einfügen von this link, Teil 1).
- Betten Sie den Loader ASM als binäre Payload in einen Puffer in einer zweiten Codedatei/App ein. Hier verwenden Sie
ptrace
, um die in Schritt 2 geschriebene binäre Nutzlast auszuführen. Dadurch wird die Zielanwendung aufgerufen,_dl_open()
für die in Schritt 1 erstellte .so aufzurufen, die den tatsächlichen Code enthält, den Sie ausführen möchten. (Probe in the same link gegeben, Teil 2.)
Wenn Sie Ihren Code müssen in einem separaten Thread von der Hauptpumpe laufen, dann sollten Sie pthread_create
im Code in Schritt verwenden 1.
Hope Diese beantwortet deine Frage. Ja, es ist komplizierter als unter Windows. aber es sollte genauso gut funktionieren. Außerdem können Sie nahezu den gesamten Code aus den Schritten 2 und 3 für zukünftige Remote-Code-Injection-Projekte wiederverwenden.
- 1. in Linux
- 2. Pfadnamensuche in Linux?
- 3. Linux - Linebreak in IPython
- 4. Fließkomma in Assembly Linux
- 5. Teil Verzeichnisliste in Linux
- 6. Druckausgabe in Zitaten linux
- 7. asynchrones memcpy in Linux?
- 8. Curl-Befehl in Linux
- 9. fehlgeschlagen bazel in Linux
- 10. stabile Art in Linux
- 11. Capicom Entschlüsselung in Linux
- 12. serielle Kommunikationsanomalie in Linux?
- 13. Maillog Datei in Linux
- 14. Anruf sed in Linux
- 15. Rekursive Massenbearbeitung in Linux
- 16. Interprozesskommunikation in Linux-Design
- 17. Speicherzuweisung in Linux
- 18. Assembly in Linux
- 19. _splitpath in Linux
- 20. das System in Linux
- 21. iPhone sdk in Linux
- 22. Verzeichnis JAVA_HOME in Linux
- 23. Gleichzeitige Systemaufrufe in Linux
- 24. /tmp Verwendung in Linux
- 25. Serverstandort in Linux-Maschine?
- 26. atomic_t in Linux
- 27. C# in Linux-Umgebung
- 28. Mysql ++ in Linux einrichten
- 29. libcrypto ++ in Linux
- 30. Festplattenspeicher in Linux Server
Wie ist das eine C++ Frage? –
CreateRemoteThread ist eine WINAPI, die in C++ - Code verwendet wurde. – CrazyC