某机器可能种马了,看了下,有个 python 进程有可疑.
nobody 6447 1 0 Jun19 ? 00:00:00 python /tmp/aa/1.py 47.104.173.85 3336
但是,查看 /tmp/aa/1.py,已经不存在了.
lsof -p 6447 可疑看到 服务器和 47.104.173.85 3336 之间有通信,但是也是 closed 的
请教下,此种情况,我怎么判断这个脚本是具体是干什么呢?
谢过各位先!
1
JHerschel 2018-06-23 12:28:01 +08:00 1
cd 到 /proc/6447/fd 目录,里面是你进程 6447 打开的文件描述符, 找到 /tmp/aa/1.py 对应的描述符,用 cat 命令导出到别的地方,然后查看就可以了。
|
2
coolloves OP @JHerschel 里面没有什么可以打开的.能否在指点下?
``` total 0 lrwx------ 1 nobody nobody 64 Jun 23 11:39 0 -> socket:[1562590214] lrwx------ 1 nobody nobody 64 Jun 23 11:39 1 -> socket:[1562590214] lrwx------ 1 nobody nobody 64 Jun 23 11:39 2 -> socket:[1562590214] lrwx------ 1 nobody nobody 64 Jun 23 11:39 3 -> socket:[1562590214] lrwx------ 1 nobody nobody 64 Jun 23 11:39 4 -> socket:[1562588838] lrwx------ 1 nobody nobody 64 Jun 23 11:39 5 -> socket:[1551223311] lrwx------ 1 nobody nobody 64 Jun 23 11:39 6 -> /dev/ptmx lrwx------ 1 nobody nobody 64 Jun 23 11:39 7 -> socket:[1562583276] lrwx------ 1 nobody nobody 64 Jun 23 11:39 8 -> socket:[1551223324] ``` |
3
JHerschel 2018-06-23 13:35:30 +08:00
@coolloves 抱歉啊,是我想的太简单了。Python 运行脚本并不会持续打开那个脚本,所以它的确已经被删除了。
我找到两个网址你可以看一看: https://stackoverflow.com/questions/19737358/recovery-deleted-but-running-python-script https://gist.github.com/simonw/8aa492e59265c1a021f5c5618f9e6b12 如果有解决方法请让我知道。 |
4
Aug 2018-06-23 13:40:39 +08:00 via Android
如果想要恢复这个运行的 python 脚本请用 lsof 命令。恢复了之后如果是 elf 文件的话,我也不知道怎么查看内容。知道的可以告诉我一下
|
5
banbo 2018-06-23 14:04:20 +08:00
kill 了吧 无法恢复
|
6
pierre1994 2018-06-23 16:30:46 +08:00
应该是木马,只能 kill 掉了
|
7
coolloves OP @Aug lsof 怎么恢复呢,我 lsof 也只能看到 python 的一些模块调用,以及一些网络通信,实在看不到什么有价值的东西
|
9
inframe 2018-06-23 19:01:59 +08:00 via Android
把进程 dump 下来然后导入符号表,把运行时的字节码数据位置找出来然后存成 pyc 反编译一下
|
10
jeffson 2018-06-23 22:19:43 +08:00
Mark
|
11
PythonAnswer 2018-06-23 22:22:54 +08:00 via iPhone
关注
|
12
coolloves OP 测试了下,如果,脚本本身还是在干活的,那可以用 strace 看到具体干了什么
但是我的那个脚本应该只是运行着,但是活应该都干完了,所以,看不到什么东西了 太高深的也不想研究了,暂时到此为止吧,感谢各位朋友! |