Board logo

标题: [安全相关] 批处理从进程端口分析进程是否为木马进程 [打印本页]

作者: youxi01    时间: 2007-11-1 23:09     标题: 批处理从进程端口分析进程是否为木马进程

  1. ::code by youxi01@xp_cmd,2007-3-28
  2. ::初始
  3. @echo off
  4. setlocal enabledelayedexpansion
  5. color 1f
  6. title 进程使用端口分析程序
  7. :初始定义
  8. set "space=                   "
  9. ::定义初始进程
  10. ::在这里你可以加入你认为安全的进程
  11. if not exist ProcessList.ini (
  12. echo System
  13. echo smss.exe
  14. echo csrss.exe
  15. echo winlogon.exe
  16. echo services.exe
  17. echo lsass.exe
  18. echo svchost.exe
  19. echo spoolsv.exe
  20. echo Explorer.EXE
  21. echo avp.exe
  22. echo realsched.exe
  23. echo SOUNDMAN.EXE
  24. echo ctfmon.exe
  25. echo QQ.exe
  26. echo TIMPlatform.exe
  27. echo avp.exe
  28. echo alg.exe
  29. echo Qzone.exe
  30. echo Maxthon.exe
  31. echo TTPlayer.exe
  32. echo conime.exe
  33. echo QQPlayerSvr.exe
  34. echo NOTEPAD.EXE
  35. echo cmd.exe
  36. echo tasklist.exe
  37. echo wmiprvse.exe)>>ProcessList.ini
  38. for /f %%i in (ProcessList.ini) do set "%%i=A"
  39. echo                               ╭─────╮
  40. echo           ╭─────────┤ 程序说明 ├────────╮
  41. echo           │                  ╰─────╯                │
  42. echo           │   本程序能够检测当前计算机正在运行进程所使用的 │
  43. echo           │                                                │
  44. echo           │端口,并能够对非常见进程提出警示 //             │
  45. echo           ╰────────────────────────╯
  46. echo.
  47. echo            正在查询,请稍等...
  48. echo          ╔═════════════════════════╗
  49. echo          ║ 进程名              标识类型    协议类型   端口  ║
  50. echo          ║ _________________________________________________║
  51. ::查询进程的PID号
  52. ::提取进程的PID号,并将其值设置为该进程的 名称
  53. for /f "skip=4 tokens=1,2" %%i in ('tasklist') do set %%j=%%i
  54. ::查询以TCP协议使用的端口
  55. call :QueryPort TCP 5
  56. echo          ║ _________________________________________________║
  57. call :QueryPort UDP 4
  58. echo          ╚═════════════════════════╝
  59. echo           按任意键继续...
  60. pause>nul
  61. if !num! GTR 0 (goto :NO) else goto :OK
  62. :NO
  63. echo.
  64. echo           【评估】你的计算机可能存在风险
  65. echo.
  66. echo           以下进程为未定义进程,并正在使用端口通信,可能为木马 ^>^>
  67. echo           ____________________________________________________
  68. for /l %%i in (1 1 %num%) do  (
  69.     if not defined !UnPro%%i! echo           !UnPro%%i! & set !UnPro%%i!=A
  70.   )
  71. goto :exit
  72. :OK
  73. echo.
  74. echo           【评估】你的计算机看起来似乎是安全的。
  75. echo           ____________________________________________________
  76. :exit
  77. pause>nul
  78. exit
  79. ::查询端口类型"函数"
  80. ::函数说明:
  81. REM PortType 为协议类型,可以为TCP,也可以为UDP
  82. REM Num 为参数号,TCP协议中的第五个参数为PID号,而UDP的则为第四个。
  83. :QueryPort PortType Num
  84.     for /f "skip=4 tokens=2,%2" %%i in ('netstat -ano -p %1') do (
  85.         call :LineUp "║ !%%j!" 21 Pro
  86.         for /f "tokens=2 delims=:" %%a in ("%%i") do set Port=%%a
  87.         if /I defined !%%j! (set ProType=→正常) else (
  88.              set ProType=未定义
  89.              set/a num+=1
  90.              set UnPro!num!=!%%j!
  91.            )
  92.         call :LineUp !ProType! 8 ProType
  93.         call :LineUp %1 10 PortType
  94.         call :LineUp !Port! 6 Port
  95.         echo          !Pro! !ProType! !PortType! !Port!║
  96.       )
  97.     goto :eof
  98. ::对齐目标
  99. ::函数说明:
  100. REM OBJ 为对齐要操作的对象;Len为对齐操作的长度;Name为返回的变量名。
  101. :LineUp OBJ Len Name
  102.     set obj=%~1%space%
  103.     set %3=!obj:~0,%2!
复制代码

作者: somebody    时间: 2007-11-5 22:02


考虑不周到.......................真正实战起来不一定行
只能看看.......
纯支持 .............
作者: youxi01    时间: 2007-11-5 22:47

哈哈,这个也是原来的作品了,最近都没怎么研究
不过,有什么建议 可以 明白的提出来啊?你不提出来,我怎么改进?呵呵
作者: novaa    时间: 2007-11-5 22:59     标题: 看着你们的代码,我又冲动了

为什么我接触计算机那么晚呢
唉````
加油喽
作者: novaa    时间: 2007-11-5 22:59     标题: 看着你们的代码,我又冲动了

为什么我接触计算机那么晚呢
唉````
加油喽
作者: mstsc    时间: 2011-7-17 19:37

冲动    可是还是不怎么会             没简单点的代码?




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2