信息探测->注入/xss点->获取数据->破解密码->登陆后台->上传webshell->提权控制服务器->渗透内网
webshell在攻击过程中的作用
文件操作,命令执行,数据库操作,用户提权,shell反弹,权限维持
攻击者通过漏洞,第三方组件,**w用msfvenom生成war包,只用指定-f后的参数为war就好了
影子账户:影子账户是指系统隐藏账户,在"控制面板-本地用户和组"里面看不见,但却有管理员权限的账户,
一般储存在注册表,影子账户的隐秘性十分之强
正常创建新用户的方式netuserpengpeng/add
创建影子用户的方式netuserpeng$peng/add
隐藏账户无法使用"netuser"命令查看,但是可以在"本地用户和组"可以查看
打开注册表"HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names"找到刚刚创建的
peng$查看类型,查看administrator的类型,找到administrator的user目录和peng$的user目录,将
administrator下的F值的内容复制到peng$的F值下面,然后将这peng$的name值和对应的目录的内容导出,
然后使用netuserpeng$/del将peng$删除,再将两个注册表文件导入,影子用户2.0创建成功
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
下的键值为开机启动项,每一次开机都会执行键值对应的程序或bat脚本
LogonScripts是优先于很多杀毒软件启动的,所以可以通过这种方式达到一定的免杀效果.在注册表
**HKEY_CURRENT_USER\Environment这条路径下,添加新的字符串值,值的名字
为:UserInitMprLogonScript**,数值数据为想要启动程序的路径
Userinit的作用是在用户在进行登陆初始化设置时,会指定执行的程序,可以修改
**HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit**的键
at命令在Windows8之后不再支持
创建一个名为test的计划任务每天12:00执行test.bat脚本schtasks/create/tntest/scDAILY/st12:00/trC:\test.bat/Fat12:00/every:Monday.Tuesday,Wednesday,Thursday,FridayC:\test.bat
Bitsadmin后门:Bitsadmin后台智能传输服务,传输速度慢
拿到靶机的shell,输入指令**runmetsvc-A**会创建一个后门
wmicstatruplistfull\\自启动的程序
wmicprocesscallcreate"calc.exe"在当前机器中执行指定程序
Empire是一个后渗透框架,可以使用它来创建一个永久性的WMI事件订阅,从而在目标主机下留下持久化后门
使用Empire的wmi模块之前,需要使用Empire获得目标靶机的shell
alias
aliasll=ls-l
alias命令可以设置别名
将alias语句写入/etc/profile文件中
排查方法:输入alias就可以查看设置的别名
ssh后门设计TCP_WrappersPAM后门SSH后门
执行下main的命令可以使用任意密码ssh连接机器8888端口ln-sf/usr/sbin/sshd/tmp/su;/tmp/su-OPort=8888
如果被植入了木马,找到木马运行文件的PID之后,进行kill,但是发现kill了之后有出现了一个新的木马,发现这个木马并不能够直接杀死.
使用TOP查看进程,如果发现有木马进程.这个时候首要的是使用chmod000[木马路径]先将木马的权限全部去掉,然后使用chattr+i命令,给木马程序加一个锁.执行完之后,下一步就是查找这个程序对本机做了什么操作.
首先查看**/etc/crontab文件,查询是否添加了什么语句.然后是查看/var/spool/at/spool**/和**/var/spool/cron两个文件夹是否存在恶意文件.再查询/etc/init.d/下有无奇怪的进程.接下来查看/etc/cron.查看这些目录下有无奇怪的文件。
最早查看netstat-anlpt发现有恶意流量的时候,首先应该开启防火墙将此流量加入黑名单,/etc/hosts.deny和/etc/hosts.allow这两个文件起到一个微隔离的作用,例如再/etc/hosts.deny文件中加入sshd:ALL就禁止所有ssh进行连接,配置完需要重启服务.还需要查看/etc/rc.d目录,还要查看rc0.d下一些文件是否又被篡改
查看/usr/bin目录,可以使用ls-thl给目录下的文件进行排序,还有一些命令的md5值被篡改.需要找到相同版
本的机器,将命令的md5值一个一个进行对比
如果是在业务期间:首先封锁住流量->确认感染的范围->抑制木马程序->再将木马程序进行查杀->安装第
可以查看*/etc/local/log/maillog文件,它会收到系统的邮件,记录root做了什么行为中了病毒,都得重装eb容器,拿到后台(各种姿势)等途径上传webshell
Webshell解析:phpechosystem($_GET[cmd]);>用get请求提交一个名为CMD的变量,然后变量中的字符受到前面system函数的调用,变成系统命令用来执行
Webshell是以web服务端脚本(程序)形式存在,与传统服务端脚本的运行原理相同.对服务器本地资源具备一定的操作能力,其操作本地资源的范围取决于解析器的权限
webshell没有连接时是无状态的,代码是可以连接数据库的
PHP一句话(webshell)代码简单容易暴露phpechosystem($_GET[cmd]);>请求方式:getasp一句话%evalrequest("asd")%>phpeval($_POST[cmd]);>eval执行数据$_POST提交方式cmd密码phpinclude'shell.jpg';>
包含并运行包含的文件
包含的文件shell.jsp(txt.png啥都行)
可以先上传一串以文本(txt)形式的php代码,然后再次上传一个包含include函数的php代码.当include函数
的php代码上传成功,访问include函数的php代码,include函数所包含的文件名是之前所上传的txt为后缀的
文件,但是内容却是为php的代码,会将txt文件的内容当作php代码来执行
webshell原理:文件操作,命令执行,其他功能
webshell的基本特征
本地资源的操作:读取软硬件信息,本地硬盘文件的读写操作,调用本地命令
无上下级链接:无外部链接可连接至webshell,webshell通常不链接到本地其他文件
传参数,认证登陆,cmd=ls
POST类型需要webshell管理工具webshell是由名字的webshell是会在日志中留下痕迹的webshell是有属性的webshell是一种脚本功能的展现(TEXT)
web扫描/爬虫/googlehack检测
基于web日志的检测基于文件属性的检测基于文件内容的检测通过文件名搜索webshell:统计webshell常用名字
部分webshell会将操作目标参数放在url参数中
日志若可记录referer字段,可对搜索referer字段为空的链接,因为绝大多数webshell无上下级链接,侵略者会
直接访问webshell文件
搜索思路:搜索文件名,搜索writeexec等参数,搜索referer字段为空的日志条目
对于使用post的webshell无法检测
文件可用属性:
文件最后修改日期:(方法同上,用于查找被插入到已有文件中的一句话木马)
文件的目录结构及md5值:(初始状态下设立安全基准值,安装状态下记录web目录结构并对目录中文件计
算,MD5值[可变文件和用户附件目录除外]定期进行匹配比对,并更新新的安全基准值)
特殊目录中的特殊类型文件
通过文件内容/类型检测webshell:
黑客常用关键词,常用命令执行,文件操作函数
基于文件属性的检测
特殊目录的特殊类型文件
用户可写入的目录
非用户可写入的文件类型
可通过文件头的方式进行排查以防止类似gif木马
针对webshell的各种特征码的小工具
NepPI,D盾,LinuxCheck,Webshellkiller,FastsumMD5值校验
Webshell查杀最佳实践:目录结构md5校验;特征码扫描;页面title页面关键字;流量人工识别(关键banner)
避免常规的漏洞:注入;后台泄露;前置缺陷;等等....
Webshell防范最强准则:可写的目录不可执行;可执行的目录不可写;权限用户tty;
恶意程序主要类型及危害病毒,蠕虫->造成系统缓慢,数据损坏,运行异常远控木马->主机被黑客远程连接僵尸网络程序(肉鸡行为)->主机对外发动DDOS攻击,对外发起扫描攻击行为挖矿程序->造成系统资源打量消耗
信息破坏事件系统配置篡改->系统中出现异常的服务,进程启动项,账号等等数据库内容篡改->业务数据遭到恶意篡改,引起业务异常和损失网站内容篡改->网站页面内容被何可恶意篡改数据信息泄露事件->服务器数据,会员账号遭到窃取并泄露
其他破坏事件账号被异常登陆->账号系统在异地登陆,可能出现账号密码的泄露异常网络连接->服务器发起对外的异常访问,连接到木马主控端,矿池,病毒服务器等行为
各种服务器Web日志存放位置%systemroot%\system32\logfiles\w3svc1\WindowsIIS其他服务器找到配置服务的配置文件检索/log/out通常:access.log,error.log,debug.log......
取证注意事项
工具携带;IP保存;验证留存;沟通;第三人;保护现场;取证工具:Ghost;WindowsPE;LinuxCD;日志分析:LogParser2.2;Grep日志切割:Split|cat|dd|head|tail|awk过程验证:Nc|curl|Wget|Sqlmap|Hackbar
处理过程
开始->过程->结果开始:日志提取;日志分析;过程:关联分析(头脑风暴);数据支持;结果:回溯攻击;查找本源;
进程排查思路
查找用户最近使用文件或者目录
影子账户:影子账户是指系统隐藏账户,在"控制面板-本地用户和组"里面看不见,但却有管理员权限的账户,一般储存在注册表,影子账户的隐秘性十分之强正常创建新用户的方式netuserpengpeng/add创建影子用户的方式netuserpeng$peng/add隐藏账户无法使用"netuser"命令查看,但是可以在"本地用户和组"可以查看打开注册表"HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names"找到刚刚创建的peng$查看类型,查看administrator的类型,找到administrator的user目录和peng$的user目录,将administrator下的F值的内容复制到peng$的F值下面,然后将这peng$的name值和对应的目录的内容导出,然后使用netuserpeng$/del将peng$删除,再将两个注册表文件导入,影子用户2.0创建成功
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下的键值为开机启动项,每一次开机都会执行键值对应的程序或bat脚本
LogonScripts是优先于很多杀毒软件启动的,所以可以通过这种方式达到一定的免杀效果.在注册表**HKEY_CURRENT_USER\Environment这条路径下,添加新的字符串值,值的名字为:UserInitMprLogonScript**,数值数据为想要启动程序的路径
查看/usr/bin目录,可以使用ls-thl给目录下的文件进行排序,还有一些命令的md5值被篡改.需要找到相同版本的机器,将命令的md5值一个一个进行对比如果是在业务期间:首先封锁住流量->确认感染的范围->抑制木马程序->再将木马程序进行查杀->安装第三方工具在机器上运行(rkhunter)可以查看*/etc/local/log/maillog**文件,它会收到系统的邮件,记录root做了什么行为中了病毒,都得重装
蚁剑的小tip
记一次新型变种QakBot木马分析
社交软件巨头全部中招,木马FFdroider正在窃取你的账户信息