惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Register - Security
The Register - Security
A
About on SuperTechFans
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
N
Netflix TechBlog - Medium
量子位
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
H
Help Net Security
D
Docker
D
DataBreaches.Net
T
Tailwind CSS Blog
阮一峰的网络日志
阮一峰的网络日志
B
Blog
博客园 - 聂微东
Apple Machine Learning Research
Apple Machine Learning Research
Google DeepMind News
Google DeepMind News
The Cloudflare Blog
F
Full Disclosure
GbyAI
GbyAI
F
Fortinet All Blogs
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
人人都是产品经理
人人都是产品经理
Recent Announcements
Recent Announcements
博客园 - Franky
MongoDB | Blog
MongoDB | Blog
有赞技术团队
有赞技术团队
博客园 - 叶小钗
小众软件
小众软件
V
Visual Studio Blog
月光博客
月光博客
Stack Overflow Blog
Stack Overflow Blog
The GitHub Blog
The GitHub Blog
Recorded Future
Recorded Future
J
Java Code Geeks
雷峰网
雷峰网
P
Privacy & Cybersecurity Law Blog
C
Cisco Blogs
C
Cyber Attacks, Cyber Crime and Cyber Security
AWS News Blog
AWS News Blog
Webroot Blog
Webroot Blog
美团技术团队
N
News | PayPal Newsroom
G
Google Developers Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
博客园_首页
V
Vulnerabilities – Threatpost

博客园 - websec80

HexStrike AI:渗透测试助手部署与配置全指南 一个powershell的内网端口扫描工具 Burp抓包被WAF拦截?这个插件一键修改JA3指纹! 安装claude code phpmyadmin爆破go语言 ollama渗透模型安装ctf-player_elona 文件下载传输hfs Bettercap(中间人攻击神器) Save Multiple URLs快速保存当前所有打开的网页 URL 后渗透方面密码收集(浏览器、anydesk、数据库工具) 隐藏 Linux 进程新姿势mount frp telegram数据解密与账号劫持的研究 2024年度TOP100弱口令密码(附社会工程学字典生成器) 【APP攻防】小黄鸟(HttpCanary)免root手机抓包 ProxyPin开源免费抓包工具,支持Windows、Mac、Android、IOS、Linux 全平台系统 linux权限维持-服务管理 ettercap安装内网嗅探抓包 低权 Linux 键盘记录方案 HSTS 检查 后台爆破工具 - blasting 一款自动化提权工具 oracleShell oracle 数据库命令执行
Linux清除记录的常见方式
websec80 · 2024-04-10 · via 博客园 - websec80
  1. 隐藏远程SSH登陆记录

  2. 清除当前的history记录

  3. 隐藏Vim的操作记录

  4. 隐藏文件修改时间

  5. 锁定文件

  6. 清除系统日志痕迹

1. 隐藏远程SSH登陆记录

隐身登录系统,不会被w、last等指令检测到。

ssh -T root@192.0.0.1 /bin/bash -i

-T表示不分配伪终端,/usr/bin/bash 表示在登录后调用bash命令 -i 表示是交互式shell

原理

w/last命令日志/var/log/wtmp 是utmp和wtmp的日志接口产生的,而这俩接口是正常登陆分配伪终端(tty)之后才调用的,ssh -T root@192.0.0.1 /usr/bin/bash表示登陆后调用bash命令。不是一个完整的会话 类似执行一个临时命令,系统不会分配伪终端

伪终端(pseudo terminal有时也被称为pty)应用场景:

1. 在图形界面下打开的命令行终端
2. 基于ssh协议或telnet协议等远程打开的命令行界面

排查

登录后先用 echo $PPID 获取自己的PID,netstat\lsof 都可以排查到

2. 清除当前的history记录

如果我们不希望命令被记录,在退出会话前直接执行:

# 清除当前会话的命令历史记录
history -r

# 或者 不给当前的shell留时间去处理,内存的命令也就没时间写入到文件
kill -9 $$

原理

history -r将历史命令文件中的命令(/.bash_history) 读入当前历史命令缓冲区.

history -r 把历史文件(/.bash_history)附加到内存数据中了

3. 隐藏Vim的操作记录

当我们使用 vim时候,会在 ~/.viminfo留下操作记录,建议使用 vi 。或者在vim中使用命令关闭记录。

:set history=0 :!command

4. 隐藏文件修改时间

一般管理员会查看一个文件的修改时间,我们可以把我们的后门文件时间修改成几天之前创建的效果。使用如下命令。

# touch -r A B 使B文件时间变得和A文件相同
touch -r index.html shell.php

图片

但是稍微有经验的管理员使用stat或者 find ./ -ctime 0 -name "*.php" 就会发现这里的问题

# 查找24小时内被创建的php文件
find ./ -ctime 0 -name "*.php"

图片

stat中的三个属性意思是

最近访问(access time):表示我们最后一次访问(仅仅是访问,没有改动)文件的时间
最近更改(modify time):表示我们最后一次修改文件的时间
最近改动(change time):表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等

比如 最近访问(access time)。我们用cat访问下,发现 最近访问 变了

图片

那么如果再绕过 stat的检测呢?修改系统时间后再 touch -r A B 就可以了。最后记得把系统时间改回来啊

5. 锁定文件

有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。此权限用ls -l是查看不出来的,从而达到隐藏权限的目的。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

chattr +i shell.php  #锁定文件
rm -rf shell.php #提示禁止删除

lsattr shell.php #属性查看
chattr -i shell.php #解除锁定
rm -rf shell.php #删除文件

图片

让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件

# chattr +a /var/log/messages

6. 清除系统日志痕迹

Linux 系统存在多种日志文件,来记录系统运行过程中产生的日志

清除系统日志痕迹

/var/log/btmp   记录所有登录失败信息,使用lastb命令查看
/var/log/lastlog 记录所有用户最后一次登录时间的日志,使用lastlog命令查看
/var/log/wtmp 记录所有用户的登录、注销信息,使用last命令查看
/var/log/utmp 记录当前已经登录的用户信息,使用w,who,users等命令查看
/var/log/secure 记录与安全相关的日志信息
/var/log/message 记录系统启动后的信息和错误日志

# 直接覆盖日志文件
echo > /var/log/btmp
cat /dev/null > /var/log/secure

# 删除所有匹配到字符串的行,比如以当天日期或者自己的登录ip
sed -i '/自己的ip/'d /var/log/messages

# 全局替换登录IP地址:
sed -i 's/192.168.166.85/192.168.1.1/g' secure

清除web日志入侵痕迹

# 直接替换日志ip地址
sed -i 's/192.168.166.85/192.168.1.1/g' access.log

# 清除部分相关日志
cat /var/log/nginx/access.log | grep -v evil.php > tmp.log

# 把修改过的日志覆盖到原日志文件
cat tmp.log > /var/log/nginx/access.log/

文件安全删除工具

# shred 命令 安全的从硬盘上擦除数据,默认覆盖3次,通过 -n指定数据覆盖次数
[root@centos]# shred -f -u -z -v -n 8 1.txt

# wipe 使用特殊的模式来重复地写文件,从磁性介质中安全擦除文件
[root@centos]# wipe filename