查看攻击者攻击指令
history命令
可以查看攻击者的行为,推断干了什么
攻击者删除历史命令
哎,黑客不会这么直接让你看的,history -d 就可以把该历史命令删除了。
以及history -c 都可以删除当前终端的历史命令
这样删除还可以找回,跟windows回收站差不多,没有删干净
怎么查找临时历史命令?
上面说了,这种方法只影响当前会话中的历史记录,对存储在.bash_history
文件中的历史记录没有影响。
.bash_history文件的路径通常是
/home/username/.bash_history
直接cat文件就行了
历史命令被永久删除
- 永久删除历史命令,需要修改
.bash_history
文件或直接修改shell的配置文件(如.bashrc
)来禁用历史记录功能。 - 打开
.bash_history
文件并删除所有内容 - 修改
.bashrc
文件,通过添加unset HISTFILE
(取消历史记录文件的设置)或设置HISTSIZE=0
和HISTFILESIZE=0
(禁用历史记录功能)来防止未来命令被记录。之后,需要重新加载.bashrc
文件(使用source ~/.bashrc
命令)或重新登录shell会话以使更改生效。
这种情况就不能看历史命令了,只能看看日志什么的
攻击者禁用命令
在做应急的时候发现,ps ls 等命令用不了怎么办?
环境变量
which 文件名
which指令会在环境变量$PATH设置的目录里查找符合条件的文件
查看有没有这个环境,可能被删了
权限不够
ls -l 路径
看看你的权限够不够用该命令
怎么看?
-rwxr-xr-x
:这是文件的权限。第一个字符(-
)表示这是一个普通文件(不是目录、字符设备、块设备等)。接下来的九个字符分为三组,每组三个字符,分别代表文件所有者(user)、所属组(group)和其他人(others)的权限。r
代表读权限,w
代表写权限,x
代表执行权限。在这个例子中,文件所有者有读、写和执行权限(rwx
),所属组有读和执行权限(r-x
),其他人也有读和执行权限(r-x
)。1
:这是文件的硬链接数。对于/usr/bin/ps
这样的可执行文件,通常只有一个硬链接(即文件名本身)。root root
:这表示文件的所有者是root
用户,所属组也是root
。150456
:这是-s
选项显示的内容,表示文件占用的块大小,以1024字节为单位。因此,/usr/bin/ps
文件占用了大约150456 * 1024 = 154,083,840字节(约147MB)的磁盘空间。Jan 28 2024
:这是文件的最后修改时间,格式为月 日 年份。/usr/bin/ps
:这是文件的路径和名称。
如果,攻击者把你用户权限改没了,就是第三组没有X的时候,就需要我们提权
怎么提权?
passwd
文件提权shadow
文件提权SUID
可执行文件提权Cron Jobs
定时任务提权- 通配符注入提权
sudo
滥用提权- 敏感文件提权
- 跳板用户提权
Linux
内核漏洞提权- 暴力破解提权
方法有很多,就将第一种方法,思路:
查看etc/passwd 文件,找到root用户的那一条数据
将这一条数据提取出来
root:x:0:0:root:/root:/usr/bin/zsh
这里面root是用户名,我们需要把root替换成kali(你的用户名),x表示密码,是放在etc/shadow里面的,我们直接写进去就行,因为密码是结果hash算法编码过的,所以我们需要先编码。
我们可以使用 openssl
套件。
使用 openssl
创建一个密码为 123abc 的 hash
openssl passwd -1 -salt ignite abc123
最后把密码替换进去
kali: 1 1 1ignite$Kupdez/ubY1j8IMnHDGAR0:0:0:root:/root:/usr/bin/zsh
写入etc/passwd文档里面就行
攻击者隐藏文件/路径
find命令
使用 find
命令查找隐藏文件(以 .
开头的文件)是因为 Unix/linux中,文件名以 .
开头的文件默认是隐藏文件。
目录前面加个.也是隐藏目录
这些文件不会显示在普通的 ls
命令输出中,除非使用 ls -a
。
黑客常常利用这种特性,将恶意文件或脚本以 .
开头来隐藏。
find / -name ".*"
可以查看所有.开头的文件
我这里文件太多了,find查找时可以具体加上目录